tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_Exportable.cpp
Go to the documentation of this file.
1 /*
2 ,--. ,--. ,--. ,--.
3 ,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4 '-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5 | | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6 `---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8 Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9*/
10
11namespace tracktion { inline namespace engine
12{
13
15{
17
18 for (auto t : getAudioTracks (edit))
19 {
20 for (auto& c : getClipsOfTypeRecursive<Clip> (*t))
21 {
22 list.add (c);
23
24 if (auto plugins = c->getPluginList())
25 list.addArray (plugins->getPlugins());
26 }
27
28 for (auto s : t->getClipSlotList().getClipSlots())
29 if (auto c = s->getClip())
30 list.add (c);
31
32 list.addArray (t->pluginList.getPlugins());
33 }
34
35 for (auto rf : edit.getRackList().getTypes())
36 list.addArray (rf->getPlugins());
37
38 list.addArray (edit.getMasterPluginList().getPlugins());
39 list.removeAllInstancesOf (nullptr);
40
41 return list;
42}
43
44}} // namespace tracktion { inline namespace engine
void addArray(const Type *elementsToAdd, int numElementsToAdd)
int removeAllInstancesOf(ParameterType valueToRemove)
void add(const ElementType &newElement)
The Tracktion Edit class!
PluginList & getMasterPluginList() const noexcept
Returns the master PluginList.
RackTypeList & getRackList() const noexcept
Returns the RackTypeList which contains all the RackTypes for the Edit.
static juce::Array< Exportable * > addAllExportables(Edit &)
Returns all the Exportables contained in an Edit.
juce::Array< AudioTrack * > getAudioTracks(const Edit &edit)
Returns all the AudioTracks in an Edit.