23 #ifndef ardour_control_protocol_manager_h 
   24 #define ardour_control_protocol_manager_h 
   30 #include <glibmm/threads.h> 
   40 class ControlProtocol;
 
   41 class ControlProtocolDescriptor;
 
ControlProtocol * protocol
 
ControlProtocolDescriptor * descriptor
 
int teardown(ControlProtocolInfo &, bool lock_required)
 
int deactivate(ControlProtocolInfo &)
 
void stripable_selection_changed(ARDOUR::StripableNotificationListPtr)
 
void midi_connectivity_established(bool)
 
ControlProtocolInfo * cpi_by_name(std::string)
 
PBD::Signal< void(ControlProtocolInfo *)> ProtocolStatusChange
 
ControlProtocolDescriptor * get_descriptor(std::string path)
 
static const std::string state_node_name
 
void discover_control_protocols()
 
void probe_midi_control_protocols()
 
int control_protocol_discover(std::string path)
 
int set_state(const XMLNode &, int version)
 
static ControlProtocolManager * _instance
 
void session_going_away()
 
int activate(ControlProtocolInfo &)
 
Glib::Threads::RWLock protocols_lock
 
void probe_usb_control_protocols(bool, uint16_t, uint16_t)
 
~ControlProtocolManager()
 
std::list< ControlProtocol * > control_protocols
 
static ControlProtocolManager & instance()
 
std::list< ControlProtocolInfo * > control_protocol_info
 
ControlProtocol * instantiate(ControlProtocolInfo &)
 
void foreach_known_protocol(std::function< void(const ControlProtocolInfo *)>)
 
XMLNode & get_state() const
 
static PBD::Signal< void(ARDOUR::StripableNotificationListPtr)> StripableSelectionChanged
 
void set_session(Session *)
 
PBD::PropertyDescriptor< bool > automatic
 
std::shared_ptr< StripableNotificationList > StripableNotificationListPtr