# Support for 'Music On Console' music player
# Written by:  Maciej Delmanowski <harnir@post.pl>
# Modded  by:  rysiul  <tuxator@o2.pl>

# Where are stored XMMS playlists
SetEnv XMMS-Playlists "$[FVWM_USERDIR]/playlists"

# Main functions and menus
DestroyMenu /Music
AddToMenu /Music
+ DynamicPopupAction Function /Music-generator

DestroyFunc /Music-generator
AddToFunc /Music-generator
+ I DestroyMenu recreate /Music
+ I AddToMenu /Music '$[gt.Load playlist]'	Popup /Music/LoadPlaylist
+ I AddToMenu /Music '$[gt.Clear playlist]'	Music-ClearPlaylist
+ I AddToMenu /Music '$[gt.Remove playlist]'	Popup /Music/RemovePlaylist
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Stop playback]'	Music-Stop
+ I AddToMenu /Music '$[gt.Play/Pause]'		Music-PlayPause

# ---------------------------------------------------------------------------
# Basic control functions
DestroyFunc Music-Play
AddToFunc Music-Play
+ I Exec exec mocp --sync --play

DestroyFunc Music-Pause
AddToFunc Music-Pause
+ I Exec exec mocp --sync --pause

DestroyFunc Music-Stop
AddToFunc Music-Stop
+ I Exec exec mocp --sync --stop

DestroyFunc Music-PlayPause
AddToFunc Music-PlayPause
+ I Exec exec mocp --sync --toggle-pause

DestroyFunc Music-Next
AddToFunc Music-Next
+ I Exec exec mocp --sync --next

DestroyFunc Music-Prev
AddToFunc Music-Prev
+ I Exec exec mocp --sync --previous


# ---------------------------------------------------------------------------
# Playlist functions

DestroyMenu /Music/LoadPlaylist
AddToMenu /Music/LoadPlaylist
+ DynamicPopupAction Function /Music/LoadPlaylist-generator

DestroyFunc /Music/LoadPlaylist-generator
AddToFunc /Music/LoadPlaylist-generator
+ I DestroyMenu recreate /Music/LoadPlaylist
+ I AddToMenu /Music/LoadPlaylist
+ I PipeRead 'for i in $[XMMS-Playlists]/*.m3u $[XMMS-Playlists]/*.pls; do \
  name=$(basename "$i"); \
  sname=${name%%.m3u}; \
  sname=${sname%%.pls}; \
  echo \"AddToMenu /Music/LoadPlaylist \'$sname\' Exec exec mocp --sync --append \'$i\'\"; done'


DestroyFunc Music-ClearPlaylist
AddToFunc Music-ClearPlaylist
+ I Exec exec mocp --sync --clear

DestroyMenu /Music/RemovePlaylist
AddToMenu /Music/RemovePlaylist
+ DynamicPopupAction Function /Music/RemovePlaylist-generator

DestroyFunc /Music/RemovePlaylist-generator
AddToFunc /Music/RemovePlaylist-generator
+ I DestroyMenu recreate /Music/RemovePlaylist
+ I AddToMenu /Music/RemovePlaylist
+ I PipeRead 'for i in $[XMMS-Playlists]/*.m3u $[XMMS-Playlists]/*.pls; do \
  name=$(basename "$i"); \
  sname=${name%%.m3u}; \
  sname=${sname%%.pls}; \
  echo \"AddToMenu /Music/RemovePlaylist \'$sname\' Exec rm -f \'$i\'\"; done'

# vim:ft=fvwm
