From f28a59467782e62777ed4b54b8a741defea422c7 Mon Sep 17 00:00:00 2001 From: VKamyshniy Date: Mon, 29 Sep 2014 13:11:02 +0300 Subject: [PATCH] [Summary] merging the ARDOUR's and TRACKS' preferences. --- gtk2_ardour/tracks_control_panel.cc | 9 ++- gtk2_ardour/tracks_control_panel.h | 13 +++-- gtk2_ardour/tracks_control_panel.logic.cc | 67 +++++++++------------- gtk2_ardour/tracks_control_panel.logic.h | 15 ++--- libs/ardour/ardour/rc_configuration_vars.h | 6 +- 5 files changed, 50 insertions(+), 60 deletions(-) diff --git a/gtk2_ardour/tracks_control_panel.cc b/gtk2_ardour/tracks_control_panel.cc index fd67746a84..ef0868d161 100644 --- a/gtk2_ardour/tracks_control_panel.cc +++ b/gtk2_ardour/tracks_control_panel.cc @@ -34,12 +34,14 @@ TracksControlPanel::TracksControlPanel () , _all_inputs_off_button (get_waves_button("all_inputs_off_button")) , _all_outputs_on_button (get_waves_button("all_outputs_on_button")) , _all_outputs_off_button (get_waves_button("all_outputs_off_button")) - , _audio_settings_layout (get_layout ("audio_settings_layout")) - , _midi_settings_layout (get_layout ("midi_settings_layout")) - , _session_settings_layout (get_layout ("session_settings_layout")) + , _audio_settings_tab (get_container ("audio_settings_tab")) + , _midi_settings_tab (get_container ("midi_settings_tab")) + , _session_settings_tab (get_container ("session_settings_tab")) + , _general_settings_tab (get_container ("general_settings_tab")) , _audio_settings_tab_button (get_waves_button ("audio_settings_tab_button")) , _midi_settings_tab_button (get_waves_button ("midi_settings_tab_button")) , _session_settings_tab_button (get_waves_button ("session_settings_tab_button")) + , _general_settings_tab_button (get_waves_button ("general_settings_tab_button")) , _ok_button (get_waves_button ("ok_button")) , _cancel_button (get_waves_button ("cancel_button")) , _apply_button (get_waves_button ("apply_button")) @@ -63,6 +65,7 @@ TracksControlPanel::TracksControlPanel () , _auto_lock_timer_dropdown(get_waves_dropdown("auto_lock_timer_dropdown")) , _auto_save_timer_dropdown(get_waves_dropdown("auto_save_timer_dropdown")) , _pre_record_buffer_dropdown(get_waves_dropdown("pre_record_buffer_dropdown")) + , _waveform_dropdown(get_waves_dropdown ("waveform_dropdown")) , _have_control (false) , _ignore_changes (0) { diff --git a/gtk2_ardour/tracks_control_panel.h b/gtk2_ardour/tracks_control_panel.h index 155bae21c9..4e853f9317 100644 --- a/gtk2_ardour/tracks_control_panel.h +++ b/gtk2_ardour/tracks_control_panel.h @@ -35,6 +35,7 @@ #include "waves_dropdown.h" #include "device_connection_control.h" #include "midi_device_connection_control.h" +#include "option_editor.h" class WavesButton; @@ -51,12 +52,14 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList WavesButton& _all_inputs_off_button; WavesButton& _all_outputs_on_button; WavesButton& _all_outputs_off_button; - Gtk::Layout& _audio_settings_layout; - Gtk::Layout& _midi_settings_layout; - Gtk::Layout& _session_settings_layout; + Gtk::Container& _audio_settings_tab; + Gtk::Container& _midi_settings_tab; + Gtk::Container& _session_settings_tab; + Gtk::Container& _general_settings_tab; WavesButton& _audio_settings_tab_button; - WavesButton& _session_settings_tab_button; WavesButton& _midi_settings_tab_button; + WavesButton& _session_settings_tab_button; + WavesButton& _general_settings_tab_button; WavesButton& _multi_out_button; WavesButton& _stereo_out_button; WavesButton& _ok_button; @@ -78,8 +81,10 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList WavesDropdown& _auto_lock_timer_dropdown; WavesDropdown& _auto_save_timer_dropdown; WavesDropdown& _pre_record_buffer_dropdown; + WavesDropdown& _waveform_dropdown; Gtk::Label& _latency_label; Gtk::Label& _default_open_path; + #include "tracks_control_panel.logic.h" }; diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index 91752b85f0..5589b66a8f 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -90,9 +90,10 @@ TracksControlPanel::init () _cancel_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_cancel)); _apply_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_apply)); - _audio_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_audio_settings)); - _midi_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_midi_settings)); - _session_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_session_settings)); + _audio_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked)); + _midi_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked)); + _session_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked)); + _general_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_a_settings_tab_button_clicked)); _all_inputs_on_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_inputs_on_button)); _all_inputs_off_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_inputs_off_button)); @@ -121,15 +122,15 @@ TracksControlPanel::init () /* Global configuration parameters update */ Config->ParameterChanged.connect (update_connections, MISSING_INVALIDATOR, boost::bind (&TracksControlPanel::on_parameter_changed, this, _1), gui_context()); - _engine_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_engine_dropdown_item_clicked)); - _device_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_device_dropdown_item_clicked)); - _sample_rate_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_sample_rate_dropdown_item_clicked)); - _buffer_size_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_buffer_size_dropdown_item_clicked)); + _engine_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_engine_dropdown_item_clicked)); + _device_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_device_dropdown_item_clicked)); + _sample_rate_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_sample_rate_dropdown_item_clicked)); + _buffer_size_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_buffer_size_dropdown_item_clicked)); /* Session configuration parameters update */ - _file_type_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_file_type_dropdown_item_clicked)); - _bit_depth_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun(*this, &TracksControlPanel::on_bit_depth_dropdown_item_clicked)); - _frame_rate_dropdown.signal_menu_item_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_frame_rate__item_clicked)); + _file_type_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_file_type_dropdown_item_clicked)); + _bit_depth_dropdown.selected_item_changed.connect (sigc::mem_fun(*this, &TracksControlPanel::on_bit_depth_dropdown_item_clicked)); + _frame_rate_dropdown.selected_item_changed.connect (sigc::mem_fun (*this, &TracksControlPanel::on_frame_rate__item_clicked)); _name_tracks_after_driver.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_name_tracks_after_driver)); _reset_tracks_name_to_default.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_reset_tracks_name_to_default)); @@ -1134,40 +1135,26 @@ TracksControlPanel::engine_stopped () void -TracksControlPanel::on_audio_settings (WavesButton*) +TracksControlPanel::on_a_settings_tab_button_clicked (WavesButton* clicked_button) { - _midi_settings_layout.hide (); - _midi_settings_tab_button.set_active(false); - _session_settings_layout.hide (); - _session_settings_tab_button.set_active(false); - _audio_settings_layout.show (); - _audio_settings_tab_button.set_active(true); + bool visible = (&_midi_settings_tab_button == clicked_button); + _midi_settings_tab.set_visible (visible); + _midi_settings_tab_button.set_active(visible); + + visible = (&_session_settings_tab_button == clicked_button); + _session_settings_tab.set_visible (visible);; + _session_settings_tab_button.set_active(visible); + + visible = (&_audio_settings_tab_button == clicked_button); + _audio_settings_tab.set_visible (visible); + _audio_settings_tab_button.set_active(visible); + + visible = (&_general_settings_tab_button == clicked_button); + _general_settings_tab.set_visible (visible); + _general_settings_tab_button.set_active(visible); } -void -TracksControlPanel::on_midi_settings (WavesButton*) -{ - _audio_settings_layout.hide (); - _audio_settings_tab_button.set_active(false); - _session_settings_layout.hide (); - _session_settings_tab_button.set_active(false); - _midi_settings_layout.show (); - _midi_settings_tab_button.set_active(true); -} - - -void -TracksControlPanel::on_session_settings (WavesButton*) -{ - _audio_settings_layout.hide (); - _audio_settings_tab_button.set_active(false); - _midi_settings_layout.hide (); - _midi_settings_tab_button.set_active(false); - _session_settings_layout.show (); - _session_settings_tab_button.set_active(true); -} - void TracksControlPanel::on_device_error () { diff --git a/gtk2_ardour/tracks_control_panel.logic.h b/gtk2_ardour/tracks_control_panel.logic.h index 151fc16e15..16625e5f17 100644 --- a/gtk2_ardour/tracks_control_panel.logic.h +++ b/gtk2_ardour/tracks_control_panel.logic.h @@ -17,9 +17,6 @@ */ -#include -#include - // class TracksControlPanel : public WavesDialog { public: void refresh_session_settings_info (); @@ -30,17 +27,17 @@ uint32_t _desired_sample_rate; bool _have_control; - // this flag is set for immediate return during combo-box change callbacks - // when we do not need to process current combo-box change +// this flag is set for immediate return during combo-box change callbacks +// when we do not need to process current combo-box change uint32_t _ignore_changes; std::string _current_device; -// Sync stuff +// Sync stuff PBD::ScopedConnectionList update_connections; PBD::ScopedConnection running_connection; PBD::ScopedConnection stopped_connection; -// methods +// Methods virtual void init(); DeviceConnectionControl& add_device_capture_control(std::string port_name, bool active, uint16_t capture_number, std::string track_name); DeviceConnectionControl& add_device_playback_control(std::string port_name, bool active, uint16_t playback_number); @@ -48,9 +45,7 @@ const std::string& capture_name, bool capture_active, const std::string& playback_name, bool playback_active); - void on_audio_settings (WavesButton*); - void on_midi_settings (WavesButton*); - void on_session_settings (WavesButton*); + void on_a_settings_tab_button_clicked (WavesButton* clicked_button); void on_multi_out (WavesButton*); void on_stereo_out (WavesButton*); void on_browse_button (WavesButton*); diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 7eec9bcc33..afb77ce19d 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -91,7 +91,7 @@ CONFIG_VARIABLE (bool, use_osc, "use-osc", false) CONFIG_VARIABLE (EditMode, edit_mode, "edit-mode", Slide) CONFIG_VARIABLE (bool, link_region_and_track_selection, "link-region-and-track-selection", false) // DEPRECATED -CONFIG_VARIABLE (bool, link_editor_and_mixer_selection, "link-editor-and-mixer-selection", false) +CONFIG_VARIABLE (bool, link_editor_and_mixer_selection, "link-editor-and-mixer-selection", true) CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ansi") CONFIG_VARIABLE (bool, automation_follows_regions, "automation-follows-regions", true) CONFIG_VARIABLE (bool, region_boundaries_from_selected_tracks, "region-boundaries-from-selected-tracks", true) @@ -169,7 +169,7 @@ CONFIG_VARIABLE (MeterLineUp, meter_line_up_din, "meter-line-up-din", MeteringLi CONFIG_VARIABLE (float, meter_peak, "meter-peak", 0.0f) CONFIG_VARIABLE (bool, meter_style_led, "meter-style-led", true) CONFIG_VARIABLE (bool, show_editor_meter, "show-editor-meter", true) -CONFIG_VARIABLE (double, waveform_clip_level, "waveform-clip-level", -0.0933967) /* units of dB */ +CONFIG_VARIABLE (double, waveform_clip_level, "waveform-clip-level", -0.0) /* units of dB */ /* miscellany */ @@ -192,7 +192,7 @@ CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi") CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour") CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false) CONFIG_VARIABLE (bool, name_new_markers, "name-new-markers", false) -CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false) +CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", true) CONFIG_VARIABLE (long, font_scale, "font-scale", 81920) CONFIG_VARIABLE (std::string, default_session_parent_dir, "default-session-parent-dir", Glib::get_home_dir()) CONFIG_VARIABLE (bool, show_waveforms, "show-waveforms", true)