From: <dom...@us...> - 2013-04-18 15:25:00
|
Revision: 254 http://sourceforge.net/p/fvwm-crystal/code/254 Author: dominique_libre Date: 2013-04-18 15:24:56 +0000 (Thu, 18 Apr 2013) Log Message: ----------- Music-xmms2: cleanup; move to InfoStore; added player volume control; Music-GUI use now Iconify toggle (fix volume reset with jack output) Modified Paths: -------------- ChangeLog fvwm/components/functions/Media fvwm/components/functions/Music fvwm/components/functions/Music-xmms2 Modified: ChangeLog =================================================================== --- ChangeLog 2013-04-17 22:16:17 UTC (rev 253) +++ ChangeLog 2013-04-18 15:24:56 UTC (rev 254) @@ -1,5 +1,11 @@ ChangeLog for FVWM-Crystal +Jeudi 18 Avril Dominique Michel + functions/Music; Functions/Media; functions/Music-xmms: Cleanup; moved + to InfoStore; added player volume control; added missing menus; + Music-GUI now use Iconify toggle instead of Close (fix reset the volume + with the jack output) + Mercredi 17 Avril Dominique Michel scripts/FvwmMPD/*: make the windows and fonts bigger. Its better to big than too small Modified: fvwm/components/functions/Media =================================================================== --- fvwm/components/functions/Media 2013-04-17 22:16:17 UTC (rev 253) +++ fvwm/components/functions/Media 2013-04-18 15:24:56 UTC (rev 254) @@ -71,7 +71,7 @@ PipeRead 'if [[ $[MusicPlayer] == alsaplayer ]]; then echo "InfoStoreAdd dec_point `locale decimal_point`"; fi' # xmms2 -UnSetEnv fvwm_audio_exec +InfoStoreRemove fvwm_audio_exec # Styles for media players windows {{{1 Style Alsaplayer NoActiveIconOverride, NoIcon, Sticky, WindowListSkip, StaysOnTop @@ -235,6 +235,7 @@ # Add playlist (xmms2) DestroyFunc FuncFvwmMenuPlaylistDirectory DestroyMenu /Music/LoadPlaylist +DestroyMenu /Music/AddPlaylist # Update the database (mpd) DestroyFunc Music-Update Modified: fvwm/components/functions/Music =================================================================== --- fvwm/components/functions/Music 2013-04-17 22:16:17 UTC (rev 253) +++ fvwm/components/functions/Music 2013-04-18 15:24:56 UTC (rev 254) @@ -74,7 +74,7 @@ PipeRead 'if [[ $[MusicPlayer] == alsaplayer ]]; then echo "InfoStoreAdd dec_point `locale decimal_point`"; fi' # xmms2 -UnSetEnv fvwm_audio_exec +InfoStoreRemove fvwm_audio_exec # Styles for media players windows {{{1 Style Alsaplayer NoActiveIconOverride, NoIcon, Sticky, WindowListSkip, StaysOnTop @@ -99,10 +99,7 @@ Style quodlibet StaysOnTop, NoIcon, Sticky, WindowListSkip -#Style xmms StaysOnTop -#Style XMMS_Player StartIconic, NoIcon, !Title, Sticky, WindowListSkip -#Style XMMS_Playlist UseStyle XMMS_Player -#Style XMMS_Equalizer UseStyle XMMS_Player +Style gxmms2 StaysOnTop, NoIcon, Sticky, WindowListSkip Style qjackctl NoActiveIconOverride, NoIcon, Sticky, WindowListSkip @@ -178,6 +175,7 @@ DestroyFunc FuncFvwmMenuAudioDirectory # Add playlist (xmms2) DestroyFunc FuncFvwmMenuPlaylistDirectory +DestroyMenu /Music/AddPlaylist # Load playlist (mpd, xmms2) DestroyFunc Music-LoadPlaylist-generator # Load playlist (alsaplayer, audacious, mocp, mpd, mplayer, xmms2) Modified: fvwm/components/functions/Music-xmms2 =================================================================== --- fvwm/components/functions/Music-xmms2 2013-04-17 22:16:17 UTC (rev 253) +++ fvwm/components/functions/Music-xmms2 2013-04-18 15:24:56 UTC (rev 254) @@ -1,27 +1,21 @@ # Support for XMMS2 # Author: Michal Gorny <per...@ma...> # Based on xmms2 command-line client, version 0.2 DrBombay -# Modifications, debugging and improvments by Dominique Michel -# <dom...@so...> -###################################################### +# Modifications, debugging and improvments by Dominique Michel 2008-2013 +# <dom...@us...> -# Initialisations, shared functions +# Initialisations, shared functions {{{1 Include components/functions/Music -SetEnv fvwm_audio_exec "nyxmms2 add -P" +InfoStoreAdd fvwm_audio_exec "nyxmms2 add -P" -################### -## First button ### -## Player controls and prefs ## -############################### -## mouse 1 Menu /Player -####################### -DestroyFunc Music-GUI +# First button {{{1 +# Player controls and prefs +# mouse 1 Menu /Player {{{2 AddToFunc Music-GUI -+ I All (gxmms2) Close ++ I All (gxmms2) Iconify toggle + I TestRc (NoMatch) None (gxmms2) X gxmms2 # Player-generator (All) -DestroyFunc Player-generator AddToFunc Player-generator + I DestroyMenu recreate /Player + I AddToMenu /Player '%22x22/fvwm-crystal/audio-x-generic.png%$[gt.Recreate the Playlists]' Music-RecreatePlaylist @@ -32,35 +26,27 @@ + I AddToMenu /Player '$[gt.Stop XMMS2]' Exec exec killall -9 xmms2d + I AddToMenu /Player '$[gt.Show/Hide GXMMS2]' Music-GUI -#################### -## Second button ### -## Player controls and main vol ## -################################## -## mouse 1 Menu /Playlist-button -################################ -DestroyFunc Music-CurrentPlaylist-generator +# Second button {{{1 +# Player controls and main vol +# mouse 1 Menu /Playlist-button {{{2 AddToFunc Music-CurrentPlaylist-generator + I DestroyMenu recreate /Music/CurrentPlaylist + I PipeRead 'nyxmms2 list | head -n -2 | sed -e "s:^.*\\[\\(.*\\)/.*\\] \\(.*\\)$:AddToMenu /Music/CurrentPlaylist \\\'\\2\\\' Exec nyxmms2 jump \'\\1\':"' -DestroyMenu /Music/CurrentPlaylist AddToMenu /Music/CurrentPlaylist + DynamicPopupAction Function Music-CurrentPlaylist-generator -DestroyFunc Music-LoadPlaylist-generator AddToFunc Music-LoadPlaylist-generator -+ I DestroyMenu recreate /Music/LoadPlaylist -+ I AddToMenu /Music/LoadPlaylist '$[gt.Choose a playlist to load]' Nop -+ I PipeRead 'nyxmms2 playlist list | sed -e "s:^\\( *\\)\\(.*\\):\\2:" | sed -e "s:^.*$:AddToMenu /Music/LoadPlaylist \'&\' Exec nyxmms2 playlist switch \'&\':"' -+ I AddToMenu /Music/LoadPlaylist "" Nop -+ I AddToMenu /Music/LoadPlaylist '$[gt.Everything]' Music-LoadAll ++ I DestroyMenu recreate /Music/AddPlaylist ++ I AddToMenu /Music/AddPlaylist '$[gt.Choose a playlist to load]' Nop ++ I PipeRead 'nyxmms2 playlist list | sed -e "s:^\\( *\\)\\(.*\\):\\2:" | sed -e "s:^.*$:AddToMenu /Music/AddPlaylist \'&\' Exec nyxmms2 playlist switch \'&\':"' ++ I AddToMenu /Music/AddPlaylist "" Nop ++ I AddToMenu /Music/AddPlaylist '$[gt.Everything]' Music-LoadAll -DestroyMenu /Music/LoadPlaylist -AddToMenu /Music/LoadPlaylist +DestroyMenu /Music/AddPlaylist +AddToMenu /Music/AddPlaylist + DynamicPopupAction Function Music-LoadPlaylist-generator -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 @@ -73,11 +59,9 @@ *Music-SavePlaylist-Dialog: Command Exec nyxmms2 playlist create -p _active "$(PlaylistName)" *Music-SavePlaylist-Dialog: Line center -DestroyFunc Music-SavePlaylist AddToFunc Music-SavePlaylist + I Module FvwmForm Music-SavePlaylist-Dialog -DestroyFunc Music-ClearPlaylist AddToFunc Music-ClearPlaylist + I Exec nyxmms2 playlist clear @@ -87,78 +71,61 @@ + I AddToMenu /Music/RemovePlaylist '$[gt.Choose a playlist to remove]' Nop + I PipeRead 'nyxmms2 playlist list | sed -e "s:^\\(* *\\)\\(.*\\):\\2:" | sed -e "s:^\\( *\\)\\(.*\\):\\2:" | sed -e "s:^.*$:AddToMenu /Music/RemovePlaylist \'&\' Exec nyxmms2 playlist remove \'&\':"' -DestroyMenu /Music/RemovePlaylist -AddToMenu /Music/RemovePlaylist -+ DynamicPopupAction Function Music-RemovePlaylist-generator - # From Taviso's configuration # 22x22/categories/Audio-Video.png will be used for all the files that doesn't have a .media.png inside their directory # 22x22/categories/directory.png will be used for all the directories that doesn't have a .icontitle.png file -DestroyFunc FuncFvwmMenuPlaylistDirectory -AddToFunc FuncFvwmMenuPlaylistDirectory + +# /Music/LoadPlaylist +AddToFunc FuncFvwmMenuAudioDirectory + I PipeRead 'case "$0" in \ - "$[AudioPlaylists]"*) myexec="$[fvwm_audio_exec]";; \ - "$[UserManagedAudioPlaylists]"*) myexec="$[fvwm_audio_exec]";; \ + "$[infostore.AudioPlaylists]"*) myexec="$[infostore.fvwm_audio_exec]";; \ + "$[infostore.UserManagedAudioPlaylists]"*) myexec="$[infostore.fvwm_audio_exec]";; \ 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-Video.png}" \ - --exec-file "^${myexec}" --dir "$0" --exec-t="-" \ - --func="FuncFvwmMenuPlaylistDirectory"' -# put one popup line per path : -DestroyMenu /Music/AddPlaylist -AddToMenu /Music/AddPlaylist MissingSubmenuFunction FuncFvwmMenuPlaylistDirectory -+ '%22x22/categories/video_movies_view.png%$[gt.Audio playlists]' Popup $[AudioPlaylists] -+ '%22x22/categories/video_movies_view.png%$[gt.Personal audio playlists]' Popup $[UserManagedAudioPlaylists] + 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"' -DestroyFunc Music-RemoveSong AddToFunc Music-RemoveSong + I Exec nyxmms2 next + I Exec nyxmms2 remove $((`nyxmms2 list | sed -e "s;^->\[;;" | sed -e "s;/.*;;" | sed -e "s; .*;;" | sed -e "s;To.*;;"`-1)) -DestroyFunc Playlist-generator-button AddToFunc Playlist-generator-button + I DestroyMenu recreate /Playlist-button + I AddToMenu /Playlist-button '$[gt.Current playlist]' Popup /Music/CurrentPlaylist -+ I AddToMenu /Playlist-button '$[gt.Load playlist]' Popup /Music/LoadPlaylist -+ I AddToMenu /Playlist-button '$[gt.Save playlist]' Music-SavePlaylist -+ I AddToMenu /Playlist-button '$[gt.Clear playlist]' Music-ClearPlaylist -+ I AddToMenu /Playlist-button '$[gt.Remove playlist]' Popup /Music/RemovePlaylist ++ I AddToMenu /Playlist-button '$[gt.Load playlist]' Popup /Music/LoadPlaylist ++ I AddToMenu /Playlist-button '$[gt.Add playlist]' Popup /Music/AddPlaylist ++ I AddToMenu /Playlist-button '$[gt.Save playlist]' Music-SavePlaylist ++ I AddToMenu /Playlist-button '$[gt.Clear playlist]' Music-ClearPlaylist ++ I AddToMenu /Playlist-button '$[gt.Remove playlist]' Popup /Music/RemovePlaylist + I AddToMenu /Playlist-button "" Mop -+ I AddToMenu /Playlist-button '$[gt.Add a playlist]' Popup /Music/AddPlaylist ++ I AddToMenu /Playlist-button '$[gt.Add a playlist]' Popup /Music/AddPlaylist + I AddToMenu /Playlist-button '$[gt.Remove current song]' Music-RemoveSong -DestroyMenu /Playlist-button AddToMenu /Playlist-button + DynamicPopupAction Function Playlist-generator-button -## mouse 2 Menu /Playback -######################### -DestroyFunc Music-Next +# mouse 2 Menu /Playback {{{1 AddToFunc Music-Next + I Exec nyxmms2 next -DestroyFunc Music-Prev AddToFunc Music-Prev + I Exec nyxmms2 prev -DestroyFunc Music-Stop AddToFunc Music-Stop + I Exec nyxmms2 stop -DestroyFunc Music-Play AddToFunc Music-Play + I Exec nyxmms2 play -DestroyFunc Music-Pause AddToFunc Music-Pause + I Exec nyxmms2 pause -DestroyFunc Music-Shuffle AddToFunc Music-Shuffle + I Exec nyxmms2 playlist shuffle -DestroyFunc Playback-generator AddToFunc Playback-generator + I DestroyMenu recreate /Playback + I AddToMenu /Playback '$[gt.Next]' Music-Next @@ -170,31 +137,57 @@ + I AddToMenu /Playback "" Nop + I AddToMenu /Playback '$[gt.Shuffle playlist]' Music-Shuffle -########################### -DestroyMenu /Music -AddToMenu /Music -+ DynamicPopupAction Function /Music-generator +# values determined with a 0dB 1kHz wave tone on the jack output +# tested with the alsa output +AddToMenu /Music/Volume ++ '$[gt.Player volume]' Nop ++ "" Nop ++ " 0 dB" Exec nyxmms2 server volume 100 ++ "-3 dB" Exec nyxmms2 server volume 84 ++ "-6 dB" Exec nyxmms2 server volume 71 ++ "-12 dB" Exec nyxmms2 server volume 50 ++ "-18 dB" Exec nyxmms2 server volume 35 ++ "-24 dB" Exec nyxmms2 server volume 25 ++ "-30 dB" Exec nyxmms2 server volume 18 ++ "-36 dB" Exec nyxmms2 server volume 12 ++ " 0" Exec nyxmms2 server volume 0 -DestroyFunc /Music-generator -AddToFunc /Music-generator +# menus {{{1 +AddToFunc Music-generator + I DestroyMenu recreate /Music + I PipeRead 'xmms2 current | sed -e "s:^ERROR.*$:$[gt.Player is stopped]:" | sed -e "s:^.*$:AddToMenu /Music \'\&\':"' + I AddToMenu /Music "" Nop #+ I AddToMenu /Music '$[gt.Current playlist]' Popup /Music/CurrentPlaylist + I AddToMenu /Music '$[gt.Load playlist]' Popup /Music/LoadPlaylist ++ I AddToMenu /Music '$[gt.Add playlist]' Popup /Music/AddPlaylist + I AddToMenu /Music '$[gt.Save playlist...]' Music-SavePlaylist + I AddToMenu /Music '$[gt.Shuffle playlist]' Music-Shuffle + 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 'xmms2 configlist | grep output\.volume | sed -e "s;output.volume = ;;" | sed -e "s;^.*$;AddToMenu /Music \'$[gt.Volume]: \&\' Popup /Mixer:;"' ++ I PipeRead 'xmms2 server config | sed -n "/\\.volume/{s/.*= \\([0-9]\\+\\)$/AddToMenu \\/Music \'$[gt.Volume]: \\1\' Popup \\/Music\\/volume/p;q}"' + I AddToMenu /Music '$[gt.Volume]' Popup /Mixer + 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]' Music-Play + I AddToMenu /Music '$[gt.Pause]' Music-Pause ++ I AddToMenu /Music "" Nop ++ I AddToMenu /Music '$[gt.Music player]' Popup /Preferences/MusicPlayer +# 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |