openshot-audio  0.1.6
juce_AudioFormatManager.h
Go to the documentation of this file.
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2015 - ROLI Ltd.
6 
7  Permission is granted to use this software under the terms of either:
8  a) the GPL v2 (or any later version)
9  b) the Affero GPL v3
10 
11  Details of these licenses can be found at: www.gnu.org/licenses
12 
13  JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15  A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 
17  ------------------------------------------------------------------------------
18 
19  To release a closed-source product which uses JUCE, commercial licenses are
20  available: visit www.juce.com for more information.
21 
22  ==============================================================================
23 */
24 
25 #ifndef JUCE_AUDIOFORMATMANAGER_H_INCLUDED
26 #define JUCE_AUDIOFORMATMANAGER_H_INCLUDED
27 
28 
29 //==============================================================================
40 {
41 public:
42  //==============================================================================
49 
52 
53  //==============================================================================
62  void registerFormat (AudioFormat* newFormat,
63  bool makeThisTheDefaultFormat);
64 
69  void registerBasicFormats();
70 
72  void clearFormats();
73 
75  int getNumKnownFormats() const;
76 
78  AudioFormat* getKnownFormat (int index) const;
79 
81  AudioFormat** begin() const noexcept { return knownFormats.begin(); }
82 
84  AudioFormat** end() const noexcept { return knownFormats.end(); }
85 
91  AudioFormat* findFormatForFileExtension (const String& fileExtension) const;
92 
102  AudioFormat* getDefaultFormat() const;
103 
109  String getWildcardForAllFormats() const;
110 
111  //==============================================================================
118  AudioFormatReader* createReaderFor (const File& audioFile);
119 
132  AudioFormatReader* createReaderFor (InputStream* audioFileStream);
133 
134 private:
135  //==============================================================================
136  OwnedArray<AudioFormat> knownFormats;
137  int defaultFormatIndex;
138 
140 };
141 
142 
143 #endif // JUCE_AUDIOFORMATMANAGER_H_INCLUDED
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_InputStream.h:41
Definition: juce_String.h:43
AudioFormat ** end() const noexcept
Definition: juce_AudioFormatManager.h:84
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_AudioFormatReader.h:38
Definition: juce_AudioFormat.h:36
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_AudioFormatManager.h:39
Definition: juce_File.h:45
AudioFormat ** begin() const noexcept
Definition: juce_AudioFormatManager.h:81