patch from colinf to make dbl-click on send "box" map its controls to the strip;...
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 20 Jan 2012 03:39:45 +0000 (03:39 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 20 Jan 2012 03:39:45 +0000 (03:39 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@11274 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/processor_box.cc
gtk2_ardour/processor_box.h
libs/ardour/route.cc

index a97f8d08b48155bc3f28edbebe1e79b24ddc4f51..8eb1063bba76841e994fe5ae3af41f2b98e3aa6d 100644 (file)
@@ -656,16 +656,6 @@ ProcessorBox::build_possible_aux_menu ()
        return menu;
 }
 
-void
-ProcessorBox::show_send_controls ()
-{
-}
-
-void
-ProcessorBox::new_send ()
-{
-}
-
 void
 ProcessorBox::show_processor_menu (int arg)
 {
@@ -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) {
index 270b4147e0ff30d8c33430999bdff21a75f36d6d..3caa2925c95ac7a884b6b164e471368481b13d18 100644 (file)
@@ -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 ();
index 1481a1fd1c3936fe2199612816c88cbf70124640..6a7ddde48b9e6324798515d486a865cc10260cb7 100644 (file)
@@ -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) {