diff options
author | nick_m <mainsbridge@gmail.com> | 2016-06-08 13:48:22 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-06-08 13:48:22 +1000 |
commit | 6c986231d3f96fc11fc5c11717de8723f7b2ec44 (patch) | |
tree | bb5c21b6d972f857d64b4d14a9f9443cd935832b /gtk2_ardour/editor_drag.cc | |
parent | d18bbc646ac5e50046734cbeb827c455d8c16698 (diff) |
More tempo marker cross-dragging fixes.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 32 |
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()); |