summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-01-20 03:39:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-01-20 03:39:45 +0000
commitcc5e8d41da336535d04169550d09cfe02e9cb065 (patch)
treee3d15d394d74e7a0658e1ea096bb811d0d34cc0a
parent5de9a8f38b0e18317b2b23c5b8698d0d29eba12b (diff)
patch from colinf to make dbl-click on send "box" map its controls to the strip; remove related stub functions from ProcessorBox; fix crash when removing send due to the process lock not being held
git-svn-id: svn://localhost/ardour2/branches/3.0@11274 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/processor_box.cc15
-rw-r--r--gtk2_ardour/processor_box.h3
-rw-r--r--libs/ardour/route.cc1
3 files changed, 6 insertions, 13 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index a97f8d08b4..8eb1063bba 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -657,16 +657,6 @@ ProcessorBox::build_possible_aux_menu ()
}
void
-ProcessorBox::show_send_controls ()
-{
-}
-
-void
-ProcessorBox::new_send ()
-{
-}
-
-void
ProcessorBox::show_processor_menu (int arg)
{
if (processor_menu == 0) {
@@ -1830,6 +1820,11 @@ ProcessorBox::toggle_edit_processor (boost::shared_ptr<Processor> processor)
if (boost::dynamic_pointer_cast<InternalSend> (processor) == 0) {
SendUIWindow* w = new SendUIWindow (send, _session);
w->show ();
+ } else {
+ /* assign internal send to main fader */
+ if (_parent_strip) {
+ _parent_strip->show_send(send);
+ }
}
} else if ((retrn = boost::dynamic_pointer_cast<Return> (processor)) != 0) {
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index 270b4147e0..3caa2925c9 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -271,9 +271,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
Width _width;
- void new_send ();
- void show_send_controls ();
-
Gtk::Menu *processor_menu;
gint processor_menu_map_handler (GdkEventAny *ev);
Gtk::Menu * build_processor_menu ();
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 1481a1fd1c..6a7ddde48b 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2565,6 +2565,7 @@ Route::add_send_to_internal_return (InternalSend* send)
void
Route::remove_send_from_internal_return (InternalSend* send)
{
+ Glib::Mutex::Lock lm (AudioEngine::instance()->process_lock ());
Glib::RWLock::ReaderLock rm (_processor_lock);
for (ProcessorList::const_iterator x = _processors.begin(); x != _processors.end(); ++x) {