ALSA project - the C library reference
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
seq_event.h
Go to the documentation of this file.
1
11
/*
12
* This library is free software; you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License as
14
* published by the Free Software Foundation; either version 2.1 of
15
* the License, or (at your option) any later version.
16
*
17
* This program is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU Lesser General Public License for more details.
21
*
22
* You should have received a copy of the GNU Lesser General Public
23
* License along with this library; if not, write to the Free Software
24
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
*
26
*/
27
28
#ifndef __ALSA_SEQ_EVENT_H
29
#define __ALSA_SEQ_EVENT_H
30
41
typedef
unsigned
char
snd_seq_event_type_t
;
42
44
enum
snd_seq_event_type
{
46
SND_SEQ_EVENT_SYSTEM
= 0,
48
SND_SEQ_EVENT_RESULT
,
49
51
SND_SEQ_EVENT_NOTE
= 5,
53
SND_SEQ_EVENT_NOTEON
,
55
SND_SEQ_EVENT_NOTEOFF
,
57
SND_SEQ_EVENT_KEYPRESS
,
58
60
SND_SEQ_EVENT_CONTROLLER
= 10,
62
SND_SEQ_EVENT_PGMCHANGE
,
64
SND_SEQ_EVENT_CHANPRESS
,
66
SND_SEQ_EVENT_PITCHBEND
,
68
SND_SEQ_EVENT_CONTROL14
,
70
SND_SEQ_EVENT_NONREGPARAM
,
72
SND_SEQ_EVENT_REGPARAM
,
73
75
SND_SEQ_EVENT_SONGPOS
= 20,
77
SND_SEQ_EVENT_SONGSEL
,
79
SND_SEQ_EVENT_QFRAME
,
81
SND_SEQ_EVENT_TIMESIGN
,
83
SND_SEQ_EVENT_KEYSIGN
,
84
86
SND_SEQ_EVENT_START
= 30,
88
SND_SEQ_EVENT_CONTINUE
,
90
SND_SEQ_EVENT_STOP
,
92
SND_SEQ_EVENT_SETPOS_TICK
,
94
SND_SEQ_EVENT_SETPOS_TIME
,
96
SND_SEQ_EVENT_TEMPO
,
98
SND_SEQ_EVENT_CLOCK
,
100
SND_SEQ_EVENT_TICK
,
102
SND_SEQ_EVENT_QUEUE_SKEW
,
104
SND_SEQ_EVENT_SYNC_POS
,
105
107
SND_SEQ_EVENT_TUNE_REQUEST
= 40,
109
SND_SEQ_EVENT_RESET
,
111
SND_SEQ_EVENT_SENSING
,
112
114
SND_SEQ_EVENT_ECHO
= 50,
116
SND_SEQ_EVENT_OSS
,
117
119
SND_SEQ_EVENT_CLIENT_START
= 60,
121
SND_SEQ_EVENT_CLIENT_EXIT
,
123
SND_SEQ_EVENT_CLIENT_CHANGE
,
125
SND_SEQ_EVENT_PORT_START
,
127
SND_SEQ_EVENT_PORT_EXIT
,
129
SND_SEQ_EVENT_PORT_CHANGE
,
130
132
SND_SEQ_EVENT_PORT_SUBSCRIBED
,
134
SND_SEQ_EVENT_PORT_UNSUBSCRIBED
,
135
137
SND_SEQ_EVENT_USR0
= 90,
139
SND_SEQ_EVENT_USR1
,
141
SND_SEQ_EVENT_USR2
,
143
SND_SEQ_EVENT_USR3
,
145
SND_SEQ_EVENT_USR4
,
147
SND_SEQ_EVENT_USR5
,
149
SND_SEQ_EVENT_USR6
,
151
SND_SEQ_EVENT_USR7
,
153
SND_SEQ_EVENT_USR8
,
155
SND_SEQ_EVENT_USR9
,
156
158
SND_SEQ_EVENT_SYSEX
= 130,
160
SND_SEQ_EVENT_BOUNCE
,
162
SND_SEQ_EVENT_USR_VAR0
= 135,
164
SND_SEQ_EVENT_USR_VAR1
,
166
SND_SEQ_EVENT_USR_VAR2
,
168
SND_SEQ_EVENT_USR_VAR3
,
170
SND_SEQ_EVENT_USR_VAR4
,
171
173
SND_SEQ_EVENT_NONE
= 255
174
};
175
176
178
typedef
struct
snd_seq_addr {
179
unsigned
char
client
;
180
unsigned
char
port
;
181
}
snd_seq_addr_t
;
182
184
typedef
struct
snd_seq_connect {
185
snd_seq_addr_t
sender
;
186
snd_seq_addr_t
dest
;
187
}
snd_seq_connect_t
;
188
189
191
typedef
struct
snd_seq_real_time {
192
unsigned
int
tv_sec
;
193
unsigned
int
tv_nsec
;
194
}
snd_seq_real_time_t
;
195
197
typedef
unsigned
int
snd_seq_tick_time_t
;
198
200
typedef
union
snd_seq_timestamp {
201
snd_seq_tick_time_t
tick
;
202
struct
snd_seq_real_time time;
203
}
snd_seq_timestamp_t
;
204
205
211
#define SND_SEQ_TIME_STAMP_TICK (0<<0)
212
#define SND_SEQ_TIME_STAMP_REAL (1<<0)
213
#define SND_SEQ_TIME_STAMP_MASK (1<<0)
215
#define SND_SEQ_TIME_MODE_ABS (0<<1)
216
#define SND_SEQ_TIME_MODE_REL (1<<1)
217
#define SND_SEQ_TIME_MODE_MASK (1<<1)
219
#define SND_SEQ_EVENT_LENGTH_FIXED (0<<2)
220
#define SND_SEQ_EVENT_LENGTH_VARIABLE (1<<2)
221
#define SND_SEQ_EVENT_LENGTH_VARUSR (2<<2)
222
#define SND_SEQ_EVENT_LENGTH_MASK (3<<2)
224
#define SND_SEQ_PRIORITY_NORMAL (0<<4)
225
#define SND_SEQ_PRIORITY_HIGH (1<<4)
226
#define SND_SEQ_PRIORITY_MASK (1<<4)
230
typedef struct snd_seq_ev_note {
231
unsigned
char
channel
;
232
unsigned
char
note
;
233
unsigned
char
velocity
;
234
unsigned
char
off_velocity
;
235
unsigned
int
duration
;
236
}
snd_seq_ev_note_t
;
237
239
typedef
struct
snd_seq_ev_ctrl {
240
unsigned
char
channel
;
241
unsigned
char
unused[3];
242
unsigned
int
param
;
243
signed
int
value
;
244
}
snd_seq_ev_ctrl_t
;
245
247
typedef
struct
snd_seq_ev_raw8 {
248
unsigned
char
d[12];
249
}
snd_seq_ev_raw8_t
;
250
252
typedef
struct
snd_seq_ev_raw32 {
253
unsigned
int
d[3];
254
}
snd_seq_ev_raw32_t
;
255
257
typedef
struct
snd_seq_ev_ext
{
258
unsigned
int
len
;
259
void
*
ptr
;
260
}
__attribute__
((packed)) snd_seq_ev_ext_t;
261
263
typedef struct snd_seq_result {
264
int
event
;
265
int
result
;
266
}
snd_seq_result_t
;
267
269
typedef
struct
snd_seq_queue_skew {
270
unsigned
int
value
;
271
unsigned
int
base
;
272
}
snd_seq_queue_skew_t
;
273
275
typedef
struct
snd_seq_ev_queue_control {
276
unsigned
char
queue
;
277
unsigned
char
unused[3];
278
union
{
279
signed
int
value
;
280
snd_seq_timestamp_t
time
;
281
unsigned
int
position
;
282
snd_seq_queue_skew_t
skew
;
283
unsigned
int
d32[2];
284
unsigned
char
d8[8];
285
} param;
286
}
snd_seq_ev_queue_control_t
;
287
288
290
typedef
struct
snd_seq_event {
291
snd_seq_event_type_t
type
;
292
unsigned
char
flags
;
293
unsigned
char
tag
;
295
unsigned
char
queue
;
296
snd_seq_timestamp_t
time
;
298
snd_seq_addr_t
source
;
299
snd_seq_addr_t
dest
;
301
union
{
302
snd_seq_ev_note_t
note
;
303
snd_seq_ev_ctrl_t
control
;
304
snd_seq_ev_raw8_t
raw8
;
305
snd_seq_ev_raw32_t
raw32
;
306
snd_seq_ev_ext_t
ext
;
307
snd_seq_ev_queue_control_t
queue
;
308
snd_seq_timestamp_t
time;
309
snd_seq_addr_t
addr
;
310
snd_seq_connect_t
connect
;
311
snd_seq_result_t
result
;
312
} data;
313
}
snd_seq_event_t
;
314
315
318
#endif
/* __ALSA_SEQ_EVENT_H */
319
Generated on Fri Aug 3 2012 21:44:43 for ALSA project - the C library reference by
1.8.1.2