jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.1KB

  1. #ifndef __JackALSARawMidiInputPort__
  2. #define __JackALSARawMidiInputPort__
  3. #include "JackALSARawMidiPort.h"
  4. #include "JackALSARawMidiReceiveQueue.h"
  5. #include "JackMidiAsyncQueue.h"
  6. #include "JackMidiBufferWriteQueue.h"
  7. #include "JackMidiRawInputWriteQueue.h"
  8. namespace Jack {
  9. class JackALSARawMidiInputPort: public JackALSARawMidiPort {
  10. private:
  11. jack_midi_event_t *alsa_event;
  12. jack_midi_event_t *jack_event;
  13. JackMidiRawInputWriteQueue *raw_queue;
  14. JackALSARawMidiReceiveQueue *receive_queue;
  15. JackMidiAsyncQueue *thread_queue;
  16. JackMidiBufferWriteQueue *write_queue;
  17. jack_nframes_t
  18. EnqueueALSAEvent();
  19. public:
  20. JackALSARawMidiInputPort(snd_rawmidi_info_t *info, size_t index,
  21. size_t max_bytes=4096,
  22. size_t max_messages=1024);
  23. ~JackALSARawMidiInputPort();
  24. bool
  25. ProcessALSA(jack_nframes_t *frame);
  26. bool
  27. ProcessJack(JackMidiBuffer *port_buffer, jack_nframes_t frames);
  28. };
  29. }
  30. #endif