add ripple option API for TempoMap::cut()

This commit is contained in:
Paul Davis 2023-05-04 18:49:06 -06:00
parent 7f977bf3e4
commit fafc891ca6
2 changed files with 10 additions and 6 deletions

View file

@ -852,20 +852,20 @@ TempoMap::copy_points (TempoMap const & other)
} }
TempoMapCutBuffer* TempoMapCutBuffer*
TempoMap::cut (timepos_t const & start, timepos_t const & end) TempoMap::cut (timepos_t const & start, timepos_t const & end, bool ripple)
{ {
return cut_copy (start, end, false); return cut_copy (start, end, false, ripple);
} }
TempoMapCutBuffer* TempoMapCutBuffer*
TempoMap::copy ( timepos_t const & start, timepos_t const & end) TempoMap::copy ( timepos_t const & start, timepos_t const & end)
{ {
return cut_copy (start, end, true); return cut_copy (start, end, true, false);
} }
TempoMapCutBuffer* TempoMapCutBuffer*
TempoMap::cut_copy (timepos_t const & start, timepos_t const & end, bool copy) TempoMap::cut_copy (timepos_t const & start, timepos_t const & end, bool copy, bool ripple)
{ {
TempoMetric sm (metric_at (start)); TempoMetric sm (metric_at (start));
TempoMetric em (metric_at (end)); TempoMetric em (metric_at (end));
@ -918,6 +918,10 @@ TempoMap::cut_copy (timepos_t const & start, timepos_t const & end, bool copy)
reset_starting_at (start_sclock); reset_starting_at (start_sclock);
} }
if (!copy && ripple) {
}
return cb; return cb;
} }

View file

@ -818,7 +818,7 @@ class /*LIBTEMPORAL_API*/ TempoMap : public PBD::StatefulDestructible
LIBTEMPORAL_API TempoMetric metric_at (Beats const &, bool can_match = true) const; LIBTEMPORAL_API TempoMetric metric_at (Beats const &, bool can_match = true) const;
LIBTEMPORAL_API TempoMetric metric_at (BBT_Argument const &, bool can_match = true) const; LIBTEMPORAL_API TempoMetric metric_at (BBT_Argument const &, bool can_match = true) const;
LIBTEMPORAL_API TempoMapCutBuffer* cut (timepos_t const & start, timepos_t const & end); LIBTEMPORAL_API TempoMapCutBuffer* cut (timepos_t const & start, timepos_t const & end, bool ripple);
LIBTEMPORAL_API TempoMapCutBuffer* copy (timepos_t const & start, timepos_t const & end); LIBTEMPORAL_API TempoMapCutBuffer* copy (timepos_t const & start, timepos_t const & end);
LIBTEMPORAL_API void paste (TempoMapCutBuffer const &, timepos_t const & position, bool ripple); LIBTEMPORAL_API void paste (TempoMapCutBuffer const &, timepos_t const & position, bool ripple);
@ -1137,7 +1137,7 @@ class /*LIBTEMPORAL_API*/ TempoMap : public PBD::StatefulDestructible
void reset_section (Points::iterator& begin, Points::iterator& end, superclock_t, TempoMetric& metric); void reset_section (Points::iterator& begin, Points::iterator& end, superclock_t, TempoMetric& metric);
TempoMapCutBuffer* cut_copy (timepos_t const & start, timepos_t const & end, bool copy); TempoMapCutBuffer* cut_copy (timepos_t const & start, timepos_t const & end, bool copy, bool ripple);
/* These are not really const, but the lookup tables are marked mutable /* These are not really const, but the lookup tables are marked mutable
* to allow time domain conversions to store their results while being * to allow time domain conversions to store their results while being