diff options
author | David Robillard <d@drobilla.net> | 2010-12-15 00:23:38 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-12-15 00:23:38 +0000 |
commit | ba2863f012866398efab12b6b3e6a113d5eb60bd (patch) | |
tree | d6eeb5c5e009bc3f42bd354afa25cfa684ed212d /src/AlsaDriver.hpp | |
parent | fb6cff045de58c304527efea4e85d53fd80d2758 (diff) | |
download | patchage-ba2863f012866398efab12b6b3e6a113d5eb60bd.tar.gz patchage-ba2863f012866398efab12b6b3e6a113d5eb60bd.tar.bz2 patchage-ba2863f012866398efab12b6b3e6a113d5eb60bd.zip |
Fix removal of ALSA duplex ports (remove both corresponding canvas ports).
Use simpler (and seemingly less lockup prone) blocking ALSA sequencer event API.
Only use a ringbuffer for JACK driver.
Reduce memory usage.
git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@2690 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/AlsaDriver.hpp')
-rw-r--r-- | src/AlsaDriver.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/AlsaDriver.hpp b/src/AlsaDriver.hpp index ba20d95..23d635f 100644 --- a/src/AlsaDriver.hpp +++ b/src/AlsaDriver.hpp @@ -18,9 +18,12 @@ #ifndef PATCHAGE_ALSADRIVER_HPP #define PATCHAGE_ALSADRIVER_HPP +#include <string> +#include <queue> + #include <alsa/asoundlib.h> #include <pthread.h> -#include <string> + #include "Driver.hpp" class Patchage; class PatchagePort; @@ -53,6 +56,8 @@ public: void print_addr(snd_seq_addr_t addr); + void process_events(Patchage* app); + private: void refresh_ports(); void refresh_connections(); @@ -85,6 +90,9 @@ private: Patchage* _app; snd_seq_t* _seq; pthread_t _refresh_thread; + + Glib::Mutex _events_mutex; + std::queue<PatchageEvent> _events; }; #endif // PATCHAGE_ALSADRIVER_HPP |