25 double startTime,
double stopTime,
26 unsigned numOutChannels,
size_t outBufferSize,
bool outInterleaved,
37 return std::make_unique<Mixer>(move(inputs),
42 numOutChannels, outBufferSize, outInterleaved,
51 const auto duration = t1 - t0;
std::vector< MixerOptions::StageSpecification > GetEffectStages(const WaveTrack &track)
declares abstract base class Track, TrackList, and iterators over TrackList
static ExportResult UpdateProgress(ExportProcessorDelegate &delegate, Mixer &mixer, double t0, double t1)
Sends progress update to delegate and retrieves state update from it. Typically used inside each expo...
static std::unique_ptr< Mixer > CreateMixer(const TrackList &tracks, bool selectionOnly, double startTime, double stopTime, unsigned numOutChannels, size_t outBufferSize, bool outInterleaved, double outRate, sampleFormat outFormat, MixerOptions::Downmix *mixerSpec)
virtual bool IsCancelled() const =0
virtual void OnProgress(double progress)=0
virtual bool IsStopped() const =0
static TrackIterRange< const WaveTrack > FindExportWaveTracks(const TrackList &tracks, bool selectedOnly)
Functions for doing the mixdown of the tracks.
std::vector< Input > Inputs
double MixGetCurrentTime()
Current time in seconds (unwarped, i.e. always between startTime and stopTime)
A matrix of booleans, one row per input channel, column per output.
static std::shared_ptr< StretchingSequence > Create(const PlayableSequence &, const ClipConstHolders &clips)
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
double EvalExportProgress(Mixer &mixer, double t0, double t1)
Immutable structure is an argument to Mixer's constructor.