![]() |
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().