summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_strip.cc2
-rw-r--r--gtk2_ardour/route_time_axis.cc26
-rw-r--r--gtk2_ardour/route_ui.cc20
-rw-r--r--gtk2_ardour/route_ui.h1
4 files changed, 21 insertions, 28 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 9bf3e5c470..271eecb985 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -1959,7 +1959,6 @@ MixerStrip::set_button_names ()
{
switch (_width) {
case Wide:
-// rec_enable_button->set_text (_("Rec"));
mute_button->set_text (_("Mute"));
monitor_input_button->set_text (_("In"));
monitor_disk_button->set_text (_("Disk"));
@@ -1986,7 +1985,6 @@ MixerStrip::set_button_names ()
break;
default:
-// rec_enable_button->set_text (_("R"));
mute_button->set_text (_("M"));
monitor_input_button->set_text (_("I"));
monitor_disk_button->set_text (_("D"));
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 9a166d2c0d..90cb341c69 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -167,18 +167,6 @@ RouteTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (is_track()) {
- /* use icon */
-
- switch (track()->mode()) {
- case ARDOUR::Normal:
- case ARDOUR::NonLayered:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
- break;
- }
-
if (ARDOUR::Profile->get_mixbus()) {
controls_table.attach (*rec_enable_button, 0, 1, 0, 1, Gtk::SHRINK, Gtk::SHRINK, 0, 0);
} else {
@@ -853,20 +841,6 @@ RouteTimeAxisView::set_track_mode (TrackMode mode, bool apply_to_selection)
}
track()->set_mode (mode);
-
- rec_enable_button->remove ();
-
- switch (mode) {
- case ARDOUR::NonLayered:
- case ARDOUR::Normal:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
- break;
- case ARDOUR::Destructive:
- rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
- break;
- }
-
- rec_enable_button->show_all ();
}
}
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index d2dc147ead..e828d1fefb 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -248,6 +248,10 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
_route->solo_safe_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
_route->listen_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
_route->solo_isolated_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::update_solo_display, this), gui_context());
+ if (is_track()) {
+ track()->TrackModeChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::track_mode_changed, this), gui_context());
+ track_mode_changed();
+ }
_route->phase_invert_changed.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::polarity_changed, this), gui_context());
_route->PropertyChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::property_changed, this, _1), gui_context());
@@ -2154,6 +2158,22 @@ RouteUI::route_gui_changed (string what_changed)
}
}
+void
+RouteUI::track_mode_changed (void)
+{
+ assert(is_track());
+ switch (track()->mode()) {
+ case ARDOUR::NonLayered:
+ case ARDOUR::Normal:
+ rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton));
+ break;
+ case ARDOUR::Destructive:
+ rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton|ArdourButton::RecTapeMode));
+ break;
+ }
+ rec_enable_button->queue_draw();
+}
+
/** @return the color that this route should use; it maybe its own,
or it maybe that of its route group.
*/
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index 708f616f6d..569fe12552 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -276,6 +276,7 @@ class RouteUI : public virtual AxisView
void check_rec_enable_sensitivity ();
void parameter_changed (std::string const &);
void relabel_solo_button ();
+ void track_mode_changed ();
std::string route_state_id () const;