diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-22 13:39:41 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-22 13:39:46 -0500 |
commit | 64fa63212f7e79bab16147817211a33a3f7c8fba (patch) | |
tree | 54721a2dbd50611e7e5047e818ddfab2b67309dc /gtk2_ardour | |
parent | 795c5c16f17867bb55b724abfe99bc9200184305 (diff) |
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
Diffstat (limited to 'gtk2_ardour')
48 files changed, 316 insertions, 215 deletions
diff --git a/gtk2_ardour/actions.cc b/gtk2_ardour/actions.cc index f208c6c8d3..43d2eb83c9 100644 --- a/gtk2_ardour/actions.cc +++ b/gtk2_ardour/actions.cc @@ -36,6 +36,7 @@ #include "gtkmm2ext/actions.h" +#include "ardour_ui.h" #include "actions.h" #include "i18n.h" @@ -122,6 +123,31 @@ ActionManager::toggle_config_state (const char* group, const char* action, bool } } +/** Examine the state of a Configuration setting and a toggle action, and toggle the Configuration + * setting if its state doesn't match the toggle action. + * @param group Action group. + * @param action Action name. + * @param Method to set the state of the Configuration setting. + * @param Method to get the state of the Configuration setting. + */ +void +ActionManager::toggle_config_state (const char* group, const char* action, bool (UIConfiguration::*set)(bool), bool (UIConfiguration::*get)(void) const) +{ + Glib::RefPtr<Action> act = ActionManager::get_action (group, action); + + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); + + if (tact) { + bool x = (ARDOUR_UI::config()->*get)(); + + if (x != tact->get_active()) { + (ARDOUR_UI::config()->*set) (!x); + } + } + } +} + void ActionManager::toggle_config_state_foo (const char* group, const char* action, sigc::slot<bool, bool> set, sigc::slot<bool> get) { @@ -164,6 +190,29 @@ ActionManager::map_some_state (const char* group, const char* action, bool (RCCo } } +/** Set the state of a ToggleAction using a particular Configuration get() method + * @param group Action group. + * @param action Action name. + * @param get Method to obtain the state that the ToggleAction should have. + */ +void +ActionManager::map_some_state (const char* group, const char* action, bool (UIConfiguration::*get)() const) +{ + Glib::RefPtr<Action> act = ActionManager::get_action (group, action); + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); + + if (tact) { + + bool x = (ARDOUR_UI::config()->*get)(); + + if (tact->get_active() != x) { + tact->set_active (x); + } + } + } +} + void ActionManager::map_some_state (const char* group, const char* action, sigc::slot<bool> get) { diff --git a/gtk2_ardour/actions.h b/gtk2_ardour/actions.h index 50f9c20b82..6900e8392a 100644 --- a/gtk2_ardour/actions.h +++ b/gtk2_ardour/actions.h @@ -25,6 +25,8 @@ #include "gtkmm2ext/actions.h" #include "ardour/rc_configuration.h" +#include "ui_config.h" + namespace ActionManager { /* Ardour specific */ @@ -51,7 +53,9 @@ namespace ActionManager { extern std::vector<Glib::RefPtr<Gtk::Action> > edit_point_in_region_sensitive_actions; extern void map_some_state (const char* group, const char* action, bool (ARDOUR::RCConfiguration::*get)() const); + extern void map_some_state (const char* group, const char* action, bool (UIConfiguration::*get)() const); extern void map_some_state (const char* group, const char* action, sigc::slot<bool>); + extern void toggle_config_state (const char* group, const char* action, bool (UIConfiguration::*set)(bool), bool (UIConfiguration::*get)(void) const); extern void toggle_config_state (const char* group, const char* action, bool (ARDOUR::RCConfiguration::*set)(bool), bool (ARDOUR::RCConfiguration::*get)(void) const); extern void toggle_config_state_foo (const char* group, const char* action, sigc::slot<bool, bool>, sigc::slot<bool>); } diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc index 77cac188a2..2084c3fd4d 100644 --- a/gtk2_ardour/ardour_button.cc +++ b/gtk2_ardour/ardour_button.cc @@ -520,7 +520,7 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *) } // if requested, show hovering - if (ARDOUR::Config->get_widget_prelight() + if (ARDOUR_UI::config()->get_widget_prelight() && !((visual_state() & Gtkmm2ext::Insensitive))) { if (_hovering) { rounded_function (cr, 1, 1, get_width() - 2, get_height() - 2, _corner_radius); @@ -587,7 +587,7 @@ ArdourButton::on_size_request (Gtk::Requisition* req) CairoWidget::on_size_request (req); if (_diameter == 0) { - const float newdia = rint (ARDOUR::Config->get_font_scale () / 1024. / 7.5); // 11px with 80% font-scaling + const float newdia = rint (ARDOUR_UI::config()->get_font_scale () / 1024. / 7.5); // 11px with 80% font-scaling if (_diameter != newdia) { _pattern_height = 0; _diameter = newdia; @@ -1044,7 +1044,7 @@ ArdourButton::on_enter_notify_event (GdkEventCrossing* ev) { _hovering = (_elements & Inactive) ? false : true; - if (ARDOUR::Config->get_widget_prelight()) { + if (ARDOUR_UI::config()->get_widget_prelight()) { CairoWidget::set_dirty (); } @@ -1056,7 +1056,7 @@ ArdourButton::on_leave_notify_event (GdkEventCrossing* ev) { _hovering = false; - if (ARDOUR::Config->get_widget_prelight()) { + if (ARDOUR_UI::config()->get_widget_prelight()) { CairoWidget::set_dirty (); } diff --git a/gtk2_ardour/ardour_knob.cc b/gtk2_ardour/ardour_knob.cc index c0dc03fe2b..1cad9f4f55 100644 --- a/gtk2_ardour/ardour_knob.cc +++ b/gtk2_ardour/ardour_knob.cc @@ -239,7 +239,7 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) cairo_stroke (cr); //highlight if grabbed or if mouse is hovering over me - if ( _grabbed || (_hovering && ARDOUR::Config->get_widget_prelight() ) ) { + if ( _grabbed || (_hovering && ARDOUR_UI::config()->get_widget_prelight() ) ) { cairo_set_source_rgba (cr, 1,1,1, 0.12 ); cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); cairo_fill (cr); diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 3bfb204df4..9b6fc176a0 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -561,6 +561,8 @@ ARDOUR_UI::post_engine () Config->ParameterChanged.connect (forever_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context()); boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1)); Config->map_parameters (pc); + + ui_config->map_parameters (pc); } } @@ -1146,10 +1148,10 @@ ARDOUR_UI::every_point_zero_something_seconds () // august 2007: actual update frequency: 25Hz (40ms), not 100Hz SuperRapidScreenUpdate(); /* EMIT_SIGNAL */ - if (editor_meter && Config->get_show_editor_meter()) { + if (editor_meter && ARDOUR_UI::config()->get_show_editor_meter()) { float mpeak = editor_meter->update_meters(); if (mpeak > editor_meter_max_peak) { - if (mpeak >= Config->get_meter_peak()) { + if (mpeak >= ARDOUR_UI::config()->get_meter_peak()) { editor_meter_peak_display.set_active_state ( Gtkmm2ext::ExplicitActive ); } } @@ -2067,7 +2069,7 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode) if (rolling) { _session->request_stop (with_abort, true); } else { - if ( Config->get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits + if (ARDOUR_UI::config()->get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits _session->request_play_range (&editor->get_selection().time, true); _session->set_requested_return_frame( editor->get_selection().time.front().start ); //force an auto-return here } @@ -2244,7 +2246,7 @@ ARDOUR_UI::map_transport_state () auto_loop_button.set_active (false); } - if (Config->get_follow_edits()) { + if (ARDOUR_UI::config()->get_follow_edits()) { /* light up both roll and play-selection if they are joined */ roll_button.set_active (true); play_selection_button.set_active (true); @@ -2277,7 +2279,7 @@ ARDOUR_UI::update_clocks () void ARDOUR_UI::start_clocking () { - if (Config->get_super_rapid_clock_update()) { + if (ui_config->get_super_rapid_clock_update()) { clock_signal_connection = FPSUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks)); } else { clock_signal_connection = RapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks)); @@ -4014,7 +4016,7 @@ ARDOUR_UI::plugin_scan_dialog (std::string type, std::string plugin, bool can_ca } const bool cancelled = PluginManager::instance().cancelled(); - if (type != X_("closeme") && !Config->get_show_plugin_scan_window()) { + if (type != X_("closeme") && !ui_config->get_show_plugin_scan_window()) { if (cancelled && scan_dlg->is_mapped()) { scan_dlg->hide(); gui_idle_handler(); @@ -4245,13 +4247,13 @@ ARDOUR_UI::use_config () void ARDOUR_UI::update_transport_clocks (framepos_t pos) { - if (Config->get_primary_clock_delta_edit_cursor()) { + if (ui_config->get_primary_clock_delta_edit_cursor()) { primary_clock->set (pos, false, editor->get_preferred_edit_position()); } else { primary_clock->set (pos); } - if (Config->get_secondary_clock_delta_edit_cursor()) { + if (ui_config->get_secondary_clock_delta_edit_cursor()) { secondary_clock->set (pos, false, editor->get_preferred_edit_position()); } else { secondary_clock->set (pos); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 4f112e9383..9c13427953 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -687,7 +687,7 @@ ARDOUR_UI::toggle_follow_edits () RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic (act); assert (tact); - Config->set_follow_edits (tact->get_active ()); + ui_config->set_follow_edits (tact->get_active ()); } diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 979e2f487c..7c88400979 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -234,7 +234,7 @@ ARDOUR_UI::set_session (Session *s) editor_meter_max_peak = -INFINITY; editor_meter_peak_display.signal_button_release_event().connect (sigc::mem_fun(*this, &ARDOUR_UI::editor_meter_peak_button_release), false); - if (Config->get_show_editor_meter() && !ARDOUR::Profile->get_trx()) { + if (ARDOUR_UI::config()->get_show_editor_meter() && !ARDOUR::Profile->get_trx()) { transport_tearoff_hbox.pack_start (meter_box, false, false); transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false); meter_box.show(); diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index f0ec519775..c9200681eb 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -48,7 +48,7 @@ using namespace PBD; void ARDOUR_UI::toggle_keep_tearoffs () { - ActionManager::toggle_config_state ("Common", "KeepTearoffs", &RCConfiguration::set_keep_tearoffs, &RCConfiguration::get_keep_tearoffs); + ActionManager::toggle_config_state ("Common", "KeepTearoffs", &UIConfiguration::set_keep_tearoffs, &UIConfiguration::get_keep_tearoffs); ARDOUR_UI::update_tearoff_visibility(); } @@ -328,7 +328,7 @@ ARDOUR_UI::parameter_changed (std::string p) } else if (p == "follow-edits") { - ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &RCConfiguration::get_follow_edits); + ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &UIConfiguration::get_follow_edits); } else if (p == "send-mtc") { @@ -339,7 +339,7 @@ ARDOUR_UI::parameter_changed (std::string p) ActionManager::map_some_state ("options", "SendMMC", &RCConfiguration::get_send_mmc); } else if (p == "keep-tearoffs") { - ActionManager::map_some_state ("Common", "KeepTearoffs", &RCConfiguration::get_keep_tearoffs); + ActionManager::map_some_state ("Common", "KeepTearoffs", &UIConfiguration::get_keep_tearoffs); } else if (p == "mmc-control") { ActionManager::map_some_state ("options", "UseMMC", &RCConfiguration::get_mmc_control); } else if (p == "midi-feedback") { @@ -370,9 +370,9 @@ ARDOUR_UI::parameter_changed (std::string p) set_fps_timeout_connection (); } else if (p == "show-track-meters") { - editor->toggle_meter_updating(); + if (editor) editor->toggle_meter_updating(); } else if (p == "primary-clock-delta-edit-cursor") { - if (Config->get_primary_clock_delta_edit_cursor()) { + if (ARDOUR_UI::config()->get_primary_clock_delta_edit_cursor()) { primary_clock->set_is_duration (true); primary_clock->set_editable (false); primary_clock->set_widget_name ("transport delta"); @@ -382,7 +382,7 @@ ARDOUR_UI::parameter_changed (std::string p) primary_clock->set_widget_name ("transport"); } } else if (p == "secondary-clock-delta-edit-cursor") { - if (Config->get_secondary_clock_delta_edit_cursor()) { + if (ARDOUR_UI::config()->get_secondary_clock_delta_edit_cursor()) { secondary_clock->set_is_duration (true); secondary_clock->set_editable (false); secondary_clock->set_widget_name ("secondary delta"); @@ -399,7 +399,7 @@ ARDOUR_UI::parameter_changed (std::string p) } else if (p == "waveform-gradient-depth") { ArdourCanvas::WaveView::set_global_gradient_depth (config()->get_waveform_gradient_depth()); } else if (p == "show-editor-meter") { - bool show = Config->get_show_editor_meter(); + bool show = ARDOUR_UI::config()->get_show_editor_meter(); if (editor_meter) { if (meter_box.get_parent()) { @@ -415,9 +415,9 @@ ARDOUR_UI::parameter_changed (std::string p) } } } else if (p == "waveform-scale") { - ArdourCanvas::WaveView::set_global_logscaled (Config->get_waveform_scale() == Logarithmic); + ArdourCanvas::WaveView::set_global_logscaled (ARDOUR_UI::config()->get_waveform_scale() == Logarithmic); } else if (p == "waveform-shape") { - ArdourCanvas::WaveView::set_global_shape (Config->get_waveform_shape() == Rectified + ArdourCanvas::WaveView::set_global_shape (ARDOUR_UI::config()->get_waveform_shape() == Rectified ? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal); } else if (p == "show-waveform-clipping") { ArdourCanvas::WaveView::set_global_show_waveform_clipping (ARDOUR_UI::config()->get_show_waveform_clipping()); diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc index 6b325aca85..605d0cb5be 100644 --- a/gtk2_ardour/ardour_window.cc +++ b/gtk2_ardour/ardour_window.cc @@ -103,7 +103,7 @@ ArdourWindow::init () vice versa. */ - if (ARDOUR_UI::instance()->config()->get_all_floating_windows_are_dialogs()) { + if (ARDOUR_UI::config()->get_all_floating_windows_are_dialogs()) { set_type_hint (Gdk::WINDOW_TYPE_HINT_DIALOG); } else { set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index b6c2040792..7d6dd3cfcd 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -153,25 +153,18 @@ AudioClock::on_realize () first_width = req.width; first_height = req.height; - set_font (); + // XXX FIX ME: define font based on ... ??? + // set_font (); set_colors (); } void -AudioClock::set_font () +AudioClock::set_font (Pango::FontDescription font) { Glib::RefPtr<Gtk::Style> style = get_style (); - Pango::FontDescription font; Pango::AttrFontDesc* font_attr; - if (!is_realized()) { - font = get_font_for_style (get_name()); - } else { - font = style->get_font(); - } - font_size = font.get_size(); - font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font)); normal_attributes.change (*font_attr); @@ -2198,7 +2191,8 @@ AudioClock::on_style_changed (const Glib::RefPtr<Gtk::Style>& old_style) Gtk::Requisition req; set_clock_dimensions (req); - set_font (); + /* XXXX fix me ... we shouldn't be using GTK styles anyway */ + // set_font (); set_colors (); } diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h index bd25a9afda..259e330000 100644 --- a/gtk2_ardour/audio_clock.h +++ b/gtk2_ardour/audio_clock.h @@ -221,7 +221,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr ARDOUR::framecnt_t parse_as_bbt_distance (const std::string&); ARDOUR::framecnt_t parse_as_frames_distance (const std::string&); - void set_font (); + void set_font (Pango::FontDescription); void set_colors (); void show_edit_status (int length); int merge_input_and_edit_string (); diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index 70bcca0dcd..72b06a2391 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -671,7 +671,7 @@ AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar, effective_height = _height - 1.0; - if (Config->get_show_name_highlight() && effective_height >= NAME_HIGHLIGHT_THRESH) { + if (ARDOUR_UI::config()->get_show_name_highlight() && effective_height >= NAME_HIGHLIGHT_THRESH) { effective_height -= NAME_HIGHLIGHT_SIZE; } @@ -959,7 +959,7 @@ AudioRegionView::set_samples_per_pixel (gdouble fpp) { RegionView::set_samples_per_pixel (fpp); - if (Config->get_show_waveforms ()) { + if (ARDOUR_UI::config()->get_show_waveforms ()) { for (uint32_t n = 0; n < waves.size(); ++n) { waves[n]->set_samples_per_pixel (fpp); } @@ -1013,7 +1013,7 @@ AudioRegionView::set_colors () void AudioRegionView::setup_waveform_visibility () { - if (Config->get_show_waveforms ()) { + if (ARDOUR_UI::config()->get_show_waveforms ()) { for (uint32_t n = 0; n < waves.size(); ++n) { /* make sure the zoom level is correct, since we don't update this when waveforms are hidden. @@ -1050,7 +1050,7 @@ AudioRegionView::update_envelope_visibility () return; } - if (Config->get_show_region_gain() || trackview.editor().current_mouse_mode() == Editing::MouseDraw || trackview.editor().current_mouse_mode() == Editing::MouseRange ) { + if (ARDOUR_UI::config()->get_show_region_gain() || trackview.editor().current_mouse_mode() == Editing::MouseDraw || trackview.editor().current_mouse_mode() == Editing::MouseRange ) { gain_line->set_visibility (AutomationLine::VisibleAspects(AutomationLine::ControlPoints|AutomationLine::Line)); } else { gain_line->set_visibility (AutomationLine::VisibleAspects(0)); @@ -1139,11 +1139,11 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/) wave->set_height (ht); wave->set_samples_per_pixel (samples_per_pixel); wave->set_show_zero_line (true); - wave->set_clip_level (Config->get_waveform_clip_level ()); + wave->set_clip_level (ARDOUR_UI::config()->get_waveform_clip_level ()); wave->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_wave_view_event), wave, this)); - switch (Config->get_waveform_shape()) { + switch (ARDOUR_UI::config()->get_waveform_shape()) { case Rectified: wave->set_shape (WaveView::Rectified); break; @@ -1151,13 +1151,13 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/) wave->set_shape (WaveView::Normal); } - wave->set_logscaled (Config->get_waveform_scale() == Logarithmic); + wave->set_logscaled (ARDOUR_UI::config()->get_waveform_scale() == Logarithmic); vector<ArdourCanvas::WaveView*> v; v.push_back (wave); set_some_waveform_colors (v); - if (!Config->get_show_waveforms ()) { + if (!ARDOUR_UI::config()->get_show_waveforms ()) { wave->hide(); } diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index a083c2a196..7951848c59 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -186,7 +186,7 @@ AudioStreamView::setup_rec_box () if (!rec_active && _trackview.session()->record_status() == Session::Recording && _trackview.track()->record_enabled()) { - if (_trackview.audio_track()->mode() == Normal && Config->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { + if (_trackview.audio_track()->mode() == Normal && ARDOUR_UI::config()->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { /* add a new region, but don't bother if they set show-waveforms-while-recording mid-record */ @@ -314,7 +314,7 @@ AudioStreamView::rec_peak_range_ready (framepos_t start, framecnt_t cnt, boost:: void AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt) { - if (!Config->get_show_waveforms_while_recording ()) { + if (!ARDOUR_UI::config()->get_show_waveforms_while_recording ()) { return; } diff --git a/gtk2_ardour/clearlooks.rc.in b/gtk2_ardour/clearlooks.rc.in index 98af2e55e4..68f3cc64b5 100644 --- a/gtk2_ardour/clearlooks.rc.in +++ b/gtk2_ardour/clearlooks.rc.in @@ -1187,8 +1187,8 @@ widget "*meterbridge label" style:highest "meterbridge_label" widget "*ContrastingPopup" style:highest "contrasting_popup" widget "*ContrastingPopup*" style:highest "contrasting_popup" widget "*MidiChannelSelectorButton" style:highest "midi_channel_selector_button" -widget "*TimeInfoSelectionTitle" style:highest "very_small_text" -widget "*TimeInfoSelectionLabel" style:highest "very_small_text" +widget "*TimeInfoSelectionTitle" style:highest "small_text" +widget "*TimeInfoSelectionLabel" style:highest "small_text" widget "*TimeInfoBox" style:highest "time_info_box" widget "*tracknumber label" style:highest "tracknumber_label" widget "*StatusBarBox" style:highest "status_bar_box" diff --git a/gtk2_ardour/default_ui_config.in b/gtk2_ardour/default_ui_config.in index bd8cf934c7..f502e5bf06 100644 --- a/gtk2_ardour/default_ui_config.in +++ b/gtk2_ardour/default_ui_config.in @@ -13,6 +13,9 @@ <Option name="show-waveform-clipping" value="1"/> <Option name="lock-gui-after-seconds" value="0"/> <Option name="draggable-playhead" value="1"/> + <Option name="no-new-session-dialog" value="1"/> + <Option name="show-track-meters" value="1"/> + <Option name="default-narrow_ms" value="0"/> </UI> <Canvas> <Option name="small font" value="@FONT_SMALL@"/> diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index cdc77dcc85..c8a50a1e25 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -4106,7 +4106,7 @@ Editor::session_state_saved (string) void Editor::update_tearoff_visibility() { - bool visible = Config->get_keep_tearoffs(); + bool visible = ARDOUR_UI::config()->get_keep_tearoffs(); _mouse_mode_tearoff->set_visible (visible); _tools_tearoff->set_visible (visible); if (_zoom_tearoff) { diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index 7c3365f91b..a62dcee8a6 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -1616,10 +1616,10 @@ Editor::toggle_sound_midi_notes () Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("sound-midi-notes")); if (act) { - bool s = Config->get_sound_midi_notes(); + bool s = ARDOUR_UI::config()->get_sound_midi_notes(); Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); if (tact->get_active () != s) { - Config->set_sound_midi_notes (tact->get_active()); + ARDOUR_UI::config()->set_sound_midi_notes (tact->get_active()); } } } @@ -1699,13 +1699,13 @@ Editor::parameter_changed (std::string p) update_just_timecode (); } else if (p == "show-zoom-tools") { if (_zoom_tearoff) { - _zoom_tearoff->set_visible (Config->get_show_zoom_tools(), true); + _zoom_tearoff->set_visible (ARDOUR_UI::config()->get_show_zoom_tools(), true); } } else if (p == "sound-midi-notes") { Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("sound-midi-notes")); if (act) { - bool s = Config->get_sound_midi_notes(); + bool s = ARDOUR_UI::config()->get_sound_midi_notes(); Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); if (tact->get_active () != s) { tact->set_active (s); @@ -1721,7 +1721,7 @@ Editor::parameter_changed (std::string p) /* this doesn't really belong here but it has to go somewhere */ - if (Config->get_use_tooltips()) { + if (ARDOUR_UI::config()->get_use_tooltips()) { Gtkmm2ext::enable_tooltips (); } else { Gtkmm2ext::disable_tooltips (); diff --git a/gtk2_ardour/editor_audiotrack.cc b/gtk2_ardour/editor_audiotrack.cc index 0d8313cc21..54a944fda1 100644 --- a/gtk2_ardour/editor_audiotrack.cc +++ b/gtk2_ardour/editor_audiotrack.cc @@ -70,7 +70,7 @@ void Editor::toggle_meter_updating() { DisplaySuspender ds; - if (Config->get_show_track_meters()) { + if (ARDOUR_UI::config()->get_show_track_meters()) { start_updating_meters (); } else { stop_updating_meters (); diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index 2476cdaf0c..f24ecf7718 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -429,7 +429,7 @@ Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, doub do_import (midi_paths, Editing::ImportDistinctFiles, ImportAsTrack, SrcBest, frame); - if (Profile->get_sae() || Config->get_only_copy_imported_files() || copy) { + if (Profile->get_sae() || ARDOUR_UI::config()->get_only_copy_imported_files() || copy) { do_import (audio_paths, Editing::ImportDistinctFiles, Editing::ImportAsTrack, SrcBest, frame); } else { do_embed (audio_paths, Editing::ImportDistinctFiles, ImportAsTrack, frame); @@ -445,7 +445,7 @@ Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, doub do_import (midi_paths, Editing::ImportSerializeFiles, ImportToTrack, SrcBest, frame); - if (Profile->get_sae() || Config->get_only_copy_imported_files() || copy) { + if (Profile->get_sae() || ARDOUR_UI::config()->get_only_copy_imported_files() || copy) { do_import (audio_paths, Editing::ImportSerializeFiles, Editing::ImportToTrack, SrcBest, frame); } else { do_embed (audio_paths, Editing::ImportSerializeFiles, ImportToTrack, frame); @@ -501,7 +501,7 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context, void Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool from_headers) { - if (!Config->get_autoscroll_editor () || autoscroll_active ()) { + if (!ARDOUR_UI::config()->get_autoscroll_editor () || autoscroll_active ()) { return; } diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index bbe5a1a5b3..93c0abea35 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -35,6 +35,7 @@ #include "editor.h" #include "keyboard.h" #include "public_editor.h" +#include "ardour_ui.h" #include "audio_region_view.h" #include "audio_streamview.h" #include "audio_time_axis.h" @@ -1201,7 +1202,7 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context, * TODO: check if file is audio/midi, allow drops on same track-type only, * currently: if audio is dropped on a midi-track, it is only added to the region-list */ - if (Profile->get_sae() || Config->get_only_copy_imported_files()) { + if (Profile->get_sae() || ARDOUR_UI::config()->get_only_copy_imported_files()) { context->drag_status(Gdk::ACTION_COPY, time); } else { if ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY) { diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 2470580436..b86c265610 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3855,10 +3855,10 @@ RubberbandSelectDrag::motion (GdkEvent* event, bool) double y1; double y2; - framepos_t const pf = adjusted_current_frame (event, Config->get_rubberbanding_snaps_to_grid ()); + framepos_t const pf = adjusted_current_frame (event, ARDOUR_UI::config()->get_rubberbanding_snaps_to_grid ()); framepos_t grab = grab_frame (); - if (Config->get_rubberbanding_snaps_to_grid ()) { + if (ARDOUR_UI::config()->get_rubberbanding_snaps_to_grid ()) { _editor->snap_to_with_modifier (grab, event); } @@ -4391,7 +4391,7 @@ SelectionDrag::finished (GdkEvent* event, bool movement_occurred) if ( s->get_play_range() && s->transport_rolling() ) { s->request_play_range (&_editor->selection->time, true); } else { - if (Config->get_follow_edits() && !s->transport_rolling()) { + if (ARDOUR_UI::config()->get_follow_edits() && !s->transport_rolling()) { if (_operation == SelectionEndTrim) _editor->maybe_locate_with_edit_preroll( _editor->get_selection().time.end_frame()); else diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index 6251f77ee7..a2a8189683 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -283,7 +283,7 @@ Editor::track_mixer_selection () void Editor::follow_mixer_selection () { - if (!ARDOUR::Config->get_link_editor_and_mixer_selection() || _following_mixer_selection) { + if (!ARDOUR_UI::config()->get_link_editor_and_mixer_selection() || _following_mixer_selection) { return; } diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 038eea5747..a799bf85af 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1085,7 +1085,7 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp } //not rolling, range mode click + join_play_range : locate the PH here - if ( !_drags->active () && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && Config->get_follow_edits() ) { + if ( !_drags->active () && !_session->transport_rolling() && ( effective_mouse_mode() == MouseRange ) && ARDOUR_UI::config()->get_follow_edits() ) { framepos_t where = canvas_event_sample (event); snap_to(where); _session->request_locate (where, false); @@ -2331,7 +2331,7 @@ Editor::update_join_object_range_location (double y) entered_route_view->canvas_display()->canvas_to_item (cx, cy); double track_height = entered_route_view->view()->child_height(); - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { track_height -= TimeAxisViewItem::NAME_HIGHLIGHT_SIZE; } double const c = cy / track_height; diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 692ef93c7f..d9575cb6f9 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1905,7 +1905,7 @@ Editor::temporal_zoom_to_frame (bool coarser, framepos_t frame) bool Editor::choose_new_marker_name(string &name) { - if (!Config->get_name_new_markers()) { + if (!ARDOUR_UI::config()->get_name_new_markers()) { /* don't prompt user for a new name */ return true; } @@ -2348,7 +2348,7 @@ Editor::get_preroll () void Editor::maybe_locate_with_edit_preroll ( framepos_t location ) { - if ( _session->transport_rolling() || !Config->get_follow_edits() || _ignore_follow_edits ) + if ( _session->transport_rolling() || !ARDOUR_UI::config()->get_follow_edits() || _ignore_follow_edits ) return; location -= get_preroll(); @@ -5739,8 +5739,9 @@ Editor::set_playhead_cursor () } } - if ( Config->get_follow_edits() ) + if (ARDOUR_UI::config()->get_follow_edits()) { cancel_time_selection(); + } } void diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc index f406694e4d..235793c2ad 100644 --- a/gtk2_ardour/editor_regions.cc +++ b/gtk2_ardour/editor_regions.cc @@ -1237,7 +1237,7 @@ EditorRegions::drag_data_received (const RefPtr<Gdk::DragContext>& context, framepos_t pos = 0; bool copy = ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY); - if (Profile->get_sae() || Config->get_only_copy_imported_files() || copy) { + if (Profile->get_sae() || ARDOUR_UI::config()->get_only_copy_imported_files() || copy) { _editor->do_import (paths, Editing::ImportDistinctFiles, Editing::ImportAsRegion, SrcBest, pos); } else { _editor->do_embed (paths, Editing::ImportDistinctFiles, ImportAsRegion, pos); diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc index cc9f1a6783..080854c723 100644 --- a/gtk2_ardour/editor_summary.cc +++ b/gtk2_ardour/editor_summary.cc @@ -474,7 +474,7 @@ EditorSummary::on_button_press_event (GdkEventButton* ev) bool EditorSummary::suspending_editor_updates () const { - return (!Config->get_update_editor_during_summary_drag () && (_zoom_dragging || _move_dragging)); + return (!ARDOUR_UI::config()->get_update_editor_during_summary_drag () && (_zoom_dragging || _move_dragging)); } /** Fill in x and y with the editor's current viewable area in summary coordinates */ diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 6afa8e71a8..5fbdb16682 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -88,7 +88,7 @@ Editor::draw_metric_marks (const Metrics& metrics) metric_marks.push_back (new MeterMarker (*this, *meter_group, ARDOUR_UI::config()->color ("meter marker"), buf, *(const_cast<MeterSection*>(ms)))); } else if ((ts = dynamic_cast<const TempoSection*>(*i)) != 0) { - if (Config->get_allow_non_quarter_pulse()) { + if (ARDOUR_UI::config()->get_allow_non_quarter_pulse()) { snprintf (buf, sizeof (buf), "%.2f/%.0f", ts->beats_per_minute(), ts->note_type()); } else { snprintf (buf, sizeof (buf), "%.2f", ts->beats_per_minute()); diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 1dfd086b95..227d391fc9 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -898,7 +898,7 @@ GainMeterBase::update_meters() peak_display.set_text (buf); } } - if (mpeak >= Config->get_meter_peak()) { + if (mpeak >= ARDOUR_UI::config()->get_meter_peak()) { peak_display.set_name ("MixerStripPeakDisplayPeak"); } } diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index 13d0f6187d..ecfffa6ae9 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -107,12 +107,12 @@ static float meter_lineup_cfg(MeterLineUp lul, float offset) { } static float meter_lineup(float offset) { - return meter_lineup_cfg(Config->get_meter_line_up_level(), offset); + return meter_lineup_cfg (ARDOUR_UI::config()->get_meter_line_up_level(), offset); } static float vu_standard() { // note - default meter config is +2dB (france) - switch (Config->get_meter_vu_standard()) { + switch (ARDOUR_UI::config()->get_meter_vu_standard()) { default: case MeteringVUfrench: // 0VU = -2dBu return 0; @@ -142,7 +142,7 @@ LevelMeterBase::update_meters () const float mpeak = _meter->meter_level(n, MeterMaxPeak); if (mpeak > (*i).max_peak) { (*i).max_peak = mpeak; - (*i).meter->set_highlight(mpeak >= Config->get_meter_peak()); + (*i).meter->set_highlight(mpeak >= ARDOUR_UI::config()->get_meter_peak()); } if (mpeak > max_peak) { max_peak = mpeak; @@ -157,7 +157,7 @@ LevelMeterBase::update_meters () } else if (meter_type == MeterIEC1NOR) { (*i).meter->set (meter_deflect_nordic (peak + meter_lineup(0))); } else if (meter_type == MeterIEC1DIN) { - (*i).meter->set (meter_deflect_din (peak + meter_lineup_cfg(Config->get_meter_line_up_din(), 3.0))); + (*i).meter->set (meter_deflect_din (peak + meter_lineup_cfg(ARDOUR_UI::config()->get_meter_line_up_din(), 3.0))); } else if (meter_type == MeterIEC2BBC || meter_type == MeterIEC2EBU) { (*i).meter->set (meter_deflect_ppm (peak + meter_lineup(0))); } else if (meter_type == MeterVU) { @@ -187,7 +187,7 @@ LevelMeterBase::parameter_changed (string p) uint32_t n; for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) { - (*i).meter->set_hold_count ((uint32_t) floor(Config->get_meter_hold())); + (*i).meter->set_hold_count ((uint32_t) floor(ARDOUR_UI::config()->get_meter_hold())); } } else if (p == "meter-line-up-level") { @@ -272,7 +272,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) uint32_t c[10]; uint32_t b[4]; float stp[4]; - int styleflags = Config->get_meter_style_led() ? 3 : 1; + int styleflags = ARDOUR_UI::config()->get_meter_style_led() ? 3 : 1; b[0] = ARDOUR_UI::config()->color ("meter background bottom"); b[1] = ARDOUR_UI::config()->color ("meter background top"); b[2] = 0x991122ff; // red highlight gradient Bot @@ -380,7 +380,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) stp[1] = 77.5; // 115 * log_meter(-10) stp[2] = 92.5; // 115 * log_meter(-3) stp[3] = 100.0; // 115 * log_meter(0) - switch (Config->get_meter_line_up_level()) { + switch (ARDOUR_UI::config()->get_meter_line_up_level()) { case MeteringLineUp24: stp[0] = 42.0; break; @@ -401,7 +401,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) bool hl = meters[n].meter ? meters[n].meter->get_highlight() : false; meters[n].packed = false; delete meters[n].meter; - meters[n].meter = new FastMeter ((uint32_t) floor (Config->get_meter_hold()), width, _meter_orientation, len, + meters[n].meter = new FastMeter ((uint32_t) floor (ARDOUR_UI::config()->get_meter_hold()), width, _meter_orientation, len, c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9], b[0], b[1], b[2], b[3], diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc index 3c4a28097e..84529d167f 100644 --- a/gtk2_ardour/location_ui.cc +++ b/gtk2_ardour/location_ui.cc @@ -1015,7 +1015,7 @@ LocationUI::add_new_location() framepos_t where = _session->audible_frame(); _session->locations()->next_available_name(markername,"mark"); Location *location = new Location (*_session, where, where, markername, Location::IsMark); - if (Config->get_name_new_markers()) { + if (ARDOUR_UI::config()->get_name_new_markers()) { newest_location = location; } PublicEditor::instance().begin_reversible_command (_("add marker")); diff --git a/gtk2_ardour/main_clock.cc b/gtk2_ardour/main_clock.cc index 36b398ee44..80dece04aa 100644 --- a/gtk2_ardour/main_clock.cc +++ b/gtk2_ardour/main_clock.cc @@ -17,8 +17,9 @@ */ -#include "ardour/rc_configuration.h" +#include "ardour_ui.h" #include "main_clock.h" + #include "i18n.h" using namespace Gtk; @@ -51,13 +52,13 @@ MainClock::build_ops_menu () ops_items.push_back (CheckMenuElem (_("Display delta to edit cursor"), sigc::mem_fun (*this, &MainClock::display_delta_to_edit_cursor))); Gtk::CheckMenuItem* c = dynamic_cast<Gtk::CheckMenuItem *> (&ops_items.back()); if (_primary) { - if (ARDOUR::Config->get_primary_clock_delta_edit_cursor ()) { - ARDOUR::Config->set_primary_clock_delta_edit_cursor (false); + if (ARDOUR_UI::config()->get_primary_clock_delta_edit_cursor ()) { + ARDOUR_UI::config()->set_primary_clock_delta_edit_cursor (false); c->set_active (true); } } else { - if (ARDOUR::Config->get_secondary_clock_delta_edit_cursor ()) { - ARDOUR::Config->set_secondary_clock_delta_edit_cursor (false); + if (ARDOUR_UI::config()->get_secondary_clock_delta_edit_cursor ()) { + ARDOUR_UI::config()->set_secondary_clock_delta_edit_cursor (false); c->set_active (true); } } @@ -67,8 +68,8 @@ void MainClock::display_delta_to_edit_cursor () { if (_primary) { - ARDOUR::Config->set_primary_clock_delta_edit_cursor (!ARDOUR::Config->get_primary_clock_delta_edit_cursor ()); + ARDOUR_UI::config()->set_primary_clock_delta_edit_cursor (!ARDOUR_UI::config()->get_primary_clock_delta_edit_cursor ()); } else { - ARDOUR::Config->set_secondary_clock_delta_edit_cursor (!ARDOUR::Config->get_secondary_clock_delta_edit_cursor ()); + ARDOUR_UI::config()->set_secondary_clock_delta_edit_cursor (!ARDOUR_UI::config()->get_secondary_clock_delta_edit_cursor ()); } } diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc index 392693fe5d..25b709c827 100644 --- a/gtk2_ardour/meter_patterns.cc +++ b/gtk2_ardour/meter_patterns.cc @@ -491,7 +491,7 @@ meter_render_ticks (Gtk::Widget& w, MeterType type, vector<ARDOUR::DataType> typ points.insert (std::pair<float,float>(-50, 1.0)); points.insert (std::pair<float,float>(-40, 1.0)); points.insert (std::pair<float,float>(-30, 1.0)); - if (Config->get_meter_line_up_level() == MeteringLineUp24) { + if (ARDOUR_UI::config()->get_meter_line_up_level() == MeteringLineUp24) { points.insert (std::pair<float,float>(-24, 1.0)); } else { points.insert (std::pair<float,float>(-25, 1.0)); @@ -611,7 +611,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types) Pango::FontDescription font; font = Pango::FontDescription (ARDOUR_UI::config()->get_SmallMonospaceFont()); - double fixfontsize = 81920.0 / (double) ARDOUR::Config->get_font_scale(); + double fixfontsize = 81920.0 / (double) ARDOUR_UI::config()->get_font_scale(); font.set_weight (Pango::WEIGHT_NORMAL); font.set_size (9.0 * PANGO_SCALE * fixfontsize); @@ -721,7 +721,7 @@ meter_render_metrics (Gtk::Widget& w, MeterType type, vector<DataType> types) points.insert (std::pair<float,string>(-30.0f, "-30")); points.insert (std::pair<float,string>(-20.0f, "-20")); if (types.size() == 1) { - if (Config->get_meter_line_up_level() == MeteringLineUp24) { + if (ARDOUR_UI::config()->get_meter_line_up_level() == MeteringLineUp24) { points.insert (std::pair<float,string>(-24.0f, "-24")); } else { points.insert (std::pair<float,string>(-25.0f, "-25")); diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index 63e09b9a9f..ea54f00796 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -407,7 +407,7 @@ MeterStrip::fast_update () float mpeak = level_meter->update_meters(); if (mpeak > max_peak) { max_peak = mpeak; - if (mpeak >= Config->get_meter_peak()) { + if (mpeak >= ARDOUR_UI::config()->get_meter_peak()) { peak_display.set_active_state ( Gtkmm2ext::ExplicitActive ); } } diff --git a/gtk2_ardour/midi_list_editor.cc b/gtk2_ardour/midi_list_editor.cc index 0a87823f8e..ab282f2a23 100644 --- a/gtk2_ardour/midi_list_editor.cc +++ b/gtk2_ardour/midi_list_editor.cc @@ -35,6 +35,7 @@ #include "gtkmm2ext/keyboard.h" #include "gtkmm2ext/actions.h" +#include "ardour_ui.h" #include "midi_list_editor.h" #include "note_player.h" @@ -797,7 +798,7 @@ MidiListEditor::redisplay_model () void MidiListEditor::selection_changed () { - if (!Config->get_sound_midi_notes()) { + if (!ARDOUR_UI::config()->get_sound_midi_notes()) { return; } diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index f7d0cc41f8..1d5f3098ce 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -1237,7 +1237,7 @@ MidiRegionView::display_sysexes() bool have_periodic_system_messages = false; bool display_periodic_messages = true; - if (!Config->get_never_display_periodic_midi()) { + if (!ARDOUR_UI::config()->get_never_display_periodic_midi()) { for (MidiModel::SysExes::const_iterator i = _model->sysexes().begin(); i != _model->sysexes().end(); ++i) { const boost::shared_ptr<const Evoral::MIDIEvent<Evoral::MusicalTime> > mev = @@ -1557,7 +1557,7 @@ MidiRegionView::extend_active_notes() void MidiRegionView::play_midi_note(boost::shared_ptr<NoteType> note) { - if (_no_sound_notes || !Config->get_sound_midi_notes()) { + if (_no_sound_notes || !ARDOUR_UI::config()->get_sound_midi_notes()) { return; } @@ -1577,7 +1577,7 @@ MidiRegionView::play_midi_note(boost::shared_ptr<NoteType> note) void MidiRegionView::start_playing_midi_note(boost::shared_ptr<NoteType> note) { - if (_no_sound_notes || !Config->get_sound_midi_notes()) { + if (_no_sound_notes || !ARDOUR_UI::config()->get_sound_midi_notes()) { return; } @@ -1596,7 +1596,7 @@ MidiRegionView::start_playing_midi_note(boost::shared_ptr<NoteType> note) void MidiRegionView::start_playing_midi_chord (vector<boost::shared_ptr<NoteType> > notes) { - if (_no_sound_notes || !Config->get_sound_midi_notes()) { + if (_no_sound_notes || !ARDOUR_UI::config()->get_sound_midi_notes()) { return; } @@ -2404,7 +2404,7 @@ MidiRegionView::move_selection(double dx, double dy, double cumulative_dy) (*i)->move_event(dx, dy); } - if (dy && !_selection.empty() && !_no_sound_notes && Config->get_sound_midi_notes()) { + if (dy && !_selection.empty() && !_no_sound_notes && ARDOUR_UI::config()->get_sound_midi_notes()) { if (to_play.size() > 1) { diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 5207b7354d..5175cb35a8 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -443,7 +443,7 @@ MidiStreamView::setup_rec_box () _trackview.session()->record_status() == Session::Recording && _trackview.track()->record_enabled()) { - if (Config->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { + if (ARDOUR_UI::config()->get_show_waveforms_while_recording() && rec_regions.size() == rec_rects.size()) { /* add a new region, but don't bother if they set show-waveforms-while-recording mid-record */ diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 831c5158b8..53b8335bab 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -2069,7 +2069,7 @@ MixerStrip::parameter_changed (string p) /* The user has made changes to the mixer strip visibility, so get our VisibilityGroup to reflect these changes in our widgets. */ - _visibility.set_state (Config->get_mixer_strip_visibility ()); + _visibility.set_state (ARDOUR_UI::config()->get_mixer_strip_visibility ()); } else if (p == "track-name-number") { name_changed (); diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 1e175d2fd3..e20f78a61b 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -91,7 +91,7 @@ Mixer_UI::Mixer_UI () , in_group_row_change (false) , track_menu (0) , _monitor_section (0) - , _strip_width (Config->get_default_narrow_ms() ? Narrow : Wide) + , _strip_width (ARDOUR_UI::config()->get_default_narrow_ms() ? Narrow : Wide) , ignore_reorder (false) , _in_group_rebuild_or_clear (false) , _route_deletion_in_progress (false) @@ -368,7 +368,7 @@ Mixer_UI::add_strips (RouteList& routes) strip = new MixerStrip (*this, _session, route); strips.push_back (strip); - Config->get_default_narrow_ms() ? _strip_width = Narrow : _strip_width = Wide; + ARDOUR_UI::config()->get_default_narrow_ms() ? _strip_width = Narrow : _strip_width = Wide; if (strip->width_owner() != strip) { strip->set_width_enum (_strip_width, this); @@ -618,7 +618,7 @@ Mixer_UI::sync_treeview_from_order_keys () void Mixer_UI::follow_editor_selection () { - if (!Config->get_link_editor_and_mixer_selection() || _following_editor_selection) { + if (!ARDOUR_UI::config()->get_link_editor_and_mixer_selection() || _following_editor_selection) { return; } @@ -1798,7 +1798,7 @@ Mixer_UI::parameter_changed (string const & p) _group_tabs->hide (); } } else if (p == "default-narrow_ms") { - bool const s = Config->get_default_narrow_ms (); + bool const s = ARDOUR_UI::config()->get_default_narrow_ms (); for (list<MixerStrip*>::iterator i = strips.begin(); i != strips.end(); ++i) { (*i)->set_width_enum (s ? Narrow : Wide, this); } diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 46ec2e0a93..3a84425022 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -55,6 +55,7 @@ #include "sfdb_ui.h" #include "keyboard.h" #include "theme_manager.h" +#include "ui_config.h" #include "i18n.h" using namespace std; @@ -530,12 +531,12 @@ private: class FontScalingOptions : public OptionEditorBox { public: - FontScalingOptions (RCConfiguration* c) : - _rc_config (c), + FontScalingOptions (UIConfiguration* uic) : + _ui_config (uic), _dpi_adjustment (50, 50, 250, 1, 10), _dpi_slider (_dpi_adjustment) { - _dpi_adjustment.set_value (floor ((double)(_rc_config->get_font_scale () / 1024))); + _dpi_adjustment.set_value (floor ((double)(uic->get_font_scale () / 1024))); Label* l = manage (new Label (_("Font scaling:"))); l->set_name ("OptionsLabel"); @@ -554,7 +555,7 @@ public: void parameter_changed (string const & p) { if (p == "font-scale") { - _dpi_adjustment.set_value (floor ((double)(_rc_config->get_font_scale() / 1024))); + _dpi_adjustment.set_value (floor ((double)(_ui_config->get_font_scale() / 1024))); } } @@ -567,12 +568,12 @@ private: void dpi_changed () { - _rc_config->set_font_scale ((long) floor (_dpi_adjustment.get_value() * 1024)); + _ui_config->set_font_scale ((long) floor (_dpi_adjustment.get_value() * 1024)); /* XXX: should be triggered from the parameter changed signal */ reset_dpi (); } - RCConfiguration* _rc_config; + UIConfiguration* _ui_config; Adjustment _dpi_adjustment; HScale _dpi_slider; }; @@ -580,12 +581,12 @@ private: class ClipLevelOptions : public OptionEditorBox { public: - ClipLevelOptions (RCConfiguration* c) - : _rc_config (c) + ClipLevelOptions (UIConfiguration* c) + : _ui_config (c) , _clip_level_adjustment (-.5, -50.0, 0.0, 0.1, 1.0) /* units of dB */ , _clip_level_slider (_clip_level_adjustment) { - _clip_level_adjustment.set_value (_rc_config->get_waveform_clip_level ()); + _clip_level_adjustment.set_value (_ui_config->get_waveform_clip_level ()); Label* l = manage (new Label (_("Waveform Clip Level (dBFS):"))); l->set_name ("OptionsLabel"); @@ -604,7 +605,7 @@ public: void parameter_changed (string const & p) { if (p == "waveform-clip-level") { - _clip_level_adjustment.set_value (_rc_config->get_waveform_clip_level()); + _clip_level_adjustment.set_value (_ui_config->get_waveform_clip_level()); } } @@ -617,12 +618,12 @@ private: void clip_level_changed () { - _rc_config->set_waveform_clip_level (_clip_level_adjustment.get_value()); + _ui_config->set_waveform_clip_level (_clip_level_adjustment.get_value()); /* XXX: should be triggered from the parameter changed signal */ ArdourCanvas::WaveView::set_clip_level (_clip_level_adjustment.get_value()); } - RCConfiguration* _rc_config; + UIConfiguration* _ui_config; Adjustment _clip_level_adjustment; HScale _clip_level_slider; }; @@ -992,8 +993,9 @@ private: class PluginOptions : public OptionEditorBox { public: - PluginOptions (RCConfiguration* c) + PluginOptions (RCConfiguration* c, UIConfiguration* uic) : _rc_config (c) + , _ui_config (uic) , _display_plugin_scan_progress (_("Always Display Plugin Scan Progress")) , _discover_vst_on_start (_("Scan for [new] VST Plugins on Application Start")) , _discover_au_on_start (_("Scan for AudioUnit Plugins on Application Start")) @@ -1084,7 +1086,7 @@ public: void parameter_changed (string const & p) { if (p == "show-plugin-scan-window") { - bool const x = _rc_config->get_show_plugin_scan_window(); + bool const x = _ui_config->get_show_plugin_scan_window(); _display_plugin_scan_progress.set_active (x); } else if (p == "discover-vst-on-start") { @@ -1110,6 +1112,7 @@ public: private: RCConfiguration* _rc_config; + UIConfiguration* _ui_config; CheckButton _display_plugin_scan_progress; CheckButton _discover_vst_on_start; CheckButton _discover_au_on_start; @@ -1118,7 +1121,7 @@ private: void display_plugin_scan_progress_toggled () { bool const x = _display_plugin_scan_progress.get_active(); - _rc_config->set_show_plugin_scan_window(x); + _ui_config->set_show_plugin_scan_window(x); } void discover_vst_on_start_toggled () { @@ -1149,7 +1152,7 @@ private: _("Set Windows VST Search Path"), _rc_config->get_plugin_path_vst(), PluginManager::instance().get_default_windows_vst_path() - ); + ); ResponseType r = (ResponseType) pd->run (); pd->hide(); if (r == RESPONSE_ACCEPT) { @@ -1244,6 +1247,7 @@ private: RCOptionEditor::RCOptionEditor () : OptionEditor (Config, string_compose (_("%1 Preferences"), PROGRAM_NAME)) , _rc_config (Config) + , _ui_config (ARDOUR_UI::config()) , _mixer_strip_visibility ("mixer-element-visibility") { /* MISC */ @@ -1300,8 +1304,8 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "only-copy-imported-files", _("Always copy imported files"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_only_copy_imported_files), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_only_copy_imported_files) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_only_copy_imported_files), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_only_copy_imported_files) )); add_option (_("Misc"), new DirectoryOption ( @@ -1574,16 +1578,16 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "show-track-meters", _("Show meters on tracks in the editor"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_track_meters), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_track_meters) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_track_meters), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_track_meters) )); add_option (_("Editor"), new BoolOption ( "show-editor-meter", _("Display master-meter in the toolbar"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_editor_meter), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_editor_meter) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_editor_meter), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_editor_meter) )); ComboOption<FadeShape>* fadeshape = new ComboOption<FadeShape> ( @@ -1620,16 +1624,16 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "rubberbanding-snaps-to-grid", _("Make rubberband selection rectangle snap to the grid"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_rubberbanding_snaps_to_grid), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_rubberbanding_snaps_to_grid) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_rubberbanding_snaps_to_grid), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_rubberbanding_snaps_to_grid) )); add_option (_("Editor"), new BoolOption ( "show-waveforms", _("Show waveforms in regions"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_waveforms), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_waveforms) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_waveforms), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_waveforms) )); add_option (_("Editor"), @@ -1638,15 +1642,15 @@ RCOptionEditor::RCOptionEditor () _("Show gain envelopes in audio regions"), _("in all modes"), _("only in region gain mode"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_region_gain), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_region_gain) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_region_gain), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_region_gain) )); ComboOption<WaveformScale>* wfs = new ComboOption<WaveformScale> ( "waveform-scale", _("Waveform scale"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_waveform_scale), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_waveform_scale) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_waveform_scale), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_waveform_scale) ); wfs->add (Linear, _("linear")); @@ -1657,8 +1661,8 @@ RCOptionEditor::RCOptionEditor () ComboOption<WaveformShape>* wfsh = new ComboOption<WaveformShape> ( "waveform-shape", _("Waveform shape"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_waveform_shape), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_waveform_shape) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_waveform_shape), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_waveform_shape) ); wfsh->add (Traditional, _("traditional")); @@ -1666,45 +1670,45 @@ RCOptionEditor::RCOptionEditor () add_option (_("Editor"), wfsh); - add_option (_("Editor"), new ClipLevelOptions (_rc_config)); + add_option (_("Editor"), new ClipLevelOptions (_ui_config)); add_option (_("Editor"), new BoolOption ( "show-waveforms-while-recording", _("Show waveforms for audio while it is being recorded"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_waveforms_while_recording), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_waveforms_while_recording) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_waveforms_while_recording), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_waveforms_while_recording) )); add_option (_("Editor"), new BoolOption ( "show-zoom-tools", _("Show zoom toolbar"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_zoom_tools), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_zoom_tools) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_zoom_tools), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_zoom_tools) )); add_option (_("Editor"), new BoolOption ( "update-editor-during-summary-drag", _("Update editor window during drags of the summary"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_update_editor_during_summary_drag), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_update_editor_during_summary_drag) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_update_editor_during_summary_drag), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_update_editor_during_summary_drag) )); add_option (_("Editor"), new BoolOption ( "link-editor-and-mixer-selection", _("Synchronise editor and mixer selection"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_link_editor_and_mixer_selection), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_link_editor_and_mixer_selection) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_link_editor_and_mixer_selection), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_link_editor_and_mixer_selection) )); bo = new BoolOption ( "name-new-markers", _("Name new markers"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_name_new_markers), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_name_new_markers) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_name_new_markers), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_name_new_markers) ); add_option (_("Editor"), bo); @@ -1715,8 +1719,8 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "autoscroll-editor", _("Auto-scroll editor window when dragging near its edges"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_autoscroll_editor), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_autoscroll_editor) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_autoscroll_editor), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_autoscroll_editor) )); ComboOption<RegionSelectionAfterSplit> *rsas = new ComboOption<RegionSelectionAfterSplit> ( @@ -2093,16 +2097,16 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "never-display-periodic-midi", _("Never display periodic MIDI messages (MTC, MIDI Clock)"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_never_display_periodic_midi), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_never_display_periodic_midi) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_never_display_periodic_midi), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_never_display_periodic_midi) )); add_option (_("MIDI"), new BoolOption ( "sound-midi-notes", _("Sound MIDI notes as they are selected"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_sound_midi_notes), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_sound_midi_notes) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_sound_midi_notes), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_sound_midi_notes) )); add_option (_("MIDI"), new OptionEditorHeading (_("Midi Audition"))); @@ -2168,7 +2172,7 @@ RCOptionEditor::RCOptionEditor () #if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT || defined AUDIOUNIT_SUPPORT) /* Plugin options (currrently VST only) */ - add_option (_("Plugins"), new PluginOptions (_rc_config)); + add_option (_("Plugins"), new PluginOptions (_rc_config, _ui_config)); #endif /* INTERFACE */ @@ -2177,37 +2181,37 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "widget-prelight", _("Graphically indicate mouse pointer hovering over various widgets"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_widget_prelight), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_widget_prelight) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_widget_prelight), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_widget_prelight) )); add_option (S_("Preferences|GUI"), new BoolOption ( "use-tooltips", _("Show tooltips if mouse hovers over a control"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_use_tooltips), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_use_tooltips) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_use_tooltips), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_use_tooltips) )); add_option (S_("Preferences|GUI"), new BoolOption ( "show-name-highlight", _("Use name highlight bars in region displays"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_name_highlight), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_name_highlight) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_show_name_highlight), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_show_name_highlight) )); #ifndef GTKOSX /* font scaling does nothing with GDK/Quartz */ - add_option (S_("Preferences|GUI"), new FontScalingOptions (_rc_config)); + add_option (S_("Preferences|GUI"), new FontScalingOptions (_ui_config)); #endif add_option (S_("GUI"), new BoolOption ( "super-rapid-clock-update", _("update transport clock display at FPS instead of every 100ms"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_super_rapid_clock_update), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_super_rapid_clock_update) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_super_rapid_clock_update), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_super_rapid_clock_update) )); /* Lock GUI timeout */ @@ -2240,8 +2244,8 @@ RCOptionEditor::RCOptionEditor () new VisibilityOption ( _("Mixer Strip"), &_mixer_strip_visibility, - sigc::mem_fun (*_rc_config, &RCConfiguration::get_mixer_strip_visibility), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_mixer_strip_visibility) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_mixer_strip_visibility), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_mixer_strip_visibility) ) ); @@ -2249,8 +2253,8 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "default-narrow_ms", _("Use narrow strips in the mixer by default"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_default_narrow_ms), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_default_narrow_ms) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_default_narrow_ms), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_default_narrow_ms) )); add_option (S_("Preferences|Metering"), new OptionEditorHeading (_("Metering"))); @@ -2258,8 +2262,8 @@ RCOptionEditor::RCOptionEditor () ComboOption<float>* mht = new ComboOption<float> ( "meter-hold", _("Peak hold time"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_hold), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_hold) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_hold), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_hold) ); mht->add (MeterHoldOff, _("off")); @@ -2291,8 +2295,8 @@ RCOptionEditor::RCOptionEditor () ComboOption<MeterLineUp>* mlu = new ComboOption<MeterLineUp> ( "meter-line-up-level", _("Meter line-up level; 0dBu"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_line_up_level), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_line_up_level) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_line_up_level), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_line_up_level) ); mlu->add (MeteringLineUp24, _("-24dBFS (SMPTE US: 4dBu = -20dBFS)")); @@ -2307,8 +2311,8 @@ RCOptionEditor::RCOptionEditor () ComboOption<MeterLineUp>* mld = new ComboOption<MeterLineUp> ( "meter-line-up-din", _("IEC1/DIN Meter line-up level; 0dBu"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_line_up_din), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_line_up_din) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_line_up_din), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_line_up_din) ); mld->add (MeteringLineUp24, _("-24dBFS (SMPTE US: 4dBu = -20dBFS)")); @@ -2323,8 +2327,8 @@ RCOptionEditor::RCOptionEditor () ComboOption<VUMeterStandard>* mvu = new ComboOption<VUMeterStandard> ( "meter-vu-standard", _("VU Meter standard"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_vu_standard), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_vu_standard) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_vu_standard), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_vu_standard) ); mvu->add (MeteringVUfrench, _("0VU = -2dBu (France)")); @@ -2338,8 +2342,8 @@ RCOptionEditor::RCOptionEditor () HSliderOption *mpks = new HSliderOption("meter-peak", _("Peak threshold [dBFS]"), mpk, - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_peak), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_peak) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_peak), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_peak) ); Gtkmm2ext::UI::instance()->set_tip @@ -2352,8 +2356,8 @@ RCOptionEditor::RCOptionEditor () new BoolOption ( "meter-style-led", _("LED meter style"), - sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_style_led), - sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_style_led) + sigc::mem_fun (*_ui_config, &UIConfiguration::get_meter_style_led), + sigc::mem_fun (*_ui_config, &UIConfiguration::set_meter_style_led) )); /* and now the theme manager */ diff --git a/gtk2_ardour/rc_option_editor.h b/gtk2_ardour/rc_option_editor.h index 879a9c4464..b565889abe 100644 --- a/gtk2_ardour/rc_option_editor.h +++ b/gtk2_ardour/rc_option_editor.h @@ -30,7 +30,7 @@ * are expressed using subclasses of Option. More complex UI elements are represented * using individual classes subclassed from OptionEditorBox. */ - + /** Editor for options which are obtained from and written back to one of the .rc files. */ class RCOptionEditor : public OptionEditor { @@ -43,6 +43,7 @@ private: void parameter_changed (std::string const &); void ltc_generator_volume_changed (); ARDOUR::RCConfiguration* _rc_config; + UIConfiguration* _ui_config; BoolOption* _solo_control_is_listen_control; ComboOption<ARDOUR::ListenPosition>* _listen_position; VisibilityGroup _mixer_strip_visibility; diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 0669c0471c..fff7896674 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -2524,7 +2524,7 @@ RouteTimeAxisView::show_meter () void RouteTimeAxisView::reset_meter () { - if (Config->get_show_track_meters()) { + if (ARDOUR_UI::config()->get_show_track_meters()) { int meter_width = 3; if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) { meter_width = 6; diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc index 2c7499fd6d..c7f3d2dac5 100644 --- a/gtk2_ardour/sfdb_ui.cc +++ b/gtk2_ardour/sfdb_ui.cc @@ -1311,7 +1311,7 @@ SoundFileOmega::reset_options () to do embedding (or if we are importing a MIDI file). */ - if (Config->get_only_copy_imported_files()) { + if (ARDOUR_UI::config()->get_only_copy_imported_files()) { copy_files_btn.set_sensitive (false); } else { copy_files_btn.set_sensitive (false); @@ -1485,7 +1485,7 @@ SoundFileOmega::reset_options () * or any file if we are under nsm control */ bool const must_copy = _session->get_nsm_state() || have_a_midi_file || notebook.get_current_page() == 2; - if (Config->get_only_copy_imported_files()) { + if (ARDOUR_UI::config()->get_only_copy_imported_files()) { if (selection_can_be_embedded_with_links && !must_copy) { copy_files_btn.set_sensitive (true); diff --git a/gtk2_ardour/shuttle_control.cc b/gtk2_ardour/shuttle_control.cc index d91ba0a12a..5eacf3c93b 100644 --- a/gtk2_ardour/shuttle_control.cc +++ b/gtk2_ardour/shuttle_control.cc @@ -615,7 +615,7 @@ ShuttleControl::render (cairo_t* cr, cairo_rectangle_t*) cairo_set_source (cr, shine_pattern); cairo_fill (cr); */ - if (ARDOUR::Config->get_widget_prelight()) { + if (ARDOUR_UI::config()->get_widget_prelight()) { if (_hovering) { rounded_rectangle (cr, 1, 1, get_width()-2, get_height()-2, _corner_radius); cairo_set_source_rgba (cr, 1, 1, 1, 0.2); @@ -712,7 +712,7 @@ ShuttleControl::on_enter_notify_event (GdkEventCrossing* ev) { _hovering = true; - if (ARDOUR::Config->get_widget_prelight()) { + if (ARDOUR_UI::config()->get_widget_prelight()) { queue_draw (); } @@ -724,7 +724,7 @@ ShuttleControl::on_leave_notify_event (GdkEventCrossing* ev) { _hovering = false; - if (ARDOUR::Config->get_widget_prelight()) { + if (ARDOUR_UI::config()->get_widget_prelight()) { queue_draw (); } diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc index e13dc059cf..4ca3bf32f4 100644 --- a/gtk2_ardour/tempo_dialog.cc +++ b/gtk2_ardour/tempo_dialog.cc @@ -23,8 +23,7 @@ #include "gtkmm2ext/utils.h" -#include "ardour/rc_configuration.h" - +#include "ardour_ui.h" #include "tempo_dialog.h" #include "i18n.h" @@ -108,7 +107,7 @@ TempoDialog::init (const Timecode::BBT_Time& when, double bpm, double note_type, Table* table; - if (Config->get_allow_non_quarter_pulse()) { + if (ARDOUR_UI::config()->get_allow_non_quarter_pulse()) { table = manage (new Table (5, 5)); } else { table = manage (new Table (5, 4)); @@ -122,7 +121,7 @@ TempoDialog::init (const Timecode::BBT_Time& when, double bpm, double note_type, table->attach (*bpm_label, 0, 1, 0, 1); table->attach (bpm_spinner, 1, 5, 0, 1); - if (Config->get_allow_non_quarter_pulse()) { + if (ARDOUR_UI::config()->get_allow_non_quarter_pulse()) { table->attach (pulse_selector_label, 0, 1, 1, 2); table->attach (pulse_selector, 1, 5, 1, 2); row = 2; diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index 7a7da3fe33..58a22508ec 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -401,7 +401,7 @@ ThemeManager::build_palette_canvas (ArdourCanvas::Canvas& canvas, ArdourCanvas:: /* we want the colors sorted by hue, with their name */ - UIConfiguration::Colors& colors (ARDOUR_UI::instance()->config()->colors); + UIConfiguration::Colors& colors (ARDOUR_UI::config()->colors); vector<NamedColor> nc; for (UIConfiguration::Colors::const_iterator x = colors.begin(); x != colors.end(); ++x) { nc.push_back (NamedColor (x->first, HSV (x->second))); @@ -442,7 +442,7 @@ ThemeManager::build_palette_canvas (ArdourCanvas::Canvas& canvas, ArdourCanvas:: void ThemeManager::palette_size_request (Gtk::Requisition* req) { - uint32_t ncolors = ARDOUR_UI::instance()->config()->colors.size(); + uint32_t ncolors = ARDOUR_UI::config()->colors.size(); const int box_size = 20; double c = sqrt ((double)ncolors); @@ -480,7 +480,7 @@ ThemeManager::edit_palette_color (std::string name) { using namespace ArdourCanvas; double r,g, b, a; - UIConfiguration* uic (ARDOUR_UI::instance()->config()); + UIConfiguration* uic (ARDOUR_UI::config()); ArdourCanvas::Color c = uic->color (name); Gdk::Color gdkcolor; @@ -504,7 +504,7 @@ ThemeManager::palette_color_response (int result, std::string name) color_dialog_connection.disconnect (); - UIConfiguration* uic (ARDOUR_UI::instance()->config()); + UIConfiguration* uic (ARDOUR_UI::config()); Gdk::Color gdkcolor; double r,g, b, a; @@ -532,7 +532,7 @@ ThemeManager::alias_palette_event (GdkEvent* ev, string new_alias, string target { switch (ev->type) { case GDK_BUTTON_RELEASE: - ARDOUR_UI::instance()->config()->set_alias (target_name, new_alias); + ARDOUR_UI::config()->set_alias (target_name, new_alias); return true; break; default: @@ -553,7 +553,7 @@ ThemeManager::alias_palette_response (int response, std::string target_name, std case GTK_RESPONSE_REJECT: /* revert choice */ - ARDOUR_UI::instance()->config()->set_alias (target_name, old_alias); + ARDOUR_UI::config()->set_alias (target_name, old_alias); break; default: @@ -601,7 +601,7 @@ ThemeManager::setup_aliases () { using namespace ArdourCanvas; - UIConfiguration* uic (ARDOUR_UI::instance()->config()); + UIConfiguration* uic (ARDOUR_UI::config()); UIConfiguration::ColorAliases& aliases (uic->color_aliases); alias_list->clear (); diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index d9820cfec5..e6053906e0 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -95,7 +95,7 @@ TimeAxisViewItem::set_constant_heights () Y_OFFSET is measured from the top of the time axis view item. */ - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { NAME_Y_OFFSET = height + 1; NAME_HIGHLIGHT_SIZE = height + 2; } else { @@ -207,7 +207,7 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co } } - if (Config->get_show_name_highlight() && (visibility & ShowNameHighlight)) { + if (ARDOUR_UI::config()->get_show_name_highlight() && (visibility & ShowNameHighlight)) { double width; double start = 1.0; @@ -235,7 +235,7 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co if (visibility & ShowNameText) { name_text = new ArdourCanvas::Text (group); CANVAS_DEBUG_NAME (name_text, string_compose ("name text for %1", get_item_name())); - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, trackview.current_height() - NAME_Y_OFFSET)); } else { name_text->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, NAME_Y_OFFSET)); @@ -564,7 +564,7 @@ TimeAxisViewItem::set_height (double height) manage_name_highlight (); if (visibility & ShowNameText) { - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { name_text->set_y_position (height - NAME_Y_OFFSET); } else { name_text->set_y_position (NAME_Y_OFFSET); @@ -676,7 +676,7 @@ TimeAxisViewItem::set_name_text_color () uint32_t f; - if (Config->get_show_name_highlight()) { + if (ARDOUR_UI::config()->get_show_name_highlight()) { /* name text will always be on top of name highlight, which will always use our fill color. */ @@ -706,7 +706,7 @@ TimeAxisViewItem::get_fill_color () const if (_recregion) { c = ARDOUR_UI::config()->color ("recording rect"); } else { - if ((!Config->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) { + if ((!ARDOUR_UI::config()->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) { c = ARDOUR_UI::config()->color_mod (fill_color_name, mod_name); } else { c = ARDOUR_UI::config()->color_mod (fill_color, mod_name); diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h index b6e9595174..427f2cd7be 100644 --- a/gtk2_ardour/ui_config_vars.h +++ b/gtk2_ardour/ui_config_vars.h @@ -17,16 +17,57 @@ */ -UI_CONFIG_VARIABLE(std::string, icon_set, "icon-set", "default") -UI_CONFIG_VARIABLE(std::string, ui_rc_file, "ui-rc-file", "clearlooks.rc") -UI_CONFIG_VARIABLE(std::string, color_file, "color-file", "dark") -UI_CONFIG_VARIABLE(bool, flat_buttons, "flat-buttons", false) -UI_CONFIG_VARIABLE(bool, blink_rec_arm, "blink-rec-arm", false) -UI_CONFIG_VARIABLE(float, waveform_gradient_depth, "waveform-gradient-depth", 0) -UI_CONFIG_VARIABLE(float, timeline_item_gradient_depth, "timeline-item-gradient-depth", 0.5) -UI_CONFIG_VARIABLE(bool, all_floating_windows_are_dialogs, "all-floating-windows-are-dialogs", false) +UI_CONFIG_VARIABLE (std::string, icon_set, "icon-set", "default") +UI_CONFIG_VARIABLE (std::string, ui_rc_file, "ui-rc-file", "clearlooks.rc") +UI_CONFIG_VARIABLE (std::string, color_file, "color-file", "dark") +UI_CONFIG_VARIABLE (bool, flat_buttons, "flat-buttons", false) +UI_CONFIG_VARIABLE (bool, blink_rec_arm, "blink-rec-arm", false) +UI_CONFIG_VARIABLE (float, waveform_gradient_depth, "waveform-gradient-depth", 0) +UI_CONFIG_VARIABLE (float, timeline_item_gradient_depth, "timeline-item-gradient-depth", 0.5) +UI_CONFIG_VARIABLE (bool, all_floating_windows_are_dialogs, "all-floating-windows-are-dialogs", false) UI_CONFIG_VARIABLE (bool, color_regions_using_track_color, "color-regions-using-track-color", false) UI_CONFIG_VARIABLE (bool, show_waveform_clipping, "show-waveform-clipping", true) UI_CONFIG_VARIABLE (uint32_t, lock_gui_after_seconds, "lock-gui-after-seconds", 0) UI_CONFIG_VARIABLE (bool, draggable_playhead, "draggable-playhead", true) - +UI_CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi") +UI_CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ansi") +UI_CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour") +UI_CONFIG_VARIABLE (bool, only_copy_imported_files, "only-copy-imported-files", false) +UI_CONFIG_VARIABLE (bool, keep_tearoffs, "keep-tearoffs", false) +UI_CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false) +UI_CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", false) +UI_CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false) +UI_CONFIG_VARIABLE (long, font_scale, "font-scale", 81920) +UI_CONFIG_VARIABLE (bool, show_waveforms, "show-waveforms", true) +UI_CONFIG_VARIABLE (bool, show_waveforms_while_recording, "show-waveforms-while-recording", true) +UI_CONFIG_VARIABLE (ARDOUR::WaveformScale, waveform_scale, "waveform-scale", Linear) +UI_CONFIG_VARIABLE (ARDOUR::WaveformShape, waveform_shape, "waveform-shape", Traditional) +UI_CONFIG_VARIABLE (bool, update_editor_during_summary_drag, "update-editor-during-summary-drag", true) +UI_CONFIG_VARIABLE (bool, never_display_periodic_midi, "never-display-periodic-midi", true) +UI_CONFIG_VARIABLE (bool, sound_midi_notes, "sound-midi-notes", false) +UI_CONFIG_VARIABLE (bool, show_plugin_scan_window, "show-plugin-scan-window", false) +UI_CONFIG_VARIABLE (bool, show_zoom_tools, "show-zoom-tools", true) +UI_CONFIG_VARIABLE (bool, widget_prelight, "widget-prelight", true) +UI_CONFIG_VARIABLE (bool, use_tooltips, "use-tooltips", true) +UI_CONFIG_VARIABLE (std::string, mixer_strip_visibility, "mixer-element-visibility", "Input,PhaseInvert,RecMon,SoloIsoLock,Output,Comments") +UI_CONFIG_VARIABLE (bool, allow_non_quarter_pulse, "allow-non-quarter-pulse", false) +UI_CONFIG_VARIABLE (bool, show_region_gain, "show-region-gain", false) +UI_CONFIG_VARIABLE (bool, show_name_highlight, "show-name-highlight", false) +UI_CONFIG_VARIABLE (bool, primary_clock_delta_edit_cursor, "primary-clock-delta-edit-cursor", false) +UI_CONFIG_VARIABLE (bool, secondary_clock_delta_edit_cursor, "secondary-clock-delta-edit-cursor", false) +UI_CONFIG_VARIABLE (bool, show_track_meters, "show-track-meters", true) +UI_CONFIG_VARIABLE (bool, follow_edits, "follow-edits", false) +UI_CONFIG_VARIABLE (bool, super_rapid_clock_update, "super-rapid-clock-update", false) +UI_CONFIG_VARIABLE (bool, autoscroll_editor, "autoscroll-editor", true) +UI_CONFIG_VARIABLE (bool, link_region_and_track_selection, "link-region-and-track-selection", false) // DEPRECATED +UI_CONFIG_VARIABLE (bool, link_editor_and_mixer_selection, "link-editor-and-mixer-selection", false) +UI_CONFIG_VARIABLE (float, meter_hold, "meter-hold", 100.0f) +UI_CONFIG_VARIABLE (ARDOUR::VUMeterStandard, meter_vu_standard, "meter-vu-standard", ARDOUR::MeteringVUstandard) +UI_CONFIG_VARIABLE (ARDOUR::MeterLineUp, meter_line_up_level, "meter-line-up-level", ARDOUR::MeteringLineUp18) +UI_CONFIG_VARIABLE (ARDOUR::MeterLineUp, meter_line_up_din, "meter-line-up-din", ARDOUR::MeteringLineUp15) +UI_CONFIG_VARIABLE (float, meter_peak, "meter-peak", 0.0f) +UI_CONFIG_VARIABLE (bool, meter_style_led, "meter-style-led", true) +UI_CONFIG_VARIABLE (bool, show_editor_meter, "show-editor-meter", true) +UI_CONFIG_VARIABLE (double, waveform_clip_level, "waveform-clip-level", -0.0933967) /* units of dB */ +UI_CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true) +UI_CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false) diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index 15d119cf20..c9d3abe111 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -760,7 +760,7 @@ ARDOUR_UI_UTILS::key_is_legal_for_numeric_entry (guint keyval) void ARDOUR_UI_UTILS::set_pango_fontsize () { - long val = ARDOUR::Config->get_font_scale(); + long val = ARDOUR_UI::config()->get_font_scale(); /* FT2 rendering - used by GnomeCanvas, sigh */ @@ -776,7 +776,7 @@ ARDOUR_UI_UTILS::set_pango_fontsize () void ARDOUR_UI_UTILS::reset_dpi () { - long val = ARDOUR::Config->get_font_scale(); + long val = ARDOUR_UI::config()->get_font_scale(); set_pango_fontsize (); /* Xft rendering */ |