ALSA project - the C library reference
Loading...
Searching...
No Matches
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 *
26 */
27
28#if !defined(__ASOUNDLIB_H) && !defined(ALSA_LIBRARY_BUILD)
29/* don't use ALSA_LIBRARY_BUILD define in sources outside alsa-lib */
30#warning "use #include <alsa/asoundlib.h>, <alsa/seq_event.h> should not be used directly"
31#include <alsa/asoundlib.h>
32#endif
33
34#ifndef __ALSA_SEQ_EVENT_H
35#define __ALSA_SEQ_EVENT_H
36
47typedef unsigned char snd_seq_event_type_t;
48
55
64
79
90
111
118
123
136
141
146
167
182
186
187
189typedef struct snd_seq_addr {
190 unsigned char client;
191 unsigned char port;
193
195typedef struct snd_seq_connect {
199
200
202typedef struct snd_seq_real_time {
203 unsigned int tv_sec;
204 unsigned int tv_nsec;
206
208typedef unsigned int snd_seq_tick_time_t;
209
211typedef union snd_seq_timestamp {
213 struct snd_seq_real_time time;
215
216
222#define SND_SEQ_TIME_STAMP_TICK (0<<0)
223#define SND_SEQ_TIME_STAMP_REAL (1<<0)
224#define SND_SEQ_TIME_STAMP_MASK (1<<0)
226#define SND_SEQ_TIME_MODE_ABS (0<<1)
227#define SND_SEQ_TIME_MODE_REL (1<<1)
228#define SND_SEQ_TIME_MODE_MASK (1<<1)
230#define SND_SEQ_EVENT_LENGTH_FIXED (0<<2)
231#define SND_SEQ_EVENT_LENGTH_VARIABLE (1<<2)
232#define SND_SEQ_EVENT_LENGTH_VARUSR (2<<2)
233#define SND_SEQ_EVENT_LENGTH_MASK (3<<2)
235#define SND_SEQ_PRIORITY_NORMAL (0<<4)
236#define SND_SEQ_PRIORITY_HIGH (1<<4)
237#define SND_SEQ_PRIORITY_MASK (1<<4)
239#define SND_SEQ_EVENT_UMP (1<<5)
242typedef struct snd_seq_ev_note {
243 unsigned char channel;
244 unsigned char note;
245 unsigned char velocity;
246 unsigned char off_velocity;
247 unsigned int duration;
249
251typedef struct snd_seq_ev_ctrl {
252 unsigned char channel;
253 unsigned char unused[3];
254 unsigned int param;
255 signed int value;
257
259typedef struct snd_seq_ev_raw8 {
260 unsigned char d[12];
262
264typedef struct snd_seq_ev_raw32 {
265 unsigned int d[3];
267
270 unsigned int len;
271 void *ptr;
272} __attribute__((packed));
274typedef struct snd_seq_ev_ext snd_seq_ev_ext_t;
275#ifdef DOC_HIDDEN
276/* redefine typedef for stupid doxygen */
278#endif
279
281typedef struct snd_seq_result {
282 int event;
283 int result;
285
287typedef struct snd_seq_queue_skew {
288 unsigned int value;
289 unsigned int base;
291
293typedef struct snd_seq_ev_queue_control {
294 unsigned char queue;
295 unsigned char unused[3];
296 union {
297 signed int value;
299 unsigned int position;
301 unsigned int d32[2];
302 unsigned char d8[8];
303 } param;
305
307typedef struct snd_seq_ev_ump_notify {
308 unsigned char client;
309 unsigned char block;
311
326
341
343typedef struct snd_seq_ump_event {
345 unsigned char flags;
346 unsigned char tag;
347 unsigned char queue;
352 union {
354 unsigned int ump[4];
355 };
357
360#endif /* __ALSA_SEQ_EVENT_H */
361
snd_seq_ev_ext snd_seq_ev_ext_t
Definition seq_event.h:277
unsigned char snd_seq_event_type_t
Definition seq_event.h:47
unsigned int snd_seq_tick_time_t
Definition seq_event.h:208
snd_seq_event_type
Definition seq_event.h:50
@ SND_SEQ_EVENT_USR_VAR2
Definition seq_event.h:177
@ SND_SEQ_EVENT_SONGPOS
Definition seq_event.h:81
@ SND_SEQ_EVENT_SYSEX
Definition seq_event.h:169
@ SND_SEQ_EVENT_CLIENT_EXIT
Definition seq_event.h:127
@ SND_SEQ_EVENT_SETPOS_TIME
Definition seq_event.h:100
@ SND_SEQ_EVENT_USR2
Definition seq_event.h:152
@ SND_SEQ_EVENT_PORT_SUBSCRIBED
Definition seq_event.h:138
@ SND_SEQ_EVENT_RESULT
Definition seq_event.h:54
@ SND_SEQ_EVENT_USR9
Definition seq_event.h:166
@ SND_SEQ_EVENT_BOUNCE
Definition seq_event.h:171
@ SND_SEQ_EVENT_TIMESIGN
Definition seq_event.h:87
@ SND_SEQ_EVENT_TICK
Definition seq_event.h:106
@ SND_SEQ_EVENT_KEYSIGN
Definition seq_event.h:89
@ SND_SEQ_EVENT_USR_VAR0
Definition seq_event.h:173
@ SND_SEQ_EVENT_USR5
Definition seq_event.h:158
@ SND_SEQ_EVENT_CLIENT_CHANGE
Definition seq_event.h:129
@ SND_SEQ_EVENT_CLOCK
Definition seq_event.h:104
@ SND_SEQ_EVENT_TUNE_REQUEST
Definition seq_event.h:113
@ SND_SEQ_EVENT_SYNC_POS
Definition seq_event.h:110
@ SND_SEQ_EVENT_KEYPRESS
Definition seq_event.h:63
@ SND_SEQ_EVENT_USR7
Definition seq_event.h:162
@ SND_SEQ_EVENT_ECHO
Definition seq_event.h:120
@ SND_SEQ_EVENT_NOTE
Definition seq_event.h:57
@ SND_SEQ_EVENT_NONE
Definition seq_event.h:184
@ SND_SEQ_EVENT_UMP_BLOCK_CHANGE
Definition seq_event.h:145
@ SND_SEQ_EVENT_CLIENT_START
Definition seq_event.h:125
@ SND_SEQ_EVENT_CHANPRESS
Definition seq_event.h:70
@ SND_SEQ_EVENT_NONREGPARAM
Definition seq_event.h:76
@ SND_SEQ_EVENT_CONTINUE
Definition seq_event.h:94
@ SND_SEQ_EVENT_SYSTEM
Definition seq_event.h:52
@ SND_SEQ_EVENT_STOP
Definition seq_event.h:96
@ SND_SEQ_EVENT_PORT_EXIT
Definition seq_event.h:133
@ SND_SEQ_EVENT_USR_VAR3
Definition seq_event.h:179
@ SND_SEQ_EVENT_CONTROLLER
Definition seq_event.h:66
@ SND_SEQ_EVENT_CONTROL14
Definition seq_event.h:74
@ SND_SEQ_EVENT_NOTEOFF
Definition seq_event.h:61
@ SND_SEQ_EVENT_USR_VAR1
Definition seq_event.h:175
@ SND_SEQ_EVENT_USR3
Definition seq_event.h:154
@ SND_SEQ_EVENT_UMP_EP_CHANGE
Definition seq_event.h:143
@ SND_SEQ_EVENT_TEMPO
Definition seq_event.h:102
@ SND_SEQ_EVENT_PITCHBEND
Definition seq_event.h:72
@ SND_SEQ_EVENT_PORT_START
Definition seq_event.h:131
@ SND_SEQ_EVENT_USR4
Definition seq_event.h:156
@ SND_SEQ_EVENT_USR1
Definition seq_event.h:150
@ SND_SEQ_EVENT_PORT_UNSUBSCRIBED
Definition seq_event.h:140
@ SND_SEQ_EVENT_QUEUE_SKEW
Definition seq_event.h:108
@ SND_SEQ_EVENT_QFRAME
Definition seq_event.h:85
@ SND_SEQ_EVENT_USR6
Definition seq_event.h:160
@ SND_SEQ_EVENT_OSS
Definition seq_event.h:122
@ SND_SEQ_EVENT_USR0
Definition seq_event.h:148
@ SND_SEQ_EVENT_PORT_CHANGE
Definition seq_event.h:135
@ SND_SEQ_EVENT_PGMCHANGE
Definition seq_event.h:68
@ SND_SEQ_EVENT_REGPARAM
Definition seq_event.h:78
@ SND_SEQ_EVENT_SETPOS_TICK
Definition seq_event.h:98
@ SND_SEQ_EVENT_USR_VAR4
Definition seq_event.h:181
@ SND_SEQ_EVENT_START
Definition seq_event.h:92
@ SND_SEQ_EVENT_RESET
Definition seq_event.h:115
@ SND_SEQ_EVENT_SENSING
Definition seq_event.h:117
@ SND_SEQ_EVENT_NOTEON
Definition seq_event.h:59
@ SND_SEQ_EVENT_USR8
Definition seq_event.h:164
@ SND_SEQ_EVENT_SONGSEL
Definition seq_event.h:83
Definition seq_event.h:189
unsigned char port
Definition seq_event.h:191
unsigned char client
Definition seq_event.h:190
Definition seq_event.h:195
snd_seq_addr_t dest
Definition seq_event.h:197
snd_seq_addr_t sender
Definition seq_event.h:196
Definition seq_event.h:251
unsigned char channel
Definition seq_event.h:252
signed int value
Definition seq_event.h:255
unsigned int param
Definition seq_event.h:254
Definition seq_event.h:269
unsigned int len
Definition seq_event.h:270
void * ptr
Definition seq_event.h:271
Definition seq_event.h:242
unsigned char velocity
Definition seq_event.h:245
unsigned char off_velocity
Definition seq_event.h:246
unsigned char note
Definition seq_event.h:244
unsigned int duration
Definition seq_event.h:247
unsigned char channel
Definition seq_event.h:243
Definition seq_event.h:293
snd_seq_timestamp_t time
Definition seq_event.h:298
unsigned char queue
Definition seq_event.h:294
signed int value
Definition seq_event.h:297
unsigned int position
Definition seq_event.h:299
snd_seq_queue_skew_t skew
Definition seq_event.h:300
Definition seq_event.h:264
Definition seq_event.h:259
Definition seq_event.h:307
unsigned char block
Definition seq_event.h:309
unsigned char client
Definition seq_event.h:308
Definition seq_event.h:328
unsigned char queue
Definition seq_event.h:333
unsigned char flags
Definition seq_event.h:330
snd_seq_timestamp_t time
Definition seq_event.h:334
unsigned char tag
Definition seq_event.h:331
snd_seq_event_data_t data
Definition seq_event.h:339
snd_seq_addr_t source
Definition seq_event.h:336
snd_seq_event_type_t type
Definition seq_event.h:329
snd_seq_addr_t dest
Definition seq_event.h:337
Definition seq_event.h:287
unsigned int base
Definition seq_event.h:289
unsigned int value
Definition seq_event.h:288
Definition seq_event.h:202
unsigned int tv_nsec
Definition seq_event.h:204
unsigned int tv_sec
Definition seq_event.h:203
Definition seq_event.h:281
int result
Definition seq_event.h:283
int event
Definition seq_event.h:282
Definition seq_event.h:343
unsigned char tag
Definition seq_event.h:346
unsigned char flags
Definition seq_event.h:345
snd_seq_addr_t source
Definition seq_event.h:349
unsigned char queue
Definition seq_event.h:347
snd_seq_event_data_t data
Definition seq_event.h:353
snd_seq_event_type_t type
Definition seq_event.h:344
snd_seq_addr_t dest
Definition seq_event.h:350
snd_seq_timestamp_t time
Definition seq_event.h:348
uint16_t time
Definition ump_msg.h:5
Definition seq_event.h:313
snd_seq_ev_queue_control_t queue
Definition seq_event.h:319
snd_seq_timestamp_t time
Definition seq_event.h:320
snd_seq_ev_raw8_t raw8
Definition seq_event.h:316
snd_seq_ev_note_t note
Definition seq_event.h:314
snd_seq_ev_raw32_t raw32
Definition seq_event.h:317
snd_seq_addr_t addr
Definition seq_event.h:321
snd_seq_result_t result
Definition seq_event.h:323
snd_seq_connect_t connect
Definition seq_event.h:322
snd_seq_ev_ump_notify_t ump_notify
Definition seq_event.h:324
snd_seq_ev_ctrl_t control
Definition seq_event.h:315
snd_seq_ev_ext_t ext
Definition seq_event.h:318
Definition seq_event.h:211
snd_seq_tick_time_t tick
Definition seq_event.h:212