summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2017-08-26 22:19:04 -0500
committerBen Loftis <ben@harrisonconsoles.com>2017-08-26 22:44:58 -0500
commit49765f8897784d83564c8301ed1ffe82d6bdab92 (patch)
treeca305b1db74e4aae950e878fbffebf8d1b80ec08 /gtk2_ardour
parent71d9ea7270af1b46b39c90ded0356c406140c1f3 (diff)
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.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_canvas.cc4
-rw-r--r--gtk2_ardour/rc_option_editor.cc13
-rw-r--r--gtk2_ardour/ui_config_vars.h1
3 files changed, 16 insertions, 2 deletions
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<float>* dps = new ComboOption<float> (
+ "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")