add a hack to deal with device discovery race, in which the devices were not actually...
[ardour.git] / libs / surfaces / mackie / control_group.h
1 #ifndef __ardour_mackie_control_protocol_control_group_h__
2 #define __ardour_mackie_control_protocol_control_group_h__
3
4 #include <vector>
5
6 namespace Mackie {
7
8 class Control;
9
10 /**
11         This is a loose group of controls, eg cursor buttons,
12         transport buttons, functions buttons etc.
13 */
14 class Group
15 {
16 public:
17         Group (const std::string & name)
18                 : _name (name) {}
19
20         virtual ~Group() {}
21         
22         virtual bool is_strip() const { return false; }
23         virtual bool is_master() const { return false; }
24         
25         virtual void add (Control & control);
26         
27         const std::string & name() const { return _name; }
28         void set_name (const std::string & rhs) { _name = rhs; }
29         
30         typedef std::vector<Control*> Controls;
31         const Controls & controls() const { return _controls; }
32         
33 protected:
34         Controls _controls;
35         
36 private:
37         std::string _name;
38 };
39
40 }
41
42 #endif