diff options
author | nick_m <mainsbridge@gmail.com> | 2016-10-30 23:21:42 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-11-11 03:37:08 +1100 |
commit | 0e867b544b6d1b5f82f46cec7171998b2f2ca3bc (patch) | |
tree | cc9605fbd8ed505aedb3e1d04cfa301a84ad8b33 /gtk2_ardour/editor_tempodisplay.cc | |
parent | ae63243bf3af8ab4dad8535ac2811df399c9a34a (diff) |
Refactor tempo api, include quarter-note distance in frames method.
- moves frame rounding up to TempoMap, which is needed
in order to calculate pulse distance without frame rounding.
- the time unit for tempo is still minute, but this now also
applies to meter sections. (new audio locked meter sections no
longer require a frame position).
- there is no longer a discontinuity
in the pulse for audio-locked meter/tempi.
- temporarily add debugging output in Region::set_position()
to test for region beat not matching region frame.
Diffstat (limited to 'gtk2_ardour/editor_tempodisplay.cc')
-rw-r--r-- | gtk2_ardour/editor_tempodisplay.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 41d19ca794..cd12a4e872 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -409,9 +409,9 @@ Editor::mouse_add_new_meter_event (framepos_t frame) XMLNode &before = map.get_state(); if (meter_dialog.get_lock_style() == MusicTime) { - map.add_meter (Meter (bpb, note_type), beat, requested, map.frame_at_beat (beat), MusicTime); + map.add_meter (Meter (bpb, note_type), beat, requested, MusicTime); } else { - map.add_meter (Meter (bpb, note_type), beat, requested, map.frame_at_beat (beat), AudioTime); + map.add_meter (Meter (bpb, note_type), beat, requested, AudioTime); } _session->add_command(new MementoCommand<TempoMap>(map, &before, &map.get_state())); @@ -462,13 +462,12 @@ Editor::edit_meter_section (MeterSection* section) Timecode::BBT_Time when; meter_dialog.get_bbt_time (when); - framepos_t const frame = _session->tempo_map().frame_at_bbt (when); const PositionLockStyle pls = (meter_dialog.get_lock_style() == AudioTime) ? AudioTime : MusicTime; begin_reversible_command (_("replace meter mark")); XMLNode &before = _session->tempo_map().get_state(); - _session->tempo_map().replace_meter (*section, meter, when, frame, pls); + _session->tempo_map().replace_meter (*section, meter, when, pls); XMLNode &after = _session->tempo_map().get_state(); _session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after)); |