Lecteur @mp3 et bien sur la pitite @playlist ki va ac ( tout en pikwin )

Description

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

Codes Sources

A voir également

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.