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 #pragma once |
17 #pragma once |
18 |
18 |
19 #include <vector> |
19 #include <vector> |
20 #include <functional> |
|
21 |
20 |
22 namespace djmfix { |
21 namespace djmfix { |
23 |
22 |
24 using MidiMessage = std::vector<uint8_t>; |
23 using MidiMessage = std::vector<uint8_t>; |
25 using MidiSender = std::function<void(MidiMessage) >; |
24 |
|
25 class MidiSender { |
|
26 public: |
|
27 virtual ~MidiSender() = default; |
|
28 virtual void send(MidiMessage midiMessage) = 0; |
|
29 }; |
26 |
30 |
27 class DJMFix { |
31 class DJMFix { |
28 public: |
32 public: |
29 virtual ~DJMFix() = default; |
33 virtual ~DJMFix() = default; |
|
34 virtual void setMidiSender(MidiSender* midiSender) = 0; |
30 virtual void receive(MidiMessage midiMessage) = 0; |
35 virtual void receive(MidiMessage midiMessage) = 0; |
31 virtual void start() = 0; |
36 virtual void start() = 0; |
32 virtual void stop() = 0; |
37 virtual void stop() = 0; |
33 }; |
38 }; |
34 |
39 |
35 DJMFix* create(MidiSender midiSender); |
40 DJMFix* create(); |
36 |
41 |
37 } |
42 } |