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
40void AUDACITY_DLL_API MixAndRender(
41 const TrackIterRange<const WaveTrack> &trackRange,
42 const Mixer::WarpOptions &warpOptions,
43 const wxString &newTrackName,
45 double rate, sampleFormat format,
46 double startTime, double endTime,
47 std::shared_ptr<WaveTrack> &uLeft,
48 std::shared_ptr<WaveTrack> &uRight);
49
50enum ChannelName : int;
51using ChannelNames = const ChannelName *;
52
53AUDACITY_DLL_API
54std::vector<MixerOptions::StageSpecification>
55GetEffectStages(const WaveTrack &track);
56
57#endif
ChannelName
int format
Definition: ExportPCM.cpp:53
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 effec...
AUDACITY_DLL_API std::vector< MixerOptions::StageSpecification > GetEffectStages(const WaveTrack &track)
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
Used to create or clone a WaveTrack, with appropriate context from the project that will own the trac...
Definition: WaveTrack.h:620
A Track that contains audio waveform data.
Definition: WaveTrack.h:57
static RegisteredToolbarFactory factory
Immutable structure is an argument to Mixer's constructor.
Definition: MixerOptions.h:54
Range between two TrackIters, usable in range-for statements, and with Visit member functions.
Definition: Track.h:1167