a) moved metering and meter falloff code into libardour
[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         int init ();
18
19         bool active() const;
20
21         void set_port (MIDI::Port*);
22         MIDI::Port* port () const { return _port; }
23
24         void send_route_feedback (std::list<Route*>&);
25         
26   private:
27         void route_feedback (ARDOUR::Route&, bool);
28         MIDI::Port* _port;
29
30         void port_change ();
31 };
32
33 }
34
35 #endif // ardour_generic_midi_control_protocol_h