diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-09 13:59:35 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-09 13:59:35 +0000 |
commit | f02edae438dc2bede1de439e2e69b684a4117d80 (patch) | |
tree | a48b4a35e147494cf940d8654877cc631aafa75c /libs/surfaces/mackie/control_group.h | |
parent | 63e15e173767204d17a678aa9620ca54aee359c0 (diff) |
start breaking apart the various controls into their own headers and source code, and making each control know how to generate MIDI; throttle delivery of meter data and get meter ID right
git-svn-id: svn://localhost/ardour2/branches/3.0@11846 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/control_group.h')
-rw-r--r-- | libs/surfaces/mackie/control_group.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/control_group.h b/libs/surfaces/mackie/control_group.h new file mode 100644 index 0000000000..1b73770fa2 --- /dev/null +++ b/libs/surfaces/mackie/control_group.h @@ -0,0 +1,42 @@ +#ifndef __ardour_mackie_control_protocol_control_group_h__ +#define __ardour_mackie_control_protocol_control_group_h__ + +#include <vector> + +namespace Mackie { + +class Control; + +/** + This is a loose group of controls, eg cursor buttons, + transport buttons, functions buttons etc. +*/ +class Group +{ +public: + Group (const std::string & name) + : _name (name) {} + + virtual ~Group() {} + + virtual bool is_strip() const { return false; } + virtual bool is_master() const { return false; } + + virtual void add (Control & control); + + const std::string & name() const { return _name; } + void set_name (const std::string & rhs) { _name = rhs; } + + typedef std::vector<Control*> Controls; + const Controls & controls() const { return _controls; } + +protected: + Controls _controls; + +private: + std::string _name; +}; + +} + +#endif |