29 const auto duration =
settings.extra.GetDuration();
36 bool bGoodResult =
true;
39 outputs.Get().Any().VisitWhile(bGoodResult,
40 [&](
auto &&fallthrough){
return [&](
WaveTrack &track) {
41 if (!track.GetSelected())
47 if (!editClipCanMove &&
48 track.IsEmpty(
mT0,
mT1 + 1.0 / track.GetRate()) &&
50 mT0 + duration - (
mT1 -
mT0) - 1.0 / track.GetRate()))
53 XO(
"There is not enough room available to generate the audio"),
62 auto copy = track.EmptyCopy();
70 const auto &selectedRegion =
76 constexpr auto preserve =
true;
77 constexpr auto merge =
true;
79 selectedRegion.t0(), selectedRegion.t1(), *
copy, preserve,
94 t.SyncLockAdjust(
mT1,
mT0 + duration);
Contains declarations for TimeWarper, IdentityTimeWarper, ShiftTimeWarper, LinearTimeWarper,...
static Settings & settings()
bool GetEditClipsCanMove()
std::shared_ptr< TrackList > mTracks
const AudacityProject * FindProject() const
virtual EffectType GetType() const =0
Type determines how it behaves.
Performs effect computation.
Use this object to copy the input tracks to tentative outputTracks.
static int DoMessageBox(const EffectPlugin &plugin, const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={})
virtual bool GenerateTrack(const EffectSettings &settings, WaveTrack &tmp)=0
GenerateTrack() must be overridden by the actual generator class.
AUDACITY_DLL_API bool Process(EffectInstance &instance, EffectSettings &settings) override
Unit slope but with either a jump (pasting more) or a flat interval (pasting less)
static bool IsSyncLockSelected(const Track &track)
Abstract base class for an object holding data associated with points on a time axis.
NotifyingSelectedRegion selectedRegion
static ViewInfo & Get(AudacityProject &project)
A Track that contains audio waveform data.
void copy(const T *src, T *dst, int32_t n)
Externalized state of a plug-in.