diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour3_ui_default.conf | 87 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_widget_list.rc | 1 | ||||
-rw-r--r-- | gtk2_ardour/audio_time_axis.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_routes.cc | 14 | ||||
-rw-r--r-- | gtk2_ardour/editor_routes.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 40 | ||||
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 17 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.cc | 89 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.h | 12 | ||||
-rw-r--r-- | gtk2_ardour/ui_config.cc | 2 |
11 files changed, 135 insertions, 133 deletions
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index ad0ba8955a..60fd7e3bed 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -399,40 +399,87 @@ <Option name="rude audition text" value="979797ff"/> <Option name="rude audition text active" value="ffffffff"/> <Option name="rude audition text mid" value="00000000"/> - - <Option name="mute button border start" value="a50303ff"/> - <Option name="mute button border end" value="684d4dff"/> + <Option name="mute button border start" value="fbf675ff"/> + <Option name="mute button border end" value="8e8b41ff"/> <Option name="mute button border start selected" value="00000000"/> <Option name="mute button border end selected" value="00000000"/> - <Option name="mute button fill start" value="684d4dff"/> - <Option name="mute button fill end" value="513c3cff"/> - <Option name="mute button fill start active" value="ff1f1fff"/> - <Option name="mute button fill end active" value="e21b1bff"/> - <Option name="mute button fill start mid" value="00000000"/> - <Option name="mute button fill end mid" value="00000000"/> + <Option name="mute button fill start" value="7f7d55ff"/> + <Option name="mute button fill end" value="5d5d59ff"/> + <Option name="mute button fill start active" value="fcf88dff"/> + <Option name="mute button fill end active" value="fbf675ff"/> + <Option name="mute button fill start mid" value="fffee9ff"/> + <Option name="mute button fill end mid" value="f8f4a7ff"/> <Option name="mute button led" value="00000000"/> <Option name="mute button led active" value="00000000"/> <Option name="mute button led mid" value="00000000"/> - <Option name="mute button text" value="979797ff"/> - <Option name="mute button text active" value="ffffffff"/> + <Option name="mute button text" value="d6d6d3ff"/> + <Option name="mute button text active" value="484840ff"/> <Option name="mute button text mid" value="00000000"/> - - <Option name="send alert button border start" value="a50303ff"/> - <Option name="send alert button border end" value="684d4dff"/> + <Option name="solo button border start" value="00000000"/> + <Option name="solo button border end" value="00000000"/> + <Option name="solo button border start selected" value="00000000"/> + <Option name="solo button border end selected" value="00000000"/> + <Option name="solo button fill start" value="00000000"/> + <Option name="solo button fill end" value="00000000"/> + <Option name="solo button fill start active" value="00000000"/> + <Option name="solo button fill end active" value="00000000"/> + <Option name="solo button fill start mid" value="00000000"/> + <Option name="solo button fill end mid" value="00000000"/> + <Option name="solo button led" value="00000000"/> + <Option name="solo button led active" value="00000000"/> + <Option name="solo button led mid" value="00000000"/> + <Option name="solo button text" value="00000000"/> + <Option name="solo button text active" value="00000000"/> + <Option name="solo button text mid" value="00000000"/> + <Option name="record enable button border start" value="00000000"/> + <Option name="record enable button border end" value="00000000"/> + <Option name="record enable button border start selected" value="00000000"/> + <Option name="record enable button border end selected" value="00000000"/> + <Option name="record enable button fill start" value="00000000"/> + <Option name="record enable button fill end" value="00000000"/> + <Option name="record enable button fill start active" value="00000000"/> + <Option name="record enable button fill end active" value="00000000"/> + <Option name="record enable button fill start mid" value="00000000"/> + <Option name="record enable button fill end mid" value="00000000"/> + <Option name="record enable button led" value="00000000"/> + <Option name="record enable button led active" value="00000000"/> + <Option name="record enable button led mid" value="00000000"/> + <Option name="record enable button text" value="00000000"/> + <Option name="record enable button text active" value="00000000"/> + <Option name="record enable button text mid" value="00000000"/> + <Option name="send alert button border start" value="9baa8dff"/> + <Option name="send alert button border end" value="6d7762ff"/> <Option name="send alert button border start selected" value="00000000"/> <Option name="send alert button border end selected" value="00000000"/> - <Option name="send alert button fill start" value="684d4dff"/> - <Option name="send alert button fill end" value="513c3cff"/> - <Option name="send alert button fill start active" value="ff1f1fff"/> - <Option name="send alert button fill end active" value="e21b1bff"/> + <Option name="send alert button fill start" value="4e5647ff"/> + <Option name="send alert button fill end" value="43493cff"/> + <Option name="send alert button fill start active" value="91f928ff"/> + <Option name="send alert button fill end active" value="85e524ff"/> <Option name="send alert button fill start mid" value="00000000"/> <Option name="send alert button fill end mid" value="00000000"/> <Option name="send alert button led" value="00000000"/> <Option name="send alert button led active" value="00000000"/> <Option name="send alert button led mid" value="00000000"/> - <Option name="send alert button text" value="979797ff"/> - <Option name="send alert button text active" value="ffffffff"/> + <Option name="send alert button text" value="e4e4e2ff"/> + <Option name="send alert button text active" value="696959ff"/> <Option name="send alert button text mid" value="00000000"/> + <Option name="solo button border start" value="9baa8dff"/> + <Option name="solo button border end" value="6d7762ff"/> + <Option name="solo button border start selected" value="00000000"/> + <Option name="solo button border end selected" value="00000000"/> + <Option name="solo button fill start" value="4e5647ff"/> + <Option name="solo button fill end" value="43493cff"/> + <Option name="solo button fill start active" value="91f928ff"/> + <Option name="solo button fill end active" value="85e524ff"/> + <Option name="solo button fill start mid" value="00000000"/> + <Option name="solo button fill end mid" value="00000000"/> + <Option name="solo button led" value="00000000"/> + <Option name="solo button led active" value="00000000"/> + <Option name="solo button led mid" value="00000000"/> + <Option name="solo button text" value="e4e4e2ff"/> + <Option name="solo button text active" value="696959ff"/> + <Option name="solo button text mid" value="00000000"/> + </Canvas> </Ardour> diff --git a/gtk2_ardour/ardour3_widget_list.rc b/gtk2_ardour/ardour3_widget_list.rc index 80adef5e98..82b0dba7fc 100644 --- a/gtk2_ardour/ardour3_widget_list.rc +++ b/gtk2_ardour/ardour3_widget_list.rc @@ -397,3 +397,4 @@ widget "*processor postfader" style:highest "processor" widget "*MonitorSectionLabel" style:highest "very_small_text" widget "*mute button" style:highest "small_text" widget "*send alert button" style:highest "small_text" +widget "*solo button" style:highest "small_text" diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index 125fe74aac..85d51aa642 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -99,7 +99,7 @@ AudioTimeAxisView::set_route (boost::shared_ptr<Route> rt) ignore_toggle = false; mute_button->unset_active_state (); - solo_button->set_active (false); + solo_button->unset_active_state (); if (is_audio_track()) { controls_ebox.set_name ("AudioTrackControlsBaseUnselected"); diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index 940030bc4d..41f1d4bcf5 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -131,9 +131,9 @@ EditorRoutes::EditorRoutes (Editor* e) // Solo enable toggle CellRendererPixbufMulti* solo_col_renderer = manage (new CellRendererPixbufMulti()); - solo_col_renderer->set_pixbuf (0, ::get_icon("solo-disabled")); - solo_col_renderer->set_pixbuf (1, ::get_icon("solo-enabled")); - solo_col_renderer->set_pixbuf (3, ::get_icon("soloed-by-others")); + solo_col_renderer->set_pixbuf (ActiveState(0), ::get_icon("solo-disabled")); + solo_col_renderer->set_pixbuf (Active, ::get_icon("solo-enabled")); + solo_col_renderer->set_pixbuf (Mid, ::get_icon("soloed-by-others")); solo_col_renderer->signal_changed().connect (sigc::mem_fun (*this, &EditorRoutes::on_tv_solo_enable_toggled)); TreeViewColumn* solo_state_column = manage (new TreeViewColumn("S", *solo_col_renderer)); @@ -600,7 +600,7 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes) } row[_columns.mute_state] = (*x)->route()->muted() ? Active : ActiveState (0); - row[_columns.solo_state] = RouteUI::solo_visual_state ((*x)->route()); + row[_columns.solo_state] = RouteUI::solo_active_state ((*x)->route()); row[_columns.solo_isolate_state] = (*x)->route()->solo_isolated(); row[_columns.solo_safe_state] = (*x)->route()->solo_safe(); row[_columns.name_editable] = true; @@ -1396,7 +1396,7 @@ EditorRoutes::update_solo_display (bool /* selfsoloed */) for (i = rows.begin(); i != rows.end(); ++i) { boost::shared_ptr<Route> route = (*i)[_columns.route]; - (*i)[_columns.solo_state] = RouteUI::solo_visual_state (route); + (*i)[_columns.solo_state] = RouteUI::solo_active_state (route); } } @@ -1408,7 +1408,7 @@ EditorRoutes::update_solo_isolate_display () for (i = rows.begin(); i != rows.end(); ++i) { boost::shared_ptr<Route> route = (*i)[_columns.route]; - (*i)[_columns.solo_isolate_state] = RouteUI::solo_isolate_visual_state (route) > 0 ? 1 : 0; + (*i)[_columns.solo_isolate_state] = RouteUI::solo_isolate_active_state (route) ? 1 : 0; } } @@ -1420,7 +1420,7 @@ EditorRoutes::update_solo_safe_display () for (i = rows.begin(); i != rows.end(); ++i) { boost::shared_ptr<Route> route = (*i)[_columns.route]; - (*i)[_columns.solo_safe_state] = RouteUI::solo_safe_visual_state (route) > 0 ? 1 : 0; + (*i)[_columns.solo_safe_state] = RouteUI::solo_safe_active_state (route) ? 1 : 0; } } diff --git a/gtk2_ardour/editor_routes.h b/gtk2_ardour/editor_routes.h index 48b944acd7..5fdbc3a9c1 100644 --- a/gtk2_ardour/editor_routes.h +++ b/gtk2_ardour/editor_routes.h @@ -124,7 +124,7 @@ private: Gtk::TreeModelColumn<std::string> text; Gtk::TreeModelColumn<bool> visible; Gtk::TreeModelColumn<uint32_t> rec_state; - Gtk::TreeModelColumn<Gtkmm2ext::ActiveState> mute_state; + Gtk::TreeModelColumn<uint32_t> mute_state; Gtk::TreeModelColumn<uint32_t> solo_state; Gtk::TreeModelColumn<uint32_t> solo_isolate_state; Gtk::TreeModelColumn<uint32_t> solo_safe_state; diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index d518f285ee..5955dd22dc 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -137,7 +137,7 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt) ignore_toggle = false; mute_button->unset_active_state (); - solo_button->set_active (false); + solo_button->unset_active_state (); if (is_midi_track()) { controls_ebox.set_name ("MidiTimeAxisViewControlsBaseUnselected"); diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 6d5a270620..3b59b247dc 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -187,9 +187,6 @@ MixerStrip::init () hide_button.set_events (hide_button.get_events() & ~(Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK)); - // mute_button->set_name ("MixerMuteButton"); - solo_button->set_name ("MixerSoloButton"); - monitor_input_button->set_diameter (3); monitor_disk_button->set_diameter (3); @@ -1792,25 +1789,22 @@ MixerStrip::set_button_names () monitor_disk_button->set_text (_("Disk")); if (_route && _route->solo_safe()) { - solo_button->remove (); - if (solo_safe_image == 0) { - solo_safe_image = new Gtk::Image (::get_icon("solo-safe-enabled")); - solo_safe_image->show (); + if (solo_safe_pixbuf == 0) { + solo_safe_pixbuf = ::get_icon("solo-safe-icon"); } - solo_button->add (*solo_safe_image); + solo_button->set_image (solo_safe_pixbuf); + solo_button->set_text (string()); } else { - solo_button->remove (); - solo_button->add (solo_button_label); - solo_button_label.show (); + solo_button->set_image (Glib::RefPtr<Gdk::Pixbuf>()); if (!Config->get_solo_control_is_listen_control()) { - solo_button_label.set_text (_("Solo")); + solo_button->set_text (_("Solo")); } else { switch (Config->get_listen_position()) { case AfterFaderListen: - solo_button_label.set_text (_("AFL")); + solo_button->set_text (_("AFL")); break; case PreFaderListen: - solo_button_label.set_text (_("PFL")); + solo_button->set_text (_("PFL")); break; } } @@ -1824,24 +1818,22 @@ MixerStrip::set_button_names () monitor_disk_button->set_text (_("D")); if (_route && _route->solo_safe()) { solo_button->remove (); - if (solo_safe_image == 0) { - solo_safe_image = new Gtk::Image (::get_icon("solo-safe-enabled")); - solo_safe_image->show (); + if (solo_safe_pixbuf == 0) { + solo_safe_pixbuf =::get_icon("solo-safe-icon"); } - solo_button->add (*solo_safe_image); + solo_button->set_image (solo_safe_pixbuf); + solo_button->set_text (string()); } else { - solo_button->remove (); - solo_button->add (solo_button_label); - solo_button_label.show (); + solo_button->set_image (Glib::RefPtr<Gdk::Pixbuf>()); if (!Config->get_solo_control_is_listen_control()) { - solo_button_label.set_text (_("S")); + solo_button->set_text (_("S")); } else { switch (Config->get_listen_position()) { case AfterFaderListen: - solo_button_label.set_text (_("A")); + solo_button->set_text (_("A")); break; case PreFaderListen: - solo_button_label.set_text (_("P")); + solo_button->set_text (_("P")); break; } } diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 11c0893a62..f6a6a9c123 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -2352,26 +2352,23 @@ RouteTimeAxisView::set_button_names () if (_route && _route->solo_safe()) { solo_button->remove (); - if (solo_safe_image == 0) { - solo_safe_image = new Gtk::Image (::get_icon("solo-safe-enabled")); - solo_safe_image->show (); + if (solo_safe_pixbuf == 0) { + solo_safe_pixbuf = ::get_icon("solo-safe-icon"); } - solo_button->add (*solo_safe_image); + solo_button->set_image (solo_safe_pixbuf); + solo_button->set_text (string()); } else { - solo_button->remove (); - solo_button->add (solo_button_label); - solo_button_label.show (); if (Config->get_solo_control_is_listen_control()) { switch (Config->get_listen_position()) { case AfterFaderListen: - solo_button_label.set_text (_("A")); + solo_button->set_text (_("A")); break; case PreFaderListen: - solo_button_label.set_text (_("P")); + solo_button->set_text (_("P")); break; } } else { - solo_button_label.set_text (_("s")); + solo_button->set_text (_("s")); } } mute_button->set_text (_("m")); diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 8038892d4e..c12658d973 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -81,7 +81,6 @@ RouteUI::~RouteUI() delete sends_menu; delete record_menu; delete _invert_menu; - delete solo_safe_image; } void @@ -108,20 +107,15 @@ RouteUI::init () multiple_mute_change = false; multiple_solo_change = false; _i_am_the_modifier = 0; - solo_safe_image = 0; setup_invert_buttons (); mute_button = manage (new ArdourButton); - // mute_button->set_self_managed (true); mute_button->set_name ("mute button"); UI::instance()->set_tip (mute_button, _("Mute this track"), ""); - solo_button = manage (new BindableToggleButton); - // solo_button->set_self_managed (true); + solo_button = manage (new ArdourButton); solo_button->set_name ("solo button"); - solo_button->add (solo_button_label); - solo_button_label.show (); UI::instance()->set_tip (solo_button, _("Mute other (non-soloed) tracks"), ""); solo_button->set_no_show_all (true); @@ -133,7 +127,6 @@ RouteUI::init () show_sends_button = manage (new ArdourButton); show_sends_button->set_name ("send alert button"); - // show_sends_button->set_self_managed (true); UI::instance()->set_tip (show_sends_button, _("make mixer strips show sends to this bus"), ""); monitor_input_button = manage (new ArdourButton (ArdourButton::led_default_elements)); @@ -935,89 +928,59 @@ RouteUI::send_blink (bool onoff) } } -int -RouteUI::solo_visual_state (boost::shared_ptr<Route> r) +Gtkmm2ext::ActiveState +RouteUI::solo_active_state (boost::shared_ptr<Route> r) { if (r->is_master() || r->is_monitor()) { - return 0; + return ActiveState (0); } if (Config->get_solo_control_is_listen_control()) { if (r->listening_via_monitor()) { - return 1; + return Active; } else { - return 0; + return ActiveState (0); } } if (r->soloed()) { if (!r->self_soloed()) { - return 3; + return Mid; } else { - return 1; + return Active; } } else { - return 0; - } -} - -int -RouteUI::solo_visual_state_with_isolate (boost::shared_ptr<Route> r) -{ - if (r->is_master() || r->is_monitor()) { - return 0; - } - - if (Config->get_solo_control_is_listen_control()) { - - if (r->listening_via_monitor()) { - return 1; - } else { - return 0; - } - - } - - if (r->solo_isolated()) { - return 2; - } else if (r->soloed()) { - if (!r->self_soloed()) { - return 3; - } else { - return 1; - } - } else { - return 0; + return ActiveState(0); } } -int -RouteUI::solo_isolate_visual_state (boost::shared_ptr<Route> r) +Gtkmm2ext::ActiveState +RouteUI::solo_isolate_active_state (boost::shared_ptr<Route> r) { if (r->is_master() || r->is_monitor()) { - return 0; + return ActiveState (0); } if (r->solo_isolated()) { - return 1; + return Active; } else { - return 0; + return ActiveState(0); } } -int -RouteUI::solo_safe_visual_state (boost::shared_ptr<Route> r) +Gtkmm2ext::ActiveState +RouteUI::solo_safe_active_state (boost::shared_ptr<Route> r) { if (r->is_master() || r->is_monitor()) { - return 0; + return ActiveState (0); } if (r->solo_safe()) { - return 1; + return Active; } else { - return 0; + return ActiveState (0); } } @@ -1028,17 +991,21 @@ RouteUI::update_solo_display () if (Config->get_solo_control_is_listen_control()) { - if (solo_button->get_active() != (x = _route->listening_via_monitor())) { + if ((solo_button->active_state() == Active)!= (x = _route->listening_via_monitor())) { ++_i_am_the_modifier; - solo_button->set_active(x); + solo_button->set_active_state (Active); --_i_am_the_modifier; } } else { - if (solo_button->get_active() != (x = _route->soloed())) { + if ((solo_button->active_state() == Active) != (x = _route->soloed())) { ++_i_am_the_modifier; - solo_button->set_active (x); + if (x) { + solo_button->set_active_state (Active); + } else { + solo_button->unset_active_state(); + } --_i_am_the_modifier; } @@ -1074,7 +1041,7 @@ RouteUI::update_solo_display () } } - solo_button->set_visual_state (solo_visual_state (_route)); + solo_button->set_active_state (solo_active_state (_route)); /* some changes to solo status can affect mute display, so catch up */ diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 6601bb7d5d..a14437b0bf 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -93,18 +93,17 @@ class RouteUI : public virtual AxisView Gtk::HBox _invert_button_box; ArdourButton* mute_button; - BindableToggleButton* solo_button; + ArdourButton* solo_button; BindableToggleButton* rec_enable_button; /* audio tracks */ ArdourButton* show_sends_button; /* busses */ ArdourButton* monitor_input_button; ArdourButton* monitor_disk_button; - Gtk::Image* solo_safe_image; + Glib::RefPtr<Gdk::Pixbuf> solo_safe_pixbuf; ArdourButton* solo_safe_led; ArdourButton* solo_isolated_led; - Gtk::Label solo_button_label; Gtk::Label rec_enable_button_label; Gtk::Label monitor_input_button_label; Gtk::Label monitor_disk_button_label; @@ -219,10 +218,9 @@ class RouteUI : public virtual AxisView void save_as_template (); void open_remote_control_id_dialog (); - static int solo_visual_state (boost::shared_ptr<ARDOUR::Route>); - static int solo_visual_state_with_isolate (boost::shared_ptr<ARDOUR::Route>); - static int solo_isolate_visual_state (boost::shared_ptr<ARDOUR::Route>); - static int solo_safe_visual_state (boost::shared_ptr<ARDOUR::Route>); + static Gtkmm2ext::ActiveState solo_active_state (boost::shared_ptr<ARDOUR::Route>); + static Gtkmm2ext::ActiveState solo_isolate_active_state (boost::shared_ptr<ARDOUR::Route>); + static Gtkmm2ext::ActiveState solo_safe_active_state (boost::shared_ptr<ARDOUR::Route>); static Gtkmm2ext::ActiveState mute_active_state (ARDOUR::Session*, boost::shared_ptr<ARDOUR::Route>); protected: diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc index 8884cfa2a4..17ba896f1f 100644 --- a/gtk2_ardour/ui_config.cc +++ b/gtk2_ardour/ui_config.cc @@ -292,7 +292,7 @@ UIConfiguration::color_by_name (const std::string& name) return i->second->get(); } - cerr << string_compose (_("Color %1 not found"), name) << endl; + // cerr << string_compose (_("Color %1 not found"), name) << endl; return RGBA_TO_UINT (random()%256,random()%256,random()%256,0xff); } |