summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-05-21 03:54:29 +1000
committernick_m <mainsbridge@gmail.com>2016-05-27 23:38:17 +1000
commit6894f468d4e5fcd6624368f7a7f820a9fcaa4455 (patch)
tree1376cf34bf66f41ea70593ce4863db4ce2c5cc97 /gtk2_ardour
parent7db39a206e6ab9f43299e6b8ae148d90b2ee6c4d (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.cc19
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 {