-mp3 player-

Description

Alors voila c'est un lecteur MP3 en dialogue, avec le maximum d'option que j'ai put mettre vu que c'est mon premiers script, vous avez la posibliter d'activer ou ne ne pas activer l'annonce de ce que vous ecoutez en salle, une lecture aleatoire, repete la liste complete et bien d'autre encore...

Source / Exemple :


dialog MP3P {
  title " -MP3 PlAyEr-"
  size -1 -1 103 170
  option dbu
  icon $scriptdirImage\\MP3.ico 
  button "Play",1, 28 87 22 10
  button "Stop",10, 53 87 22 10
  button "Choisir un repertoire",11, 35 146 66 10
  radio "Shuffle",12, 3 121 30 8,  push   
  radio "Normal", 13, 3 148 30 8, push
  button "|«",14, 16 87 10 10
  button "»|",15, 76 87 10 10
  button "vol +",16, 80 135 21 9
  list 17, 59 135 19 15
  list 18 ,2 3 99 82, sort size vsbar
  radio "Repeat",19, 3 130 30 8, push 
  button "Pause",20, 16 99 71 10
  menu "Fichier", 21
  item "Quitter", 22,21,ok
  menu "Option", 38
  menu "Texte salle", 39, 38
  item "On", 40, 39
  item "Off", 41, 39
  menu "Credit", 23
  item "A propos de -MP3 PlAyEr-", 24,23
  icon 31,0 0 120 190, $scriptdirImage\\texture.jpg, 0
  button "vol -",32, 35 135 21 9
  list 33, 54 112 47 15 sort size
  text "Temps:" 35, 35 113 17 7 
  check "Mute", 36, 3 112 30 8, push
  list 37, 3 158 98 15 sort size
  radio "Reapeat all", 54, 3 139 30 8, push
  text "Total:", 55, 35 126 17 7 
  list 56, 54 124 47 15 sort size
}

on *:dialog:MP3P:init:*:{ 
  /inc %start 1 
  set %vol $round($calc(($vol(Master) /65535) * 100),0)
  did -b MP3P 14
  did -b MP3P 15
  did -a MP3P 17 %vol $+ %
  did -ra MP3P 18 ---- BiEnVeNu DaNs MP3 pLaYeR ----
  did -a MP3P 18
  did -a MP3P 18 - LaNcE PoUr La %start $+ ° FoIs -
  did -b MP3P 18
  did -b MP3P 20
}

menu channel,nicklist,menubar,status {
-MP3 PlAyEr-: /dialog -md MP3P MP3P | /splay -p $scriptdirSounds\\MP3P.wav
}

dialog Credit {
  title "A Propos de -MP3 PlAyEr-"
  size -1 -1 100 79
  option dbu
  icon $scriptdir\\-MP3_PlAyEr-\\Image\\MP3.ico
  button "Ok",29,133 4 15 43,ok
  icon 31,0 0 100 80, $scriptdirImage\\presentation.jpg, 0
}

on 1:dialog:MP3P:menu:24:dialog -m Credit Credit
on 1:dialog:MP3P:menu:40:{
  .enable #text
  set %text on
  echo -a 0,2 Le text est:4,3ON
}
on 1:dialog:MP3P:menu:41:{
  .disable #text 
  set %text off
  echo -a 0,2 Le text est:0,4OFF
}

on *:dialog:MP3P:sclick:11:{ 
  did -e MP3P 18
  splay -p $scriptdirSounds\\Click.wav 
  set %file_mp3 $sdir="Selectionnez le repertoire de vos MP3" C:
  did -r MP3P 18
  var %list = $findfile(%file_mp3,*.mp3,0,did -a MP3P 18 $nopath($1-)) 
}

on *:dialog:MP3P:sclick:1:{ 
  if (%Shuffle != on) && (%Normal != on) && (%Repeat != on) && (%Repeata != on) { /dialog -md erreur2 erreur2 | /splay $scriptdirSounds\\erreur.wav | halt }
  if ($did(MP3P,18).seltext == $null) { /dialog -md erreur erreur |  /splay $scriptdirSounds\\erreur.wav | halt }  
  did -e MP3P 20
  if (%Shuffle == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    set %list $rand(%total_mp3,1)
    playnext
    .timerzik -m 0 999 tps
  }
  if (%Normal == on) {
    set %list $did(MP3P,18).sel
    set %total_mp3 $did(MP3P,18).lines
    play
  }
  if (%Repeat == on) {
    play
  }
  if (%Repeata == on) {
    set %list $did(MP3P,18).sel
    set %total_mp3 $did(MP3P,18).lines
    play
  }
}

