|
| Network.MPD | | Portability | Haskell 98 | | Stability | alpha | | Maintainer | bsinclai@turing.une.edu.au |
|
|
|
|
|
| Description |
| MPD client library.
|
|
| Synopsis |
|
|
|
|
| Basic data types
|
|
|
Instances | |
|
|
|
| The MPDError type is used to signal errors, both from the MPD and
otherwise.
| | Constructors | | NoMPD | MPD not responding
| | TimedOut | The connection timed out
| | Custom String | Used for misc. errors
| | ACK ACKType String | ACK type and a message from the
server.
|
| Instances | |
|
|
|
| Represents various MPD errors (aka. ACKs).
| | Constructors | | InvalidArgument | Invalid argument passed (ACK 2)
| | InvalidPassword | Invalid password supplied (ACK 3)
| | Auth | Authentication required (ACK 4)
| | UnknownCommand | Unknown command (ACK 5)
| | FileNotFound | File or directory not found ACK 50)
| | PlaylistMax | Playlist at maximum size (ACK 51)
| | System | A system error (ACK 52)
| | PlaylistLoad | Playlist loading failed (ACK 53)
| | Busy | Update already running (ACK 54)
| | NotPlaying | An operation requiring playback
got interrupted (ACK 55)
| | FileExists | File already exists (ACK 56)
| | UnknownACK | An unknown ACK (aka. bug)
|
|
|
|
|
| A response is either an ACK or some result.
|
|
| Command related data types
|
|
|
| Represents the different playback states.
| | Constructors | | Instances | |
|
|
|
| Container for MPD status.
| | Constructors | | Status | | | stState :: State | | | stVolume :: Int | A percentage (0-100)
| | stRepeat :: Bool | | | stRandom :: Bool | | | stPlaylistVersion :: Integer | A value that is incremented by the server every time the
playlist changes.
| | stPlaylistLength :: Integer | | | stSongPos :: Maybe PLIndex | Current song's position in the playlist.
| | stSongID :: Maybe PLIndex | Current song's playlist ID.
| | stTime :: (Seconds, Seconds) | Time elapsed/total time.
| | stBitrate :: Int | Bitrate (in kilobytes per second) of playing song (if any).
| | stXFadeWidth :: Seconds | Crossfade time.
| | stAudio :: (Int, Int, Int) | Samplerate/bits/channels for the chosen output device
(see mpd.conf).
| | stUpdatingDb :: Integer | Job ID of currently running update (if any).
| | stError :: String | Last error message (if any).
|
|
| Instances | |
|
|
|
| Container for database statistics.
| | Constructors | | Stats | | | stsArtists :: Integer | Number of artists.
| | stsAlbums :: Integer | Number of albums.
| | stsSongs :: Integer | Number of songs.
| | stsUptime :: Seconds | Daemon uptime in seconds.
| | stsPlaytime :: Seconds | Total playing time.
| | stsDbPlaytime :: Seconds | Total play time of all the songs in
the database.
| | stsDbUpdate :: Integer | Last database update in UNIX time.
|
|
| Instances | |
|
|
|
| Represents an output device.
| | Constructors | | Device | | | dOutputID :: Int | Output's ID number
| | dOutputName :: String | Output's name as defined in the MPD
configuration file
| | dOutputEnabled :: Bool | |
|
| Instances | |
|
|
|
| A query is composed of a scope modifier and a query string.
| | Constructors | | Query Meta String | Simple query.
| | MultiQuery [Query] | Query with multiple conditions.
|
| Instances | |
|
|
|
| Available metadata types/scope modifiers, used for searching the
database for entries with certain metadata values.
| | Constructors | | Artist | | | Album | | | Title | | | Track | | | Name | | | Genre | | | Date | | | Composer | | | Performer | | | Disc | | | Any | | | Filename | |
| Instances | |
|
|
|
|
|
|
|
|
|
|
|
| Represents a song's playlist index.
| | Constructors | | Pos Integer | A playlist position index (starting from 0)
| | ID Integer | A playlist ID number that more robustly
identifies a song.
|
| Instances | |
|
|
|
| Represents a single song item.
| | Constructors | | Instances | |
|
|
|
| Represents the result of running count.
| | Constructors | | Count | | | cSongs :: Integer | Number of songs matching the query
| | cPlaytime :: Seconds | Total play time of matching songs
|
|
| Instances | |
|
|
| Admin commands
|
|
|
| Turn off an output device.
|
|
|
| Turn on an output device.
|
|
|
| Retrieve information for all output devices.
|
|
|
| :: [String] | Optionally specify a list of paths
| | -> MPD () | | | Update the server's database.
|
|
|
| Database commands
|
|
|
| Search the database for entries exactly matching a query.
|
|
|
|
|
|
| List the songs (without metadata) in a database directory recursively.
|
|
|
|
|
|
|
|
|
| Search the database using case insensitive matching.
|
|
|
| Count the number of entries matching a query.
|
|
| Playlist commands
|
|
| Unless otherwise noted all playlist commands operate on the current
playlist.
|
|
|
| Like add_ but returns a list of the files added.
|
|
|
| :: Maybe String | Optionally specify a playlist to operate on
| | -> String | | | -> MPD () | | | Add a song (or a whole directory) to a playlist.
Adds to current if no playlist is specified.
Will create a new playlist if the one specified does not already exist.
|
|
|
|
| Like add, but returns a playlist id.
|
|
|
| :: Maybe String | Optional name of a playlist to clear.
| | -> MPD () | | | Clear a playlist. Clears current playlist if no playlist is specified.
If the specified playlist does not exist, it will be created.
|
|
|
|
| Get the currently playing song.
|
|
|
| :: Maybe String | Optionally specify a playlist to operate on
| | -> PLIndex | | | -> MPD () | | | Remove a song from a playlist.
If no playlist is specified, current playlist is used.
Note that a playlist position (Pos) is required when operating on
playlists other than the current.
|
|
|
|
| Load an existing playlist.
|
|
|
| :: Maybe String | Optionally specify a playlist to operate on
| | -> PLIndex | | | -> Integer | | | -> MPD () | | | Move a song to a given position.
Note that a playlist position (Pos) is required when operating on
playlists other than the current.
|
|
|
|
| :: Maybe PLIndex | Optional playlist index.
| | -> MPD [Song] | | | Retrieve metadata for songs in the current playlist.
|
|
|
|
| Retrieve a list of files in a given playlist.
|
|
|
| Retrieve metadata for files in a given playlist.
|
|
|
| Retrieve file paths and positions of songs in the current playlist.
Note that this command is only included for completeness sake; it's
deprecated and likely to disappear at any time.
|
|
|
| Retrieve a list of changed songs currently in the playlist since
a given playlist version.
|
|
|
| Like plchanges but only returns positions and ids.
|
|
|
| Search for songs in the current playlist with strict matching.
|
|
|
| Search case-insensitively with partial matches for songs in the
current playlist.
|
|
|
| Delete existing playlist.
|
|
|
| :: String | Name of playlist to be renamed
| | -> String | New playlist name
| | -> MPD () | | | Rename an existing playlist.
|
|
|
|
| Save the current playlist.
|
|
|
| Shuffle the playlist.
|
|
|
| Swap the positions of two songs.
Note that the positions must be of the same type, i.e. mixing Pos and ID
will result in a no-op.
|
|
| Playback commands
|
|
|
| Set crossfading between songs.
|
|
|
| Play the next song.
|
|
|
| Pause playing.
|
|
|
| Begin/continue playing.
|
|
|
| Play the previous song.
|
|
|
| Set random playing.
|
|
|
| Set repeating.
|
|
|
| Seek to some point in a song.
Seeks in current song if no position is given.
|
|
|
| Set the volume.
|
|
|
| Increase or decrease volume by a given percent, e.g.
'volume 10' will increase the volume by 10 percent, while
'volume (-10)' will decrease it by the same amount.
Note that this command is only included for completeness sake ; it's
deprecated and may disappear at any time.
|
|
|
| Stop playing.
|
|
| Miscellaneous commands
|
|
|
| Clear the current error message in status.
|
|
|
| Close an MPD connection.
|
|
|
| Retrieve a list of available commands.
|
|
|
| Retrieve a list of unavailable commands.
|
|
|
| Retrieve a list of available song metadata.
|
|
|
| Retrieve a list of supported urlhandlers.
|
|
|
| Send password to server to authenticate session.
Password is sent as plain text.
|
|
|
| Check that the server is still responding.
|
|
|
| Refresh a connection.
|
|
|
| Get server statistics.
|
|
|
| Get the server's status.
|
|
| Extensions/shortcuts
|
|
|
| Add a list of songs/folders to a playlist.
Should be more efficient than running add many times.
|
|
|
| Delete a list of songs from a playlist.
If there is a duplicate then no further songs will be deleted, so
take care to avoid them (see prune for this).
|
|
|
| Crop playlist.
The bounds are inclusive.
If Nothing or ID is passed the cropping will leave your playlist alone
on that side.
|
|
|
| Remove duplicate playlist entries.
|
|
|
|
|
|
|
|
|
| List all playlists.
|
|
|
| Search the database for songs relating to an artist.
|
|
|
| Search the database for songs relating to an album.
|
|
|
| Search the database for songs relating to a song title.
|
|
|
| List the artists in the database.
|
|
|
| List the albums in the database, optionally matching a given
artist.
|
|
|
| List the songs in an album of some artist.
|
|
|
| Search the database for songs relating to an artist using search.
|
|
|
| Search the database for songs relating to an album using search.
|
|
|
| Search the database for songs relating to a song title.
|
|
|
| Retrieve the current playlist.
Equivalent to 'playlistinfo Nothing'.
|
|
|
| Toggles play/pause. Plays if stopped.
|
|
|
| Like update, but returns the update job id.
|
|
| Connections
|
|
|
| Run an MPD action using localhost:6600 as the default host:port,
or whatever is found in the environment variables MPD_HOST and
MPD_PORT. If MPD_HOST is of the form "password@host" then the
password will be supplied as well.
|
|
|
| :: | | | => String | Host name.
| | -> Integer | Port number.
| | -> IO (Maybe String) | An action that supplies passwords.
| | -> MPD a | The action to run.
| | -> IO (Response a) | | | Run an MPD action against a server.
|
|
|
| Misc.
|
|
|
| Kill the server. Obviously, the connection is then invalid.
|
|
|
| Throw an exception.
|
|
|
| Catch an exception from an action.
|
|
| Produced by Haddock version 2.3.0 |