DrFlacImporter class
FLAC audio importer plugin using dr_flac.
Imports mono, stereo and surround sound files using the dr_
This plugins provides FlacAudioImporter, but note that this plugin doesn't handle CRC checks, corrupt or perverse FLAC streams, or broadcast streams.
Usage
This plugin depends on the Audio library and is built if MAGNUM_WITH_DRFLACAUDIOIMPORTER is enabled when building Magnum Plugins. To use as a dynamic plugin, load "DrFlacAudioImporter" via Corrade::
Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following:
set(MAGNUM_WITH_DRFLACAUDIOIMPORTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL) # So the dynamically loaded plugin gets built implicitly add_dependencies(your-app MagnumPlugins::DrFlacAudioImporter)
To use as a static plugin or as a dependency of another plugin with CMake, put FindMagnumPlugins.cmake into your modules/ directory, request the DrFlacAudioImporter component of the MagnumPlugins package and link to the MagnumPlugins::DrFlacAudioImporter target:
find_package(MagnumPlugins REQUIRED DrFlacAudioImporter) # ... target_link_libraries(your-app PRIVATE MagnumPlugins::DrFlacAudioImporter)
See Downloading and building plugins, Plugin usage with CMake and Loading and using plugins for more information.
Behavior and limitations
The files are imported in the following formats
- 8 bit-per-channel files are imported as BufferFormat::
Mono8, BufferFormat:: Stereo8, BufferFormat:: Quad8, BufferFormat:: Surround51Channel8, BufferFormat:: Surround61Channel8 or BufferFormat:: Surround71Channel8 - 16 bit-per-channel files are imported as BufferFormat::
Mono16, BufferFormat:: Stereo16, BufferFormat:: Quad16, BufferFormat:: Surround51Channel16, BufferFormat:: Surround61Channel16 or BufferFormat:: Surround71Channel16 - 24 bit-per-channel files are imported as BufferFormat::
MonoFloat, BufferFormat:: StereoFloat, BufferFormat:: Quad32, BufferFormat:: Surround51Channel32, BufferFormat:: Surround61Channel32 or BufferFormat:: Surround71Channel32
Although technically FLAC supports 32 bits per channel as well, not even the reference encoder supports that, which makes it impossible to verify whether dr_flac is capable of importing such files, and thus handling of such files is not implemented.
Base classes
- class AbstractImporter
- Base for audio importer plugins.
Constructors, destructors, conversion operators
- DrFlacImporter() deprecated in Git master explicit
- Default constructor.
-
DrFlacImporter(PluginManager::
AbstractManager& manager, const Containers:: StringView& plugin) explicit - Plugin manager constructor.
Function documentation
Magnum:: Audio:: DrFlacImporter:: DrFlacImporter() explicit
Default constructor.