more changes flowing from a persistent MonitorSection object
[ardour.git] / gtk2_ardour / mixer_strip.cc
index cdd9cac466239dc73297840d68fc39474c90b1ef..1e7c94f9069406d13406877f46340c9e0001265c 100644 (file)
@@ -335,11 +335,11 @@ MixerStrip::init ()
        global_vpacker.pack_end (spacer, false, false);
 #endif
 
-       global_sample.add (global_vpacker);
-       global_sample.set_shadow_type (Gtk::SHADOW_IN);
-       global_sample.set_name ("BaseFrame");
+       global_frame.add (global_vpacker);
+       global_frame.set_shadow_type (Gtk::SHADOW_IN);
+       global_frame.set_name ("BaseFrame");
 
-       add (global_sample);
+       add (global_frame);
 
        /* force setting of visible selected status */
 
@@ -581,7 +581,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
                solo_iso_table.set_sensitive(false);
                control_slave_ui.set_sensitive(false);
                if (monitor_section_button == 0) {
-                       Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMonitorSection");
+                       Glib::RefPtr<Action> act = ActionManager::get_action ("Mixer", "ToggleMonitorSection");
                        _session->MonitorChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::monitor_changed, this), gui_context());
 
                        monitor_section_button = manage (new ArdourButton);
@@ -734,7 +734,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
 
        width_button.show();
        width_hide_box.show();
-       global_sample.show();
+       global_frame.show();
        global_vpacker.show();
        mute_solo_table.show();
        bottom_button_table.show();
@@ -873,9 +873,7 @@ gint
 MixerStrip::output_press (GdkEventButton *ev)
 {
        using namespace Menu_Helpers;
-       if (!_session->engine().connected()) {
-               MessageDialog msg (_("Not connected to audio engine - no I/O changes are possible"));
-               msg.run ();
+       if (!ARDOUR_UI_UTILS::engine_is_running ()) {
                return true;
        }
 
@@ -910,8 +908,7 @@ MixerStrip::output_press (GdkEventButton *ev)
                }
 
                /* then other routes inputs */
-               boost::shared_ptr<ARDOUR::RouteList> routes = _session->get_routes ();
-               RouteList copy = *routes;
+               RouteList copy = _session->get_routelist ();
                copy.sort (RouteCompareByName ());
                for (ARDOUR::RouteList::const_iterator i = copy.begin(); i != copy.end(); ++i) {
                        maybe_add_bundle_to_output_menu ((*i)->input()->bundle(), current, intended_type);
@@ -990,9 +987,7 @@ MixerStrip::input_press (GdkEventButton *ev)
        input_menu.set_name ("ArdourContextMenu");
        citems.clear();
 
-       if (!_session->engine().connected()) {
-               MessageDialog msg (_("Not connected to audio engine - no I/O changes are possible"));
-               msg.run ();
+       if (!ARDOUR_UI_UTILS::engine_is_running ()) {
                return true;
        }
 
@@ -1256,7 +1251,6 @@ MixerStrip::guess_main_type(bool for_input, bool favor_connected) const
 
 /*
  * Output port labelling
- * =====================
  *
  * Case 1: Each output has one connection, all connections are to system:playback_%i
  *   out 1 -> system:playback_1
@@ -1280,8 +1274,9 @@ MixerStrip::guess_main_type(bool for_input, bool favor_connected) const
  * Default case (unusual routing):
  *   Display as: *number of connections*
  *
+ *
  * Tooltips
- * ========
+ *
  * .-----------------------------------------------.
  * | Mixdown                                       |
  * | out 1 -> ardour:master/in 1, jamin:input/in 1 |
@@ -1835,14 +1830,14 @@ MixerStrip::set_selected (bool yn)
        AxisView::set_selected (yn);
 
        if (selected()) {
-               global_sample.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
-               global_sample.set_name ("MixerStripSelectedFrame");
+               global_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
+               global_frame.set_name ("MixerStripSelectedFrame");
        } else {
-               global_sample.set_shadow_type (Gtk::SHADOW_IN);
-               global_sample.set_name ("MixerStripFrame");
+               global_frame.set_shadow_type (Gtk::SHADOW_IN);
+               global_frame.set_name ("MixerStripFrame");
        }
 
-       global_sample.queue_draw ();
+       global_frame.queue_draw ();
 
 //     if (!yn)
 //             processor_box.deselect_all_processors();
@@ -2173,6 +2168,11 @@ MixerStrip::drop_send ()
        monitor_input_button->set_sensitive (true);
        monitor_disk_button->set_sensitive (true);
        _comment_button.set_sensitive (true);
+       trim_control.set_sensitive (true);
+       if (midi_input_enable_button) {
+               midi_input_enable_button->set_sensitive (true);
+       }
+       control_slave_ui.set_sensitive (true);
        RouteUI::check_rec_enable_sensitivity ();
        set_button_names (); // update solo button visual state
 }
@@ -2221,6 +2221,11 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
        monitor_input_button->set_sensitive (false);
        monitor_disk_button->set_sensitive (false);
        _comment_button.set_sensitive (false);
+       trim_control.set_sensitive (false);
+       if (midi_input_enable_button) {
+               midi_input_enable_button->set_sensitive (false);
+       }
+       control_slave_ui.set_sensitive (false);
 
        if (boost::dynamic_pointer_cast<InternalSend>(send)) {
                output_button.set_sensitive (false);
@@ -2388,6 +2393,7 @@ MixerStrip::parameter_changed (string p)
                _visibility.set_state (UIConfiguration::instance().get_mixer_strip_visibility ());
        } else if (p == "track-name-number") {
                name_changed ();
+               update_track_number_visibility();
        } else if (p == "use-monitor-bus") {
                if (monitor_section_button) {
                        if (mute_button->get_parent()) {
@@ -2406,8 +2412,6 @@ MixerStrip::parameter_changed (string p)
                                mute_button->show();
                        }
                }
-       } else if (p == "track-name-number") {
-               update_track_number_visibility();
        }
 }