1/**
2 * \file seq/seq_event.c
3 * \brief Sequencer Event Types
4 * \author Takashi Iwai <tiwai@suse.de>
5 * \date 2001
6 */
7
8#include "local.h"
9
10#ifndef DOC_HIDDEN
11#define FIXED_EV(x)	(_SND_SEQ_TYPE(SND_SEQ_EVFLG_FIXED) | _SND_SEQ_TYPE(x))
12#endif
13
14/** Event types conversion array */
15const unsigned int snd_seq_event_types[256] = {
16	[SND_SEQ_EVENT_SYSTEM ... SND_SEQ_EVENT_RESULT]
17	= FIXED_EV(SND_SEQ_EVFLG_RESULT),
18	[SND_SEQ_EVENT_NOTE]
19	= FIXED_EV(SND_SEQ_EVFLG_NOTE) | _SND_SEQ_TYPE_OPT(SND_SEQ_EVFLG_NOTE_TWOARG),
20	[SND_SEQ_EVENT_NOTEON ... SND_SEQ_EVENT_KEYPRESS]
21	= FIXED_EV(SND_SEQ_EVFLG_NOTE),
22	[SND_SEQ_EVENT_CONTROLLER ... SND_SEQ_EVENT_REGPARAM]
23	= FIXED_EV(SND_SEQ_EVFLG_CONTROL),
24	[SND_SEQ_EVENT_START ... SND_SEQ_EVENT_STOP]
25	= FIXED_EV(SND_SEQ_EVFLG_QUEUE),
26	[SND_SEQ_EVENT_SETPOS_TICK]
27	= FIXED_EV(SND_SEQ_EVFLG_QUEUE) | _SND_SEQ_TYPE_OPT(SND_SEQ_EVFLG_QUEUE_TICK),
28	[SND_SEQ_EVENT_SETPOS_TIME]
29	= FIXED_EV(SND_SEQ_EVFLG_QUEUE) | _SND_SEQ_TYPE_OPT(SND_SEQ_EVFLG_QUEUE_TIME),
30	[SND_SEQ_EVENT_TEMPO ... SND_SEQ_EVENT_SYNC_POS]
31	= FIXED_EV(SND_SEQ_EVFLG_QUEUE) | _SND_SEQ_TYPE_OPT(SND_SEQ_EVFLG_QUEUE_VALUE),
32	[SND_SEQ_EVENT_TUNE_REQUEST ... SND_SEQ_EVENT_SENSING]
33	= FIXED_EV(SND_SEQ_EVFLG_NONE),
34	[SND_SEQ_EVENT_ECHO ... SND_SEQ_EVENT_OSS]
35	= FIXED_EV(SND_SEQ_EVFLG_RAW) | FIXED_EV(SND_SEQ_EVFLG_SYSTEM),
36	[SND_SEQ_EVENT_CLIENT_START ... SND_SEQ_EVENT_PORT_CHANGE]
37	= FIXED_EV(SND_SEQ_EVFLG_MESSAGE),
38	[SND_SEQ_EVENT_PORT_SUBSCRIBED ... SND_SEQ_EVENT_PORT_UNSUBSCRIBED]
39	= FIXED_EV(SND_SEQ_EVFLG_CONNECTION),
40	[SND_SEQ_EVENT_USR0 ... SND_SEQ_EVENT_USR9]
41	= FIXED_EV(SND_SEQ_EVFLG_RAW) | FIXED_EV(SND_SEQ_EVFLG_USERS),
42	[SND_SEQ_EVENT_SYSEX ... SND_SEQ_EVENT_BOUNCE]
43	= _SND_SEQ_TYPE(SND_SEQ_EVFLG_VARIABLE),
44	[SND_SEQ_EVENT_USR_VAR0 ... SND_SEQ_EVENT_USR_VAR4]
45	= _SND_SEQ_TYPE(SND_SEQ_EVFLG_VARIABLE) | _SND_SEQ_TYPE(SND_SEQ_EVFLG_USERS),
46	[SND_SEQ_EVENT_NONE]
47	= FIXED_EV(SND_SEQ_EVFLG_NONE),
48};
49
50