diff -r 5b351628a377 -r 15d87fdd6e6c djm-fix.cpp --- a/djm-fix.cpp Mon Jan 04 13:38:08 2021 +0100 +++ b/djm-fix.cpp Mon Jan 04 15:45:12 2021 +0100 @@ -24,12 +24,12 @@ #include "DJMFix.h" #include "AlsaBridge.h" +#include "Logger.h" static std::atomic run{true}; void interrupt(int signal) { run = false; - std::cerr << "interrupt()" << std::endl; // TODO: do not mess STDIO } /** @@ -80,19 +80,26 @@ */ int main(int argc, char**argv) { + using L = djmfix::logging::Level; + std::unique_ptr logger(djmfix::logging::create(std::cerr, L::INFO)); try { + logger->log(L::INFO, "djm-fix started"); std::string cardNamePattern = argc == 2 ? argv[1] : "Pioneer DJ.*"; signal(SIGINT, interrupt); - std::unique_ptr djmFix(djmfix::create()); - std::unique_ptr alsaBridge(djmfix::alsa::create(djmFix.get(), cardNamePattern)); + std::unique_ptr djmFix(djmfix::create(logger.get())); + std::unique_ptr alsaBridge(djmfix::alsa::create(djmFix.get(), cardNamePattern, logger.get())); alsaBridge->start(); while (run) std::this_thread::sleep_for(std::chrono::milliseconds(100)); + + std::cerr << std::endl; + logger->log(L::INFO, "djm-fix stopping"); + alsaBridge->stop(); return 0; } catch (const std::exception& e) { - std::cerr << "ERROR: " << e.what() << std::endl; // TODO: do not mess STDIO + logger->log(L::SEVERE, e.what()); } }