implement missing PortManager methods and lua-bind them
This commit is contained in:
parent
7f8c7d8647
commit
5227f57f2e
|
@ -868,6 +868,14 @@ LuaBindings::common (lua_State* L)
|
|||
.addConst ("SrcBest", ARDOUR::SrcQuality(SrcBest))
|
||||
.endNamespace ()
|
||||
|
||||
.beginNamespace ("PortFlags")
|
||||
.addConst ("IsInput", ARDOUR::PortFlags(IsInput))
|
||||
.addConst ("IsOutput", ARDOUR::PortFlags(IsOutput))
|
||||
.addConst ("IsPhysical", ARDOUR::PortFlags(IsPhysical))
|
||||
.addConst ("CanMonitor", ARDOUR::PortFlags(CanMonitor))
|
||||
.addConst ("IsTerminal", ARDOUR::PortFlags(IsTerminal))
|
||||
.endNamespace ()
|
||||
|
||||
.beginNamespace ("PlaylistDisposition")
|
||||
.addConst ("CopyPlaylist", ARDOUR::PlaylistDisposition(CopyPlaylist))
|
||||
.addConst ("NewPlaylist", ARDOUR::PlaylistDisposition(NewPlaylist))
|
||||
|
@ -932,7 +940,20 @@ LuaBindings::common (lua_State* L)
|
|||
.beginClass <PortManager> ("PortManager")
|
||||
.addFunction ("port_engine", &PortManager::port_engine)
|
||||
.addFunction ("connected", &PortManager::connected)
|
||||
.addFunction ("connect", &PortManager::connect)
|
||||
.addFunction ("physically_connected", &PortManager::physically_connected)
|
||||
.addFunction ("disconnect", (int (PortManager::*)(const std::string&, const std::string&))&PortManager::disconnect)
|
||||
.addFunction ("disconnect_port", (int (PortManager::*)(boost::shared_ptr<Port>))&PortManager::disconnect)
|
||||
.addFunction ("get_port_by_name", &PortManager::get_port_by_name)
|
||||
.addFunction ("get_pretty_name_by_name", &PortManager::get_pretty_name_by_name)
|
||||
.addFunction ("port_is_physical", &PortManager::port_is_physical)
|
||||
.addFunction ("get_physical_outputs", &PortManager::get_physical_outputs)
|
||||
.addFunction ("get_physical_inputs", &PortManager::get_physical_inputs)
|
||||
.addFunction ("n_physical_outputs", &PortManager::n_physical_outputs)
|
||||
.addFunction ("n_physical_inputs", &PortManager::n_physical_inputs)
|
||||
.addRefFunction ("get_connections", &PortManager::get_connections)
|
||||
.addRefFunction ("get_ports", (int (PortManager::*)(DataType, PortManager::PortList&))&PortManager::get_ports)
|
||||
.addRefFunction ("get_backend_ports", (int (PortManager::*)(const std::string&, DataType, PortFlags, std::vector<std::string>&))&PortManager::get_ports)
|
||||
.endClass()
|
||||
|
||||
.deriveClass <AudioEngine, PortManager> ("AudioEngine")
|
||||
|
|
|
@ -158,6 +158,7 @@ void
|
|||
PortManager::get_physical_outputs (DataType type, std::vector<std::string>& s)
|
||||
{
|
||||
if (!_backend) {
|
||||
s.clear ();
|
||||
return;
|
||||
}
|
||||
_backend->get_physical_outputs (type, s);
|
||||
|
@ -167,6 +168,7 @@ void
|
|||
PortManager::get_physical_inputs (DataType type, std::vector<std::string>& s)
|
||||
{
|
||||
if (!_backend) {
|
||||
s.clear ();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -385,6 +387,40 @@ PortManager::connected (const string& port_name)
|
|||
return _backend->connected (handle);
|
||||
}
|
||||
|
||||
bool
|
||||
PortManager::physically_connected (const string& port_name)
|
||||
{
|
||||
if (!_backend) {
|
||||
return false;
|
||||
}
|
||||
|
||||
PortEngine::PortHandle handle = _backend->get_port_by_name (port_name);
|
||||
|
||||
if (!handle) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return _backend->physically_connected (handle);
|
||||
}
|
||||
|
||||
int
|
||||
PortManager::get_connections (const string& port_name, std::vector<std::string>& s)
|
||||
{
|
||||
if (!_backend) {
|
||||
s.clear ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
PortEngine::PortHandle handle = _backend->get_port_by_name (port_name);
|
||||
|
||||
if (!handle) {
|
||||
s.clear ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
return _backend->get_connections (handle, s);
|
||||
}
|
||||
|
||||
int
|
||||
PortManager::connect (const string& source, const string& destination)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user