25#include "../LabelTrack.h"
56 return XO(
"Reverses the selected audio");
79 bool bGoodResult =
true;
84 trackRange.VisitWhile(bGoodResult,
87 [&](
double fraction){
return !
TrackProgress(count, fraction); };
91 auto len =
end - start;
93 if (!track.
Reverse(start, len, progress))
99 track.ChangeLabelsOnReverse(
mT0,
mT1);
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
std::shared_ptr< TrackList > mTracks
bool TrackProgress(int whichTrack, double frac, const TranslatableString &={}) const
Performs effect computation.
Use this object to copy the input tracks to tentative outputTracks.
static const ComponentInterfaceSymbol Symbol
ComponentInterfaceSymbol GetSymbol() const override
EffectType GetType() const override
Type determines how it behaves.
TranslatableString GetDescription() const override
bool Process(EffectInstance &instance, EffectSettings &settings) override
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
A LabelTrack is a Track that holds labels (LabelStruct).
static bool IsSelectedOrSyncLockSelected(const Track *pTrack)
Holds a msgid for the translation catalog; may also bind format arguments.
A Track that contains audio waveform data.
size_t NChannels() const override
May report more than one only when this is a leader track.
bool Reverse(sampleCount start, sampleCount len, const ProgressReport &report={})
sampleCount TimeToLongSamples(double t0) const
auto end(const Ptr< Type, BaseDeleter > &p)
Enables range-for.
BuiltinEffectsModule::Registration< EffectReverse > reg
Externalized state of a plug-in.