Mp3 (titre trop court)

Contenu du snippet

C'est le snippet d'un ptit lecteur MP3 que je vous sort de derriere les fagots ( mon script lol ) faudra l'adapter au votre rajouter une icone et une dll ( la mdx ) :)

Source / Exemple :


dialog mp3 {
  title "Lecteur Mp3 - XerBo"
  size -1 -1 224 128
  option dbu
  icon $mircdirSysteme\Graphiques\vol.ico, 0
  text "", 3, 4 15 218 8
  button "4", 4, 53 26 21 12, flat
  button "<", 5, 76 26 21 12, flat
  list 12, 3 40 172 66, size
  check "Mode Hasard", 13, 76 114 45 10
  button "Musique", 1, 181 46 37 9, multi
  button "Repertoire", 2, 181 56 37 9, multi
  box "Enlever", 6, 178 69 44 31
  box "Ajouter", 7, 178 38 44 30
  button "Musique", 8, 181 77 37 9, multi
  button "Toutes", 9, 181 87 37 9, multi
  box "Volume", 10, 13 106 56 21
  box "Options", 11, 71 106 96 21
  edit "", 14, 6 3 214 10, read autohs center
  button "ø Fermer ø", 15, 191 118 32 9
  button "8", 16, 99 26 21 12, flat
  button "7", 17, 30 26 21 12, flat
  check "Pas de /ame", 18, 121 114 40 10
  edit "", 19, 28 114 26 9, center
  button "-", 20, 17 113 9 11
  button "+", 21, 56 113 9 11
  button ";", 22, 122 26 21 12, flat
}

