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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_ExportJob.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//==============================================================================
18{
19public:
20 enum class CompressionLevel
21 {
22 lossless = 0,
23 highQuality,
24 mediumQuality,
25 lowestQuality,
26 uncompressed
27 };
28
30 const juce::File& destDir,
31 const Project::Ptr& newProject,
32 const Project::Ptr& srcProject,
34 double handleSize_,
35 bool keepEntireFiles,
36 TracktionArchiveFile::CompressionType,
37 juce::Array<juce::File>& filesForDeletion,
38 juce::StringArray& failedFiles,
39 bool includeLibraryFiles,
40 bool includeClips);
41
42 ~ExportJob() override;
43
44 //==============================================================================
45 JobStatus runJob() override;
46 float getCurrentTaskProgress() override;
47
48private:
49 Edit* edit = nullptr;
50 float progress = 0;
51 juce::File destDir;
52 Project::Ptr newProject, srcProject;
53 double handleSize = 0;
54 bool keepEntireFiles = false;
55 TracktionArchiveFile::CompressionType compressionType;
56 TracktionArchiveFile* archive = nullptr;
57 juce::Array<juce::File>& filesForDeletion;
59 juce::StringArray& failedFiles;
60 bool includeLibraryFiles = false;
61 bool includeClips = false;
62
63 void copyEditFilesToTempDir();
64 void copyProjectFilesToTempDir();
65 void createArchiveFromTempFiles();
66
68};
69
70}} // namespace tracktion { inline namespace engine
The Tracktion Edit class!
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)