OpenShot Audio Library | OpenShotAudio 0.4.0
juce_AiffAudioFormat.h
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
37class JUCE_API AiffAudioFormat : public AudioFormat
38{
39public:
40 //==============================================================================
43
45 ~AiffAudioFormat() override;
46
47 //==============================================================================
49 static const char* const appleOneShot;
51 static const char* const appleRootSet;
53 static const char* const appleRootNote;
55 static const char* const appleBeats;
57 static const char* const appleDenominator;
59 static const char* const appleNumerator;
61 static const char* const appleTag;
63 static const char* const appleKey;
64
65 //==============================================================================
66 Array<int> getPossibleSampleRates() override;
67 Array<int> getPossibleBitDepths() override;
68 bool canDoStereo() override;
69 bool canDoMono() override;
70
71 #if JUCE_MAC
72 bool canHandleFile (const File& fileToTest) override;
73 #endif
74
75 //==============================================================================
76 AudioFormatReader* createReaderFor (InputStream* sourceStream,
77 bool deleteStreamIfOpeningFails) override;
78
79 MemoryMappedAudioFormatReader* createMemoryMappedReader (const File&) override;
80 MemoryMappedAudioFormatReader* createMemoryMappedReader (FileInputStream*) override;
81
82 AudioFormatWriter* createWriterFor (OutputStream* streamToWriteTo,
83 double sampleRateToUse,
84 unsigned int numberOfChannels,
85 int bitsPerSample,
86 const StringPairArray& metadataValues,
87 int qualityOptionIndex) override;
89
90private:
91 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AiffAudioFormat)
92};
93
94} // namespace juce
static const char *const appleDenominator
static const char *const appleOneShot
static const char *const appleNumerator
static const char *const appleTag
static const char *const appleBeats
static const char *const appleRootSet
static const char *const appleKey
static const char *const appleRootNote
virtual AudioFormatWriter * createWriterFor(OutputStream *streamToWriteTo, double sampleRateToUse, unsigned int numberOfChannels, int bitsPerSample, const StringPairArray &metadataValues, int qualityOptionIndex)=0