diff options
author | Carl Hetherington <carl@carlh.net> | 2009-01-21 17:44:41 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-01-21 17:44:41 +0000 |
commit | 90ac43a8d83b923ebd634ea73f172c1404b5f1f5 (patch) | |
tree | aa5485cfeb8105eb16e5d23481cef1f72440ed35 /libs | |
parent | 8097c13d38d0f9038e324dedda16b5fe38579630 (diff) |
Fix some confusion about relative / non-relative port names. Add some asserts to keep track of what is happening.
git-svn-id: svn://localhost/ardour2/branches/3.0@4424 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/audioengine.cc | 2 | ||||
-rw-r--r-- | libs/ardour/bundle.cc | 8 | ||||
-rw-r--r-- | libs/ardour/io.cc | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index 095fb205c1..14a4e48d72 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -837,6 +837,8 @@ AudioEngine::frames_per_cycle () Port * AudioEngine::get_port_by_name (const string& portname) { + assert (portname.find_first_of (':') != string::npos); + Glib::Mutex::Lock lm (_process_lock); return get_port_by_name_locked (portname); } diff --git a/libs/ardour/bundle.cc b/libs/ardour/bundle.cc index 379a3d4c2b..70800b06eb 100644 --- a/libs/ardour/bundle.cc +++ b/libs/ardour/bundle.cc @@ -47,12 +47,13 @@ Bundle::channel_ports (uint32_t c) const /** Add an association between one of our channels and a port. * @param ch Channel index. - * @param portname port name to associate with. + * @param portname full port name to associate with (including prefix). */ void Bundle::add_port_to_channel (uint32_t ch, string portname) { assert (ch < nchannels()); + assert (portname.find_first_of (':') != string::npos); { Glib::Mutex::Lock lm (_channel_mutex); @@ -99,10 +100,15 @@ Bundle::operator== (const Bundle& other) const } +/** Set a single port to be associated with a channel, removing any others. + * @param ch Channel. + * @param portname Full port name, including prefix. + */ void Bundle::set_port (uint32_t ch, string portname) { assert (ch < nchannels()); + assert (portname.find_first_of (':') != string::npos); { Glib::Mutex::Lock lm (_channel_mutex); diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index 671ade36ea..ec9618d47e 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -2601,7 +2601,7 @@ IO::setup_bundles_for_inputs_and_outputs () for (uint32_t i = 0; i < ni; ++i) { snprintf (buf, sizeof(buf), _("in %d"), (i + 1)); _bundle_for_inputs->add_channel (buf); - _bundle_for_inputs->set_port (i, inputs().port(i)->name()); + _bundle_for_inputs->set_port (i, _session.engine().make_port_name_non_relative (inputs().port(i)->name())); } snprintf(buf, sizeof (buf), _("%s out"), _name.c_str()); @@ -2610,7 +2610,7 @@ IO::setup_bundles_for_inputs_and_outputs () for (uint32_t i = 0; i < no; ++i) { snprintf (buf, sizeof(buf), _("out %d"), (i + 1)); _bundle_for_outputs->add_channel (buf); - _bundle_for_outputs->set_port (i, outputs().port(i)->name()); + _bundle_for_outputs->set_port (i, _session.engine().make_port_name_non_relative (outputs().port(i)->name())); } } |