diff -r 4d777d6c8024 -r ef8f4023e32e djm-fix.cpp --- a/djm-fix.cpp Fri Dec 18 23:58:03 2020 +0100 +++ b/djm-fix.cpp Sat Dec 19 17:33:16 2020 +0100 @@ -20,11 +20,12 @@ #include #include #include +#include #include "DJMFix.h" #include "AlsaBridge.h" -volatile static bool run = true; +static std::atomic run{true}; void interrupt(int signal) { run = false; @@ -32,9 +33,11 @@ } int main(int argc, char**argv) { + std::string deviceName = argc == 2 ? argv[1] : "hw:1"; // FIXME: parse CLI options + automatic device search + signal(SIGINT, interrupt); std::unique_ptr djmFix(djmfix::create()); - std::unique_ptr alsaBridge(djmfix::alsa::create(djmFix.get())); + std::unique_ptr alsaBridge(djmfix::alsa::create(djmFix.get(), deviceName)); alsaBridge->start(); while (run) std::this_thread::sleep_for(std::chrono::milliseconds(100));