class
DrFlacImporterFLAC 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.