diff options
Diffstat (limited to 'daemon/src/main.cpp')
-rw-r--r-- | daemon/src/main.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/daemon/src/main.cpp b/daemon/src/main.cpp index dc72433..008fd2a 100644 --- a/daemon/src/main.cpp +++ b/daemon/src/main.cpp @@ -1,5 +1,5 @@ #include "connection_manager.h" -#include "configuration.h" +#include "types.h" #include "routing.h" #include <iostream> @@ -10,17 +10,29 @@ using namespace midi_router; int main() { - Configuration const config {{ - {"Deluge MIDI 1", "deluge"}, - {"MPK mini Plus MIDI 1", "mpk"}, - }}; - + // LTG: move configuration to TOML file + Device_Map const devices { + { "Deluge MIDI 1", "deluge" }, + { "MPK mini Plus MIDI 1", "mpk" }, + { "Xjam MIDI 1", "xjam" }, + { "OP-1 MIDI 1", "op1" }, + }; + Router router {}; - Connection_Manager cm { config.devices, [&](Message const & m){ router.submit(m); } }; // works - //Connection_Manager cm { config.devices, std::bind(&Router::submit, &router, std::placeholders::_1) }; // why doesn't this work? + Connection_Manager cm { devices, router }; + + Route_Map const routes { + { "mpk", + { + { Message_Type::NOTE_ON, { cm.get_sender("deluge"), cm.get_sender("op1") } }, + { Message_Type::NOTE_OFF, { cm.get_sender("deluge"), cm.get_sender("op1")} }, + } + }, + }; while(true) { - std::this_thread::sleep_for(std::chrono::seconds(1)); + router.route(routes); + //std::this_thread::sleep_for(std::chrono::milliseconds(500)); } } |