Tout ds le ZIP , sinon g laisser mon ancienne version pr les curieux ....
pour changer les skins il fo remplacer le nom du skin par minimp3.jpg
####################
## ancien commentaire ##
####################
derniere modification ajout de control volume & d'info sur le mp3 .
bon hier gt motiver , ct le week end , il faisait pas baux dc pr une fois g pas fais une source bidon ac trois lignes . J'avais déjà poster un lecteur mp3 , dailleur ct ma premiere source ( lol ct ya un moment , mem si elle était pas mal pr une premiere source ms elle été trop compliqué ac des lignes en trop ... ) .
Donc voilà , je poste un nouvo lecteur mp3 en pikwin que je contes optimiser ac déjà pas mal de fonctions ( les basic ) . Je poste cette source ki n'est que béta pr que vs m'aidier à l'améliorer en m'informant des erreurs que j'aurai pue faire et aussi en me donnant quelque idées . J'espere que cette source va vs plaire ...
Source / Exemple :
##############
## ancien script ##
##############
--------------------------------------------------------------------------------------
- by abdoulax *****************************en cours *
--------------------------------------------------------------------------------------
alias mp3 { .timer 1 .1 { mp3suite } | window -doapBkC +dL @mp3 1 1 400 20 | set %play off }
alias mp3suite {
drawrect -f @mp3 12 1 0 0 400 20
drawrect @mp3 4 1 0 0 400 20
mp3suite2
drawrect -f @mp3 1 1 150 2 225 16
}
alias mp3suite2 {
drawtext @MP3 4 10 2 <
drawtext @MP3 4 30 2 <<
if ( %play == off ) {
drawtext @MP3 4 60 2 >
drawline @mp3 4 1 60 5 60 16
}
else { drawtext @MP3 4 60 2 }
drawtext @MP3 4 80 2 >>
drawtext @MP3 4 110 2 >
drawtext @MP3 4 130 2
drawline @mp3 4 1 131 5 141 5
drawline @mp3 4 1 131 15 141 15
drawtext @MP3 4 385 2 X
}
alias mp3suite3 {
drawrect -f @mp3 12 1 375 1 24 18
if ($mouse.x >= 385) && ($mouse.x <= 395) && ($mouse.y >= 2) && ($mouse.y <= 18) { drawtext @MP3 11 385 2 X }
else { drawtext @MP3 4 385 2 X }
}
alias placemp3 { window @mp3 $calc($mouse.dx - $1) $calc($mouse.dy - $2) | if ($mouse.key & 1) .timer $+ $ticks -m 1 0 placemp3 $1- }
menu @mp3 {
mouse {
if ($mouse.x >= 9) && ($mouse.x <= 18) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 10 2 < }
elseif ($mouse.x >= 30) && ($mouse.x <= 40) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 30 2 << }
elseif ($mouse.x >= 60) && ($mouse.x <= 70) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | if ( %play == off ) { drawtext @MP3 11 60 2 > | drawline @mp3 11 1 60 5 60 16 } | else { drawtext @MP3 11 60 2 } }
elseif ($mouse.x >= 80) && ($mouse.x <= 90) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 80 2 >> }
elseif ($mouse.x >= 110) && ($mouse.x <= 120) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 110 2 > }
elseif ($mouse.x >= 130) && ($mouse.x <= 140) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 130 2 | drawline @mp3 11 1 131 5 141 5 | drawline @mp3 11 1 131 15 141 15 }
elseif ($mouse.x >= 385) && ($mouse.x <= 395) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( %mp3sel != sel ) { set %mp3sel sel } | drawtext @MP3 11 385 2 X }
elseif ( %mp3sel == sel ) { mp3suite2 | unset %mp3sel }
}
sclick {
if ($mouse.x >= 385) && ($mouse.x <= 395) && ($mouse.y >= 2) && ($mouse.y <= 18) { window -c @mp3 | .timermp3 off | splay -wmp stop | unsetmp3 }
elseif ($mouse.x >= 60) && ($mouse.x <= 70) && ($mouse.y >= 2) && ($mouse.y <= 18) { playmp3 }
elseif ($mouse.x >= 130) && ($mouse.x <= 140) && ($mouse.y >= 2) && ($mouse.y <= 18) { mp3playstop }
elseif ($mouse.x >= 80) && ($mouse.x <= 90) && ($mouse.y >= 2) && ($mouse.y <= 18) { splay seek $calc( $inmp3.pos + 10000 ) | set %ctimemp3 $calc(%ctimemp3 - 10 ) | textmp3suite2 }
elseif ($mouse.x >= 30) && ($mouse.x <= 40) && ($mouse.y >= 2) && ($mouse.y <= 18) { if ( $calc( $calc($inmp3.pos - 10000 ) - 10000 ) > 0 ) { set %ctimemp3 $calc(%ctimemp3 + 10 ) } | else { set %ctimemp3 $ctime } | splay seek $calc($inmp3.pos - 10000 ) | textmp3suite2 }
elseif ($mouse.x >= 110) && ($mouse.x <= 120) && ($mouse.y >= 2) && ($mouse.y <= 18) { mp3playstop | playlistinc | playmp3 }
elseif ($mouse.x >= 9) && ($mouse.x <= 18) && ($mouse.y >= 2) && ($mouse.y <= 18) { mp3playstop | playlistmoins | playmp3 }
else { placemp3 $calc($mouse.dx - $window($active).x) $calc($mouse.dy - $window($active).y) }
}
view
.toujours visible
.. on :/window -o @mp3
.. off :/window -u @mp3
.minimize :/window -n @mp3
-
play
.play mp3 :/set %readmp3 $$sfile( sound\*.mp3, Choix du mp3, add) | unset %playlist | if ( $window(@playlist) != $null ) { window -c @playlist } | mp3playstop | playmp3
.playlist
..play folder :/set %playlistfolder $$sdir( sound\*.mp3, Choix du repertoir, add) | set %playlist folder | if ( $window(@playlist) != $null ) { .clear @playlist } | mp3playstop | set %nplaymp3th 1 | set %mp3read $findfile(%playlistfolder,*.mp3,1,return) | settextmp3 | playmp3 | if ( $window(@playlist) != $null ) { playlist }
..play playlist :/ set %persolist $$sfile( sound\*.m3u, Choix de la playlist, add) | set %playlistperso perso | if ( $window(@playlist) != $null ) { .clear @playlist } | mp3playstop | set %nplaymp3th 1 | set %mp3read $read(%persolist,1) | settextmp3 | playmp3 | if ( $window(@playlist) != $null ) { playlist }
..-
..ouvrir :/playlist
repeat ( $+ %repeatmp3 $+ )
. on :/set %repeatmp3 on
.off :/set %repeatmp3 off
anoncer
.sur tous les chan ( $+ %mp3chan $+ )
..on :/set %mp3chan on
..off :/set %mp3chan off
.sur ? ( $+ %mp3chanperso $+ )
.. add :/set %mp3chanperso $$?="entrer un chan"
.. clear :/unset %mp3chanperso
configuration :/dialog -m mp3 mp3
info :/infomp3
volume :/mp3volume
-
close :/window -c @mp3 | .timermp3 off | splay -wmp stop | unsetmp3
}
alias mp3playstop { .timermp3 off | splay -wmp stop | unsetmp3 1 | set %play off | mp3suite }
alias unsetmp3 {
unset %pausemp3
unset %pausetime
unset %ctimemp3
unset %seekmp3
unset %mp3plus
unset %seek
unset %mp3sel
unset %m
if ( $1 == $null ) { unset %play }
}
alias playmp3 {
if ( %play == off ) {
if ( %mp3read == $null ) { set %mp3read $$sfile( sound\*.mp3, Choix du fichier son, add) | settextmp3 }
if ( %pausemp3 == $null ) { splay -wmp %mp3read | set %ctimemp3 $ctime | set %m 1 }
else { unset %pausemp3 | splay -wmp resume | set %ctimemp3 $calc($ctime - %pausetime) | unset %pausetime }
.timermp3 0 1 textmp3
set %play on
mp3suite
if ( %mp3chan == on ) { /ame listen :12 $nopath(%mp3read) }
if ( %mp3chanperso != $null ) { notice %mp3chanperso listen :12 $nopath(%mp3read) }
}
else {
set %pausemp3 1
.timermp3 off
splay -wmp pause
set %play off
mp3suite2
set %pausetime $calc($ctime - %ctimemp3)
mp3suite
textmp3suite
mp3suite3
}
}
alias textmp3 { drawrect -f @mp3 1 1 150 2 225 16 | textmp3suite | if ( $len($nopath(%mp3text)) > 23 ) { if ( $calc($len($nopath(%mp3text)) -(20 + %m ))) { inc %m } | else set %m 1 } | mp3suite3 }
alias textmp3suite { drawtext @mp3 4 152 2 $asctime($calc($ctime - %ctimemp3),n:ss) - $mid($nopath(%mp3text),%m,$len(%mp3text)) }
alias settextmp3 { if ( $sound(%mp3read).title != null ) { set %mp3text $sound(%mp3read).title } | else { set %mp3text %mp3read } | if ( $window(@mp3info) != $null ) { infomp3 } }
on 1:mp3END:mp3playstop | if ( %repeatmp3 != on ) { playlistinc } | playmp3
========
playlist
========
menu @playlist {
dclick :/mp3playstop | if ( %playlist == folder ) { set %mp3read %playlistfolder $+ \ $+ $sline(@playlist,1) | settextmp3 } | set %nplaymp3th $sline(@playlist,1).ln | playmp3
.play folder :/set %playlistfolder $$sdir( sound\*.mp3, Choix du repertoir, add) | set %playlist folder | if ( $window(@playlist) != $null ) { .clear @playlist } | mp3playstop | set %nplaymp3th 1 | set %mp3read $findfile(%playlistfolder,*.mp3,1,return) | settextmp3 | playmp3 | if ( $window(@playlist) != $null ) { playlist }
.play playlist :/ set %persolist $$sfile( sound\*.m3u, Choix de la playlist, add) | set %playlistperso perso | if ( $window(@playlist) != $null ) { .clear @playlist } | mp3playstop | set %nplaymp3th 1 | set %mp3read $read(%persolist,1) | settextmp3 | playmp3 | if ( $window(@playlist) != $null ) { playlist }
-
persolist
. create :/createplaylist
.-
. add file :/write %persolist $$sfile( sound\*.mp3, Entrer un mp3, add) | .clear @playlist | playlist
. del file :/write -dl $+ $sline(@playlist,1).ln %persolist | playlist
}
alias createplaylist {
set %persolist $$?="entrer le nom de la persolist" $+ .maz
write sound\playlist\ $+ %persolist $$sfile( sound\*.mp3, Entrer un premier mp3, add)
.clear @playlist
set %playlist perso
mp3playstop
set %nplaymp3th 1 playmp3
playlist
}
alias playlist {
window -l @playlist
clear @playlist
if ( %playlist == folder ) { .echo -a $findfile(%playlistfolder,*.mp3,*,aline 4 @playlist $nopath($1-) ) }
if ( %playlist == perso ) {
var %l = 1
while ( %l <= $lines(%persolist)) {
aline 4 @playlist $nopath($read(%persolist, %l ))
inc %l
}
}
}
alias playlistinc {
if ( %playlist == folder ) {
if ( %nplaymp3th < $findfile(%playlistfolder,*.mp3,0,return) ) { inc %nplaymp3th }
else { set %nplaymp3th 1 }
set %mp3read $findfile(%playlistfolder,*.mp3,%nplaymp3th,return)
}
if ( %playlist == perso ) {
if ( %nplaymp3th < $lines(%persolist) ) { inc %nplaymp3th }
else { set %nplaymp3th 1 }
set %mp3read $read(%persolist,%nplaymp3th)
}
settextmp3
}
alias playlistmoins {
if ( %playlist == folder ) {
if ( %nplaymp3th > 1 ) { set %nplaymp3th $calc( %nplaymp3th - 1 ) }
else { set %nplaymp3th $findfile(%playlistfolder,*.mp3,0,return) }
set %mp3read $findfile(%playlistfolder,*.mp3,%nplaymp3th,return)
}
if ( %playlist == perso ) {
if ( %nplaymp3th > 1 ) { set %nplaymp3th $calc( %nplaymp3th - 1 ) }
else { set %nplaymp3th $lines(%persolist) }
set %mp3read $read(%persolist,%nplaymp3th)
}
settextmp3
}
dialog
dialog mp3 {
title "mp3 by abdoulax"
size -1 -1 200 100
option dbu
button "~~---o?0O@° .:(ok):. °@O0?o---~~",1,4 88 192 8,ok
text "en cours de réfléxion et de réalisation",2,4 4 192 80,center
}
info
alias infomp3 {
window -dapBkC +dL @mp3info -1 -1 400 245
drawrect -f @mp3info 1 1 0 0 400 245
drawrect @mp3info 4 1 0 0 400 245
drawtext @mp3info 4 380 3 X
drawtext @mp3info 4 4 3 Title :
drawtext @mp3info 11 70 3 $sound(%mp3read).title
drawtext @mp3info 4 4 18 Artist :
drawtext @mp3info 11 70 18 $sound(%mp3read).artist
drawtext @mp3info 4 4 33 Year :
drawtext @mp3info 11 70 33 $sound(%mp3read).year
drawtext @mp3info 4 4 48 Notes :
drawtext @mp3info 11 70 48 $sound(%mp3read).comment
drawtext @mp3info 4 4 63 Genre :
drawtext @mp3info 11 70 63 $sound(%mp3read).genre
drawtext @mp3info 4 4 78 Track :
drawtext @mp3info 11 70 78 $sound(%mp3read).track
drawtext @mp3info 4 4 93 Length :
drawtext @mp3info 11 70 93 $sound(%mp3read).length
drawtext @mp3info 4 4 108 Version :
drawtext @mp3info 11 70 108 $sound(%mp3read).version
drawtext @mp3info 4 4 123 Bitrate :
drawtext @mp3info 11 70 123 $sound(%mp3read).bitrate Kbps
drawtext @mp3info 4 4 138 Vbr :
drawtext @mp3info 11 70 138 $replace($replace($sound(%mp3read).vbr,$false,non),$true,oui)
drawtext @mp3info 4 4 153 Sample :
drawtext @mp3info 11 70 153 $sound(%mp3read).sample Kbps
drawtext @mp3info 4 4 168 Mode :
drawtext @mp3info 11 70 168 $sound(%mp3read).mode
drawtext @mp3info 4 4 183 Copyright :
drawtext @mp3info 11 75 183 $replace($replace($sound(%mp3read).copyright,$false,non),$true,oui)
drawtext @mp3info 4 4 198 Private :
drawtext @mp3info 11 70 198 $replace($replace($sound(%mp3read).private,$false,non),$true,oui)
drawtext @mp3info 4 4 213 Crc :
drawtext @mp3info 11 70 213 $replace($replace($sound(%mp3read).crc,$false,non),$true,oui)
drawtext @mp3info 4 4 228 Files :
drawtext @mp3info 11 70 228 $nopath(%mp3read)
}
alias placemp3info { window @mp3info $calc($mouse.dx - $1) $calc($mouse.dy - $2) | if ($mouse.key & 1) .timer $+ $ticks -m 1 0 placemp3info $1- }
menu @mp3info {
mouse {
if ($mouse.x >= 380) && ($mouse.x <= 395) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @mp3info 11 380 3 X }
elseif ( %mp3sel != $null ) { unsetset %mp3sel | drawtext @mp3info 4 380 3 X }
}
sclick {
if ($mouse.x >= 380) && ($mouse.x <= 395) && ($mouse.y >= 3) && ($mouse.y <= 18) { window -c @mp3info }
else { placemp3info $calc($mouse.dx - $window($active).x) $calc($mouse.dy - $window($active).y) }
}
close :/window -c @mp3info
}
volume
alias mp3volume {
window -dapBkC +dL @volmp3 -1 -1 220 230
drawrect -f @volmp3 1 1 0 0 220 230
drawrect @volmp3 4 1 0 0 220 230
drawtext @volmp3 4 200 3 X
drawtext @volmp3 4 12 3 mp3
drawtext @volmp3 4 60 3 wave
drawtext @volmp3 4 110 3 midi
drawtext @volmp3 4 167 3 all
drawrect -f @volmp3 12 1 18 22 14 172
drawrect -f @volmp3 12 1 68 22 14 172
drawrect -f @volmp3 12 1 118 22 14 172
drawrect -f @volmp3 12 1 168 22 14 172
drawtext @volmp3 4 38 100 50%
drawtext @volmp3 4 88 100 50%
drawtext @volmp3 4 138 100 50%
drawtext @volmp3 4 188 100 50%
drawline @volmp3 4 1 34 108 38 108
drawline @volmp3 4 1 84 108 88 108
drawline @volmp3 4 1 134 108 138 108
drawline @volmp3 4 1 184 108 188 108
drawtext @volmp3 4 38 181 0%
drawtext @volmp3 4 88 181 0%
drawtext @volmp3 4 138 181 0%
drawtext @volmp3 4 188 181 0%
drawline @volmp3 4 1 34 193 38 193
drawline @volmp3 4 1 84 193 88 193
drawline @volmp3 4 1 134 193 138 193
drawline @volmp3 4 1 184 193 188 193
drawrect -f @volmp3 11 1 18 $calc(23+(172-(172/(65000/$vol(mp3))))) 14 $calc(172/(65000/$vol(mp3)))
drawrect -f @volmp3 11 1 68 $calc(23+(172-(172/(65000/$vol(wave))))) 14 $calc(172/(65000/$vol(wave)))
drawrect -f @volmp3 11 1 118 $calc(23+(172-(172/(65000/$vol(midi))))) 14 $calc(172/(65000/$vol(midi)))
drawrect -f @volmp3 11 1 168 $calc(23+(172-(172/(65000/$vol(master))))) 14 $calc(172/(65000/$vol(master)))
drawtext @volmp3 4 10 202 $mid($calc((100/(65000/$vol(mp3)))),1,4) $+ %
drawtext @volmp3 4 60 202 $mid($calc((100/(65000/$vol(wave)))),1,4) $+ %
drawtext @volmp3 4 110 202 $mid($calc((100/(65000/$vol(midi)))),1,4) $+ %
drawtext @volmp3 4 160 202 $mid($calc((100/(65000/$vol(master)))),1,4) $+ %
if ( $vol(mp3).mute == $true ) drawrect -f @volmp3 14 1 18 23 14 172
if ( $vol(wave).mute == $true ) drawrect -f @volmp3 14 1 68 23 14 172
if ( $vol(midi).mute == $true ) drawrect -f @volmp3 14 1 118 23 14 172
if ( $vol(master).mute == $true ) drawrect -f @volmp3 14 1 168 23 14 172
}
alias placemp3vol { window @volmp3 $calc($mouse.dx - $1) $calc($mouse.dy - $2) | if ($mouse.key & 1) .timer $+ $ticks -m 1 0 placemp3vol $1- }
menu @volmp3 {
sclick {
if ($mouse.x >= 18) && ($mouse.x <= 32) && ($mouse.y >= 22) && ($mouse.y <= 194) { vol -p $calc((172-( $mouse.y -22))/(172)*65000) | mp3volume }
elseif ($mouse.x >= 68) && ($mouse.x <= 82) && ($mouse.y >= 22) && ($mouse.y <= 194) { vol -w $calc((172-( $mouse.y -22))/(172)*65000) | mp3volume }
elseif ($mouse.x >= 118) && ($mouse.x <= 132) && ($mouse.y >= 22) && ($mouse.y <= 194) { vol -m $calc((172-( $mouse.y -22))/(172)*65000) | mp3volume }
elseif ($mouse.x >= 168) && ($mouse.x <= 182) && ($mouse.y >= 22) && ($mouse.y <= 194) { vol -v $calc((172-( $mouse.y -22))/(172)*65000) | mp3volume }
elseif ($mouse.x >= 200) && ($mouse.x <= 215) && ($mouse.y >= 3) && ($mouse.y <= 18) { window -c @volmp3 }
elseif ($mouse.x >= 12) && ($mouse.x <= 40) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( $vol(mp3).mute == $true ) { vol -pu2 } | else { vol -pu1 } | mp3volume }
elseif ($mouse.x >= 60) && ($mouse.x <= 95) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( $vol(wave).mute == $true ) { vol -wu2 } | else { vol -wu1 } | mp3volume }
elseif ($mouse.x >= 110) && ($mouse.x <= 138) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( $vol(midi).mute == $true ) { vol -mu2 } | else { vol -mu1 } | mp3volume }
elseif ($mouse.x >= 167) && ($mouse.x <= 183) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( $vol(master).mute == $true ) { vol -vu2 } | else { vol -vu1 } | mp3volume }
else { placemp3vol $calc($mouse.dx - $window($active).x) $calc($mouse.dy - $window($active).y) }
}
mouse {
if ($mouse.x >= 200) && ($mouse.x <= 215) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @volmp3 11 200 3 X }
elseif ($mouse.x >= 12) && ($mouse.x <= 40) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @volmp3 11 12 3 mp3 }
elseif ($mouse.x >= 60) && ($mouse.x <= 95) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @volmp3 11 60 3 wave }
elseif ($mouse.x >= 110) && ($mouse.x <= 138) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @volmp3 11 110 3 midi }
elseif ($mouse.x >= 167) && ($mouse.x <= 183) && ($mouse.y >= 3) && ($mouse.y <= 18) { if ( %mp3sel == $null ) { set %mp3sel sel } | drawtext @volmp3 11 167 3 all }
elseif ( %mp3sel != $null ) { unset %mp3sel | mp3volume }
}
close :/window -c @volmp3
}
Conclusion :
Have fun
by abdoulax
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.