monatone-0.4.0.1: Pure Haskell library for audio metadata parsing and writing
Safe HaskellNone
LanguageHaskell2010

Monatone.Metadata

Description

Main module for audio metadata parsing and representation.

This module provides the core types and functions for working with audio metadata across different formats (FLAC, MP3, OGG/Vorbis, Opus).

Synopsis

Documentation

data AudioFormat Source #

Supported audio formats

Constructors

FLAC 
OGG 
Opus 
MP3 
M4A 

data Codec Source #

Audio codec — the actual compression scheme, distinct from the container format (AudioFormat). A single container can carry different codecs (e.g. M4A holds either AAC or ALAC).

Constructors

CodecFLAC

FLAC lossless

CodecMP3

MPEG-1/2 Audio Layer III (lossy)

CodecVorbis

Ogg Vorbis (lossy)

CodecOpus

Opus (lossy)

CodecAAC

Advanced Audio Coding (lossy)

CodecALAC

Apple Lossless

Instances

Instances details
FromJSON Codec Source # 
Instance details

Defined in Monatone.Metadata

ToJSON Codec Source # 
Instance details

Defined in Monatone.Metadata

Read Codec Source # 
Instance details

Defined in Monatone.Metadata

Show Codec Source # 
Instance details

Defined in Monatone.Metadata

Methods

showsPrec :: Int -> Codec -> ShowS #

show :: Codec -> String #

showList :: [Codec] -> ShowS #

Eq Codec Source # 
Instance details

Defined in Monatone.Metadata

Methods

(==) :: Codec -> Codec -> Bool #

(/=) :: Codec -> Codec -> Bool #

Ord Codec Source # 
Instance details

Defined in Monatone.Metadata

Methods

compare :: Codec -> Codec -> Ordering #

(<) :: Codec -> Codec -> Bool #

(<=) :: Codec -> Codec -> Bool #

(>) :: Codec -> Codec -> Bool #

(>=) :: Codec -> Codec -> Bool #

max :: Codec -> Codec -> Codec #

min :: Codec -> Codec -> Codec #

data AlbumArtInfo Source #

Album art metadata without binary data (lightweight for scanning)

Instances

Instances details
Show AlbumArtInfo Source # 
Instance details

Defined in Monatone.Metadata

Eq AlbumArtInfo Source # 
Instance details

Defined in Monatone.Metadata

data AlbumArt Source #

Album art / attached picture (includes full binary data)

Instances

Instances details
Show AlbumArt Source # 
Instance details

Defined in Monatone.Metadata

Eq AlbumArt Source # 
Instance details

Defined in Monatone.Metadata

data AlbumArtUpdate Source #

How a write should treat embedded album art

Constructors

KeepExistingArt

carry any existing art through unchanged (including multiple pictures, verbatim)

SetAlbumArt AlbumArt

replace all existing art with this picture

RemoveAlbumArt

strip all embedded art

Instances

Instances details
Show AlbumArtUpdate Source # 
Instance details

Defined in Monatone.Metadata

Eq AlbumArtUpdate Source # 
Instance details

Defined in Monatone.Metadata

emptyMetadata :: AudioFormat -> Metadata Source #

Empty metadata with only format specified

emptyAudioProperties :: AudioProperties Source #

Empty audio properties

emptyMusicBrainzIds :: MusicBrainzIds Source #

Empty MusicBrainz IDs