22 #define MD_CONTAINER_BEGIN 50 33 #define MD_ELEMENT(e) \ 34 ((struct element *)md_check_cast((struct element *)(e), MD_TYPE_ELEMENT)) 41 #define MD_CONTAINER(e) \ 42 ((struct containerElement *)md_check_cast((struct element *)(e), MD_TYPE_CONTAINER)) 52 ((struct rootElement *)md_check_cast((struct element *)(e), MD_TYPE_ROOT)) 60 ((struct trackElement *)md_check_cast((struct element *)(e), MD_TYPE_TRACK)) 66 #define MD_TEMPOMAP(e) \ 67 ((struct tempomapElement *)md_check_cast((struct element *)(e), MD_TYPE_TEMPOMAP)) 78 ((struct noteElement *)md_check_cast((struct element *)(e), MD_TYPE_NOTE)) 86 ((struct partElement *)md_check_cast((struct element *)(e), MD_TYPE_PART)) 94 #define MD_CONTROL(e) \ 95 ((struct controlElement *)md_check_cast((struct element *)(e), MD_TYPE_CONTROL)) 102 #define MD_PROGRAM(e) \ 103 ((struct programElement *)md_check_cast((struct element *)(e), MD_TYPE_PROGRAM)) 111 #define MD_KEYTOUCH(e) \ 112 ((struct keytouchElement *)md_check_cast((struct element *)(e), MD_TYPE_KEYTOUCH)) 119 #define MD_PRESSURE(e) \ 120 ((struct pressureElement *)md_check_cast((struct element *)(e), MD_TYPE_PRESSURE)) 127 #define MD_PITCH(e) \ 128 ((struct pitchElement *)md_check_cast((struct element *)(e), MD_TYPE_PITCH)) 137 #define MD_SYSEX(e) \ 138 ((struct sysexElement *)md_check_cast((struct element *)(e), MD_TYPE_SYSEX)) 145 ((struct metaElement *)md_check_cast((struct element *)(e), MD_TYPE_META)) 152 ((struct mapElement *)md_check_cast((struct element *)(e), MD_TYPE_MAP)) 160 #define MD_KEYSIG(e) \ 161 ((struct keysigElement *)md_check_cast((struct element *)(e), MD_TYPE_KEYSIG)) 171 #define MD_TIMESIG(e) \ 172 ((struct timesigElement *)md_check_cast((struct element *)(e), MD_TYPE_TIMESIG)) 179 #define MD_TEMPO(e) \ 180 ((struct tempoElement *)md_check_cast((struct element *)(e), MD_TYPE_TEMPO)) 191 ((struct textElement *)md_check_cast((struct element *)(e), MD_TYPE_TEXT)) 202 #define MD_SMPTEOFFSET(e) \ 203 ((struct smpteoffsetElement *)md_check_cast((struct element *)(e), MD_TYPE_SMPTEOFFSET)) 234 #define MD_TYPE_PART (0 + MD_CONTAINER_BEGIN) 235 #define MD_TYPE_ROOT (1 + MD_CONTAINER_BEGIN) 236 #define MD_TYPE_KEYTOUCH 2 237 #define MD_TYPE_TEXT 3 238 #define MD_TYPE_PITCH 4 239 #define MD_TYPE_PROGRAM 5 240 #define MD_TYPE_META 6 241 #define MD_TYPE_PRESSURE 7 242 #define MD_TYPE_NOTE 8 243 #define MD_TYPE_ELEMENT 9 244 #define MD_TYPE_SMPTEOFFSET 10 245 #define MD_TYPE_TEMPO 11 246 #define MD_TYPE_TEMPOMAP (12 + MD_CONTAINER_BEGIN) 247 #define MD_TYPE_SYSEX 13 248 #define MD_TYPE_TRACK (14 + MD_CONTAINER_BEGIN) 249 #define MD_TYPE_KEYSIG 15 250 #define MD_TYPE_TIMESIG 16 251 #define MD_TYPE_CONTAINER 17 252 #define MD_TYPE_MAP 18 253 #define MD_TYPE_CONTROL 19 int type
Definition: elements.h:185
struct element parent
Definition: elements.h:116
int velocity
Definition: elements.h:109
guint32 final_time
Definition: elements.h:57
guint32 final_time
Definition: elements.h:83
Definition: elements.h:106
short subframes
Definition: elements.h:200
struct mapElement parent
Definition: elements.h:165
char * name
Definition: elements.h:186
void md_free(struct element *el)
short hours
Definition: elements.h:196
short time_base
Definition: elements.h:49
short device_channel
Definition: elements.h:31
struct element parent
Definition: elements.h:99
struct tempoElement * md_tempo_new(int m)
short frames
Definition: elements.h:199
struct timesigElement * md_timesig_new(short top, short bottom, short clocks, short n32pq)
struct textElement * md_text_new(int type, char *text)
struct metaElement parent
Definition: elements.h:149
short seconds
Definition: elements.h:198
int micro_tempo
Definition: elements.h:177
int program
Definition: elements.h:100
struct metaElement * md_meta_new()
struct element parent
Definition: elements.h:90
Definition: elements.h:89
Definition: elements.h:148
short vel
Definition: elements.h:73
struct sysexElement * md_sysex_new(int status, unsigned char *data, int len)
short type
Definition: elements.h:29
struct controlElement * md_control_new(short control, short value)
struct containerElement parent
Definition: elements.h:46
struct pressureElement * md_pressure_new(int vel)
unsigned int guint32
Definition: glib.h:76
struct element parent
Definition: elements.h:195
struct trackElement * md_track_new(void)
Definition: elements.h:183
short value
Definition: elements.h:92
int pitch
Definition: elements.h:125
Definition: elements.h:28
Definition: elements.h:45
Definition: elements.h:164
struct rootElement * md_root_new(void)
Definition: elements.h:70
int status
Definition: elements.h:133
struct keysigElement * md_keysig_new(short key, short minor)
struct smpteoffsetElement * md_smpteoffset_new(short hours, short minutes, short seconds, short frames, short subframes)
guint32 element_time
Definition: elements.h:30
struct element parent
Definition: elements.h:38
int note
Definition: elements.h:108
char minor
Definition: elements.h:158
Definition: elements.h:115
short n32pq
Definition: elements.h:169
Definition: elements.h:131
char key
Definition: elements.h:157
Definition: elements.h:194
Definition: elements.h:155
Definition: elements.h:55
int length
Definition: elements.h:188
short format
Definition: elements.h:47
short clocks
Definition: elements.h:168
short tracks
Definition: elements.h:48
Definition: elements.h:63
struct mapElement parent
Definition: elements.h:176
Definition: elements.h:98
short bottom
Definition: elements.h:167
struct programElement * md_program_new(int program)
struct containerElement parent
Definition: elements.h:64
short note
Definition: elements.h:72
char * text
Definition: elements.h:187
struct element parent
Definition: elements.h:107
struct element parent
Definition: elements.h:71
int length
Definition: elements.h:74
struct element * md_element_new()
Definition: elements.h:123
int velocity
Definition: elements.h:117
struct mapElement * md_map_new()
struct element parent
Definition: elements.h:132
Definition: elements.h:175
struct partElement * md_part_new(void)
struct element * md_check_cast(struct element *el, int type)
short control
Definition: elements.h:91
Definition: elements.h:37
struct containerElement parent
Definition: elements.h:56
short offvel
Definition: elements.h:75
struct containerElement * md_container_new()
struct keytouchElement * md_keytouch_new(int note, int vel)
int length
Definition: elements.h:135
struct noteElement * md_note_new(short note, short vel, int length)
GPtrArray * elements
Definition: elements.h:39
Definition: elements.h:81
short top
Definition: elements.h:166
unsigned char * data
Definition: elements.h:134
struct containerElement parent
Definition: elements.h:82
struct mapElement parent
Definition: elements.h:156
struct tempomapElement * md_tempomap_new()
void md_add(struct containerElement *c, struct element *e)
struct element parent
Definition: elements.h:184
struct element parent
Definition: elements.h:124
short minutes
Definition: elements.h:197
struct pitchElement * md_pitch_new(int val)