Audacity 3.2.0
|
Go to the source code of this file.
Typedefs | |
using | ChannelNames = const ChannelName * |
Functions | |
EFFECTS_API Track::Holder | MixAndRender (const TrackIterRange< const WaveTrack > &trackRange, const Mixer::WarpOptions &warpOptions, const wxString &newTrackName, WaveTrackFactory *factory, double rate, sampleFormat format, double startTime, double endTime) |
Mixes together all input tracks, applying any envelopes, amplitude gain, panning, and real-time effects in the process. More... | |
EFFECTS_API std::vector< MixerOptions::StageSpecification > | GetEffectStages (const WaveTrack &track) |
using ChannelNames = const ChannelName * |
Definition at line 51 of file MixAndRender.h.
EFFECTS_API std::vector< MixerOptions::StageSpecification > GetEffectStages | ( | const WaveTrack & | track | ) |
Definition at line 171 of file MixAndRender.cpp.
References RealtimeEffectList::Get(), and settings().
Referenced by ExportPluginHelpers::CreateMixer(), MixAndRender(), and EffectStereoToMono::ProcessOne().
EFFECTS_API Track::Holder MixAndRender | ( | const TrackIterRange< const WaveTrack > & | trackRange, |
const Mixer::WarpOptions & | warpOptions, | ||
const wxString & | newTrackName, | ||
WaveTrackFactory * | factory, | ||
double | rate, | ||
sampleFormat | format, | ||
double | startTime, | ||
double | endTime | ||
) |
Mixes together all input tracks, applying any envelopes, amplitude gain, panning, and real-time effects in the process.
Takes one or more tracks as input; of all the WaveTrack s, it mixes them together, applying any envelopes, amplitude gain, panning, and real-time effects in the process. The resulting pair of tracks (stereo) are "rendered" and have no effects, gain, panning, or envelopes. Other sorts of tracks are ignored. If the start and end times passed are the same this is taken as meaning no explicit time range to process, and the whole occupied length of the input tracks is processed.
Channel group properties of the result are copied from the first input track, except that newTrackName
is applied when more than one track is mixed.
newTrackName | used only when there is more than one input track (one mono channel or a stereo pair); else the unique track's name is copied |
Definition at line 22 of file MixAndRender.cpp.
References IteratorRange< Iterator >::begin(), BasicUI::Cancelled, RealtimeEffectList::Clear(), WaveTrackFactory::Create(), StretchingSequence::Create(), Mixer::EffectiveFormat(), IteratorRange< Iterator >::empty(), BasicUI::Failed, anonymous_namespace{ExportPCM.cpp}::format, RealtimeEffectList::Get(), Mixer::GetBuffer(), GetEffectStages(), AudioGraph::IsMono(), BasicUI::MakeProgress(), Mixer::MixGetCurrentTime(), Mixer::Process(), BasicUI::Success, and XO().
Referenced by anonymous_namespace{TrackMenus.cpp}::DoMixAndRender(), EffectPreview(), and WaveTrackMenuTable::OnMergeStereo().