#include <sigc++/sigc++.h>
-#include <pbd/lockmonitor.h>
+#include <glibmm/thread.h>
#include <ardour/stateful.h>
std::string name;
std::string path;
bool requested;
+ bool mandatory;
};
class ControlProtocolManager : public sigc::trackable, public Stateful
void set_session (Session&);
void discover_control_protocols (std::string search_path);
void foreach_known_protocol (sigc::slot<void,const ControlProtocolInfo*>);
+ void load_mandatory_protocols ();
ControlProtocol* instantiate (ControlProtocolInfo&);
int teardown (ControlProtocolInfo&);
static ControlProtocolManager* _instance;
Session* _session;
- PBD::Lock protocols_lock;
+ Glib::Mutex protocols_lock;
std::list<ControlProtocol*> control_protocols;
void drop_session ();