evtqueue.h 579 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef AL_EVTQUEUE_H
  2. #define AL_EVTQUEUE_H
  3. #include "AL/al.h"
  4. #include "alMain.h"
  5. typedef struct MidiEvent {
  6. ALuint64 time;
  7. ALuint event;
  8. union {
  9. ALuint val[2];
  10. struct {
  11. ALvoid *data;
  12. ALsizei size;
  13. } sysex;
  14. } param;
  15. } MidiEvent;
  16. typedef struct EvtQueue {
  17. MidiEvent *events;
  18. ALsizei pos;
  19. ALsizei size;
  20. ALsizei maxsize;
  21. } EvtQueue;
  22. void InitEvtQueue(EvtQueue *queue);
  23. void ResetEvtQueue(EvtQueue *queue);
  24. ALenum InsertEvtQueue(EvtQueue *queue, const MidiEvent *evt);
  25. #endif /* AL_EVTQUEUE_H */