# Support for MPD music player
# Written by: Maciej Delmanowski <harnir@post.pl>
# sed commands by: Grzegorz Niewgowski <hoppke@dobremiasto.net>

# Overview:
# This is a set of function for controlling the Music Player Daemon
# (http://www.musicpd.org/). It is done using the 'mpc' command-line frontend.


# ---------------------------------------------------------------------------
# Main menu
DestroyMenu /Music
aDDtOmENU /Music
+ DynamicPopupAction Function /Music-generator

DestroyFunc /Music-generator
AddToFunc /Music-generator
+ I DestroyMenu recreate /Music
+ I PipeRead 'quodlibet --print-playing | sed -e "s:^.*$:AddToMenu /Music \'&\' :"'
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Volume]' Popup /Music/Volume
+ I AddToMenu /Music '$[gt.Toggle random]' Exec quodlibet --shuffle t
+ I AddToMenu /Music '$[gt.Toggle repeat]' Exec quodlibet --repeat t
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Play/Pause]'		Music-PlayPause

DestroyMenu /Music/Volume
AddToMenu /Music/Volume
+ "100%%" Music-Volume 100
+ "80%%" Music-Volume 80
+ "50%%" Music-Volume 50
+ "30%%" Music-Volume 30
+ "0%%" Music-Volume 0

# ---------------------------------------------------------------------------
# Basic control functions
DestroyFunc Music-Play
AddToFunc Music-Play
+ I Exec quodlibet --play > /dev/null

DestroyFunc Music-Pause
AddToFunc Music-Pause
+ I Exec quodlibet --pause > /dev/null

DestroyFunc Music-Stop
AddToFunc Music-Stop
+ I Exec quodlibet --pause > /dev/null

DestroyFunc Music-PlayPause
AddToFunc Music-PlayPause
+ I Exec quodlibet --play-pause > /dev/null

DestroyFunc Music-Next
AddToFunc Music-Next
+ I Exec quodlibet --next > /dev/null

DestroyFunc Music-Prev
AddToFunc Music-Prev
+ I Exec quodlibet --previous > /dev/null

DestroyFunc Music-Forward
AddToFunc Music-Forward
+ I Exec quodlibet --shuffle t > /dev/null; quodlibet --next > /dev/null; quodlibet --shuffle t > /dev/null

DestroyFunc Music-Backward
AddToFunc Music-Backward
+ I Exec quodlibet --shuffle t > /dev/null; quodlibet --previous > /dev/null; quodlibet --shuffle t > /dev/null

DestroyFunc Music-Volume
AddToFunc Music-Volume
+ I Exec quodlibet --volume $0 > /dev/null

DestroyFunc Music-Volume-Up
AddToFunc Music-Volume-Up
+ I Exec quodlibet --volume-up > /dev/null

DestroyFunc Music-Volume-Down
AddToFunc Music-Volume-Down
+ I Exec quodlibet --volume-down > /dev/null

DestroyFunc Music-GUI
AddToFunc Music-GUI
+ I Nop

DestroyFunc Music-Find
AddToFunc Music-Find
+ I Nop

