summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour3_styles.rc.in66
-rw-r--r--gtk2_ardour/ardour3_widget_list.rc13
-rw-r--r--gtk2_ardour/route_ui.cc16
-rw-r--r--gtk2_ardour/route_ui.h1
4 files changed, 80 insertions, 16 deletions
diff --git a/gtk2_ardour/ardour3_styles.rc.in b/gtk2_ardour/ardour3_styles.rc.in
index f29a4ef5f9..237b62f07b 100644
--- a/gtk2_ardour/ardour3_styles.rc.in
+++ b/gtk2_ardour/ardour3_styles.rc.in
@@ -154,9 +154,22 @@ style "monitor_input_button" = "small_button"
fg[PRELIGHT] = darker(@@COLPREFIX@_fg)
bg[NORMAL] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
-
- fg[ACTIVE] = @@COLPREFIX@_fg
- bg[ACTIVE] = @@COLPREFIX@_bright_indicator
+}
+
+style "monitor_input_button_active" = "small_button"
+{
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[PRELIGHT] = @@COLPREFIX@_fg
+ bg[NORMAL] = @@COLPREFIX@_bright_indicator
+ bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
+}
+
+style "monitor_input_button_alternate" = "small_button"
+{
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[PRELIGHT] = @@COLPREFIX@_fg
+ bg[NORMAL] = mix(0.3,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
+ bg[PRELIGHT] = mix(0.3,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
}
style "monitor_disk_button" = "small_button"
@@ -165,9 +178,22 @@ style "monitor_disk_button" = "small_button"
fg[PRELIGHT] = darker(@@COLPREFIX@_fg)
bg[NORMAL] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
-
- fg[ACTIVE] = @@COLPREFIX@_fg
- bg[ACTIVE] = @@COLPREFIX@_bright_indicator
+}
+
+style "monitor_disk_button_active" = "small_button"
+{
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[PRELIGHT] = @@COLPREFIX@_fg
+ bg[NORMAL] = @@COLPREFIX@_bright_indicator
+ bg[PRELIGHT] = @@COLPREFIX@_bright_indicator
+}
+
+style "monitor_disk_button_alternate" = "small_button"
+{
+ fg[NORMAL] = @@COLPREFIX@_fg
+ fg[PRELIGHT] = @@COLPREFIX@_fg
+ bg[NORMAL] = mix(0.3,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
+ bg[PRELIGHT] = mix(0.3,@@COLPREFIX@_bright_indicator,darker(@@COLPREFIX@_bg))
}
style "solo_button" = "small_button"
@@ -268,13 +294,37 @@ style "mixer_solo_button_active" = "solo_button_active"
ythickness = 0
}
-style "mixer_monitor_input_button" = "monitor_input_button"
+style "mixer_monitor_input" = "monitor_input_button"
+{
+ xthickness = 0
+ ythickness = 0
+}
+
+style "mixer_monitor_input_active" = "monitor_input_button_active"
+{
+ xthickness = 0
+ ythickness = 0
+}
+
+style "mixer_monitor_input_alternate" = "monitor_input_button_alternate"
+{
+ xthickness = 0
+ ythickness = 0
+}
+
+style "mixer_monitor_disk" = "monitor_disk_button"
+{
+ xthickness = 0
+ ythickness = 0
+}
+
+style "mixer_monitor_disk_active" = "monitor_disk_button_active"
{
xthickness = 0
ythickness = 0
}
-style "mixer_monitor_disk_button" = "monitor_disk_button"
+style "mixer_monitor_disk_alternate" = "monitor_disk_button_alternate"
{
xthickness = 0
ythickness = 0
diff --git a/gtk2_ardour/ardour3_widget_list.rc b/gtk2_ardour/ardour3_widget_list.rc
index ad2a640725..9f0a3c0393 100644
--- a/gtk2_ardour/ardour3_widget_list.rc
+++ b/gtk2_ardour/ardour3_widget_list.rc
@@ -42,8 +42,6 @@ widget "*MixerSendSwitch" style:highest "default_button"
widget "*MixerInsertButton" style:highest "default_button"
widget "*MixerInsertButtonLabel" style:highest "default_button"
widget "*MixerInsertSwitch" style:highest "default_button"
-widget "*MixerMonitorInputButton*" style:highest "very_small_button"
-widget "*MixerMonitorInputButton.*" style:highest "very_small_button"
widget "*MixerIOButton" style:highest "very_small_button"
widget "*MixerIOButtonLabel" style:highest "very_small_button"
widget "*AddRouteDialogSpinner" style:highest "ardour_adjusters"
@@ -80,8 +78,15 @@ widget "*MixerSoloButton" style:highest "mixer_solo_button"
widget "*MixerSoloButton-alternate" style:highest "mixer_solo_button_alternate"
widget "*MixerSoloButton-alternate2" style:highest "mixer_solo_button_alternate2"
widget "*MixerSoloButton-active" style:highest "mixer_solo_button_active"
-widget "*MixerMonitorInputButton" style:highest "mixer_monitor_input_button"
-widget "*MixerMonitorDiskButton" style:highest "mixer_monitor_disk_button"
+
+widget "*MixerMonitorInputButton" style:highest "mixer_monitor_input"
+widget "*MixerMonitorInputButton-active" style:highest "mixer_monitor_input_active"
+widget "*MixerMonitorInputButton-alternate" style:highest "mixer_monitor_input_alternate"
+
+widget "*MixerMonitorDiskButton" style:highest "mixer_monitor_disk"
+widget "*MixerMonitorDiskButton-active" style:highest "mixer_monitor_disk_active"
+widget "*MixerMonitorDiskButton-alternate" style:highest "mixer_monitor_disk_alternate"
+
widget "*TrackLoopButton*" style:highest "track_loop_button"
widget "*PanAutomationLineSelector*" style:highest "multiline_combo"
widget "*EditorTimeButton*" style:highest "time_button"
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 6607da3942..9dd2f81599 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -249,6 +249,8 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
if (is_track()) {
boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track>(_route);
t->MonitoringChanged.connect (route_connections, invalidator (*this), boost::bind (&RouteUI::monitoring_changed, this), gui_context());
+
+ update_monitoring_display ();
}
mute_button->unset_flags (Gtk::CAN_FOCUS);
@@ -585,6 +587,12 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
void
RouteUI::monitoring_changed ()
{
+ update_monitoring_display ();
+}
+
+void
+RouteUI::update_monitoring_display ()
+{
boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track>(_route);
if (!t) {
@@ -594,15 +602,15 @@ RouteUI::monitoring_changed ()
MonitorChoice mc = t->monitoring();
if (mc & MonitorInput) {
- monitor_input_button->set_active (true);
+ monitor_input_button->set_visual_state (1);
} else {
- monitor_input_button->set_active (false);
+ monitor_input_button->set_visual_state (0);
}
if (mc & MonitorDisk) {
- monitor_disk_button->set_active (true);
+ monitor_disk_button->set_visual_state (1);
} else {
- monitor_disk_button->set_active (false);
+ monitor_disk_button->set_visual_state (0);
}
}
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index d084ec696a..d6667a3eeb 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -131,6 +131,7 @@ class RouteUI : public virtual AxisView
bool monitor_disk_press(GdkEventButton*);
bool monitor_disk_release(GdkEventButton*);
void monitoring_changed ();
+ void update_monitoring_display ();
void step_gain_up ();
void step_gain_down ();