MPD Client

class sima.mpdclient.MPD(daemon)[source]

Bases: musicpd.MPDClient

Player instance inheriting from MPDClient (python-musicpd).

Some methods are overridden to format objects as sima.lib.Track for instance, other are calling parent class directly through super(). cf. MPD.__getattr__

Note

  • find methods are looking for exact match of the object provided attributes in MPD music library

  • search methods are looking for exact match + fuzzy match.

add(payload)[source]

Overriding MPD’s add method to accept Track objects

Parameters

payload (Track,list) – Either a single Track or a list of it

clean()[source]

Clean blocking event (idle) and pending commands

connect()[source]

Overriding explicitly MPDClient.connect()

disconnect()[source]

Overriding explicitly MPDClient.disconnect()

find_tracks(what)[source]
Find tracks for a specific artist or album
>>> player.find_tracks(Artist('Nirvana'))
>>> player.find_tracks(Album('In Utero', artist=(Artist('Nirvana'))
Parameters

what (Artist,Album) – Artist or Album to fetch track from

Returns a list of :py:obj:Track objects

monitor()[source]

Monitor player for change Returns a list a events among:

  • database player media library has changed

  • playlist playlist modified

  • options player options changed: repeat mode, etc…

  • player player state changed: paused, stopped, skip track…

  • skipped current track skipped

property playlist

Override deprecated MPD playlist command

property state

Returns (play|stop|pause)