class ControlProtocolManager : public sigc::trackable, public PBD::Stateful
{
public:
- ControlProtocolManager ();
~ControlProtocolManager ();
- static ControlProtocolManager& instance() { return *_instance; }
+ static ControlProtocolManager& instance();
void set_session (Session&);
void discover_control_protocols ();
XMLNode& get_state (void);
private:
+ ControlProtocolManager ();
static ControlProtocolManager* _instance;
Session* _session;
const string ControlProtocolManager::state_node_name = X_("ControlProtocols");
ControlProtocolManager::ControlProtocolManager ()
+ : _session (0)
{
- if (_instance == 0) {
- _instance = this;
- }
-
- _session = 0;
+
}
ControlProtocolManager::~ControlProtocolManager()
cpi->state = new XMLNode (*child);
}
}
+
+ControlProtocolManager&
+ControlProtocolManager::instance ()
+{
+ if (_instance == 0) {
+ _instance = new ControlProtocolManager ();
+ }
+
+ return *_instance;
+}
void
ARDOUR::init_post_engine ()
{
- /* singleton - first object is "it" */
- new ControlProtocolManager ();
ControlProtocolManager::instance().discover_control_protocols ();
XMLNode* node;