summaryrefslogtreecommitdiff
path: root/libs/backends/alsa/alsa_audiobackend.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-02 16:52:07 +0200
committerRobin Gareus <robin@gareus.org>2014-06-02 19:23:07 +0200
commit5cd2010c790875fc10eb7728f6f73462bf0a2198 (patch)
tree10c7deb13a53e3327d0ff422494c22f5844db783 /libs/backends/alsa/alsa_audiobackend.h
parent8e9b02cfa21fc75f1b6f35c0b80295f421f3cd9e (diff)
ALSA backend: raw midi prototype
Diffstat (limited to 'libs/backends/alsa/alsa_audiobackend.h')
-rw-r--r--libs/backends/alsa/alsa_audiobackend.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h
index 4a5633ef23..7ff172efbb 100644
--- a/libs/backends/alsa/alsa_audiobackend.h
+++ b/libs/backends/alsa/alsa_audiobackend.h
@@ -34,6 +34,7 @@
#include "ardour/audio_backend.h"
#include "zita-alsa-pcmi.h"
+#include "alsa_rawmidi.h"
namespace ARDOUR {
@@ -282,8 +283,10 @@ class AlsaAudioBackend : public AudioBackend {
bool _running;
bool _freewheeling;
+ void enumerate_midi_devices (std::vector<std::string> &) const;
std::string _capture_device;
std::string _playback_device;
+ std::string _midi_device;
float _samplerate;
size_t _samples_per_period;
@@ -294,9 +297,6 @@ class AlsaAudioBackend : public AudioBackend {
uint32_t _n_inputs;
uint32_t _n_outputs;
- uint32_t _n_midi_inputs;
- uint32_t _n_midi_outputs;
-
uint32_t _systemic_input_latency;
uint32_t _systemic_output_latency;
@@ -319,13 +319,18 @@ class AlsaAudioBackend : public AudioBackend {
/* port engine */
PortHandle add_port (const std::string& shortname, ARDOUR::DataType, ARDOUR::PortFlags);
- int register_system_ports ();
+ int register_system_audio_ports ();
+ int register_system_midi_ports ();
void unregister_system_ports ();
std::vector<AlsaPort *> _ports;
- std::vector<AlsaPort*> _system_inputs;
- std::vector<AlsaPort*> _system_outputs;
+ std::vector<AlsaPort *> _system_inputs;
+ std::vector<AlsaPort *> _system_outputs;
+ std::vector<AlsaPort *> _system_midi_in;
+ std::vector<AlsaPort *> _system_midi_out;
+ std::vector<AlsaRawMidiOut *> _rmidi_out;
+ std::vector<AlsaRawMidiIn *> _rmidi_in;
struct PortConnectData {
std::string a;