From 41f95375a65a3f67a75258680d6d8b03bb4d678b Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Wed, 23 Jul 2025 14:05:13 +0200 Subject: Working with hardcoded routing table --- daemon/src/main.cpp | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'daemon/src/main.cpp') 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 @@ -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)); } } -- cgit v1.2.3