equal
deleted
inserted
replaced
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 */ |
16 */ |
17 |
17 |
18 #include <memory> |
18 #include <memory> |
19 #include <iostream> |
19 #include <iostream> |
|
20 #include <chrono> |
|
21 #include <thread> |
|
22 #include <csignal> |
20 |
23 |
21 #include "DJMFix.h" |
24 #include "DJMFix.h" |
|
25 #include "AlsaBridge.h" |
|
26 |
|
27 volatile static bool run = true; |
|
28 |
|
29 void interrupt(int signal) { |
|
30 run = false; |
|
31 std::cerr << "interrupt()" << std::endl; // TODO: do not mess STDIO |
|
32 } |
22 |
33 |
23 int main(int argc, char**argv) { |
34 int main(int argc, char**argv) { |
|
35 signal(SIGINT, interrupt); |
|
36 std::unique_ptr<djmfix::DJMFix> djmFix(djmfix::create()); |
|
37 std::unique_ptr<djmfix::alsa::AlsaBridge> alsaBridge(djmfix::alsa::create(djmFix.get())); |
24 |
38 |
25 std::shared_ptr<djmfix::DJMFix> djmFix(djmfix::create([](djmfix::MidiMessage midiMessage) { |
39 alsaBridge->start(); |
26 std::cerr << "main: will send midiMessage" << std::endl; // TODO: do not mess STDIO |
40 while (run) std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
27 })); |
41 alsaBridge->stop(); |
28 |
|
29 djmFix->start(); |
|
30 djmFix->receive({0xf0, 0xf7}); |
|
31 djmFix->stop(); |
|
32 |
|
33 |
42 |
34 return 0; |
43 return 0; |
35 } |
44 } |