OpenShot Audio Library | OpenShotAudio: juce_LAMEEncoderAudioFormat.h Source File

OpenShot Audio Library | OpenShotAudio 0.4.0

Loading...
Searching...
No Matches
juce_LAMEEncoderAudioFormat.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#if JUCE_USE_LAME_AUDIO_FORMAT || DOXYGEN
30
31//==============================================================================
47class JUCE_API LAMEEncoderAudioFormat : public AudioFormat
48{
49public:
53 LAMEEncoderAudioFormat (const File& lameExecutableToUse);
54 ~LAMEEncoderAudioFormat();
55
56 bool canHandleFile (const File&);
57 Array<int> getPossibleSampleRates();
58 Array<int> getPossibleBitDepths();
59 bool canDoStereo();
60 bool canDoMono();
61 bool isCompressed();
62 StringArray getQualityOptions();
63
64 AudioFormatReader* createReaderFor (InputStream*, bool deleteStreamIfOpeningFails);
65
66 AudioFormatWriter* createWriterFor (OutputStream*, double sampleRateToUse,
67 unsigned int numberOfChannels, int bitsPerSample,
68 const StringPairArray& metadataValues, int qualityOptionIndex);
69 using AudioFormat::createWriterFor;
70
71private:
72 File lameApp;
73 class Writer;
74
75 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LAMEEncoderAudioFormat)
76};
77
78#endif
79
80} // namespace juce