Safe Haskell | Safe-Inferred |
---|
Audio.TagLib
- taglib :: TagLib a -> IO a
- openFile :: FilePath -> TagLib FileId
- packStringTag :: SetStringTag -> FileId -> Text -> TagLib ()
- packIntTag :: SetIntTag -> FileId -> Int -> TagLib ()
- unpackStringTag :: GetStringTag -> FileId -> TagLib Text
- unpackIntTag :: GetIntTag -> FileId -> TagLib Int
- unpackIntAP :: GetIntAP -> FileId -> TagLib Int
- type SetStringTag = Ptr Tag -> CString -> IO ()
- type SetIntTag = Ptr Tag -> CInt -> IO ()
- type GetStringTag = Ptr Tag -> IO (Ptr CChar)
- type GetIntTag = Ptr Tag -> IO CInt
- type GetIntAP = Ptr AudioProperties -> IO CInt
- setTitle :: FileId -> Text -> TagLib ()
- setArtist :: FileId -> Text -> TagLib ()
- setAlbum :: FileId -> Text -> TagLib ()
- setComment :: FileId -> Text -> TagLib ()
- setGenre :: FileId -> Text -> TagLib ()
- setYear :: FileId -> Int -> TagLib ()
- setTrack :: FileId -> Int -> TagLib ()
- c_taglib_tag_set_title :: SetStringTag
- c_taglib_tag_set_artist :: SetStringTag
- c_taglib_tag_set_album :: SetStringTag
- c_taglib_tag_set_comment :: SetStringTag
- c_taglib_tag_set_genre :: SetStringTag
- c_taglib_tag_set_year :: SetIntTag
- c_taglib_tag_set_track :: SetIntTag
- getTitle :: FileId -> TagLib Text
- getArtist :: FileId -> TagLib Text
- getAlbum :: FileId -> TagLib Text
- getComment :: FileId -> TagLib Text
- getGenre :: FileId -> TagLib Text
- getYear :: FileId -> TagLib Int
- getTrack :: FileId -> TagLib Int
- c_taglib_tag_title :: GetStringTag
- c_taglib_tag_artist :: GetStringTag
- c_taglib_tag_album :: GetStringTag
- c_taglib_tag_comment :: GetStringTag
- c_taglib_tag_genre :: GetStringTag
- c_taglib_tag_year :: GetIntTag
- c_taglib_tag_track :: GetIntTag
- getLength :: FileId -> TagLib Int
- getBitrate :: FileId -> TagLib Int
- getSampleRate :: FileId -> TagLib Int
- getChannels :: FileId -> TagLib Int
- c_taglib_audioproperties_length :: GetIntAP
- c_taglib_audioproperties_bitrate :: GetIntAP
- c_taglib_audioproperties_samplerate :: GetIntAP
- c_taglib_audioproperties_channels :: GetIntAP
- newtype TagLib a = TagLib {}
- io :: IO a -> TagLib a
Documentation
taglib :: TagLib a -> IO aSource
Run a TagLib
block. Save and free any files
left open when the block is finished, and free
all strings produced by taglib.
openFile :: FilePath -> TagLib FileIdSource
Open a file and return a corresponding FileId
.
Internally, this grabs the Tag and AudioProperties
pointers to the TagLib_File.
packStringTag :: SetStringTag -> FileId -> Text -> TagLib ()Source
Given a IO
action which expects a Tag
pointer and CString
,
lifts it into an TagLib
action, expecting Text
.
packIntTag :: SetIntTag -> FileId -> Int -> TagLib ()Source
Given a IO
action which expects a Tag
pointer and CInt
,
lifts it into an TagLib
action, expecting a Int
.
unpackStringTag :: GetStringTag -> FileId -> TagLib TextSource
Given a IO
action which expects a Tag
pointer and
results in a CString
, lifts it into a TagLib
action,
resulting in Text
.
unpackIntTag :: GetIntTag -> FileId -> TagLib IntSource
Given a IO
action which expects a Tag
pointer and
results in a CInt
, lifts it into a TagLib
action,
resulting in Int
.
unpackIntAP :: GetIntAP -> FileId -> TagLib IntSource
Given a IO
action which expects a AudioProperties
pointer and
results in a CInt
, lifts it into a TagLib
action,
resulting in Int
.
setComment :: FileId -> Text -> TagLib ()Source
Set the comment field.
getComment :: FileId -> TagLib TextSource
Get the contents of the comment field.
getBitrate :: FileId -> TagLib IntSource
Retrieves the bitrate of the given file, in kb/s.
getSampleRate :: FileId -> TagLib IntSource
Retrieves the sample rate of the given file, in Hz.
getChannels :: FileId -> TagLib IntSource
Retrieves the number of channels in the given file.
Monad for performing TagLib operations