dialog erreur {
  title "Erreur"
  size -1 -1  200 37
  option dbu
  icon $scriptdirImage\\MP3.ico
  icon 38, 35 6 32 32,$scriptdirImage\\ATTENTION!.ico, 0
  text "Vous n'avez pas selectionnez de MP3" 39, 55 9 90 8, center
  button "Ok",40, 85 26 30 10, ok
}

dialog erreur2 {
  title "Erreur"
  size -1 -1  200 37
  option dbu
  icon $scriptdir\\-MP3_PlAyEr-\\Image\\MP3.ico
  icon 38, 15 6 32 32, $scriptdirImage\\ATTENTION!.ico, 0
  text "Veuillez selectionnez un mode de lecture (Shuffle, Repeat....)" 39, 35 9 160 8, center
  button "Ok",40, 85 26 30 10, ok
}

on *:dialog:MP3P:sclick:10:{
  splay -p stop
  .timerzik off 
}

alias tps {
  if ($dialog(MP3P)) {
    did -r MP3P 33
    did -a MP3P 33 $duration($calc(($inmp3.length - $inmp3.pos) /1000 ))
  }
}

alias texte_defile {
  if %defile == $null { set %defile + | set %a 1 }
  if %defile == + {
    if %a >= 35 { set %defile - }
    did -ra MP3P 37 $left(%selection,%a)
    inc %a
  }
  if %defile == - {
    if %a <= 1 { set %defile + }
    did -ra MP3P 37 $left(%selection,%a)
    dec %a
  }
}

alias play {
  set %zik %file_mp3 $+ $did(MP3P,18).seltext
  set %titre_selection $did(MP3P,18).seltext
  set %selection $remove(%titre_selection,.mp3)
  splay -p %zik   
  .timerzik -m 0 999 tps
  .timerselc -m 0 600 texte_defile
  if ( %text == on) {
    text
  }
}

alias playnext {
  did -c MP3P 18 %list
  set %titre_selection $did(MP3P,18,%list).text
  set %selection $remove(%titre_selection,.mp3)  
  .timerselc -m 0 600 texte_defile
  set %zik %file_mp3 $+ $did(MP3P,18).seltext 
  splay -p %zik
  if ( %text == on) {
    text
  }
}

alias next {
  did -c MP3P 18 %list
  set %titre_selection $did(MP3P,18,%list).text
  set %selection $remove(%titre_selection,.mp3)  
  set %zik %file_mp3 $+ $did(MP3P,18).seltext 
  splay -p %zik
  var %longeur_MP3 = $calc($sound(%zik).length / 1000)
  var %longeur_MP3 = $duration(%longeur_MP3)
  .timerselc -m 0 600 texte_defile
  did -ra MP3P 56 %longeur_MP3
  if ( %text == on) {
    text
  }
}

#text off
alias text {
  set %title $mp3(%zik).title
  set %auteur $mp3(%zik).artist
  set %album $mp3(%zik).album
  if (%title == $null) { %title = Inconnu }
  if (%auteur == $null) { %auteur = Inconnu }
  if (%album == $null) { %album = Inconnu }
  ame  0,1Ecoute: 15[14,1 $+ %title $+ 15,1]0,1 De 15[14,1 $+ %auteur $+ 15,1]0,1 ALBUM 15[14,1 $+ %album $+ 15,1]0,1 Qui Dure 15[14,1 $asctime($calc($mp3(%zik).length / 1000),n:ss)) 15]3,1 ~4» 8-7MP3 PlAyEr8- 7By 10EXoDi4 4«3~
}
#text end

on *:dialog:MP3P:sclick:20:{
  if (%pause == 1) { 
    splay -p resume 
    did -ra MP3P 20 Pause
    unset %pause
  }  
  else { 
    splay -p pause
    did -a MP3P 20 Resume
    set %pause 1
  }
}

on *:dialog:MP3P:sclick:16:{
  vol -v $calc($vol(master) + 5000)
  set %vol $round($calc(($vol(Master) /65535) * 100),0)
  did -r MP3P 17
  did -ra MP3P 17 %vol $+ % 
}

