AudioFormatManager Class Reference
juce_audio_formats » format

A class for keeping a list of available audio formats, and for deciding which one to use to open a given file. More...

## Public Member Functions

| AudioFormatManager ()
| Creates an empty format manager. More...
| ~AudioFormatManager ()
| Destructor. More...
void | registerFormat (AudioFormat *newFormat, bool makeThisTheDefaultFormat)
| Adds a format to the manager's list of available file types. More...
void | registerBasicFormats ()
| Handy method to make it easy to register the formats that come with JUCE. More...
void | clearFormats ()
| Clears the list of known formats. More...
int | getNumKnownFormats () const
| Returns the number of currently registered file formats. More...
AudioFormat * | getKnownFormat (int index) const
| Returns one of the registered file formats. More...
AudioFormat ** | begin () noexcept
| Iterator access to the list of known formats. More...
AudioFormat *const * | begin () const noexcept
| Iterator access to the list of known formats. More...
AudioFormat ** | end () noexcept
| Iterator access to the list of known formats. More...
AudioFormat *const * | end () const noexcept
| Iterator access to the list of known formats. More...
AudioFormat * | findFormatForFileExtension (const String &fileExtension) const
| Looks for which of the known formats is listed as being for a given file extension. More...
AudioFormat * | getDefaultFormat () const
| Returns the format which has been set as the default one. More...
String | getWildcardForAllFormats () const
| Returns a set of wildcards for file-matching that contains the extensions for all known formats. More...
AudioFormatReader * | createReaderFor (const File &audioFile)
| Searches through the known formats to try to create a suitable reader for this file. More...
AudioFormatReader * | createReaderFor (InputStream *audioFileStream)
| Searches through the known formats to try to create a suitable reader for this stream. More...

## Detailed Description

A class for keeping a list of available audio formats, and for deciding which one to use to open a given file.

After creating an AudioFormatManager object, you should call registerFormat() or registerBasicFormats() to give it a list of format types that it can use.

See also
  AudioFormat

## Constructor & Destructor Documentation

## AudioFormatManager()

AudioFormatManager::AudioFormatManager | ( |  | ) |

Creates an empty format manager.

Before it'll be any use, you'll need to call registerFormat() with all the formats you want it to be able to recognise.

## ~AudioFormatManager()

AudioFormatManager::~AudioFormatManager | ( |  | ) |

Destructor.

## Member Function Documentation

## registerFormat()

void AudioFormatManager::registerFormat | ( | AudioFormat * | newFormat,
|  | bool | makeThisTheDefaultFormat
| ) |  |

Adds a format to the manager's list of available file types.

The object passed-in will be deleted by this object, so don't keep a pointer to it!

If makeThisTheDefaultFormat is true, then the getDefaultFormat() method will return this one when called.

## registerBasicFormats()

void AudioFormatManager::registerBasicFormats | ( |  | ) |

Handy method to make it easy to register the formats that come with JUCE.

This will add WAV and AIFF to the list, along with any other formats enabled in either the Projucer or your application's AppConfig.h.

## clearFormats()

void AudioFormatManager::clearFormats | ( |  | ) |

Clears the list of known formats.

## getNumKnownFormats()

int AudioFormatManager::getNumKnownFormats | ( |  | ) | const

Returns the number of currently registered file formats.

## getKnownFormat()

AudioFormat* AudioFormatManager::getKnownFormat | ( | int | index | ) | const

Returns one of the registered file formats.

## begin() [1/2]

AudioFormat** AudioFormatManager::begin | ( |  | ) |

noexcept

Iterator access to the list of known formats.

## begin() [2/2]

AudioFormat* const* AudioFormatManager::begin | ( |  | ) | const

noexcept

Iterator access to the list of known formats.

## end() [1/2]

AudioFormat** AudioFormatManager::end | ( |  | ) |

noexcept

Iterator access to the list of known formats.

## end() [2/2]

AudioFormat* const* AudioFormatManager::end | ( |  | ) | const

noexcept

Iterator access to the list of known formats.

## findFormatForFileExtension()

AudioFormat* AudioFormatManager::findFormatForFileExtension | ( | const String & | fileExtension | ) | const

Looks for which of the known formats is listed as being for a given file extension.

The extension may have a dot before it, so e.g. ".wav" or "wav" are both ok.

## getDefaultFormat()

AudioFormat* AudioFormatManager::getDefaultFormat | ( |  | ) | const

Returns the format which has been set as the default one.

You can set a format as being the default when it is registered. It's useful when you want to write to a file, because the best format may change between platforms, e.g. AIFF is preferred on the Mac, WAV on Windows.

If none has been set as the default, this method will just return the first one in the list.

## getWildcardForAllFormats()

String AudioFormatManager::getWildcardForAllFormats | ( |  | ) | const

Returns a set of wildcards for file-matching that contains the extensions for all known formats.

E.g. if might return "*.wav;*.aiff" if it just knows about wavs and aiffs.

## createReaderFor() [1/2]

AudioFormatReader* AudioFormatManager::createReaderFor | ( | const File & | audioFile | ) |

Searches through the known formats to try to create a suitable reader for this file.

If none of the registered formats can open the file, it'll return nullptr. It's the caller's responsibility to delete the reader that is returned.

## createReaderFor() [2/2]

AudioFormatReader* AudioFormatManager::createReaderFor | ( | InputStream * | audioFileStream | ) |

Searches through the known formats to try to create a suitable reader for this stream.

The stream object that is passed-in will be deleted by this method or by the reader that is returned, so the caller should not keep any references to it.

The stream that is passed-in must be capable of being repositioned so that all the formats can have a go at opening it.

If none of the registered formats can open the stream, it'll return nullptr. If it returns a reader, it's the caller's responsibility to delete the reader.

The documentation for this class was generated from the following file:

- juce_AudioFormatManager.h