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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_FileUtilities.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
14bool isMidiFile (const juce::File&);
15bool isTracktionEditFile (const juce::File&);
16bool isTracktionArchiveFile (const juce::File&);
17bool isTracktionProjectFile (const juce::File&);
18bool isTracktionPresetFile (const juce::File&);
19
20const char* const projectFileSuffix = ".tracktion";
21const char* const editFileSuffix = ".tracktionedit";
22const char* const legacyEditFileSuffix = ".trkedit";
23const char* const archiveFileSuffix = ".trkarch";
24
25const char* const soundFileWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf";
26const char* const soundFileAndMidiWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.mid;*.midi;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf";
27const char* const midiFileWildCard = "*.midi;*.mid";
28
29const char* const soundFileExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf";
30const char* const soundFileAndMidiExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf;midi;mid";
31const char* const midiFileExtensions = "midi;mid";
32
33const char* const keyMapWildCard = "*.tracktionkeys";
34const char* const keyMapSuffix = ".tracktionkeys";
35
36const char* const customControllerFileSuffix = ".trkctrlr";
37const char* const customProgramSetWildcard = "*.trkmidi;*.midnam";
38const char* const customProgramSetFileSuffix = ".trkmidi";
39const char* const presetFileSuffix = ".trkpreset";
40const char* const rackFileSuffix = ".trkrack";
41const char* const scriptFileSuffix = ".tracktionscript";
42const char* const grooveTemplateSuffix = ".trkgroove";
43const char* const grooveTemplateWildCard = "*.trkgroove";
44
45//==============================================================================
46juce::File getNonExistentSiblingWithIncrementedNumberSuffix (const juce::File&, bool addHashSymbol);
47
48
49//==============================================================================
59
60//==============================================================================
62{
63 enum PreferredLayout
64 {
65 sameTrack,
66 consecutiveTracks,
67 };
68
69 PreferredLayout preferredLayout = sameTrack;
71
73
75 static juce::var create (const juce::Array<juce::File>&, PreferredLayout peferredLayout);
76 static juce::var create (const juce::File& file, PreferredLayout peferredLayout);
77};
78
79}} // namespace tracktion { inline namespace engine
bool deleteRecursively(bool followSymlinks=false) const
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)