1.1 --- a/DJMFix.h Fri Dec 18 21:35:36 2020 +0100
1.2 +++ b/DJMFix.h Fri Dec 18 23:19:32 2020 +0100
1.3 @@ -17,21 +17,26 @@
1.4 #pragma once
1.5
1.6 #include <vector>
1.7 -#include <functional>
1.8
1.9 namespace djmfix {
1.10
1.11 using MidiMessage = std::vector<uint8_t>;
1.12 -using MidiSender = std::function<void(MidiMessage) >;
1.13 +
1.14 +class MidiSender {
1.15 +public:
1.16 + virtual ~MidiSender() = default;
1.17 + virtual void send(MidiMessage midiMessage) = 0;
1.18 +};
1.19
1.20 class DJMFix {
1.21 public:
1.22 virtual ~DJMFix() = default;
1.23 + virtual void setMidiSender(MidiSender* midiSender) = 0;
1.24 virtual void receive(MidiMessage midiMessage) = 0;
1.25 virtual void start() = 0;
1.26 virtual void stop() = 0;
1.27 };
1.28
1.29 -DJMFix* create(MidiSender midiSender);
1.30 +DJMFix* create();
1.31
1.32 }