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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_Exportable.h
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
14//==============================================================================
22{
23public:
24 virtual ~Exportable() = default;
25
26 //==============================================================================
28 {
29 ProjectItemID itemID;
30 double firstTimeUsed, lengthUsed;
31
32 bool operator== (const ReferencedItem& other) const { return firstTimeUsed == other.firstTimeUsed
33 && lengthUsed == other.lengthUsed
34 && itemID == other.itemID; }
35 bool operator!= (const ReferencedItem& other) const { return ! operator== (other); }
36 };
37
38 virtual juce::Array<ReferencedItem> getReferencedItems() = 0;
39
40 virtual void reassignReferencedItem (const ReferencedItem&,
41 ProjectItemID newID,
42 double newStartTime) = 0;
43
44 //==============================================================================
47};
48
49}} // namespace tracktion { inline namespace engine
The Tracktion Edit class!
An interface for objects within an edit that can be exported.
static juce::Array< Exportable * > addAllExportables(Edit &)
Returns all the Exportables contained in an Edit.
An ID representing one of the items in a Project.