ALSA project - the C library reference
seq_event.h
Go to the documentation of this file.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 *
26 */
27
28#ifndef __ALSA_SEQ_EVENT_H
29#define __ALSA_SEQ_EVENT_H
30
41typedef unsigned char snd_seq_event_type_t;
42
49
58
73
84
105
112
117
130
135
156
171
175
176
178typedef struct snd_seq_addr {
179 unsigned char client;
180 unsigned char port;
182
184typedef struct snd_seq_connect {
188
189
191typedef struct snd_seq_real_time {
192 unsigned int tv_sec;
193 unsigned int tv_nsec;
195
197typedef unsigned int snd_seq_tick_time_t;
198
200typedef union snd_seq_timestamp {
202 struct snd_seq_real_time time;
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)
230typedef 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;
237
239typedef struct snd_seq_ev_ctrl {
240 unsigned char channel;
241 unsigned char unused[3];
242 unsigned int param;
243 signed int value;
245
247typedef struct snd_seq_ev_raw8 {
248 unsigned char d[12];
250
252typedef struct snd_seq_ev_raw32 {
253 unsigned int d[3];
255
258 unsigned int len;
259 void *ptr;
260} __attribute__((packed));
262typedef struct snd_seq_ev_ext snd_seq_ev_ext_t;
263#ifdef DOC_HIDDEN
264/* redefine typedef for stupid doxygen */
266#endif
267
269typedef struct snd_seq_result {
270 int event;
271 int result;
273
275typedef struct snd_seq_queue_skew {
276 unsigned int value;
277 unsigned int base;
279
281typedef struct snd_seq_ev_queue_control {
282 unsigned char queue;
283 unsigned char unused[3];
284 union {
285 signed int value;
287 unsigned int position;
289 unsigned int d32[2];
290 unsigned char d8[8];
291 } param;
293
294
296typedef struct snd_seq_event {
298 unsigned char flags;
299 unsigned char tag;
301 unsigned char queue;
307 union {
318 } data;
320
321
324#endif /* __ALSA_SEQ_EVENT_H */
325
snd_seq_ev_ext snd_seq_ev_ext_t
Definition: seq_event.h:265
unsigned char snd_seq_event_type_t
Definition: seq_event.h:41
unsigned int snd_seq_tick_time_t
Definition: seq_event.h:197
snd_seq_event_type
Definition: seq_event.h:44
@ SND_SEQ_EVENT_USR_VAR2
Definition: seq_event.h:166
@ SND_SEQ_EVENT_SONGPOS
Definition: seq_event.h:75
@ SND_SEQ_EVENT_SYSEX
Definition: seq_event.h:158
@ SND_SEQ_EVENT_CLIENT_EXIT
Definition: seq_event.h:121
@ SND_SEQ_EVENT_SETPOS_TIME
Definition: seq_event.h:94
@ SND_SEQ_EVENT_USR2
Definition: seq_event.h:141
@ SND_SEQ_EVENT_PORT_SUBSCRIBED
Definition: seq_event.h:132
@ SND_SEQ_EVENT_RESULT
Definition: seq_event.h:48
@ SND_SEQ_EVENT_USR9
Definition: seq_event.h:155
@ SND_SEQ_EVENT_BOUNCE
Definition: seq_event.h:160
@ SND_SEQ_EVENT_TIMESIGN
Definition: seq_event.h:81
@ SND_SEQ_EVENT_TICK
Definition: seq_event.h:100
@ SND_SEQ_EVENT_KEYSIGN
Definition: seq_event.h:83
@ SND_SEQ_EVENT_USR_VAR0
Definition: seq_event.h:162
@ SND_SEQ_EVENT_USR5
Definition: seq_event.h:147
@ SND_SEQ_EVENT_CLIENT_CHANGE
Definition: seq_event.h:123
@ SND_SEQ_EVENT_CLOCK
Definition: seq_event.h:98
@ SND_SEQ_EVENT_TUNE_REQUEST
Definition: seq_event.h:107
@ SND_SEQ_EVENT_SYNC_POS
Definition: seq_event.h:104
@ SND_SEQ_EVENT_KEYPRESS
Definition: seq_event.h:57
@ SND_SEQ_EVENT_USR7
Definition: seq_event.h:151
@ SND_SEQ_EVENT_ECHO
Definition: seq_event.h:114
@ SND_SEQ_EVENT_NOTE
Definition: seq_event.h:51
@ SND_SEQ_EVENT_NONE
Definition: seq_event.h:173
@ SND_SEQ_EVENT_CLIENT_START
Definition: seq_event.h:119
@ SND_SEQ_EVENT_CHANPRESS
Definition: seq_event.h:64
@ SND_SEQ_EVENT_NONREGPARAM
Definition: seq_event.h:70
@ SND_SEQ_EVENT_CONTINUE
Definition: seq_event.h:88
@ SND_SEQ_EVENT_SYSTEM
Definition: seq_event.h:46
@ SND_SEQ_EVENT_STOP
Definition: seq_event.h:90
@ SND_SEQ_EVENT_PORT_EXIT
Definition: seq_event.h:127
@ SND_SEQ_EVENT_USR_VAR3
Definition: seq_event.h:168
@ SND_SEQ_EVENT_CONTROLLER
Definition: seq_event.h:60
@ SND_SEQ_EVENT_CONTROL14
Definition: seq_event.h:68
@ SND_SEQ_EVENT_NOTEOFF
Definition: seq_event.h:55
@ SND_SEQ_EVENT_USR_VAR1
Definition: seq_event.h:164
@ SND_SEQ_EVENT_USR3
Definition: seq_event.h:143
@ SND_SEQ_EVENT_TEMPO
Definition: seq_event.h:96
@ SND_SEQ_EVENT_PITCHBEND
Definition: seq_event.h:66
@ SND_SEQ_EVENT_PORT_START
Definition: seq_event.h:125
@ SND_SEQ_EVENT_USR4
Definition: seq_event.h:145
@ SND_SEQ_EVENT_USR1
Definition: seq_event.h:139
@ SND_SEQ_EVENT_PORT_UNSUBSCRIBED
Definition: seq_event.h:134
@ SND_SEQ_EVENT_QUEUE_SKEW
Definition: seq_event.h:102
@ SND_SEQ_EVENT_QFRAME
Definition: seq_event.h:79
@ SND_SEQ_EVENT_USR6
Definition: seq_event.h:149
@ SND_SEQ_EVENT_OSS
Definition: seq_event.h:116
@ SND_SEQ_EVENT_USR0
Definition: seq_event.h:137
@ SND_SEQ_EVENT_PORT_CHANGE
Definition: seq_event.h:129
@ SND_SEQ_EVENT_PGMCHANGE
Definition: seq_event.h:62
@ SND_SEQ_EVENT_REGPARAM
Definition: seq_event.h:72
@ SND_SEQ_EVENT_SETPOS_TICK
Definition: seq_event.h:92
@ SND_SEQ_EVENT_USR_VAR4
Definition: seq_event.h:170
@ SND_SEQ_EVENT_START
Definition: seq_event.h:86
@ SND_SEQ_EVENT_RESET
Definition: seq_event.h:109
@ SND_SEQ_EVENT_SENSING
Definition: seq_event.h:111
@ SND_SEQ_EVENT_NOTEON
Definition: seq_event.h:53
@ SND_SEQ_EVENT_USR8
Definition: seq_event.h:153
@ SND_SEQ_EVENT_SONGSEL
Definition: seq_event.h:77
Definition: seq_event.h:178
unsigned char port
Definition: seq_event.h:180
unsigned char client
Definition: seq_event.h:179
Definition: seq_event.h:184
snd_seq_addr_t dest
Definition: seq_event.h:186
snd_seq_addr_t sender
Definition: seq_event.h:185
Definition: seq_event.h:239
unsigned char channel
Definition: seq_event.h:240
signed int value
Definition: seq_event.h:243
unsigned int param
Definition: seq_event.h:242
Definition: seq_event.h:257
unsigned int len
Definition: seq_event.h:258
void * ptr
Definition: seq_event.h:259
Definition: seq_event.h:230
unsigned char velocity
Definition: seq_event.h:233
unsigned char off_velocity
Definition: seq_event.h:234
unsigned char note
Definition: seq_event.h:232
unsigned int duration
Definition: seq_event.h:235
unsigned char channel
Definition: seq_event.h:231
Definition: seq_event.h:281
snd_seq_timestamp_t time
Definition: seq_event.h:286
unsigned char queue
Definition: seq_event.h:282
signed int value
Definition: seq_event.h:285
unsigned int position
Definition: seq_event.h:287
snd_seq_queue_skew_t skew
Definition: seq_event.h:288
Definition: seq_event.h:252
Definition: seq_event.h:247
Definition: seq_event.h:296
unsigned char queue
Definition: seq_event.h:301
unsigned char flags
Definition: seq_event.h:298
snd_seq_addr_t addr
Definition: seq_event.h:315
snd_seq_timestamp_t time
Definition: seq_event.h:302
snd_seq_ev_ctrl_t control
Definition: seq_event.h:309
unsigned char tag
Definition: seq_event.h:299
snd_seq_addr_t source
Definition: seq_event.h:304
snd_seq_ev_note_t note
Definition: seq_event.h:308
snd_seq_ev_ext_t ext
Definition: seq_event.h:312
snd_seq_ev_queue_control_t queue
Definition: seq_event.h:313
snd_seq_event_type_t type
Definition: seq_event.h:297
snd_seq_connect_t connect
Definition: seq_event.h:316
snd_seq_result_t result
Definition: seq_event.h:317
snd_seq_ev_raw32_t raw32
Definition: seq_event.h:311
snd_seq_addr_t dest
Definition: seq_event.h:305
snd_seq_ev_raw8_t raw8
Definition: seq_event.h:310
Definition: seq_event.h:275
unsigned int base
Definition: seq_event.h:277
unsigned int value
Definition: seq_event.h:276
Definition: seq_event.h:191
unsigned int tv_nsec
Definition: seq_event.h:193
unsigned int tv_sec
Definition: seq_event.h:192
Definition: seq_event.h:269
int result
Definition: seq_event.h:271
int event
Definition: seq_event.h:270
Definition: seq_event.h:200
snd_seq_tick_time_t tick
Definition: seq_event.h:201