2013-11-27 11:24:35 +00:00
|
|
|
#ifndef AL_EVTQUEUE_H
|
|
|
|
#define AL_EVTQUEUE_H
|
|
|
|
|
|
|
|
#include "AL/al.h"
|
|
|
|
|
2013-11-27 12:33:33 +00:00
|
|
|
#include "alMain.h"
|
|
|
|
|
2013-11-27 11:24:35 +00:00
|
|
|
typedef struct MidiEvent {
|
2013-11-27 12:33:33 +00:00
|
|
|
ALuint64 time;
|
2013-11-27 11:24:35 +00:00
|
|
|
ALuint event;
|
2013-11-29 12:56:33 +00:00
|
|
|
union {
|
|
|
|
ALuint val[2];
|
|
|
|
struct {
|
|
|
|
ALvoid *data;
|
|
|
|
ALsizei size;
|
|
|
|
} sysex;
|
|
|
|
} param;
|
2013-11-27 11:24:35 +00:00
|
|
|
} MidiEvent;
|
|
|
|
|
|
|
|
typedef struct EvtQueue {
|
|
|
|
MidiEvent *events;
|
|
|
|
ALsizei pos;
|
|
|
|
ALsizei size;
|
|
|
|
ALsizei maxsize;
|
|
|
|
} EvtQueue;
|
|
|
|
|
|
|
|
void InitEvtQueue(EvtQueue *queue);
|
|
|
|
void ResetEvtQueue(EvtQueue *queue);
|
|
|
|
ALenum InsertEvtQueue(EvtQueue *queue, const MidiEvent *evt);
|
|
|
|
|
2013-11-27 12:33:33 +00:00
|
|
|
#endif /* AL_EVTQUEUE_H */
|