ALSA project - the C library reference
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 #ifndef __ALSA_SEQ_EVENT_H
29 #define __ALSA_SEQ_EVENT_H
30 
31 #include "ump_msg.h"
32 
43 typedef unsigned char snd_seq_event_type_t;
44 
51 
60 
75 
86 
107 
114 
119 
132 
137 
158 
173 
176 };
177 
178 
180 typedef struct snd_seq_addr {
181  unsigned char client;
182  unsigned char port;
184 
186 typedef struct snd_seq_connect {
190 
191 
193 typedef struct snd_seq_real_time {
194  unsigned int tv_sec;
195  unsigned int tv_nsec;
197 
199 typedef unsigned int snd_seq_tick_time_t;
200 
202 typedef union snd_seq_timestamp {
204  struct snd_seq_real_time time;
206 
207 
213 #define SND_SEQ_TIME_STAMP_TICK (0<<0)
214 #define SND_SEQ_TIME_STAMP_REAL (1<<0)
215 #define SND_SEQ_TIME_STAMP_MASK (1<<0)
217 #define SND_SEQ_TIME_MODE_ABS (0<<1)
218 #define SND_SEQ_TIME_MODE_REL (1<<1)
219 #define SND_SEQ_TIME_MODE_MASK (1<<1)
221 #define SND_SEQ_EVENT_LENGTH_FIXED (0<<2)
222 #define SND_SEQ_EVENT_LENGTH_VARIABLE (1<<2)
223 #define SND_SEQ_EVENT_LENGTH_VARUSR (2<<2)
224 #define SND_SEQ_EVENT_LENGTH_MASK (3<<2)
226 #define SND_SEQ_PRIORITY_NORMAL (0<<4)
227 #define SND_SEQ_PRIORITY_HIGH (1<<4)
228 #define SND_SEQ_PRIORITY_MASK (1<<4)
230 #define SND_SEQ_EVENT_UMP (1<<5)
233 typedef struct snd_seq_ev_note {
234  unsigned char channel;
235  unsigned char note;
236  unsigned char velocity;
237  unsigned char off_velocity;
238  unsigned int duration;
240 
242 typedef struct snd_seq_ev_ctrl {
243  unsigned char channel;
244  unsigned char unused[3];
245  unsigned int param;
246  signed int value;
248 
250 typedef struct snd_seq_ev_raw8 {
251  unsigned char d[12];
253 
255 typedef struct snd_seq_ev_raw32 {
256  unsigned int d[3];
258 
261  unsigned int len;
262  void *ptr;
263 } __attribute__((packed));
265 typedef struct snd_seq_ev_ext snd_seq_ev_ext_t;
266 #ifdef DOC_HIDDEN
267 /* redefine typedef for stupid doxygen */
269 #endif
270 
272 typedef struct snd_seq_result {
273  int event;
274  int result;
276 
278 typedef struct snd_seq_queue_skew {
279  unsigned int value;
280  unsigned int base;
282 
284 typedef struct snd_seq_ev_queue_control {
285  unsigned char queue;
286  unsigned char unused[3];
287  union {
288  signed int value;
290  unsigned int position;
292  unsigned int d32[2];
293  unsigned char d8[8];
294  } param;
296 
298 typedef union snd_seq_event_data {
310 
312 typedef struct snd_seq_event {
314  unsigned char flags;
315  unsigned char tag;
317  unsigned char queue;
325 
327 typedef struct snd_seq_ump_event {
329  unsigned char flags;
330  unsigned char tag;
331  unsigned char queue;
336  union {
338  unsigned int ump[4];
339  };
341 
344 #endif /* __ALSA_SEQ_EVENT_H */
345 
void * ptr
Definition: seq_event.h:262
snd_seq_connect_t connect
Definition: seq_event.h:307
Definition: seq_event.h:113
unsigned int param
Definition: seq_event.h:245
Definition: seq_event.h:193
Definition: seq_event.h:125
snd_seq_tick_time_t tick
Definition: seq_event.h:203
unsigned char note
Definition: seq_event.h:235
Definition: seq_event.h:149
snd_seq_ev_ctrl_t control
Definition: seq_event.h:300
Definition: seq_event.h:121
snd_seq_ev_note_t note
Definition: seq_event.h:299
Definition: seq_event.h:62
unsigned char tag
Definition: seq_event.h:315
snd_seq_event_data_t data
Definition: seq_event.h:323
unsigned char channel
Definition: seq_event.h:243
snd_seq_event_data_t data
Definition: seq_event.h:337
Definition: seq_event.h:186
unsigned int tv_nsec
Definition: seq_event.h:195
snd_seq_event_type_t type
Definition: seq_event.h:313
unsigned int snd_seq_tick_time_t
Definition: seq_event.h:199
Definition: seq_event.h:160
Definition: seq_event.h:68
Definition: seq_event.h:147
Definition: seq_event.h:129
snd_seq_queue_skew_t skew
Definition: seq_event.h:291
Definition: seq_event.h:327
Definition: seq_event.h:111
snd_seq_addr_t source
Definition: seq_event.h:333
Definition: seq_event.h:123
Definition: seq_event.h:55
Definition: seq_event.h:72
Definition: seq_event.h:90
unsigned char queue
Definition: seq_event.h:285
Definition: seq_event.h:48
Definition: seq_event.h:151
unsigned char client
Definition: seq_event.h:181
Definition: seq_event.h:50
unsigned int tv_sec
Definition: seq_event.h:194
Definition: seq_event.h:106
Definition: seq_event.h:157
Definition: seq_event.h:96
snd_seq_ev_raw32_t raw32
Definition: seq_event.h:302
Definition: seq_event.h:164
Definition: seq_event.h:118
snd_seq_result_t result
Definition: seq_event.h:308
snd_seq_timestamp_t time
Definition: seq_event.h:318
Definition: seq_event.h:141
snd_seq_timestamp_t time
Definition: seq_event.h:332
int result
Definition: seq_event.h:274
Definition: seq_event.h:172
unsigned char queue
Definition: seq_event.h:331
Definition: seq_event.h:168
snd_seq_timestamp_t time
Definition: seq_event.h:305
Definition: seq_event.h:53
Definition: seq_event.h:79
Definition: seq_event.h:74
unsigned char velocity
Definition: seq_event.h:236
unsigned int position
Definition: seq_event.h:290
int event
Definition: seq_event.h:273
snd_seq_addr_t addr
Definition: seq_event.h:306
unsigned char queue
Definition: seq_event.h:317
Definition: seq_event.h:242
snd_seq_addr_t dest
Definition: seq_event.h:321
Definition: seq_event.h:170
Definition: seq_event.h:153
snd_seq_ev_queue_control_t queue
Definition: seq_event.h:304
Definition: seq_event.h:180
snd_seq_ev_ext snd_seq_ev_ext_t
Definition: seq_event.h:268
Definition: seq_event.h:98
unsigned char channel
Definition: seq_event.h:234
Definition: seq_event.h:70
snd_seq_addr_t dest
Definition: seq_event.h:188
Definition: seq_event.h:202
Definition: seq_event.h:255
signed int value
Definition: seq_event.h:288
signed int value
Definition: seq_event.h:246
Definition: seq_event.h:109
Definition: seq_event.h:102
unsigned char flags
Definition: seq_event.h:314
Definition: seq_event.h:92
Definition: seq_event.h:250
Definition: seq_event.h:145
snd_seq_ev_ext_t ext
Definition: seq_event.h:303
unsigned int duration
Definition: seq_event.h:238
Definition: seq_event.h:57
unsigned int value
Definition: seq_event.h:279
snd_seq_ev_raw8_t raw8
Definition: seq_event.h:301
Definition: seq_event.h:139
Definition: seq_event.h:81
Definition: seq_event.h:104
Definition: seq_event.h:175
Definition: seq_event.h:77
unsigned char flags
Definition: seq_event.h:329
Definition: seq_event.h:312
Definition: seq_event.h:85
Definition: seq_event.h:100
unsigned int base
Definition: seq_event.h:280
unsigned char tag
Definition: seq_event.h:330
Definition: seq_event.h:116
Definition: seq_event.h:260
Definition: seq_event.h:131
uint16_t time
Definition: ump_msg.h:185
Definition: seq_event.h:143
Definition: seq_event.h:162
unsigned int len
Definition: seq_event.h:261
snd_seq_timestamp_t time
Definition: seq_event.h:289
Definition: seq_event.h:134
snd_seq_addr_t sender
Definition: seq_event.h:187
unsigned char off_velocity
Definition: seq_event.h:237
Definition: seq_event.h:272
Definition: seq_event.h:278
snd_seq_event_type
Definition: seq_event.h:46
unsigned char port
Definition: seq_event.h:182
Definition: seq_event.h:83
snd_seq_event_type_t type
Definition: seq_event.h:328
Definition: seq_event.h:155
Definition: seq_event.h:136
Definition: seq_event.h:59
unsigned char snd_seq_event_type_t
Definition: seq_event.h:43
Definition: seq_event.h:88
API library for ALSA rawmidi/UMP interface.
Definition: seq_event.h:284
Definition: seq_event.h:64
Definition: seq_event.h:298
Definition: seq_event.h:94
Definition: seq_event.h:166
Definition: seq_event.h:233
Definition: seq_event.h:127
Definition: seq_event.h:66
snd_seq_addr_t dest
Definition: seq_event.h:334
snd_seq_addr_t source
Definition: seq_event.h:320