diff options
author | nick_m <mainsbridge@gmail.com> | 2016-05-21 03:54:29 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-05-27 23:38:17 +1000 |
commit | 6894f468d4e5fcd6624368f7a7f820a9fcaa4455 (patch) | |
tree | 1376cf34bf66f41ea70593ce4863db4ce2c5cc97 /gtk2_ardour | |
parent | 7db39a206e6ab9f43299e6b8ae148d90b2ee6c4d (diff) |
Tempo ramps - no more tempo dilation on meter drag.
- its now a bbt ruler / marker lane thing with the constraint modifier.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index f5de16460d..f60a8758b0 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3197,24 +3197,16 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move) /* round bbt to bars */ map.round_bbt (bbt, -1, RoundNearest); - if (Keyboard::modifier_state_contains (event->button.state, ArdourKeyboard::constraint_modifier ())) { - /* adjust previous tempo to match meter frame */ - _editor->session()->tempo_map().gui_dilate_tempo (_real_section, pf); - } else if ((bbt.bars != _real_section->bbt().bars && pf > last_pointer_frame()) - || (bbt.bars < _real_section->bbt().bars && pf < last_pointer_frame())) { + if ((bbt.bars != _real_section->bbt().bars && pf > last_pointer_frame()) + || (bbt.bars < _real_section->bbt().bars && pf < last_pointer_frame())) { + /* move meter beat-based */ _editor->session()->tempo_map().gui_move_meter_bbt (_real_section, bbt); } } else { /* AudioTime */ - if (Keyboard::modifier_state_contains (event->button.state, ArdourKeyboard::constraint_modifier ())) { - /* currently disabled in the lib for AudioTime */ - if (_real_section->movable()) { - _editor->session()->tempo_map().gui_dilate_tempo (_real_section, pf); - } - } else { - _editor->session()->tempo_map().gui_move_meter_frame (_real_section, pf); - } + /* move meter frame-based */ + _editor->session()->tempo_map().gui_move_meter_frame (_real_section, pf); } _marker->set_position (pf); show_verbose_cursor_time (_real_section->frame()); @@ -3415,6 +3407,7 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move) } else if (use_snap) { map.round_bbt (when, _editor->get_grid_beat_divisions (0), RoundNearest); } + const double beat = map.bbt_to_beats (when); map.gui_move_tempo_beat (_real_section, beat); } else { |