24 const WaveTrack &track,
double t0,
double t1)
27 return std::any_of(clips.begin(), clips.end(), [&](
auto pClip) {
28 return pClip->IntersectsPlayRegion(t0, t1) && pClip->HasPitchOrSpeed();
37 std::move(
title),
XO(
"Rendering Clip"));
45 const auto maxEndTime = nextClip !=
nullptr ?
47 std::numeric_limits<double>::infinity();
49 const auto start = interval.
Start();
50 const auto end = interval.
End();
52 const auto expectedEndTime =
55 if (expectedEndTime > maxEndTime)
65 const std::optional<double> &oldTempo,
double newTempo)
67 for (
const auto pClip : track.
Intervals())
68 pClip->OnProjectTempoChange(oldTempo, newTempo);
Toolkit-neutral facade for basic user interface services.
DEFINE_ATTACHED_VIRTUAL_OVERRIDE(OnWaveTrackProjectTempoChange)
std::function< void(double)> ProgressReporter
An AudacityException with no visible message.
Holds a msgid for the translation catalog; may also bind format arguments.
static void WithCancellableProgress(std::function< void(const ProgressReporter &)> action, TranslatableString title, TranslatableString message)
A frequently useful convenience wraps a lambda and may throw this type.
This allows multiple clips to be a part of one WaveTrack.
double GetStretchRatio() const override
double Start() const override
double End() const override
void StretchRightTo(double to)
Sets from the right to the absolute time (if in expected range)
A Track that contains audio waveform data.
IntervalConstHolder GetNextInterval(const Interval &interval, PlaybackDirection searchDirection) const
WAVE_TRACK_API const TranslatableString defaultStretchRenderingTitle
WAVE_TRACK_API void WithClipRenderingProgress(std::function< void(const ProgressReporter &)> action, TranslatableString title=defaultStretchRenderingTitle)
WAVE_TRACK_API bool SetClipStretchRatio(const WaveTrack &track, WaveTrack::Interval &interval, double stretchRatio)
WAVE_TRACK_API bool HasPitchOrSpeed(const WaveTrack &track, double t0, double t1)
const char * end(const char *str) noexcept
For defining overrides of the method.