The taglib-api package

[Tags: bsd3, library]

Provides functions for reading and writing metadata for a variety of common audio formats. Currently supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files. It also handles management of taglib files and strings, automatically freeing allocations when computation is finished.


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3
Change logNone available
Dependenciesbase (==4.*), bytestring (>=0.9 && <0.11), containers (==0.5.*), mtl (==2.1.*), text (==0.11.*), transformers (>=0.2 && <0.4) [details]
LicenseBSD3
CopyrightCopyright 2013 Kyle Carter
AuthorKyle Carter
Maintainerkylcarte@gmail.com
CategoryAudio
UploadedFri May 24 05:05:36 UTC 2013 by KyleCarter
DistributionsNixOS:0.1.1.3
Downloads755 total (28 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
usepkgconfigUse pkg-config to check for library dependencies.EnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for taglib-api-0.1.1.2

taglib-api

An FFI layer over TagLib's C bindings that provides functions for reading and writing metadata for a variety of common audio formats.

It also manages taglib files and strings, automatically freeing allocations when computation is finished.

TagLib currently supports:

The library is split into two modules, Audio.TagLib, and Audio.TagLib.Internal.

Audio.TagLib provides a memory-managing interface. The function 'taglib' embeds a TagLib computation into the IO monad. Files may be opened with 'openFile', and their metadata read and written with the provided functions. When the block is finished, all open files are saved, and all memory allocated will be freed.

Audio.TagLib.Internal provides bindings for all functions necessary for manual management of TagLib memory. 'runTagLib' embeds a TagLib computation into the IO monad, but it takes an initial TagLibEnv and returns the final TagLibEnv along with the result of the computation.

Any changes made to audio files will not be saved unless 'cleanupFile' is called on their 'Ptr File'. Additionally, TagLib allocates space in order to return its string values, and these will remain allocated unless freed by the managed 'taglib' function, or by the manual 'freeTagLibStrings' function.