DJMFix.h
branchv_0
changeset 2 f34476ab597f
parent 1 98274757fcf6
child 6 bddcf2bf29f2
     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  }