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.
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;
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;
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"),
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")