OpenShot Library | libopenshot-audio  0.2.0
juce_FlacAudioFormat.h
1 
2 /** @weakgroup juce_audio_formats-codecs
3  * @{
4  */
5 /*
6  ==============================================================================
7 
8  This file is part of the JUCE library.
9  Copyright (c) 2017 - ROLI Ltd.
10 
11  JUCE is an open source library subject to commercial or open-source
12  licensing.
13 
14  By using JUCE, you agree to the terms of both the JUCE 5 End-User License
15  Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
16  27th April 2017).
17 
18  End User License Agreement: www.juce.com/juce-5-licence
19  Privacy Policy: www.juce.com/juce-5-privacy-policy
20 
21  Or: You may also use this code under the terms of the GPL v3 (see
22  www.gnu.org/licenses).
23 
24  JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
25  EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
26  DISCLAIMED.
27 
28  ==============================================================================
29 */
30 
31 namespace juce
32 {
33 
34 #if JUCE_USE_FLAC || defined (DOXYGEN)
35 
36 //==============================================================================
37 /**
38  Reads and writes the lossless-compression FLAC audio format.
39 
40  To compile this, you'll need to set the JUCE_USE_FLAC flag.
41 
42  @see AudioFormat
43 
44  @tags{Audio}
45 */
47 {
48 public:
49  //==============================================================================
51  ~FlacAudioFormat() override;
52 
53  //==============================================================================
54  Array<int> getPossibleSampleRates() override;
55  Array<int> getPossibleBitDepths() override;
56  bool canDoStereo() override;
57  bool canDoMono() override;
58  bool isCompressed() override;
59  StringArray getQualityOptions() override;
60 
61  //==============================================================================
62  AudioFormatReader* createReaderFor (InputStream* sourceStream,
63  bool deleteStreamIfOpeningFails) override;
64 
65  AudioFormatWriter* createWriterFor (OutputStream* streamToWriteTo,
66  double sampleRateToUse,
67  unsigned int numberOfChannels,
68  int bitsPerSample,
69  const StringPairArray& metadataValues,
70  int qualityOptionIndex) override;
71 private:
72  JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FlacAudioFormat)
73 };
74 
75 
76 #endif
77 
78 } // namespace juce
79 
80 /** @}*/
juce::StringArray
A special array for holding a list of strings.
Definition: juce_StringArray.h:38
juce::InputStream
The base class for streams that read data.
Definition: juce_InputStream.h:40
juce::FlacAudioFormat
Reads and writes the lossless-compression FLAC audio format.
Definition: juce_FlacAudioFormat.h:46
juce::AudioFormat
Subclasses of AudioFormat are used to read and write different audio file formats.
Definition: juce_AudioFormat.h:43
juce::Array< int >
JUCE_API
#define JUCE_API
This macro is added to all JUCE public class declarations.
Definition: juce_StandardHeader.h:143
juce::OutputStream
The base class for streams that write data to some kind of destination.
Definition: juce_OutputStream.h:41
juce::StringPairArray
A container for holding a set of strings which are keyed by another string.
Definition: juce_StringPairArray.h:38
juce::AudioFormatWriter
Writes samples to an audio file stream.
Definition: juce_AudioFormatWriter.h:48
juce::AudioFormatReader
Reads samples from an audio file stream.
Definition: juce_AudioFormatReader.h:48