Audacity 3.2.0
|
Use this object to copy the input tracks to tentative outputTracks. More...
#include <EffectOutputTracks.h>
Public Types | |
using | TimeInterval = std::pair< double, double > |
Public Member Functions | |
EffectOutputTracks (TrackList &tracks, EffectType effectType, std::optional< TimeInterval > effectTimeInterval, bool allSyncLockSelected=false, bool stretchSyncLocked=false) | |
EffectOutputTracks (const EffectOutputTracks &)=delete | |
~EffectOutputTracks () | |
Track * | AddToOutputTracks (const std::shared_ptr< Track > &t) |
Use this to add an output track, not corresponding to an input. More... | |
const Track * | GetMatchingInput (const Track &outTrack) const |
Gets the matching input track for the given output track if it finds its match, else nullptr. More... | |
void | Commit () |
Replace input tracks with temporaries only on commit. More... | |
TrackList & | Get () |
Expose the output track list for iterations or even erasures. More... | |
Static Public Member Functions | |
static void | IncEffectCounter () |
Static Public Attributes | |
static int | nEffectsDone = 0 |
Private Attributes | |
TrackList & | mTracks |
const EffectType | mEffectType |
std::vector< Track * > | mIMap |
std::vector< Track * > | mOMap |
std::shared_ptr< TrackList > | mOutputTracks |
Use this object to copy the input tracks to tentative outputTracks.
Definition at line 28 of file EffectOutputTracks.h.
using EffectOutputTracks::TimeInterval = std::pair<double, double> |
Definition at line 35 of file EffectOutputTracks.h.
EffectOutputTracks::EffectOutputTracks | ( | TrackList & | tracks, |
EffectType | effectType, | ||
std::optional< TimeInterval > | effectTimeInterval, | ||
bool | allSyncLockSelected = false , |
||
bool | stretchSyncLocked = false |
||
) |
effectTimeInterval | if given, and any copied tracks have clips with non-unit stretch intersecting that interval, then in the copies those clips are split, and new clips bounded by the interval, with the stretches applied, are inserted. |
allSyncLockSelected | if true, unselected tracks that are sync-locked with a selected track are copied too |
stretchSyncLocked | if false, do not apply the stretch interval to any unselected WaveTrack that is copied |
!effectTimeInterval.has_value() || effectTimeInterval->first <= effectTimeInterval->second
Definition at line 20 of file EffectOutputTracks.cpp.
References TrackList::Any(), TrackList::Create(), TrackList::GetOwner(), Track::GetSelected(), TimeStretching::HasPitchOrSpeed(), SyncLock::IsSelectedOrSyncLockSelected(), mIMap, mOMap, mOutputTracks, mTracks, BasicUI::SplitProgress(), and TimeStretching::WithClipRenderingProgress().
|
delete |
|
default |
Use this to add an output track, not corresponding to an input.
Definition at line 81 of file EffectOutputTracks.cpp.
References mIMap, mOMap, and mOutputTracks.
Referenced by NyquistBase::ProcessOne().
void EffectOutputTracks::Commit | ( | ) |
Replace input tracks with temporaries only on commit.
Definition at line 103 of file EffectOutputTracks.cpp.
References TrackList::AppendOne(), EffectTypeAnalyze, EffectTypeNone, mEffectType, mIMap, mOMap, mOutputTracks, mTracks, nEffectsDone, TrackList::Remove(), and TrackList::ReplaceOne().
|
inline |
Expose the output track list for iterations or even erasures.
Definition at line 80 of file EffectOutputTracks.h.
Referenced by NyquistBase::ProcessOne().
Gets the matching input track for the given output track if it finds its match, else nullptr.
Definition at line 92 of file EffectOutputTracks.cpp.
Referenced by NyquistBase::ProcessOne().
|
inlinestatic |
Definition at line 33 of file EffectOutputTracks.h.
Referenced by SelectTracksCommand::Apply().
|
private |
Definition at line 84 of file EffectOutputTracks.h.
Referenced by Commit().
|
private |
mIMap.size() == mOutputTracks->Size()
mIMap.size() == mOMap.size()
Definition at line 89 of file EffectOutputTracks.h.
Referenced by AddToOutputTracks(), Commit(), EffectOutputTracks(), and GetMatchingInput().
|
private |
Definition at line 90 of file EffectOutputTracks.h.
Referenced by AddToOutputTracks(), Commit(), EffectOutputTracks(), and GetMatchingInput().
|
private |
Definition at line 91 of file EffectOutputTracks.h.
Referenced by AddToOutputTracks(), Commit(), and EffectOutputTracks().
|
private |
Definition at line 83 of file EffectOutputTracks.h.
Referenced by Commit(), and EffectOutputTracks().
|
static |
Definition at line 32 of file EffectOutputTracks.h.
Referenced by Commit(), and NyquistBase::Process().