diff options
author | David Robillard <d@drobilla.net> | 2020-11-28 14:54:25 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-11-28 14:54:25 +0100 |
commit | e3f3f3586411136e5b7f61cc1726bbc0635deddd (patch) | |
tree | 3c75bfc269d665f4d4e8247a30a5c0cee277d58a /src/JackDriver.cpp | |
parent | 445702fdd90f83abfb1ea7bcdbb1d3605c2236c3 (diff) | |
download | patchage-e3f3f3586411136e5b7f61cc1726bbc0635deddd.tar.gz patchage-e3f3f3586411136e5b7f61cc1726bbc0635deddd.tar.bz2 patchage-e3f3f3586411136e5b7f61cc1726bbc0635deddd.zip |
Make PatchageEvent a variant
Diffstat (limited to 'src/JackDriver.cpp')
-rw-r--r-- | src/JackDriver.cpp | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp index b1cf0aa..904fcc6 100644 --- a/src/JackDriver.cpp +++ b/src/JackDriver.cpp @@ -476,11 +476,9 @@ JackDriver::jack_client_registration_cb(const char* name, assert(me->_client); if (registered) { - me->_events.push( - PatchageEvent(PatchageEvent::Type::client_creation, name)); + me->_events.emplace(ClientCreationEvent{name}); } else { - me->_events.push( - PatchageEvent(PatchageEvent::Type::client_destruction, name)); + me->_events.emplace(ClientDestructionEvent{name}); } } @@ -496,11 +494,9 @@ JackDriver::jack_port_registration_cb(jack_port_id_t port_id, const char* const name = jack_port_name(port); if (registered) { - me->_events.push(PatchageEvent(PatchageEvent::Type::port_creation, - PortID::jack(name))); + me->_events.emplace(PortCreationEvent{PortID::jack(name)}); } else { - me->_events.push(PatchageEvent(PatchageEvent::Type::port_destruction, - PortID::jack(name))); + me->_events.emplace(PortDestructionEvent{PortID::jack(name)}); } } @@ -519,13 +515,11 @@ JackDriver::jack_port_connect_cb(jack_port_id_t src, const char* const dst_name = jack_port_name(dst_port); if (connect) { - me->_events.push(PatchageEvent(PatchageEvent::Type::connection, - PortID::jack(src_name), - PortID::jack(dst_name))); + me->_events.emplace( + ConnectionEvent{PortID::jack(src_name), PortID::jack(dst_name)}); } else { - me->_events.push(PatchageEvent(PatchageEvent::Type::disconnection, - PortID::jack(src_name), - PortID::jack(dst_name))); + me->_events.emplace( + DisconnectionEvent{PortID::jack(src_name), PortID::jack(dst_name)}); } } @@ -628,7 +622,7 @@ JackDriver::process_events(Patchage* app) { while (!_events.empty()) { PatchageEvent& ev = _events.front(); - ev.execute(app); + handle_event(*app, ev); _events.pop(); } } |