summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/AlsaMidiDriver.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-19 18:11:19 +0000
committerDavid Robillard <d@drobilla.net>2006-09-19 18:11:19 +0000
commitd82dcd232f201b531a0be165ee44aede1bc8a1df (patch)
tree22e8cdc4ae801c4645a174f988d914056ceadf87 /src/libs/engine/AlsaMidiDriver.h
parentf0d7a30b0a4d9daeb8db95c59a5b0e836b03b31b (diff)
downloadingen-d82dcd232f201b531a0be165ee44aede1bc8a1df.tar.gz
ingen-d82dcd232f201b531a0be165ee44aede1bc8a1df.tar.bz2
ingen-d82dcd232f201b531a0be165ee44aede1bc8a1df.zip
Alsa MIDI fixes.
git-svn-id: http://svn.drobilla.net/lad/ingen@144 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/AlsaMidiDriver.h')
-rw-r--r--src/libs/engine/AlsaMidiDriver.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/engine/AlsaMidiDriver.h b/src/libs/engine/AlsaMidiDriver.h
index ad40ed17..bc5e6203 100644
--- a/src/libs/engine/AlsaMidiDriver.h
+++ b/src/libs/engine/AlsaMidiDriver.h
@@ -27,6 +27,7 @@ namespace Ingen {
class Node;
class SetPortValueEvent;
class AlsaMidiDriver;
+class AudioDriver;
template <typename T> class DuplexPort;
static const int MAX_MIDI_EVENT_SIZE = 3;
@@ -76,7 +77,7 @@ private:
class AlsaMidiDriver : public MidiDriver
{
public:
- AlsaMidiDriver();
+ AlsaMidiDriver(AudioDriver* audio_driver);
~AlsaMidiDriver();
void activate();
@@ -86,6 +87,8 @@ public:
void prepare_block(const SampleCount block_start, const SampleCount block_end);
+ AudioDriver* audio_driver() { return _audio_driver; }
+
DriverPort* create_port(DuplexPort<MidiMessage>* patch_port)
{ return new AlsaMidiPort(this, patch_port); }
@@ -113,6 +116,7 @@ private:
// MIDI thread
static void* process_midi_in(void* me);
+ AudioDriver* _audio_driver;
snd_seq_t* _seq_handle;
snd_midi_event_t* _event_coder;
pthread_t _process_thread;