Onsens  1.0
This is C++ game about bitwise logic.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
sf::SoundFileFactory Class Reference

Manages and instantiates sound file readers and writers. More...

#include <SoundFileFactory.hpp>

Static Public Member Functions

template<typename T >
static void registerReader ()
 Register a new reader. More...
 
template<typename T >
static void unregisterReader ()
 Unregister a reader. More...
 
template<typename T >
static void registerWriter ()
 Register a new writer. More...
 
template<typename T >
static void unregisterWriter ()
 Unregister a writer. More...
 
static SoundFileReadercreateReaderFromFilename (const std::string &filename)
 Instantiate the right reader for the given file on disk. More...
 
static SoundFileReadercreateReaderFromMemory (const void *data, std::size_t sizeInBytes)
 Instantiate the right codec for the given file in memory. More...
 
static SoundFileReadercreateReaderFromStream (InputStream &stream)
 Instantiate the right codec for the given file in stream. More...
 
static SoundFileWritercreateWriterFromFilename (const std::string &filename)
 Instantiate the right writer for the given file on disk. More...
 

Detailed Description

Manages and instantiates sound file readers and writers.

This class is where all the sound file readers and writers are registered.

You should normally only need to use its registration and unregistration functions; readers/writers creation and manipulation are wrapped into the higher-level classes sf::InputSoundFile and sf::OutputSoundFile.

To register a new reader (writer) use the sf::SoundFileFactory::registerReader (registerWriter) static function. You don't have to call the unregisterReader (unregisterWriter) function, unless you want to unregister a format before your application ends (typically, when a plugin is unloaded).

Usage example:

sf::SoundFileFactory::registerReader<MySoundFileReader>();
sf::SoundFileFactory::registerWriter<MySoundFileWriter>();
See also
sf::InputSoundFile, sf::OutputSoundFile, sf::SoundFileReader, sf::SoundFileWriter

Definition at line 46 of file SoundFileFactory.hpp.

Member Function Documentation

◆ createReaderFromFilename()

static SoundFileReader * sf::SoundFileFactory::createReaderFromFilename ( const std::string &  filename)
static

Instantiate the right reader for the given file on disk.

It's up to the caller to release the returned reader

Parameters
filenamePath of the sound file
Returns
A new sound file reader that can read the given file, or null if no reader can handle it
See also
createReaderFromMemory, createReaderFromStream

◆ createReaderFromMemory()

static SoundFileReader * sf::SoundFileFactory::createReaderFromMemory ( const void *  data,
std::size_t  sizeInBytes 
)
static

Instantiate the right codec for the given file in memory.

It's up to the caller to release the returned reader

Parameters
dataPointer to the file data in memory
sizeInBytesTotal size of the file data, in bytes
Returns
A new sound file codec that can read the given file, or null if no codec can handle it
See also
createReaderFromFilename, createReaderFromStream

◆ createReaderFromStream()

static SoundFileReader * sf::SoundFileFactory::createReaderFromStream ( InputStream stream)
static

Instantiate the right codec for the given file in stream.

It's up to the caller to release the returned reader

Parameters
streamSource stream to read from
Returns
A new sound file codec that can read the given file, or null if no codec can handle it
See also
createReaderFromFilename, createReaderFromMemory

◆ createWriterFromFilename()

static SoundFileWriter * sf::SoundFileFactory::createWriterFromFilename ( const std::string &  filename)
static

Instantiate the right writer for the given file on disk.

It's up to the caller to release the returned writer

Parameters
filenamePath of the sound file
Returns
A new sound file writer that can write given file, or null if no writer can handle it

◆ registerReader()

template<typename T >
void sf::SoundFileFactory::registerReader
static

Register a new reader.

See also
unregisterReader

Definition at line 40 of file SoundFileFactory.inl.

◆ registerWriter()

template<typename T >
void sf::SoundFileFactory::registerWriter
static

Register a new writer.

See also
unregisterWriter

Definition at line 71 of file SoundFileFactory.inl.

◆ unregisterReader()

template<typename T >
void sf::SoundFileFactory::unregisterReader
static

Unregister a reader.

See also
registerReader

Definition at line 57 of file SoundFileFactory.inl.

◆ unregisterWriter()

template<typename T >
void sf::SoundFileFactory::unregisterWriter
static

Unregister a writer.

See also
registerWriter

Definition at line 88 of file SoundFileFactory.inl.


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