# Support for C* Music Player
# Written by: Maciej Delmanowski <harnir@post.pl>

# Overview:
# This is a set of function for controlling the C* Music Player
# (http://onion.dynserv.net/~timo/cmus.html). It is done using the
# 'cmus-remote' command-line frontend.


# If there is no selected mixer, load the default
CheckPreferences DefaultMixer "Include components/functions/Mixer-cmus"

# ---------------------------------------------------------------------------
# Main menu
DestroyMenu /Music
AddToMenu /Music
+ '$[gt.Volume]' Popup /Mixer
+ '$[gt.Toggle random]' Music-ToggleRandom
+ '$[gt.Toggle repeat]' Exec mpc repeat
+ "" Nop
+ '$[gt.Stop playback]'		Music-Stop
+ '$[gt.Play/Pause]'		Music-PlayPause

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

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

DestroyFunc Music-Stop
AddToFunc Music-Stop
+ I Exec cmus-remote --stop > /dev/null

DestroyFunc Music-PlayPause
AddToFunc Music-PlayPause
+ I Exec cmus-remote --pause > /dev/null

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

DestroyFunc Music-Prev
AddToFunc Music-Prev
+ I Exec cmus-remote --prev > /dev/null

DestroyFunc Music-Forward
AddToFunc Music-Forward
+ I Exec cmus-remote --shuffle > /dev/null; cmus-remote --next > /dev/null; cmus-remote --shuffle > /dev/null

DestroyFunc Music-Backward
AddToFunc Music-Backward
+ I Exec cmus-remote --shuffle > /dev/null; cmus-remote --prev > /dev/null; cmus-remote --shuffle > /dev/null

DestroyFunc Music-ToggleRandom
AddToFunc Music-ToggleRandom
+ I Exec cmus-remote --shuffle > /dev/null

DestroyFunc Music-GUI
AddToFunc Music-GUI
+ I Nop

DestroyFunc Music-Find
AddToFunc Music-Find
+ I Nop

# vim:ft=fvwm
