summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Driver.hpp8
-rw-r--r--src/LashDriver.hpp2
-rw-r--r--src/Patchage.cpp14
3 files changed, 12 insertions, 12 deletions
diff --git a/src/Driver.hpp b/src/Driver.hpp
index 5c4c35d..0f1255e 100644
--- a/src/Driver.hpp
+++ b/src/Driver.hpp
@@ -31,6 +31,14 @@ class Driver {
public:
virtual ~Driver() {}
+ virtual void process_events(Patchage* app) {
+ while (!events().empty()) {
+ PatchageEvent& ev = events().front();
+ ev.execute(app);
+ events().pop();
+ }
+ }
+
virtual void attach(bool launch_daemon) = 0;
virtual void detach() = 0;
virtual bool is_attached() const = 0;
diff --git a/src/LashDriver.hpp b/src/LashDriver.hpp
index c1d648d..7ece98f 100644
--- a/src/LashDriver.hpp
+++ b/src/LashDriver.hpp
@@ -55,7 +55,7 @@ public:
void refresh() {}
- void process_events() { _server_interface->process_events(); }
+ void process_events(Patchage* app) { _server_interface->process_events(); }
void restore_project(const std::string& directory);
void set_project_directory(const std::string& directory);
diff --git a/src/Patchage.cpp b/src/Patchage.cpp
index 4519ede..6396526 100644
--- a/src/Patchage.cpp
+++ b/src/Patchage.cpp
@@ -305,27 +305,19 @@ Patchage::idle_callback()
// Process any JACK events
if (_jack_driver) {
- while (!_jack_driver->events().empty()) {
- PatchageEvent& ev = _jack_driver->events().front();
- ev.execute(this);
- _jack_driver->events().pop();
- }
+ _jack_driver->process_events(this);
}
// Process any ALSA events
#ifdef HAVE_ALSA
if (_alsa_driver) {
- while (!_alsa_driver->events().empty()) {
- PatchageEvent& ev = _alsa_driver->events().front();
- ev.execute(this);
- _alsa_driver->events().pop();
- }
+ _alsa_driver->process_events(this);
}
#endif
#ifdef HAVE_LASH
if (_lash_driver->is_attached())
- _lash_driver->process_events();
+ _lash_driver->process_events(this);
#endif
// Do a full refresh (ie user clicked refresh)