File: Music-xmms

package info (click to toggle)
fvwm-crystal 3.0.5.dfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 16,268 kB
  • ctags: 607
  • sloc: sh: 2,065; python: 875; cs: 648; makefile: 218
file content (149 lines) | stat: -rw-r--r-- 5,114 bytes parent folder | download | duplicates (2)
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
138
139
140
141
142
143
144
145
146
147
148
149
# Support for XMMS music player
# Written by: Maciej Delmanowski <harnir@post.pl>

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

# Styles for XMMS windows
Style xmms		StaysOnTop
Style XMMS_Player	StartIconic, NoIcon, NoTitle, Sticky, WindowListSkip
Style XMMS_Playlist	StartIconic, NoIcon, NoTitle, Sticky, WindowListSkip
Style XMMS_Equalizer	StartIconic, NoIcon, NoTitle, Sticky, WindowListSkip

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

# 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.Save playlist...]'	Music-SavePlaylist
+ I AddToMenu /Music '$[gt.Clear playlist]'	Music-ClearPlaylist
+ I AddToMenu /Music '$[gt.Remove current song]'	Music-RemoveSong
+ I AddToMenu /Music '$[gt.Remove playlist]'	Popup /Music/RemovePlaylist
+ I AddToMenu /Music "" Nop
+ I PipeRead 'xmms-shell -e "volume" | head -1 | sed -e "s/Left channel volume:\ //" | sed -e "s:[ \t]::g" | sed -e "s:^.\\+$:AddToMenu\ /Music \'$[gt.Volume] \(&%%\)\' Popup /Mixer:"'

+ I AddToMenu /Music '$[gt.Toggle random]'	Music-ToggleRandom
+ I AddToMenu /Music '$[gt.Toggle repeat]'	Exec exec xmms-shell -e "repeat toggle"
+ I AddToMenu /Music "" Nop
+ I AddToMenu /Music '$[gt.Stop playback]'	Music-Stop
+ I AddToMenu /Music '$[gt.Show/hide player]'	Music-GUI
+ I AddToMenu /Music '$[gt.Play/Pause]'		Music-PlayPause

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

DestroyFunc Music-Pause
AddToFunc Music-Pause
+ I Exec exec xmms --pause

DestroyFunc Music-Stop
AddToFunc Music-Stop
+ I Exec exec xmms --stop

DestroyFunc Music-PlayPause
AddToFunc Music-PlayPause
+ I Exec exec xmms --play-pause

DestroyFunc Music-Next
AddToFunc Music-Next
+ I Exec exec xmms --fwd

DestroyFunc Music-Prev
AddToFunc Music-Prev
+ I Exec exec xmms --rew

DestroyFunc Music-Forward
AddToFunc Music-Forward
+ I Exec exec xmms-shell -e "forward"

DestroyFunc Music-Backward
AddToFunc Music-Backward
+ I Exec exec xmms-shell -e "backward"

DestroyFunc Music-ToggleRandom
AddToFunc Music-ToggleRandom
+ I Exec exec xmms-shell -e "shuffle toggle"

DestroyFunc Music-RemoveSong
AddToFunc Music-RemoveSong
+ I Exec exec xmms-shell -e "remove `xmms-shell -e currenttrack | sed -e 's/Current song: //' -e 's/\..*//'`"

DestroyFunc Music-GUI
AddToFunc Music-GUI
+ I All (XMMS_Player) Iconify toggle

DestroyFunc Music-Find
AddToFunc Music-Find
+ I Style XmmsFind* NoTitle
+ I Style XmmsFind* StaysOnTop
+ I Style XmmsFind* Sticky
+ I Style XmmsFind* StartNormal
+ I Exec pidof xmms && exec xmmsfind_remote
+ I TestRc (Match) Wait XmmsFind*
+ I All (XmmsFind*, CurrentPage) Focus

# ---------------------------------------------------------------------------
# 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 xmms -e \'$i\'\"; done'

DestroyFunc Music-SavePlaylist
AddToFunc Music-SavePlaylist
+ I Exec exec mkdir -p $[XMMS-Playlists]
+ I Module FvwmForm Music-SavePlaylist-Dialog

All (Music-SavePlaylist-Dialog) Close
DestroyModuleConfig Music-SavePlaylist-Dialog: *
*Music-SavePlaylist-Dialog: Title "$[gt.Save playlist]"
*Music-SavePlaylist-Dialog: Text "$[gt.Name of the playlist]"
*Music-SavePlaylist-Dialog: Line center
*Music-SavePlaylist-Dialog: Input PlaylistName 40 ""
*Music-SavePlaylist-Dialog: Line center
*Music-SavePlaylist-Dialog: Line center
*Music-SavePlaylist-Dialog: Button quit " $[gt.Cancel] " ^[
*Music-SavePlaylist-Dialog: Command Nop
*Music-SavePlaylist-Dialog: Button quit " $[gt.Save] " ^M
*Music-SavePlaylist-Dialog: Command Exec exec xmms-shell -e "save '$[XMMS-Playlists]/$(PlaylistName).m3u'"
*Music-SavePlaylist-Dialog: Line center

DestroyFunc Music-ClearPlaylist
AddToFunc Music-ClearPlaylist
+ I Exec exec xmms-shell -e "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