From 49765f8897784d83564c8301ed1ffe82d6bdab92 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Sat, 26 Aug 2017 22:19:04 -0500 Subject: Editor zooming: Add config setting for playhead-scroll-speed. Default to 100% for now, but for new users we might later default it to something slower. If you want to scroll quickly, it is preferred to zoom out first, then scroll. --- gtk2_ardour/editor_canvas.cc | 4 ++-- gtk2_ardour/rc_option_editor.cc | 13 +++++++++++++ gtk2_ardour/ui_config_vars.h | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index 43b97a36f7..565dbf0b78 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -652,7 +652,7 @@ Editor::autoscroll_canvas () dx = pixel_to_sample (dx); - dx /= 10; //ToDo: make a config variable for scroll speed zoom-behavior-tweaks + dx *= UIConfiguration::instance().get_draggable_playhead_speed(); if (leftmost_frame < max_framepos - dx) { new_frame = leftmost_frame + dx; @@ -669,7 +669,7 @@ Editor::autoscroll_canvas () dx = pixel_to_sample (dx); - dx /= 10; //ToDo: make a config variable for scroll speed zoom-behavior-tweaks + dx *= UIConfiguration::instance().get_draggable_playhead_speed(); if (leftmost_frame >= dx) { new_frame = leftmost_frame - dx; diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 91ceba039e..ea7db58809 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -2332,6 +2332,19 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_draggable_playhead) )); + ComboOption* dps = new ComboOption ( + "draggable-playhead-speed", + _("Playhead dragging speed (%)"), + sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_draggable_playhead_speed), + sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_draggable_playhead_speed) + ); + dps->add (0.05, _("5%")); + dps->add (0.1, _("10%")); + dps->add (0.25, _("25%")); + dps->add (0.5, _("50%")); + dps->add (1.0, _("100%")); + add_option (_("Editor"), dps); + if (!Profile->get_mixbus()) { add_option (_("Editor"), diff --git a/gtk2_ardour/ui_config_vars.h b/gtk2_ardour/ui_config_vars.h index bbefc91b01..0bf9a2c15a 100644 --- a/gtk2_ardour/ui_config_vars.h +++ b/gtk2_ardour/ui_config_vars.h @@ -32,6 +32,7 @@ UI_CONFIG_VARIABLE (bool, color_regions_using_track_color, "color-regions-using- 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 (float, draggable_playhead_speed, "draggable-playhead-speed", 1.0) UI_CONFIG_VARIABLE (bool, new_automation_points_on_lane, "new-automation-points-on-lane", false) UI_CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi") UI_CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ansi") -- cgit v1.2.3