Audacity 3.2.0
|
#include "MixAndRender.h"
#include "BasicUI.h"
#include "Mix.h"
#include "RealtimeEffectList.h"
#include "StretchingSequence.h"
#include "WaveTrack.h"
#include "RealtimeEffectState.h"
#include "Project.h"
Go to the source code of this file.
Typedefs | |
using | WaveTrackConstArray = std::vector< std::shared_ptr< const WaveTrack > > |
Functions | |
Track::Holder | MixAndRender (const TrackIterRange< const WaveTrack > &trackRange, const Mixer::WarpOptions &warpOptions, const wxString &newTrackName, WaveTrackFactory *trackFactory, 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... | |
std::vector< MixerOptions::StageSpecification > | GetEffectStages (const WaveTrack &track) |
using WaveTrackConstArray = std::vector < std::shared_ptr < const WaveTrack > > |
Definition at line 19 of file MixAndRender.cpp.
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().
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().
|
static |
Definition at line 206 of file MixAndRender.cpp.
|
static |
Definition at line 211 of file MixAndRender.cpp.
|
static |
Definition at line 216 of file MixAndRender.cpp.
|
static |
Definition at line 221 of file MixAndRender.cpp.