38 class ControlProtocol;
39 class ControlProtocolDescriptor;
83 return _control_protocol_info;
ControlProtocol * protocol
ControlProtocolDescriptor * descriptor
int teardown(ControlProtocolInfo &, bool lock_required)
int deactivate(ControlProtocolInfo &)
void stripable_selection_changed(ARDOUR::StripableNotificationListPtr)
void midi_connectivity_established(bool)
const std::list< ControlProtocolInfo * > & control_protocol_infos() const
ControlProtocolInfo * cpi_by_name(std::string)
ControlProtocolDescriptor * get_descriptor(std::string path)
static PBD::Signal< void(ARDOUR::StripableNotificationListPtr)> StripableSelectionChanged
static const std::string state_node_name
void discover_control_protocols()
void probe_midi_control_protocols()
int control_protocol_discover(std::string path)
PBD::RWLock _protocols_lock
int set_state(const XMLNode &, int version)
static ControlProtocolManager * _instance
void session_going_away()
PBD::Signal< void(ControlProtocolInfo *)> ProtocolStatusChange
int activate(ControlProtocolInfo &)
std::list< ControlProtocol * > _control_protocols
void probe_usb_control_protocols(bool, uint16_t, uint16_t)
~ControlProtocolManager()
std::list< ControlProtocolInfo * > _control_protocol_info
static ControlProtocolManager & instance()
ControlProtocol * instantiate(ControlProtocolInfo &)
void foreach_known_protocol(std::function< void(const ControlProtocolInfo *)>)
XMLNode & get_state() const
void set_session(Session *)
PBD::PropertyDescriptor< bool > automatic
std::shared_ptr< StripableNotificationList > StripableNotificationListPtr