a) dynamically loadable control surface support
[ardour.git] / libs / surfaces / generic_midi / generic_midi_control_protocol.h
1 #ifndef ardour_generic_midi_control_protocol_h
2 #define ardour_generic_midi_control_protocol_h
3
4 #include <ardour/control_protocol.h>
5
6 namespace MIDI {
7         class Port;
8 }
9
10 namespace ARDOUR {
11
12 class GenericMidiControlProtocol : public ControlProtocol {
13   public:
14         GenericMidiControlProtocol (Session&);
15         virtual ~GenericMidiControlProtocol();
16
17         bool active() const;
18
19         void set_port (MIDI::Port*);
20         MIDI::Port* port () const { return _port; }
21
22         void send_route_feedback (std::list<Route*>&);
23         
24   private:
25         void route_feedback (ARDOUR::Route&, bool);
26         MIDI::Port* _port;
27 };
28
29 }
30
31 #endif // ardour_generic_midi_control_protocol_h