![]() |
Audacity 3.2.0
|
Go to the source code of this file.
Typedefs | |
using | ChannelNames = const ChannelName * |
Functions | |
void AUDACITY_DLL_API | MixAndRender (const TrackIterRange< const WaveTrack > &trackRange, const Mixer::WarpOptions &warpOptions, const wxString &newTrackName, WaveTrackFactory *factory, double rate, sampleFormat format, double startTime, double endTime, std::shared_ptr< WaveTrack > &uLeft, std::shared_ptr< WaveTrack > &uRight) |
Mixes together all input tracks, applying any envelopes, amplitude gain, panning, and real-time effects in the process. More... | |
AUDACITY_DLL_API std::vector< MixerOptions::StageSpecification > | GetEffectStages (const WaveTrack &track) |
using ChannelNames = const ChannelName * |
Definition at line 51 of file MixAndRender.h.
AUDACITY_DLL_API std::vector< MixerOptions::StageSpecification > GetEffectStages | ( | const WaveTrack & | track | ) |
Definition at line 207 of file MixAndRender.cpp.
References RealtimeEffectList::Get(), and settings().
Referenced by ExportPlugin::CreateMixer(), MixAndRender(), and EffectStereoToMono::ProcessOne().
void AUDACITY_DLL_API MixAndRender | ( | const TrackIterRange< const WaveTrack > & | trackRange, |
const Mixer::WarpOptions & | warpOptions, | ||
const wxString & | newTrackName, | ||
WaveTrackFactory * | factory, | ||
double | rate, | ||
sampleFormat | format, | ||
double | startTime, | ||
double | endTime, | ||
std::shared_ptr< WaveTrack > & | uLeft, | ||
std::shared_ptr< WaveTrack > & | uRight | ||
) |
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.
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 21 of file MixAndRender.cpp.
References IteratorRange< Iterator >::begin(), RefreshCode::Cancelled, TrackList::Channels(), RealtimeEffectList::Clear(), WaveTrackFactory::Create(), Mixer::EffectiveFormat(), IteratorRange< Iterator >::empty(), format, RealtimeEffectList::Get(), Mixer::GetBuffer(), GetEffectStages(), WaveTrackFactory::GetSampleBlockFactory(), BasicUI::MakeProgress(), Mixer::MixGetCurrentTime(), Track::MonoChannel, Mixer::Process(), size, BasicUI::Success, and XO().
Referenced by anonymous_namespace{TrackMenus.cpp}::DoMixAndRender(), and EffectBase::Preview().