summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-06-08 13:48:22 +1000
committernick_m <mainsbridge@gmail.com>2016-06-08 13:48:22 +1000
commit6c986231d3f96fc11fc5c11717de8723f7b2ec44 (patch)
treebb5c21b6d972f857d64b4d14a9f9443cd935832b /gtk2_ardour/editor_drag.cc
parentd18bbc646ac5e50046734cbeb827c455d8c16698 (diff)
More tempo marker cross-dragging fixes.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc32
1 files changed, 11 insertions, 21 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index c82a007060..93fd8a33c0 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -3340,29 +3340,19 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
const framepos_t pf = adjusted_current_frame (event);
- if (!_editor->snap_musical()) {
-
- if (was_music) {
- _real_section->set_position_lock_style (AudioTime);
- }
-
- map.gui_move_tempo (_real_section, pf);
-
- if (was_music) {
- _real_section->set_position_lock_style (MusicTime);
- }
-
- } else {
-
- if (!was_music) {
- _real_section->set_position_lock_style (MusicTime);
- }
+ /* cop-out : we really should set the musical position of music-locked tempo sections here, which generally works well.
+ The problem is that when the mouse pointer's motion causes the location of the beat to change in a more-or-less
+ chaotic way when cross-dragging tempo sections (the beat the pointer is now above could have changed without any pointer motion).
+ Until there is a way to deal with this, just pretend the tempo section is audio-locked.
+ */
+ if (was_music) {
+ _real_section->set_position_lock_style (AudioTime);
+ }
- map.gui_move_tempo (_real_section, pf);
+ map.gui_move_tempo (_real_section, pf);
- if (!was_music) {
- _real_section->set_position_lock_style (AudioTime);
- }
+ if (was_music) {
+ _real_section->set_position_lock_style (MusicTime);
}
show_verbose_cursor_time (_real_section->frame());