All controllers and config files are located in /modules/localplay/ they are named with the following conventions. [name of service].controller.php and [name of service].cfg.php. For example if you are using MPD then the names would be mpd.controller.php and mpd.cfg.php The class inside must be Ampache[name of service] in order to avoid conflicts and must extend the localplay_controller class
The controller will be called by the Ampache localplay class and must extend the localplay_controller class.
add – This must take an array of song_id's to be added to the player's playlist
play – This function is not passed anything
stop - This function is not passed anything
delete - This takes an array of UID's to remove from the players playlist
get - This must return an array that at the very lease contains ['id'] for each song in the players playlist. For players that can't return data this must be stored in the object…
status - This returns the current state of the 'localplay' device such as Playing Stopped or Paused.
connect - This must establish the connection to the daemon and test for it's existance
next - This skips to the next song
prev - This skips to the previous song
pause - This pauses the song
skip - This skips to the specified UID as retrieved via get
repeat - This is passed a bool true/false value to repeat one song
random - This is passed a bool true/false value to play songs from the playlist in random order
get_playing - This returns the current track that is playing on the localplay device
get_playlist - This returns an array of the currently playing songs with the track_id as the key allowing for display/modification
seek - go to the point x seconds into the song
randomize - This shuffles the playlist
move - move song x to position y within the playlist
delete_all - This clears the entire playlist on the localplay device
volume_up - This function is simply called and increments the volume by a pre-defined amount
volume_down - This function is simply called and decreses the volume by a pre-defined amount