20 #ifndef __JackALSARawMidiDriver__ 21 #define __JackALSARawMidiDriver__ 25 #include <alsa/asoundlib.h> 28 #include "JackALSARawMidiInputPort.h" 29 #include "JackALSARawMidiOutputPort.h" 30 #include "JackMidiDriver.h" 31 #include "JackThread.h" 43 jack_nframes_t *output_port_timeouts;
45 struct pollfd *poll_fds;
49 FreeDeviceInfo(std::vector<snd_rawmidi_info_t *> *in_info_list,
50 std::vector<snd_rawmidi_info_t *> *out_info_list);
53 GetDeviceInfo(snd_ctl_t *control, snd_rawmidi_info_t *info,
54 std::vector<snd_rawmidi_info_t *> *info_list);
57 HandleALSAError(
const char *driver_func,
const char *alsa_func,
79 Open(
bool capturing,
bool playing,
int in_channels,
int out_channels,
80 bool monitoring,
const char *capture_driver_name,
81 const char *playback_driver_name, jack_nframes_t capture_latency,
82 jack_nframes_t playback_latency);
The base class for MIDI drivers: drivers with MIDI ports.
Locked Engine, access to methods is serialized using a mutex.
The base class for runnable objects, that have an Init and Execute method to be called in a threa...
Inter process synchronization using POSIX semaphore.
Darwin threads. Real-time threads are actually "time constraint" threads.