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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_RexFileFormat.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
11#if TRACKTION_ENABLE_REX
12
13namespace tracktion { inline namespace engine
14{
15
16class RexAudioFormat : public juce::AudioFormat
17{
18public:
19 RexAudioFormat();
20 ~RexAudioFormat();
21
22 juce::Array<int> getPossibleSampleRates() override { return {}; }
23 juce::Array<int> getPossibleBitDepths() override { return {}; }
24
25 bool canDoStereo() override { return true; }
26 bool canDoMono() override { return true; }
27 bool isCompressed() override { return true; }
28
29 juce::AudioFormatReader* createReaderFor (juce::InputStream*, bool deleteStreamIfOpeningFails) override;
30 juce::AudioFormatWriter* createWriterFor (juce::OutputStream*, double sampleRateToUse,
31 unsigned int numberOfChannels, int bitsPerSample,
32 const juce::StringPairArray& metadataValues, int qualityOptionIndex) override;
33
34 static const char* const rexTempo;
35 static const char* const rexDenominator;
36 static const char* const rexNumerator;
37 static const char* const rexBeatPoints;
38
39 static juce::String getErrorLoadingDLL();
40
41private:
43};
44
45}} // namespace tracktion { inline namespace engine
46
47#endif
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)