on *:dialog:MP3P:sclick:32:{
  vol -v $calc($vol(master) - 5000)
  set %vol $round($calc(($vol(Master) /65535) * 100),0)
  did -r MP3P 17
  did -a MP3P 17 %vol $+ %
}

on *:dialog:MP3P:*:18:{
  if ($devent == sclick) {
    did -e MP3P 20
    did -e MP3P 14
    did -e MP3P 15
    set %zik %file_mp3 $+ $did(MP3P,18).seltext
    var %longeur_MP3 = $calc($sound(%zik).length / 1000)
    var %longeur_MP3 = $duration(%longeur_MP3)
    did -ra MP3P 33 %longeur_MP3
    did -ra MP3P 56 %longeur_MP3
  }
  if ($devent == dclick) {
    if (%Shuffle != on) && (%Normal != on) && (%Repeat != on) && (%Repeata != on) { /dialog -md erreur2 erreur2 | /splay $scriptdirSounds\\erreur.wav | halt }
    if (%Shuffle == on) {
      set %total_mp3 $did(MP3P,18).lines
      set %list $did(MP3P,18).sel
      set %list $rand(%total_mp3,1)
      playnext
      .timerzik -m 0 999 tps
    }
    if (%Normal == on) {
      set %list $did(MP3P,18).sel
      set %total_mp3 $did(MP3P,18).lines
      play

    }
    if (%Repeat == on) {
      play
    }
    if (%Repeata == on) {
      set %list $did(MP3P,18).sel
      set %total_mp3 $did(MP3P,18).lines
      play
    }
  }
}

on *:dialog:MP3P:close:0:{ 
  unset %file_mp3 | unset %zik | unset %titre_selection | unset %selection | unset %list | unset %vol | unset %Repeat | unset %Shuffle | unset %Normal | unset %total_mp3 | unset %Repeata | unset %defile | unset %a
  .timerzik off
  splay stop
  /echo -a 0,2Merci d'avoir utiliser 4-MP3 PlAyEr-
  .timerselc off
}

on *:dialog:MP3P:sclick:36:{
  if ($did(MP3P,36).state == 0) { 
    vol -vu2 $calc($vol(master) + 5000)
  }
  elseif ($did(MP3P,36).state == 1) {  
    vol -vu1 $calc($vol(master) - 5000)
  }
}

on *:MP3END:{   
  if (%Shuffle == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    set %list $rand(%total_mp3,1)
    next
  }
  if (%Normal == on) {   
    set %list $did(MP3P,18).sel
    if (%list == %total_mp3) {
      /splay -p stop
    }
    else {
      inc %list
      next
    }
  }
  if (%repeat == on) {
    set %list $did(MP3P,18).sel
    next
  } 
  if (%Repeata == on) {
    if (%list != %total_mp3) {        
      inc %list
      next
    }
    else {
      set %list 1
      next
    }
  }
}

on *:dialog:MP3P:sclick:14:{
  if (%Shuffle == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    set %list $rand(%total_mp3,1)
    playnext
  }
  if (%Normal == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    dec %list
    playnext
  }
  if (%repeat == on) {
    set %list $did(MP3P,18).sel
    playnext
  }
  if (%repeata == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    dec %list
    playnext
  }
}

on *:dialog:MP3P:sclick:15:{
  if (%Shuffle == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    set %list $rand(%total_mp3,1)
    playnext
  }
  if (%Normal == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    inc %list
    playnext
  }
  if (Repeat == on) {
    set %list $did(MP3P,18).sel
    playnext
  }
  if (repeata == on) {
    set %total_mp3 $did(MP3P,18).lines
    set %list $did(MP3P,18).sel
    inc %list
    playnext
  }
}

on *:dialog:MP3P:sclick:*:{
  if ($did == 12) { 
    set %Shuffle on
    unset %Normal
    unset %Repeat
    unset %Repeata
  }
  if ($did == 13) {
    set %Normal on
    unset %Shuffle
    unset %Repeat
    unset %Repeata
  }
  if ($did == 19) { 
    set %Repeat on
    unset %Shuffle
    unset %Normal
    unset %Repeata
  }
  if ($did == 54) {
    set %repeata on
    unset %Shuffle
    unset %Normal
    unset %Repeat
  }
}

Conclusion :


Bon alors j'espere que mon lecteur vous plaira n'hesiter pas a critiquer pour que je puisse progresser ;)

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.