13
0

rest of process lock removal, plus no GUIs for internal returns

git-svn-id: svn://localhost/ardour2/branches/3.0@8112 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2010-11-27 21:32:29 +00:00
parent 7cbcf258cc
commit 5a47cb37b8
3 changed files with 9 additions and 7 deletions

View File

@ -53,13 +53,11 @@ GlobalPortMatrix::set_state (BundleChannel c[2], bool s)
Bundle::PortList const & in_ports = c[IN].bundle->channel_ports (c[IN].channel); Bundle::PortList const & in_ports = c[IN].bundle->channel_ports (c[IN].channel);
Bundle::PortList const & out_ports = c[OUT].bundle->channel_ports (c[OUT].channel); Bundle::PortList const & out_ports = c[OUT].bundle->channel_ports (c[OUT].channel);
Glib::Mutex::Lock lm (AudioEngine::instance()->process_lock());
for (Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) { for (Bundle::PortList::const_iterator i = in_ports.begin(); i != in_ports.end(); ++i) {
for (Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) { for (Bundle::PortList::const_iterator j = out_ports.begin(); j != out_ports.end(); ++j) {
Port* p = _session->engine().get_port_by_name_locked (*i); Port* p = _session->engine().get_port_by_name (*i);
Port* q = _session->engine().get_port_by_name_locked (*j); Port* q = _session->engine().get_port_by_name (*j);
if (p) { if (p) {
if (s) { if (s) {

View File

@ -136,12 +136,10 @@ IOSelector::set_state (ARDOUR::BundleChannel c[2], bool s)
ARDOUR::Bundle::PortList const & our_ports = c[_ours].bundle->channel_ports (c[_ours].channel); ARDOUR::Bundle::PortList const & our_ports = c[_ours].bundle->channel_ports (c[_ours].channel);
ARDOUR::Bundle::PortList const & other_ports = c[_other].bundle->channel_ports (c[_other].channel); ARDOUR::Bundle::PortList const & other_ports = c[_other].bundle->channel_ports (c[_other].channel);
Glib::Mutex::Lock lm (AudioEngine::instance()->process_lock());
for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) { for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) {
for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) { for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) {
Port* f = _session->engine().get_port_by_name_locked (*i); Port* f = _session->engine().get_port_by_name (*i);
if (!f) { if (!f) {
return; return;
} }

View File

@ -44,6 +44,7 @@
#include "ardour/audio_track.h" #include "ardour/audio_track.h"
#include "ardour/audioengine.h" #include "ardour/audioengine.h"
#include "ardour/internal_send.h" #include "ardour/internal_send.h"
#include "ardour/internal_return.h"
#include "ardour/ladspa_plugin.h" #include "ardour/ladspa_plugin.h"
#include "ardour/meter.h" #include "ardour/meter.h"
#include "ardour/plugin_insert.h" #include "ardour/plugin_insert.h"
@ -1588,6 +1589,11 @@ ProcessorBox::toggle_edit_processor (boost::shared_ptr<Processor> processor)
} else if ((retrn = boost::dynamic_pointer_cast<Return> (processor)) != 0) { } else if ((retrn = boost::dynamic_pointer_cast<Return> (processor)) != 0) {
if (boost::dynamic_pointer_cast<InternalReturn> (retrn)) {
/* no GUI for these */
return;
}
if (!_session->engine().connected()) { if (!_session->engine().connected()) {
return; return;
} }