summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/control_protocol_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/control_protocol_manager.h')
-rw-r--r--libs/ardour/ardour/control_protocol_manager.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/ardour/ardour/control_protocol_manager.h b/libs/ardour/ardour/control_protocol_manager.h
index b06c3024b6..c19649e38b 100644
--- a/libs/ardour/ardour/control_protocol_manager.h
+++ b/libs/ardour/ardour/control_protocol_manager.h
@@ -8,6 +8,8 @@
#include <pbd/lockmonitor.h>
+#include <ardour/stateful.h>
+
namespace ARDOUR {
class ControlProtocol;
@@ -19,9 +21,10 @@ struct ControlProtocolInfo {
ControlProtocol* protocol;
std::string name;
std::string path;
+ bool requested;
};
- class ControlProtocolManager : public sigc::trackable
+ class ControlProtocolManager : public sigc::trackable, public Stateful
{
public:
ControlProtocolManager ();
@@ -38,6 +41,11 @@ struct ControlProtocolInfo {
std::list<ControlProtocolInfo*> control_protocol_info;
+ static const std::string state_node_name;
+
+ int set_state (const XMLNode&);
+ XMLNode& get_state (void);
+
private:
static ControlProtocolManager* _instance;
@@ -49,6 +57,7 @@ struct ControlProtocolInfo {
int control_protocol_discover (std::string path);
ControlProtocolDescriptor* get_descriptor (std::string path);
+ ControlProtocolInfo* cpi_by_name (std::string);
};
} // namespace