Audacity 3.2.0
MixAndRender.h
Go to the documentation of this file.
1/**********************************************************************
2
3Audacity: A Digital Audio Editor
4
5MixAndRender.h
6@brief Generate mono or stereo track mixing other given tracks
7
8Paul Licameli split from Mix.h
9
10**********************************************************************/
11
12#ifndef __AUDACITY_MIX_AND_RENDER_H
13#define __AUDACITY_MIX_AND_RENDER_H
14
15#include "Mix.h"
16#include "SampleFormat.h"
17#include "Track.h"
18
19class WaveTrack;
21
22#include <memory>
23
42EFFECTS_API Track::Holder MixAndRender(
43 const TrackIterRange<const WaveTrack> &trackRange,
44 const Mixer::WarpOptions &warpOptions,
45 const wxString &newTrackName,
47 double rate, sampleFormat format,
48 double startTime, double endTime);
49
50enum ChannelName : int;
51using ChannelNames = const ChannelName *;
52
53EFFECTS_API
54std::vector<MixerOptions::StageSpecification>
55GetEffectStages(const WaveTrack &track);
56
57#endif
static RegisteredToolbarFactory factory
ChannelName
EFFECTS_API std::vector< MixerOptions::StageSpecification > GetEffectStages(const WaveTrack &track)
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 effec...
sampleFormat
The ordering of these values with operator < agrees with the order of increasing bit width.
Definition: SampleFormat.h:30
declares abstract base class Track, TrackList, and iterators over TrackList
std::shared_ptr< Track > Holder
Definition: Track.h:202
Used to create or clone a WaveTrack, with appropriate context from the project that will own the trac...
Definition: WaveTrack.h:870
A Track that contains audio waveform data.
Definition: WaveTrack.h:203
Immutable structure is an argument to Mixer's constructor.
Definition: MixerOptions.h:56
Range between two TrackIters, usable in range-for statements, and with Visit member functions.
Definition: Track.h:682