| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the JUCE library.
 -    Copyright (c) 2017 - ROLI Ltd.
 - 
 -    JUCE is an open source library subject to commercial or open-source
 -    licensing.
 - 
 -    By using JUCE, you agree to the terms of both the JUCE 5 End-User License
 -    Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
 -    27th April 2017).
 - 
 -    End User License Agreement: www.juce.com/juce-5-licence
 -    Privacy Policy: www.juce.com/juce-5-privacy-policy
 - 
 -    Or: You may also use this code under the terms of the GPL v3 (see
 -    www.gnu.org/licenses).
 - 
 -    JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
 -    EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
 -    DISCLAIMED.
 - 
 -   ==============================================================================
 - */
 - 
 - namespace juce
 - {
 - 
 - #if JUCE_USE_LAME_AUDIO_FORMAT || defined (DOXYGEN)
 - 
 - //==============================================================================
 - /**
 -     An AudioFormat class which can use an installed version of the LAME mp3
 -     encoder to encode a file.
 - 
 -     This format can't read MP3s, it just writes them. Internally, the
 -     AudioFormatWriter object that is returned writes the incoming audio data
 -     to a temporary WAV file, and then when the writer is deleted, it invokes
 -     the LAME executable to convert the data to an MP3, whose data is then
 -     piped into the original OutputStream that was used when first creating
 -     the writer.
 - 
 -     @see AudioFormat
 - 
 -     @tags{Audio}
 - */
 - class JUCE_API  LAMEEncoderAudioFormat    : public AudioFormat
 - {
 - public:
 -     /** Creates a LAMEEncoderAudioFormat that expects to find a working LAME
 -         executable at the location given.
 -     */
 -     LAMEEncoderAudioFormat (const File& lameExecutableToUse);
 -     ~LAMEEncoderAudioFormat();
 - 
 -     bool canHandleFile (const File&);
 -     Array<int> getPossibleSampleRates();
 -     Array<int> getPossibleBitDepths();
 -     bool canDoStereo();
 -     bool canDoMono();
 -     bool isCompressed();
 -     StringArray getQualityOptions();
 - 
 -     AudioFormatReader* createReaderFor (InputStream*, bool deleteStreamIfOpeningFails);
 - 
 -     AudioFormatWriter* createWriterFor (OutputStream*, double sampleRateToUse,
 -                                         unsigned int numberOfChannels, int bitsPerSample,
 -                                         const StringPairArray& metadataValues, int qualityOptionIndex);
 -     using AudioFormat::createWriterFor;
 - 
 - private:
 -     File lameApp;
 -     class Writer;
 - 
 -     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LAMEEncoderAudioFormat)
 - };
 - 
 - #endif
 - 
 - } // namespace juce
 
 
  |