1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
# Support for C* Music Player
# Written by: Maciej Delmanowski <harnir@post.pl>
# Modifications, debugging and improvments by Dominique Michel
# <dominique_libre@users.sourceforge.net> 2008-2013
# See ChangeLog for details
# 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.
# Initialisations, shared functions
Include components/functions/Music
# First button
# Player controls and prefs {{{1
# mouse 1 Menu /Player {{{2
AddToFunc Music-GUI
+ I All (cmus) Iconify toggle
# Player-generator (All)
AddToFunc Player-generator
+ I DestroyMenu recreate /Player
+ I AddToMenu /Player '%22x22/fvwm-crystal/audio-x-generic.png%$[gt.Recreate the Playlists]' Music-RecreatePlaylist
+ I AddToMenu /Player '%22x22/fvwm-crystal/audio-x-generic.png%$[gt.Music player]' Popup /Preferences/MusicPlayer
+ I AddToMenu /Player "" Nop
+ I AddToMenu /Player '$[gt.Start QJackCtl]' Exec exec qjackctl
+ I AddToMenu /Player "" Nop
+ I AddToMenu /Player '$[gt.Start C* Music Player]' AT cmus cmus
+ I AddToMenu /Player '$[gt.Stop player]' Exec exec killall -9 cmus
# mouse 2 Music-GUI : allready here {{{2
# mouse 3 Music-QJackGUI : in Music
# mouse 4 Mixer-Volume-Up
# mouse 5 Mixer-Volume-Down
# are in components/Mixer
# Second button
# Player controls and main vol
# mouse 1 Menu /Playlist-button {{{2
# /Music/LoadPlaylist
AddToFunc FuncFvwmMenuAudioDirectory
+ I PipeRead 'case \"$0\" in \
"$[infostore.AudioPlaylists]"*) myexec="cmus-remote -l";; \
"$[infostore.UserManagedAudioPlaylists]"*) myexec="cmus-remote -l";; \
esac; \
test -f \"$0\"/.icontitle.png && mytitle=\"$0\"/.icontitle.png; \
test -f \"$0\"/.media.png && mypng=\"$0\"/.media.png; \
fvwm-menu-directory --icon-title "${mytitle:-22x22/categories/directory.png}" \
--icon-file "${mypng:-22x22/categories/Audio.png}" \
--dir \"$0\" --exec-title "-" --exec-file "^${myexec}" \
--func-name "FuncFvwmMenuAudioDirectory"'
AddToFunc Playlist-generator-button
+ I DestroyMenu recreate /Playlist-button
+ I AddToMenu /Playlist-button '$[gt.Remove playlist]' Popup /Music/RemovePlaylist
+ I AddToMenu /Playlist-button '$[gt.Playlist copy]' Popup /Music/CopyPlaylist
+ I AddToMenu /Playlist-button '$[gt.Load playlist]' Popup /Music/LoadPlaylist
AddToMenu /Playlist-button
+ DynamicPopupAction Function Playlist-generator-button
# mouse 2 Menu /Playback
AddToFunc Music-Next
+ I Exec cmus-remote --next > /dev/null
AddToFunc Music-Prev
+ I Exec cmus-remote --prev > /dev/null
AddToFunc Music-ToggleRandom
+ I Exec cmus-remote --shuffle > /dev/null
AddToFunc Music-Stop
+ I Exec cmus-remote --stop > /dev/null
AddToFunc Music-Play
+ I Exec cmus-remote --play > /dev/null
AddToFunc Music-Pause
+ I Exec cmus-remote --pause > /dev/null
AddToFunc Music-PlayPause
+ I Exec cmus-remote --pause > /dev/null
AddToFunc Music-Forward
+ I Exec cmus-remote --shuffle > /dev/null; cmus-remote --next > /dev/null; cmus-remote --shuffle > /dev/null
AddToFunc Music-Backward
+ I Exec cmus-remote --shuffle > /dev/null; cmus-remote --prev > /dev/null; cmus-remote --shuffle > /dev/null
AddToFunc Playback-generator
+ I DestroyMenu recreate /Playback
+ I AddToMenu /Playback '$[gt.Next]' Music-Next
+ I AddToMenu /Playback '$[gt.Prev]' Music-Prev
+ I AddToMenu /Playback '$[gt.Toggle random]' Music-ToggleRandom
+ I AddToMenu /Playback "" Nop
+ I AddToMenu /Playback '$[gt.Stop playback]' Music-Stop
+ I AddToMenu /Playback '$[gt.Play]' Music-Play
+ I AddToMenu /Playback '$[gt.Pause]' Music-Pause
+ I AddToMenu /Playback '$[gt.Play/Pause]' Music-PlayPause
+ I AddToMenu /Playback '$[gt.Forward]' Music-Forward
+ I AddToMenu /Playback '$[gt.Backward]' Music-Backward
# Main menu {{{1
AddToFunc Music-generator
+ I DestroyMenu recreate /Music
+ I AddToMenu /Music '$[gt.Volume]' Popup /Mixer
+ I AddToMenu /Music '$[gt.Toggle random]' Music-ToggleRandom
+ I AddToMenu /Music '$[gt.Toggle repeat]' Exec mpc repeat
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Stop playback]' Music-Stop
+ I AddToMenu /Music '$[gt.Play/Pause]' Music-PlayPause
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Load playlist]' Popup /Music/LoadPlaylist
+ I AddToMenu /Music '$[gt.Music player]' Popup /Preferences/MusicPlayer
# Fake button functions see Music-cdcd {{{1
# Menu /Music/Volume (TODO)
AddToMenu /Music/Volume
+ "" Nop
# Music-Speed-Up
AddToFunc Music-Speed-Up
+ I Nop
# Music-Speed-Down
AddToFunc Music-Speed-Down
+ I Nop
# Menu /Speed
AddToMenu /Speed
+ "" Nop
# Music-Seek-+
# Music-Seek--
AddToFunc Music-Seek
+ I Nop
# vim:ft=fvwm
|