diff options
Diffstat (limited to 'libs/ardour/port.cc')
-rw-r--r-- | libs/ardour/port.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc index ebe31a1fde..247357d16b 100644 --- a/libs/ardour/port.cc +++ b/libs/ardour/port.cc @@ -238,15 +238,20 @@ Port::reconnect () return 0; } -/** @param n Short name */ +/** @param n Short or long name */ int Port::set_name (std::string const & n) { - assert (_name.find_first_of (':') == std::string::npos); + if (n == _name) { + return 0; + } + + string const s = _engine->make_port_name_non_relative (n); + + int const r = jack_port_set_name (_jack_port, s.c_str()); - int const r = jack_port_set_name (_jack_port, n.c_str()); if (r == 0) { - _name = n; + _name = n; // short form, probably } return r; |