From 51ab5ccabf432540ca935065f6c6f40a96f42dad Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 26 Oct 2011 21:01:14 +0000 Subject: new ArdourButton class, to start to provide more control over how our buttons work and appear; use ArdourButtons for monitor, solo isolate and solo safe buttons, and in the processor box; don't save UI config file (canvas colors) to the user's home dir unless one or more parameters were modified by the user git-svn-id: svn://localhost/ardour2/branches/3.0@10311 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour3_styles.rc.in | 138 +------------ gtk2_ardour/ardour3_ui_dark.rc.in | 3 +- gtk2_ardour/ardour3_ui_default.conf | 96 +++++++++ gtk2_ardour/ardour3_ui_light.rc.in | 1 + gtk2_ardour/ardour3_widget_list.rc | 27 +-- gtk2_ardour/ardour_button.cc | 375 ++++++++++++++++++++++++++++++++++++ gtk2_ardour/ardour_button.h | 83 ++++++++ gtk2_ardour/ardour_ui_dependents.cc | 4 +- gtk2_ardour/ardour_ui_ed.cc | 4 +- gtk2_ardour/cairo_widget.cc | 44 ++++- gtk2_ardour/cairo_widget.h | 19 ++ gtk2_ardour/canvas_vars.h | 25 +++ gtk2_ardour/led.cc | 17 +- gtk2_ardour/led.h | 2 + gtk2_ardour/mixer_strip.cc | 108 ++++++----- gtk2_ardour/mixer_strip.h | 6 +- gtk2_ardour/processor_box.cc | 118 ++++-------- gtk2_ardour/processor_box.h | 15 +- gtk2_ardour/route_time_axis.cc | 10 +- gtk2_ardour/route_ui.cc | 55 +++--- gtk2_ardour/route_ui.h | 12 +- gtk2_ardour/theme_manager.cc | 11 +- gtk2_ardour/ui_config.cc | 53 ++++- gtk2_ardour/ui_config.h | 9 +- gtk2_ardour/wscript | 1 + 25 files changed, 883 insertions(+), 353 deletions(-) create mode 100644 gtk2_ardour/ardour_button.cc create mode 100644 gtk2_ardour/ardour_button.h diff --git a/gtk2_ardour/ardour3_styles.rc.in b/gtk2_ardour/ardour3_styles.rc.in index 634768e6f6..3b3ff039bf 100644 --- a/gtk2_ardour/ardour3_styles.rc.in +++ b/gtk2_ardour/ardour3_styles.rc.in @@ -148,52 +148,16 @@ style "mixer_track_rec_enable_button_active" = "track_rec_enable_button_active" ythickness = 0 } -style "monitor_input_button" = "small_button" +style "monitor" = "small_button" { - fg[NORMAL] = darker(@@COLPREFIX@_fg) - fg[PRELIGHT] = darker(@@COLPREFIX@_fg) - bg[NORMAL] = mix(0.1,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) - bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_somewhat_bright_indicator,darker(@@COLPREFIX@_bg)) } -style "monitor_input_button_active" = "small_button" +style "solo_isolate" = "very_small_text" { - fg[NORMAL] = @@COLPREFIX@_fg - fg[PRELIGHT] = @@COLPREFIX@_fg - bg[NORMAL] = mix (0.8, @@COLPREFIX@_monitor, darker (@@COLPREFIX@_bg)) - bg[PRELIGHT] = mix (0.8, @@COLPREFIX@_monitor, darker (@@COLPREFIX@_bg)) } -style "monitor_input_button_alternate" = "small_button" +style "solo_safe" = "very_small_text" { - fg[NORMAL] = @@COLPREFIX@_fg - fg[PRELIGHT] = @@COLPREFIX@_fg - bg[NORMAL] = mix(0.5,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) - bg[PRELIGHT] = mix(0.5,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) -} - -style "monitor_disk_button" = "small_button" -{ - fg[NORMAL] = darker(@@COLPREFIX@_fg) - fg[PRELIGHT] = darker(@@COLPREFIX@_fg) - bg[NORMAL] = mix(0.1,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) - bg[PRELIGHT] = mix(0.1,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) -} - -style "monitor_disk_button_active" = "small_button" -{ - fg[NORMAL] = @@COLPREFIX@_fg - fg[PRELIGHT] = @@COLPREFIX@_fg - bg[NORMAL] = @@COLPREFIX@_monitor - bg[PRELIGHT] = @@COLPREFIX@_monitor -} - -style "monitor_disk_button_alternate" = "small_button" -{ - fg[NORMAL] = @@COLPREFIX@_fg - fg[PRELIGHT] = @@COLPREFIX@_fg - bg[NORMAL] = mix(0.5,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) - bg[PRELIGHT] = mix(0.5,@@COLPREFIX@_monitor,darker(@@COLPREFIX@_bg)) } style "solo_button" = "small_button" @@ -203,18 +167,6 @@ style "solo_button" = "small_button" fg[ACTIVE] = @@COLPREFIX@_darkest } -style "solo_isolate_led" -{ - fg[NORMAL] = mix(0.2,@@COLPREFIX@_isolate, @@COLPREFIX@_darkest) - fg[ACTIVE] = @@COLPREFIX@_isolate -} - -style "solo_safe_led" -{ - fg[NORMAL] = mix(0.2,@@COLPREFIX@_isolate, @@COLPREFIX@_darkest) - fg[ACTIVE] = @@COLPREFIX@_isolate -} - style "solo_button_alternate" = "small_button" { # @@ -263,6 +215,10 @@ style "solo_button_active" = "small_button" fg[PRELIGHT] = @@COLPREFIX@_darkest } +style "processor" = "small_text" +{ +} + style "mixer_invert_button" = "small_button" { bg[ACTIVE] = @@COLPREFIX@_not_so_bright_indicator @@ -294,42 +250,6 @@ style "mixer_solo_button_active" = "solo_button_active" ythickness = 0 } -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_alternate" = "monitor_disk_button_alternate" -{ - xthickness = 0 - ythickness = 0 -} - style "monitor_opt_button" = "small_button" { bg[NORMAL] = mix(0.1,@@COLPREFIX@_not_so_bright_indicator,@@COLPREFIX@_bg) @@ -985,14 +905,6 @@ style "processor_list" = "very_small_text" bg[NORMAL] = @@COLPREFIX@_darkest bg[ACTIVE] = shade (1.8, @@COLPREFIX@_fg_selected) fg[ACTIVE] = @@COLPREFIX@_darkest - GtkCheckButton::indicator-size = 10 - GtkCheckButton::indicator-spacing = 0 -} - -# Colour of a processor frame when it is selected -style "processor_frame_selected" -{ - bg[NORMAL] = @@COLPREFIX@_fg_selected } # Colour of a processor frame when it is a send whose level is being controller by the fader @@ -1001,42 +913,6 @@ style "processor_frame_active_send" bg[NORMAL] = @@COLPREFIX@_send_fg } -# Fader processor's background -style "processor_fader" -{ - bg[NORMAL] = @@COLPREFIX@_processor_fader_bg -} - -# Fader processor's frame -style "processor_fader_frame" -{ -bg[NORMAL] = @@COLPREFIX@_processor_fader_frame -} - -# Pre-fader processor's background -style "processor_prefader" -{ - bg[NORMAL] = @@COLPREFIX@_processor_prefader -} - -# Pre-fader processor's frame -style "processor_prefader_frame" -{ - bg[NORMAL] = @@COLPREFIX@_processor_prefader_frame -} - -# Post-fader processor's background -style "processor_postfader" -{ - bg[NORMAL] = @@COLPREFIX@_processor_postfader -} - -# Post-fader processor's frame -style "processor_postfader_frame" -{ - bg[NORMAL] = @@COLPREFIX@_processor_postfader_frame -} - # MixerPanZone: # # the NORMAL fg color is used for the pan puck diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in index 05865b11d5..2ad1d7c5d4 100644 --- a/gtk2_ardour/ardour3_ui_dark.rc.in +++ b/gtk2_ardour/ardour3_ui_dark.rc.in @@ -27,6 +27,7 @@ #@color solo #A8F730 #@color midi_channel_selector #A8F730 #@color isolate #B9ECF2 +#@color solo_lock #3593DA #@color mute #FFFA87 #@color mono #DEC #@color monitor #FFAB34 @@ -41,7 +42,7 @@ #@color send_bg #C4C4B8 #@color processor_frame_selected #E2CC33 -#@color processor_fader_bg #666666 +#@color processor_fader #666666 #@color processor_fader_frame #7F7F7F #@color processor_prefader #4D0000 #@color processor_prefader_frame #7F0000 diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 196bb89710..770b9156fa 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -142,5 +142,101 @@