From f328fdc56a48fec5b2c96fd171d9efce4379f2e3 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 18 Dec 2020 19:06:05 -0700 Subject: [PATCH] adapt to DoubleableBeats and so forth (gui edition) --- gtk2_ardour/editor_rulers.cc | 4 ++-- gtk2_ardour/midi_region_view.cc | 8 ++++++-- gtk2_ardour/quantize_dialog.cc | 2 +- gtk2_ardour/step_editor.cc | 8 ++++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index dcff173699..e690f2e339 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -983,8 +983,8 @@ Editor::compute_bbt_ruler_scale (samplepos_t lower, samplepos_t upper) Temporal::TempoMap::SharedPtr tmap (Temporal::TempoMap::use()); Beats floor_lower_beat = std::max (Beats(), tmap->quarters_at_sample (lower)).round_down_to_beat (); - if (floor_lower_beat < 0.0) { - floor_lower_beat = 0.0; + if (floor_lower_beat < Temporal::Beats()) { + floor_lower_beat = Temporal::Beats(); } const samplepos_t beat_before_lower_pos = tmap->sample_at (floor_lower_beat, _session->sample_rate()); diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 224939a1fa..628c0a43e9 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -3219,7 +3219,7 @@ MidiRegionView::change_note_time (NoteBase* event, Temporal::Beats delta, bool r Temporal::Beats new_time; if (relative) { - if (delta < 0.0) { + if (delta < Temporal::Beats()) { if (event->note()->time() < -delta) { new_time = Temporal::Beats(); } else { @@ -4277,7 +4277,11 @@ MidiRegionView::get_velocity_for_add (MidiModel::TimeType time) const MidiModel::Notes::const_iterator n = m; --n; - const double frac = (time - (*n)->time()) / ((*m)->time() - (*n)->time()); + const double t = DoubleableBeats (time).to_double(); + const double next = DoubleableBeats ((*n)->time()).to_double (); + const double mmmm = DoubleableBeats ((*m)->time()).to_double (); + + const double frac = (t - next) / (mmmm - next); return (*n)->velocity() + (frac * ((*m)->velocity() - (*n)->velocity())); } diff --git a/gtk2_ardour/quantize_dialog.cc b/gtk2_ardour/quantize_dialog.cc index 49636dab7e..42f99383d0 100644 --- a/gtk2_ardour/quantize_dialog.cc +++ b/gtk2_ardour/quantize_dialog.cc @@ -153,7 +153,7 @@ QuantizeDialog::grid_size_to_musical_time (const string& txt) const if ( txt == _grid_strings[0] ) { //"Main Grid" bool success; - Temporal::Beats b = editor.get_grid_type_as_beats (success, timepos_t (0)); + Temporal::DoubleableBeats b = editor.get_grid_type_as_beats (success, timepos_t (0)); if (!success) { return 1.0; } diff --git a/gtk2_ardour/step_editor.cc b/gtk2_ardour/step_editor.cc index e0842561ba..43424bc921 100644 --- a/gtk2_ardour/step_editor.cc +++ b/gtk2_ardour/step_editor.cc @@ -236,15 +236,19 @@ StepEditor::move_step_edit_beat_pos (Temporal::Beats beats) if (!step_edit_region_view) { return; } - if (beats > 0.0) { + + const Temporal::Beats zero; + + if (beats > zero) { step_edit_beat_pos = min (step_edit_beat_pos + beats, step_edit_region->length().beats()); - } else if (beats < 0.0) { + } else if (beats < zero) { if (-beats < step_edit_beat_pos) { step_edit_beat_pos += beats; // its negative, remember } else { step_edit_beat_pos = Temporal::Beats(); } } + step_edit_region_view->move_step_edit_cursor (step_edit_beat_pos); }