on 1:dialog:mp3:sclick:17:{
  if ( $did(12).sel = $null ) { var %temp = 0 | goto suite }
  else { var %temp = $did(12).sel }
  :suite
  dec %temp
  if ( %temp = 0 ) { %temp = $did(12).lines }
  did -c mp3 12 %temp
  %u-mp3.a.jouer = $read(systeme\mp3.txt,%temp)
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { set %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  splay " $+ %u-mp3.a.jouer $+ "
  .timerupbar 0 1 update.pbar
  if ( %u-mp3-discret != $true ) { ame ecoute $replace(%varmp3.title de %varmp3.artist , $3-,  $+ $3- $+ ) ! Durée : %varmp3.duration }
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  if ( $dialog(mp3).title ) { did -ra mp3 14 %u-mp3.jouer }
  %u-mp3-nombre = $did(12).sel
}
on 1:dialog:mp3:sclick:16:{
  if ( $did(12).sel = $null ) { var %temp = 0 | goto suite }
  else { var %temp = $did(12).sel }
  :suite
  inc %temp
  if ( %temp > $did(12).lines ) { %temp = 1 }
  did -c mp3 12 %temp
  %u-mp3.a.jouer = $read(systeme\mp3.txt,%temp)
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { set %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  splay " $+ %u-mp3.a.jouer $+ "
  .timerupbar 0 1 update.pbar
  if ( %u-mp3-discret != $true ) { ame ecoute $replace(%varmp3.title de %varmp3.artist , $3-,  $+ $3- $+ ) ! Durée : %varmp3.duration }
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  if ( $dialog(mp3).title ) { did -ra mp3 14 %u-mp3.jouer }
  %u-mp3-nombre = $did(12).sel
}
on 1:dialog:mp3:sclick:15:{ dx mp3 }

on *:dialog:mp3:init:0:{
  dll systeme\mdx.dll SetMircVersion $version
  dll systeme\mdx.dll MarkDialog $dname
  dll systeme\mdx.dll SetControlMDX $dname 3 ProgressBar smooth > systeme\ctl_gen.mdx
  dll systeme\mdx.dll SetFont $dname 4,5,16,17,22 -10 400 Webdings
  did -ra mp3 19 $volmaster2($vol(master))
  var %temp = 0 
  :loop 
  inc %temp
  if ( %temp > $lines(systeme\mp3.txt) ) { goto fin }
  if ( $read(systeme\mp3.txt,%temp) != $null ) { 
    did -a mp3 12 $nopath($read(systeme\mp3.txt,%temp)) | goto loop
  }
  :fin
  .did -c mp3 12 %u-mp3-nombre
  if ( %u-mp3hasard = $true ) { did -c mp3 13 }
  if ( $insong = $true ) { did -ra mp3 14 %u-mp3.jouer }
  if ( %u-mp3-discret = $true ) { did -c mp3 18 }
}
on 1:dialog:mp3:sclick:18:{
  if ( $did(18).state = 1 ) { %u-mp3-discret = $true }
  if ( $did(18).state = 0 ) { %u-mp3-discret = $false }
}
on 1:dialog:mp3:sclick:22:{ splay pause | %u-mp3-pause = $true }
on 1:dialog:mp3:edit:19:{
  did -ra mp3 19 $volmaster2($vol(master))
}
alias volmaster2 {
  if ( $1 = 0 ) { return 0 }
  if ( $1 <= 10000 ) { return 20 }
  if ( $1 <= 20000 ) { return 40 }
  if ( $1 <= 35000 ) { return 60 }
  if ( $1 <= 50000 ) { return 80 }
  if ( $1 <= 65535 ) { return 100 }
}
alias volmaster {
  if ( $1 = 0 ) { return 0 }
  if ( $1 = 20 ) { return 10000 }
  if ( $1 = 40 ) { return 20000 }
  if ( $1 = 60 ) { return 35000 }
  if ( $1 = 80 ) { return 50000 }
  if ( $1 = 100 ) { return 65535 }
}
on 1:dialog:mp3:sclick:20:{
  if ( $did(19) = 0 ) { halt }
  vol -v $volmaster($calc($did(19) - 20)) | did -ra mp3 19 $calc($did(19) - 20)
}

on 1:dialog:mp3:sclick:21:{ 
  if ( $did(19) = 100 ) { halt }
  vol -v $volmaster($calc($did(19) + 20)) | did -ra mp3 19 $calc($did(19) + 20)
}

on 1:dialog:mp3:sclick:8:{ var %temp = $did(12).sel | write -dl [ $+ [ $did(12).sel ] ] systeme\mp3.txt | majmp3 | did -c mp3 12 %temp }
on 1:dialog:mp3:sclick:2:{ rep }
on 1:dialog:mp3:sclick:9:{ write -c systeme\mp3.txt | majmp3 }
on 1:dialog:mp3:sclick:1:{ addone }
on 1:dialog:mp3:sclick:13:{
  if ( $did(13).state = 1 ) {
    %u-mp3hasard = $true
    .enable #hasard
  }
  if ( $did(13).state = 0 ) {
    %u-mp3hasard = $false
    .disable #hasard
  }
}
on 1:input:*:{
  if ( !nbrmp3 = $1) { msg $chan J'ai $lines(systeme\mp3.txt) MP3s dans %u-repertoire }
  if ( %u-rac-mp3 = $1 ) {
    if ( $2 = * && $2 = $null ) { .timer 1 0 jouemoi mp3.txt | return }
    var %loop = 0
    .remove $mircdirsysteme\mp3temp.txt
    :loop
    inc %loop
    if ( %loop > $lines(systeme\mp3.txt) ) { .timer 1 0 jouemoi mp3temp.txt  souligne $2- | halt }
    if ( $2- isin $read(systeme\mp3.txt,%loop)  ) {
      write systeme\mp3temp.txt $read(systeme\mp3.txt, $+ %loop)
    }
    goto loop
  }
}
alias jouemoi {
  if ( $2 = souligne ) {
    if ( $lines(systeme\ $+ $1 $+ ) = $null ) { echo -a Aucune musique trouvée | halt }
    %u-mp3.a.jouer = $read(systeme\ $+ $1 $+ )
    var %varmp3.title $mp3(%u-mp3.a.jouer).title
    if %varmp3.title == $null || %varmp3.title == "" { set %varmp3.title $nopath(%u-mp3.a.jouer) }
    var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
    if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
    var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
    ;did -ra mp3 1 %varmp3.title
    ;did -ra mp3 2 %varmp3.artist
    ;did -ra mp3 9 %varmp3.duration
    splay " $+ %u-mp3.a.jouer $+ "
    .timerupbar 0 1 update.pbar
    if ( %u-mp3-discret != $true ) { ame ecoute $replace(%varmp3.title de %varmp3.artist , $3-,  $+ $3- $+ ) ! Durée : %varmp3.duration }
    %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
    if ( $dialog(mp3).title ) { did -ra mp3 14 %u-mp3.jouer }
    halt
  }
  if ( $lines(systeme\ $+ $1 $+ ) = $null ) { echo -a Aucune musique trouvée | halt }
  %u-mp3.a.jouer = $read(systeme\ $+ $1 $+ )
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { var %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  ;did -ra mp3 1 %varmp3.title
  ;did -ra mp3 2 %varmp3.artist
  ;did -ra mp3 9 %varmp3.duration
  splay " $+ %u-mp3.a.jouer $+ "
  .timerupbar 0 1 update.pbar
  if ( %u-mp3-discret != $true ) { ame ecoute %varmp3.title de %varmp3.artist ! Durée : %varmp3.duration }
  if ( $dialog(mp3).title != $null ) { if ( %u-mp3-pause != $true ) { did -ra mp3 4 ; } }
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  if ( $dialog(mp3).title ) { did -ra mp3 14 %u-mp3.jouer }
  halt
}
#hasard on
alias hasardmp3 {
  var %u-mp3.a.jouer $read(systeme\mp3.txt)
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { var %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  ;did -ra mp3 1 %varmp3.title
  ;did -ra mp3 2 %varmp3.artist
  ;did -ra mp3 9 %varmp3.duration
  splay " $+ %u-mp3.a.jouer $+ "
  .timerupbar 0 1 update.pbar
  var %tempnbr = 0
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  while ( %tempnbr <= $lines(systeme\mp3.txt) ) { inc %tempnbr | if ( %u-mp3.a.jouer = $read(systeme\mp3.txt,%tempnbr) ) { var %u-mp3-nombre %tempnbr } }
  if ( %u-mp3-discret != $true ) { if ( $scid($scon(1)).server != $null ) { ame ecoute %varmp3.title de %varmp3.artist ! Durée : %varmp3.duration »Mode Hasard« } }
  if ( $dialog(mp3).title ) { did -ra mp3 14 %u-mp3.jouer }
}
ON 1:MP3END:{
  hasardmp3
}
#hasard end

alias majmp3 {
  .did -r mp3 12
  var %temp = 0 
  :loop 
  inc %temp
  if ( %temp > $lines(systeme\mp3.txt) ) { goto fin }
  if ( $read(systeme\mp3.txt,%temp) != $null ) { 
    .did -a mp3 12 $nopath($read(systeme\mp3.txt,%temp)) | goto loop
  }
  :fin
  .did -c mp3 12 %u-mp3-nombre
}

on *:dialog:mp3:dclick:12:{
  %u-mp3-nombre = $did(12).sel
  .timerupbar 0 1 update.pbar
  var %u-mp3.a.jouer $read(systeme\mp3.txt,$did(mp3,12).sel)
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { var %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  splay " $+ %u-mp3.a.jouer $+ "
  if ( %u-mp3-discret != $true ) { ame ecoute %varmp3.title de %varmp3.artist ! Durée : %varmp3.duration }
  var %tempnbr = 0
  while ( %tempnbr <= $lines(systeme\mp3.txt) ) { inc %tempnbr | if ( %u-mp3.a.jouer = $read(systeme\mp3.txt,%tempnbr) ) { var %u-mp3-nombre %tempnbr } }
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  .timer -m 1 100 did -ra mp3 14 %u-mp3.jouer
  %u-mp3-nombre = $did(12).sel
}
on *:dialog:mp3:sclick:4:{
  if ( $insong = $true && %u-mp3-pause = $true ) { splay resume | %u-mp3-pause = $false | halt }
  %u-mp3-nombre = $did(12).sel
  var %u-mp3.a.jouer $read(systeme\mp3.txt,$did(mp3,12).sel)
  .timerupbar 0 1 update.pbar
  var %varmp3.title $mp3(%u-mp3.a.jouer).title
  if %varmp3.title == $null || %varmp3.title == "" { var %varmp3.title $nopath(%u-mp3.a.jouer) }
  var %varmp3.artist $mp3(%u-mp3.a.jouer).artist
  if %varmp3.artist == $null || %mp3.artist = "" { var %varmp3.artist Artiste Inconnu(e) }
  var %varmp3.duration $duration($calc($mp3(%u-mp3.a.jouer).length / 1024))
  splay " $+ %u-mp3.a.jouer $+ "
  if ( %u-mp3-discret != $true ) { ame ecoute %varmp3.title de %varmp3.artist ! Durée : %varmp3.duration }
  var %tempnbr = 0
  while ( %tempnbr <= $lines(systeme\mp3.txt) ) { inc %tempnbr | if ( %u-mp3.a.jouer = $read(systeme\mp3.txt,%tempnbr) ) { var %u-mp3-nombre %tempnbr } }
  %u-mp3.jouer = %varmp3.title - %varmp3.artist ( %varmp3.duration )
  .timer -m 1 100 did -ra mp3 14 %u-mp3.jouer

}

on *:dialog:mp3:sclick:5:{
  splay stop

}

alias update.pbar { 
  if ( $dialog(mp3).title != $null ) { did -ra mp3 3 $int($calc($calc($insong.pos / 1000) / $calc($insong.length / 1000) * 100)) }
  ;else { .timerupbar off | splay stop }
}
on *:dialog:mp3:sclick:11:{ rep }
alias addone {
  var %temp = $sfile(%u-repertoire,Choisis une musique,OK)
  if ( $right(%temp,4) != .mp3 ) { if ( $input(Ce fichier n'est pas un MP3 ou ne peut pas être lu !,o,Erreur) = $true ) { halt } }
  write systeme\mp3.txt %temp
  majmp3
}
alias rep {
  var %u-repertoire $$sdir="Choisi un réperoire contenant des mp3" c:
  did -r mp3 12 
  var %open = $findfile( %repertoire ,*.mp3,0,did -a mp3 12 $nopath($1-))
  var %open = $findfile( %u-repertoire ,*.mp3,0,write -n systeme\mp3.txt %u-repertoire $+ $nopath($1-))
  var %temp = 0 
  :loop 
  inc %temp
  if ( %temp > $lines(systeme\mp3.txt) ) { goto fin }
  if ( $read(systeme\mp3.txt,%temp) != $null ) { did -a mp3 12 $replace($read(systeme\mp3.txt,%temp),%u-repertoire,) }
  goto loop
  :fin
}

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.