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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_TemporaryFileManager.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
23{
24public:
25 //==============================================================================
30
32
33 //==============================================================================
35 bool wasTempFolderSuccessfullyCreated() const;
36
38 bool isDiskSpaceDangerouslyLow() const;
39
41 int64_t getMaxSpaceAllowedForTempFiles() const;
42
44 int getMaxNumTempFiles() const;
45
47 void cleanUp();
48
50 const juce::File& getTempDirectory() const;
51
53 bool setTempDirectory (const juce::File& newFile);
54
56 void ressetToDefaultLocation();
57
59 juce::File getThumbnailsFolder() const;
60
62 juce::File getTempFile (const juce::String& filename) const;
63
65 juce::File getUniqueTempFile (const juce::String& prefix, const juce::String& ext) const;
66
67 //==============================================================================
69 static AudioFile getFileForCachedClipRender (const AudioClipBase&, HashCode);
70
72 static AudioFile getFileForCachedCompRender (const AudioClipBase&, HashCode);
73
75 static AudioFile getFileForCachedFileRender (Edit&, HashCode hash);
76
78 static juce::File getFreezeFileForDevice (Edit&, OutputDevice&);
79
81 static juce::String getDeviceIDFromFreezeFile (Edit&, const juce::File& deviceFreezeFile);
82
84 static juce::File getFreezeFileForTrack (const AudioTrack&);
85
87 static juce::Array<juce::File> getFrozenTrackFiles (Edit&);
88
90 static void purgeOrphanFreezeAndProxyFiles (Edit&);
91
93 void purgeOrphanEditTempFolders (ProjectManager&);
94
95 //==============================================================================
96private:
97 Engine& engine;
98 juce::File tempDir;
99
100 void updateDir();
101
103};
104
105}} // namespace tracktion { inline namespace engine
Base class for Clips that produce some kind of audio e.g.
The Tracktion Edit class!
The Engine is the central class for all tracktion sessions.
Base class for audio or midi output devices, to which a track's output can be sent.
Holds info about where temp files should go, and tidies up old ones when needed.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
typedef int64_t