20 #ifndef __libardour_port_manager_h__
21 #define __libardour_port_manager_h__
30 #include <boost/shared_ptr.hpp>
46 typedef std::map<std::string,boost::shared_ptr<Port> >
Ports;
47 typedef std::list<boost::shared_ptr<Port> >
PortList;
54 uint32_t port_name_size()
const;
55 std::string my_name()
const;
65 int connect (
const std::string& source,
const std::string& destination);
66 int disconnect (
const std::string& source,
const std::string& destination);
68 int reestablish_ports ();
69 int reconnect_ports ();
71 bool connected (
const std::string&);
72 bool connected_to (
const std::string&,
const std::string&);
73 bool physically_connected (
const std::string&);
74 int get_connections (
const std::string&, std::vector<std::string>&);
79 void port_renamed (
const std::string&,
const std::string&);
80 std::string make_port_name_relative (
const std::string&
name)
const;
81 std::string make_port_name_non_relative (
const std::string&
name)
const;
82 std::string get_pretty_name_by_name (
const std::string& portname)
const;
83 bool port_is_mine (
const std::string& fullname)
const;
87 bool port_is_physical (
const std::string&)
const;
88 void get_physical_outputs (
DataType type, std::vector<std::string>&);
89 void get_physical_inputs (
DataType type, std::vector<std::string>&);
93 int get_ports (
const std::string& port_name_pattern,
DataType type,
PortFlags flags, std::vector<std::string>&);
96 void remove_all_ports ();
100 bool can_request_input_monitoring ()
const;
101 void request_input_monitoring (
const std::string&,
bool)
const;
102 void ensure_input_monitoring (
const std::string&,
bool)
const;
111 const char *
what()
const throw () {
return reason.c_str(); }
119 void registration_callback ();
120 int graph_order_callback ();
121 void connect_callback (
const std::string&,
const std::string&,
bool connection);
144 void port_registration_failure (
const std::string& portname);
152 void silence_outputs (
pframes_t nframes);
153 void check_monitoring ();
SerializedRCUManager< Ports > ports
std::map< std::string, boost::shared_ptr< Port > > Ports
boost::shared_ptr< Ports > _cycle_ports
PBD::Signal0< void > GraphReordered
~PortRegistrationFailure()
bool port_remove_in_progress() const
std::list< boost::shared_ptr< Port > > PortList
PBD::Signal5< void, boost::weak_ptr< Port >, std::string, boost::weak_ptr< Port >, std::string, bool > PortConnectedOrDisconnected
bool _port_remove_in_progress
LIBARDOUR_API PBD::PropertyDescriptor< boost::shared_ptr< AutomationList > > fade_out
boost::shared_ptr< AudioBackend > _backend
PortRegistrationFailure(std::string const &why="")
PBD::Signal0< void > PortRegisteredOrUnregistered
const char * what() const