diff options
author | nick_m <mainsbridge@gmail.com> | 2016-12-19 04:02:01 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-12-19 04:02:01 +1100 |
commit | 27b95300e2762566e766e0627e92ceb3b20f2efa (patch) | |
tree | 8fa07d2a95ff04ee11a795bcdc5c4826569cb8a6 /gtk2_ardour | |
parent | f9743a1eb120770aadbd1981d053f6455895004f (diff) |
add frame parameter for Meter ctor and TempoMap::replace_meter(). allow for various failures.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_audio_import.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/editor_markers.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor_tempodisplay.cc | 10 |
4 files changed, 9 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc index 8e2e476d15..899f36ee51 100644 --- a/gtk2_ardour/editor_audio_import.cc +++ b/gtk2_ardour/editor_audio_import.cc @@ -291,7 +291,7 @@ Editor::import_smf_tempo_map (Evoral::SMF const & smf) if (have_meter) { bbt = new_map.bbt_at_beat ((t->time_pulses/smf.ppqn())); } - new_map.add_meter (meter, t->time_pulses, bbt, MusicTime); + new_map.add_meter (meter, t->time_pulses, bbt, 0, MusicTime); cerr << "@ " << t->time_pulses/smf.ppqn() << " (" << t->time_seconds << ") Add T " << tempo << " M " << meter << endl; diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 6555ec9c52..e4c86f97b1 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3287,8 +3287,9 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move) --bbt.bars; } const double beat = map.beat_at_bbt (bbt); + const framepos_t frame = map.frame_at_beat (beat); _real_section = map.add_meter (Meter (_marker->meter().divisions_per_bar(), _marker->meter().note_divisor()) - , beat, bbt, _real_section->position_lock_style()); + , beat, bbt, frame, _real_section->position_lock_style()); if (!_real_section) { aborted (true); return; diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 1c339d9dd3..a4d990b1e3 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -1396,7 +1396,7 @@ Editor::toggle_marker_lock_style () const Timecode::BBT_Time bbt (msp->bbt()); const PositionLockStyle pls = (msp->position_lock_style() == AudioTime) ? MusicTime : AudioTime; - _session->tempo_map().replace_meter (*msp, meter, bbt, pls); + _session->tempo_map().replace_meter (*msp, meter, bbt, msp->frame(), pls); XMLNode &after = _session->tempo_map().get_state(); _session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after)); diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index 4463ec825b..e98959ba9d 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -409,14 +409,14 @@ Editor::mouse_add_new_meter_event (framepos_t frame) meter_dialog.get_bbt_time (requested); const double beat = map.beat_at_bbt (requested); - + const double al_frame = map.frame_at_beat (beat); begin_reversible_command (_("add meter mark")); XMLNode &before = map.get_state(); if (meter_dialog.get_lock_style() == MusicTime) { - map.add_meter (Meter (bpb, note_type), beat, requested, MusicTime); + map.add_meter (Meter (bpb, note_type), beat, requested, 0, MusicTime); } else { - map.add_meter (Meter (bpb, note_type), beat, requested, AudioTime); + map.add_meter (Meter (bpb, note_type), beat, requested, al_frame, AudioTime); } _session->add_command(new MementoCommand<TempoMap>(map, &before, &map.get_state())); @@ -466,13 +466,13 @@ Editor::edit_meter_section (MeterSection* section) Timecode::BBT_Time when; meter_dialog.get_bbt_time (when); - + const framepos_t 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, pls); + _session->tempo_map().replace_meter (*section, meter, when, frame, pls); XMLNode &after = _session->tempo_map().get_state(); _session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after)); |