Lecteur audio mp3/midi/wave

Description

Sans aucun dll, il vous permet de lire diferent format audio.
Il à un petit air de winamp avec sa seekbar.

On peut lui faire des skin baser sur mdx.

Source / Exemple :


;Lecteur Audio V1.5 par aerith "aeris_vallee@hotmail.com"
;Pour utiliser MDX.dll le chemin du repertoire ne doit pas avoir d'espace
;Pour une utilisation partiel ou complette dans un script me prevenir svp

;##########MENU##########
menu channel,menubar {
  -
  Lecteur MP3/Wave/Midi : {
    if (!$dialog(lecteur).title) {
      if (!$lecteur(lecteur,x)) $lecteur(lecteur,x,-1)
      if (!$lecteur(lecteur,y)) $lecteur(lecteur,y,-1)
      if (!$lecteur(rep,mdx)) $lecteur(rep,mdx,$findfile($mircdir,mdx.dll,1))
      if ((!$lecteur(rep,mdx)) || (!$exists($lecteur(rep,mdx)))) {
        echo -a MDX.dll non trouver dans le repertoire de mirc, instalez le et relancez le lecteur
        beep 5 50
      }
      if (!$exists(lecteur/temp.txt)) { mkdir lecteur | write lecteur/temp.txt }
      dialog -dm lecteur lecteur
    }
  }
}

;##########LECTEUR##########
dialog lecteur {
  title "Lecteur Audio"
  size $lecteur(lecteur,x) $lecteur(lecteur,y) 187 105
  option dbu
  button "I<", 10, 1 1 18 10
  button ">", 11, 19 1 18 10
  button "I I", 12, 37 1 18 10
  button "", 13, 55 1 18 10
  button ">I", 14, 73 1 18 10
  scroll "", 15, 1 11 90 8, range 100 horizontal top
  box "Volume Master", 20, 94 0 92 20
  scroll "", 21, 96 8 48 9, range 0 65535 horizontal left
  edit , 22, 145 7 17 10, read center
  check "mute", 23, 163 8 22 10
  box "Mode", 30, 148 20 38 29
  check "Shuffle", 31, 153 37 29 10
  check "Loop", 32, 153 27 23 10
  button "Mixer", 62, 152 50 30 10
  button "Play-List", 63, 152 61 30 10
  button "Skin", 1, 152 72 30 10
  button "Option", 64, 152 83 30 10, ok cancel
  button "Exit", 60, 152 94 30 10, ok cancel
  box "Information", 40, 1 20 146 84
  edit "", 3, 3 28 10 10, read autohs center
  edit "", 41, 13 28 31 10, read autohs center
  edit "", 2, 44 28 41 10, read autohs center
  edit "", 42, 85 28 30 10, read autohs center
  edit "", 43, 115 28 30 10, read autohs center
  edit "", 44, 3 38 142 10, read autohs center
  list 45, 3 48 142 54, size hsbar vsbar
}
on *:dialog:lecteur:init:*: {
  loadskinlecteur
  $lecteur(volume,master,$round($calc($vol(master) / 655.35),0))
  did -ra lecteur 22 $lecteur(volume,master)
  did -c lecteur 21 $vol(master)
  if ($vol(master).mute == 1) did -c lecteur 23
  if ($lecteur(option,shuffle) == on) did -c lecteur 31
  if ($lecteur(option,loop) == on) did -c lecteur 32
  var %a = $lecteur(alarme,lecture.h) $+ : $+ $lecteur(alarme,lecture.m)
  if ($lecteur(alarme,lecture) == on) timerlecteurmarche %a 1 1 alarmemarche
  afficheplaylist
}
;##lecture##
on *:dialog:lecteur:sclick:11: {
  lecteurplay
}
;##pause##
on *:dialog:lecteur:sclick:12: {
  if ($lecteur(option,pause) == on ) {
    splay resume
    lecteur option pause off
    lecteur lecteur p 0
    did -ra lecteur 3 >
    dialog -t lecteur $lecteur(lecteur,no) $+ . $nopath($lecteur(lecteur,musique)) - Lecteur Audio
  } 
  else {
    splay pause
    lecteur option pause on
    lecteur lecteur p 1
    did -ra lecteur 3 I I
    dialog -t lecteur $lecteur(lecteur,no) $+ . $nopath($lecteur(lecteur,musique)) - Lecteur Audio (Pause)
  } 
}
;##stop##
on *:dialog:lecteur:sclick:13: {
  lecteurstop
}
;##musique precedente##
on *:dialog:lecteur:sclick:10: {
  if ($lecteur(lecteur,no) > 1) {
    $lecteur(lecteur,no,$calc($lecteur(lecteur,no) - 1))
    lecteurplay
  }
}
;##seek barre##
on *:dialog:lecteur:scroll:15: {
  if ($insong) splay seek $round($calc($did(15).sel * $insong.length / 100),0)
}
;##musique suivante##
on *:dialog:lecteur:sclick:14: {
  if ($lecteur(lecteur,no) < $lines(lecteur/temp.txt)) {
    $lecteur(lecteur,no,$calc($lecteur(lecteur,no) +1))
    lecteurplay
  }
}
;##volume master##
on *:dialog:lecteur:scroll:21: {
  $lecteur(volume,master,$round($calc($did(21).sel / 655.35),0))
  vol -v $calc(655 * $lecteur(volume,master))
  did -o lecteur 22 1 $lecteur(volume,master)
  if ($dialog(mixer).title != $null) {
    did -o mixer 12 1 $lecteur(volume,master)
    did -c mixer 11 $vol(master)
  }
}
;##mute master##
on *:dialog:lecteur:sclick:23: {
  if (($vol(master).mute != 0) && ($did(23).state != 1)) {
    vol -vu2
    if ($dialog(mixer).title != $null) did -u mixer 13
  }
  else {
    vol -vu1
    if ($dialog(mixer).title != $null) did -c mixer 13
  }
}
;##shuffle##
on *:dialog:lecteur:sclick:31: {
  if (($lecteur(option,shuffle) != off) && ($did(31).state != 1)) $lecteur(option,shuffle,off)
  else $lecteur(option,shuffle,on)
}
;##loop##
on *:dialog:lecteur:sclick:32: {
  if (($lecteur(option,loop) != off) && ($did(32).state != 1)) $lecteur(option,loop,off)
  else $lecteur(option,loop,on)
}
;##exit##
on *:dialog:lecteur:sclick:60: {
  $lecteur(lecteur,x,$dialog(lecteur).x)
  $lecteur(lecteur,y,$dialog(lecteur).y)
  if ($dialog(mixer).title) {
    $lecteur(mixer,x,$dialog(mixer).x)
    $lecteur(mixer,y,$dialog(mixer).y)
  }
  if ($dialog(playlist).title) {
    $lecteur(playlist,x,$dialog(playlist).x)
    $lecteur(playlist,y,$dialog(playlist).y)
  }
  if ($dialog(lecteur.option).title) {
    $lecteur(option,x,$dialog(lecteur.option).x)
    $lecteur(option,y,$dialog(lecteur.option).y)
  }
  timerlecteurmarche off
  timerlecteursleep off
  timerlecteurstop off
}
;##mixer##
on *:dialog:lecteur:sclick:62: {
  if (!$dialog(mixer).title) {
    if (!$lecteur(mixer,x)) $lecteur(mixer,x,$calc($dialog(lecteur).x + 380))
    if (!$lecteur(mixer,y)) $lecteur(mixer,y,$dialog(lecteur).y)
    dialog -am mixer mixer
  }
}
;##playlist##
on *:dialog:lecteur:sclick:63: {
  if (!$dialog(playlist).title) {
    if (!$lecteur(playlist,x)) $lecteur(playlist,x,$dialog(lecteur).x)
    if (!$lecteur(playlist,y)) $lecteur(playlist,y,$calc($dialog(lecteur).y + 242))
    dialog -am playlist playlist
  }
}
;##skin##
on *:dialog:lecteur:sclick:1: {
  :choixs
  if (!$lecteur(rep,skin)) $lecteur(rep,skin,C:)
  var %rep = $sfile($nofile($lecteur(rep,skin)),Skin a charger)
  if ($right(%rep,5) != .skin) { 
    $lecteur(error,error,Nom de fichier incorecte)
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  $lecteur(rep,skin,%rep)
  loadskinlecteur 
}
;##option##
on *:dialog:lecteur:sclick:64: {
  if (!$dialog(lecteur.option).title) {
    if (!$lecteur(option,x)) $lecteur(option,x,$calc($dialog(lecteur).x + 380))
    if (!$lecteur(option,y)) $lecteur(option,y,$calc($dialog(lecteur).y + 242))
    dialog -am lecteur.option lecteur.option
  }
}
;##double click jouer##
on *:dialog:lecteur:dclick:45: {
  $lecteur(lecteur,no,$did(45).sel)
  lecteurplay
}

;##########MIXER##########
dialog mixer {
  title "Lecteur -=Mixer=-"
  size $lecteur(mixer,x) $lecteur(mixer,y) 92 72
  option dbu
  box "Master", 10, 1 0 90 20
  scroll "", 11, 2 8 48 9, range 0 65535 horizontal left
  edit , 12, 50 8 17 10, read center
  check "mute", 13, 68 8 22 10
  box "Wave/MP3", 20, 1 20 90 20
  scroll "", 21, 2 28 48 9, range 0 65535 horizontal left
  edit , 22, 50 28 17 10, read center
  check "mute", 23, 68 28 22 10
  box "Midi", 30, 1 40 90 20
  scroll "", 31, 2 48 48 9, range 0 65535 horizontal left
  edit , 32, 50 48 17 10, read center
  check "mute", 33, 68 48 22 10
  button "Exit", 40, 31 61 30 10, ok cancel
}
on *:dialog:mixer:init:*: {
  $lecteur(volume,master,$round($calc($vol(master) / 655.35),0))
  did -ra mixer 12 $lecteur(volume,master)
  $lecteur(volume,wave,$round($calc($vol(wave) / 655.35),0))
  did -ra mixer 22 $lecteur(volume,wave)
  $lecteur(volume,midi,$round($calc($vol(midi) / 655.35),0))
  did -ra mixer 32 $lecteur(volume,midi)
  if ($vol(master).mute == 1) did -c mixer 13
  if ($vol(wave).mute == 1) did -c mixer 23
  if ($vol(midi).mute == 1) did -c mixer 33
  did -c mixer 11 $vol(master)
  did -c mixer 21 $vol(wave)
  did -c mixer 31 $vol(midi)
  loadskinlecteur
}
;##volume master##
on *:dialog:mixer:scroll:11: {
  $lecteur(volume,master,$round($calc($did(11).sel / 655.35),0))
  vol -v $calc(655 * $lecteur(volume,master))
  did -o lecteur 22 1 $lecteur(volume,master)
  did -o mixer 12 1 $lecteur(volume,master)
  did -c lecteur 21 $vol(master)
}
;##mute master##
on *:dialog:mixer:sclick:13: {
  if (($vol(master).mute != 0) && ($did(13).state != 1)) {
    vol -vu2
    if ($dialog(mixer).title != $null) did -u lecteur 23
  }
  else {
    vol -vu1
    if ($dialog(mixer).title != $null) did -c lecteur 23
  }
}
;##volume wave##
on *:dialog:mixer:scroll:21: {
  $lecteur(volume,wave,$round($calc($did(21).sel / 655.35),0))
  vol -w $calc(655 * $lecteur(volume,wave))
  did -o mixer 22 1 $lecteur(volume,wave)
}
;##mute wave##
on *:dialog:mixer:sclick:23: {
  if (($vol(wave).mute != 0) && ($did(23).state != 1)) vol -wu2
  else vol -wu1
}
;##volume midi##
on *:dialog:mixer:scroll:31: {
  $lecteur(volume,midi,$round($calc($did(31).sel / 655.35),0))
  vol -m $calc(655 * $lecteur(volume,midi))
  did -o mixer 32 1 $lecteur(volume,midi)
}
;##mute midi##
on *:dialog:mixer:sclick:33: {
  if (($vol(midi).mute != 0) && ($did(33).state != 1)) vol -mu2
  else vol -mu1
}
;##exit##
on *:dialog:mixer:sclick:40: {
  $lecteur(mixer,x,$dialog(mixer).x)
  $lecteur(mixer,y,$dialog(mixer).y)
}

;##########PLAYLIST##########
dialog playlist {
  title "Lecteur -=Play-List=-"
  size $lecteur(playlist,x) $lecteur(playlist,y) 187 111
  option dbu
  box "Play-List", 17, 1 1 185 19
  edit "", 10, 4 8 179 10, autohs
  box "Musique", 18, 1 21 185 76
  edit , 1, 4 29 179 10, autohs
  list 3, 4 39 179 44, size hsbar vsbar
  button "ouvrir", 2, 4 84 35 10
  button "ajouter", 8, 40 84 35 10
  button "effacer", 15, 76 84 35 10
  button "monter", 12, 112 84 35 10
  button "decendre", 13, 148 84 35 10
  button "ouvrir P-List", 6, 4 99 35 10
  button "tout ajouter", 9, 40 99 35 10
  button "tout effacer", 4, 76 99 35 10
  button "sauvegarder", 5, 112 99 35 10
  button "Exit", 7, 148 99 35 10, ok cancel
}
on *:dialog:playlist:init:*: {
  did -ra playlist 1 $lecteur(rep,musique)
  var %a = 1
  var %b = 0
  did -r playlist 3
  while (%b != $null) {
    var %b = $findfile($lecteur(rep,musique),*.*,%a)
    if (((.mp3 isin %b) || (.mid isin %b) || (.wav isin %b)) && ($exists(%b))) did -za playlist 3 %b
    inc %a
  }
  loadskinlecteur
}
;##ouvrir musique##
on *:dialog:playlist:sclick:2: {
  if (!$lecteur(rep,musique)) $lecteur(rep,musique,C:)
  var %rep = $sdir($lecteur(rep,musique),Dossier des musiques)
  $lecteur(rep,musique,%rep)
  did -ra playlist 1 $lecteur(rep,musique)
  var %a = 1
  var %b = 0
  did -r playlist 3
  while (%b != $null) {
    var %b = $findfile($lecteur(rep,musique),*.*,%a)
    if (((.mp3 isin %b) || (.mid isin %b) || (.wav isin %b)) && ($exists(%b))) did -za playlist 3 %b
    inc %a
  }
}
;##list musique##
on *:dialog:playlist:sclick:3: {
  var %c = $calc($sound($did(3,$did(3).sel)).length / 1000)
  did -ra playlist 1 $gmt(%c,$iif(%c >= 3600,hh:nn:ss,nn:ss)) : $nopath($did(3,$did(3).sel))
}
:##nouveau##
on *:dialog:playlist:sclick:4: {
  $lecteur(erreur,error,Voulez vous suprimer la play-list ?)
  $dialog(lecteur.erreur,lecteur.erreur)
  if ($lecteur(erreur,ok) == ok) { 
    did -ra playlist 10
    remove lecteur/temp.txt
    afficheplaylist
  }
}
;##sauvegarder##
on *:dialog:playlist:sclick:5: {
  var %b = $$?="Nom de la Play-List ?"
  if ((.m3u isin %b) || (\ isin %b) || (/ isin %b)) {
    $lecteur(erreur,error,Nom de fichier incorect)
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  if (!$lecteur(rep,list)) $lecteur(rep,list,C:)
  var %rep = $sdir($nofile($lecteur(rep,list)),Repertoire ou sauvez la Play-List (sans espace))
  var %a = %rep $+ %b $+ .m3u
  if ($exists(%a)) { 
    $lecteur(erreur,error,Voulez vous ecraser %a)
    $dialog(lecteur.erreur,lecteur.erreur)
    if ($lecteur(erreur,ok) != ok) halt
  }
  copy -o lecteur/temp.txt %a
  if (!$exists(%a)) { 
    $lecteur(erreur,error,Erreur durand la sauvegarde (il y a peut etre des espaces dans le chemin du fichier))
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  did -ra playlist 10 %a
  $lecteur(rep,list,$nofile(%a))
}
;##ouvrir playlist##
on *:dialog:playlist:sclick:6: {
  if (!$lecteur(rep,list)) $lecteur(rep,list,C:)
  var %rep = $sfile($nofile($lecteur(rep,list)),Play-List a charger (.m3u))
  if ($right(%rep,4) != .m3u) { 
    $lecteur(erreur,error,Nom de fichier incorecte)
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  $lecteur(rep,list,%rep)
  did -ra playlist 10 $lecteur(rep,list)
  var %a = 1
  write -c lecteur/temp.txt
  while (%a <= $lines($lecteur(rep,list))) {
    var %b = $read($lecteur(rep,list),%a)
    if ((.mp3 isin %b) || (.mid isin %b) || (.wav isin %b)) write lecteur/temp.txt %b
    inc %a
  }
  afficheplaylist
}
;##exit##
on *:dialog:playlist:sclick:7: {
  $lecteur(playlist,x,$dialog(playlist).x)
  $lecteur(playlist,y,$dialog(playlist).y)
}
;##ajouter##
on *:dialog:playlist:sclick:8: {
  if (!$did(3).sel) {
    $lecteur(erreur,error,Pas de musique selectionner dans "Musique")
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  if (!$did(lecteur,45).sel) {
    write lecteur/temp.txt $did(3,$did(3).sel)
    $lecteur(lecteur,no,$lines(lecteur/temp.txt))
  }
  else {
    write -il $+ $calc($did(lecteur,45).sel + 1) lecteur/temp.txt $did(3,$did(3).sel)
    $lecteur(lecteur,no,$calc($did(lecteur,45).sel +1))
  }
  afficheplaylist
}
;##tout ajouter##
on *:dialog:playlist:sclick:9: {
  if (!$did(lecteur,45).sel) {
    var %a = 1
    var %b = 0
    while (%b != $null) {
      var %b = $did(playlist,3,%a)
      if ($exists(%b)) write lecteur/temp.txt %b
      inc %a
    }
    $lecteur(lecteur,no,$lines(lecteur/temp.txt))
  }
  else {
    var %a = 1
    var %b = 0
    while (%b != $null) {
      var %b = $did(playlist,3,%a)
      if ($exists(%b)) write -il $+ $calc($did(lecteur,45).sel + %a) lecteur/temp.txt %b
      inc %a
    }
    $lecteur(lecteur,no,$calc($did(lecteur,45).sel + $lines(lecteur/temp.txt)))
  }
  afficheplaylist
}
;##monter##
on *:dialog:playlist:sclick:12: {
  if (!$did(lecteur,45).sel) {
    $lecteur(erreur,error,Pas de musique selectionner dans "Play-List")
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  else {
    if ($did(lecteur,45).sel != 1) {
      write -il $+ $calc($did(lecteur,45).sel - 1) lecteur/temp.txt $read(lecteur/temp.txt,$did(lecteur,45).sel)
      write -dl $+ $calc($did(lecteur,45).sel + 1) lecteur/temp.txt
      $lecteur(lecteur,no,$calc($did(lecteur,45).sel - 1))
    }
  }
  afficheplaylist
}
;##decendre##
on *:dialog:playlist:sclick:13: {
  if (!$did(lecteur,45).sel) {
    $lecteur(erreur,error,Pas de musique selectionner dans "Play-List")
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  else {
    if ($did(lecteur,45).sel != $lines(lecteur/temp.txt)) {
      write -il $+ $calc($did(lecteur,45).sel + 2) lecteur/temp.txt $read(lecteur/temp.txt,$did(lecteur,45).sel)
      write -dl $+ $did(lecteur,45).sel lecteur/temp.txt
      $lecteur(lecteur,no,$calc($did(lecteur,45).sel + 1))
    }
  }
  afficheplaylist
}
;##suprimer##
on *:dialog:playlist:sclick:15: {
  if (!$did(lecteur,45).sel) {
    $lecteur(erreur,error,Pas de musique selectionner dans "Play-List")
    $dialog(lecteur.erreur,lecteur.erreur)
    halt
  }
  else {
    write -dl $+ $did(lecteur,45).sel lecteur/temp.txt
    $lecteur(lecteur,no,$did(lecteur,45).sel)
  }
  afficheplaylist
}
;##double click ajouter##
on *:dialog:playlist:dclick:3: {
  if (!$did(lecteur,45).sel) {
    write lecteur/temp.txt $did(3,$did(3).sel)
    $lecteur(lecteur,sel,$lines(lecteur/temp.txt))
  }
  else {
    write -il $+ $calc($did(lecteur,45).sel + 1) lecteur/temp.txt $did(3,$did(3).sel)
    $lecteur(lecteur,sel,$calc($did(lecteur,45).sel + 1))
  }
  afficheplaylist
}

;##########ERREUR##########
dialog lecteur.erreur {
  title "Lecteur -=Erreur=-"
  size $calc($lecteur(lecteur,x) + 20) $calc($lecteur(lecteur,y) + 20) 100 50
  option dbu
  text "", 1, 0 0 100 40, center
  button "OK", 2, 0 40 30 10, ok
  button "Cancel", 3, 70 40 30 10, cancel
}
on *:dialog:lecteur.erreur:init:*: {
  did -ra lecteur.erreur 1 $lecteur(erreur,error)
}
;##ok##
on *:dialog:lecteur.erreur:sclick:2:{
  $lecteur(erreur,ok,ok)
}

;##########OPTION##########
dialog lecteur.option {
  title "Lecteur -=Option=-"
  size $lecteur(option,x) $lecteur(option,y) 92 93
  option dbu
  check "Dire la musique sur les salons", 1, 3 1 80 10
  check "Dire sur tout les salons", 2, 9 11 80 10
  check "Lancer au demarage de mIRC", 3, 3 21 85 10
  box "Reveil", 10, 1 31 90 50
  check "Marche", 11, 4 38 30 10
  combo 12, 33 38 25 50, result vsbar drop
  combo 13, 63 38 25 50, result vsbar drop
  check "Sleep", 21, 9 48 25 10
  combo 22, 33 48 25 50, result vsbar drop
  combo 23, 63 48 25 50, result vsbar drop
  check "Arret", 31, 4 58 30 10
  combo 32, 33 58 25 50, result vsbar drop
  combo 33, 63 58 25 50, result vsbar drop
  button "Apliquer modification", 40, 4 70 84 9, ok
  button "Exit", 50, 31 82 30 10, ok
}
on *:dialog:lecteur.option:init:*: {
  if ($lecteur(option,chan) == on) did -c lecteur.option 1
  else did -b lecteur.option 2
  if ($lecteur(option,amsg) == on) did -c lecteur.option 2
  if ($lecteur(option,auto) == on) did -c lecteur.option 3
  if ($lecteur(alarme,lecture) == on) did -c lecteur.option 11
  else did -b lecteur.option 12,13,21,22,23
  if ($lecteur(alarme,sleep) == on) did -c lecteur.option 21
  else did -b lecteur.option 22,23
  if ($lecteur(alarme,stop) == on) did -c lecteur.option 31
  else did -b lecteur.option 32,33
  var %a = 0
  while (%a < 24) {
    did -a lecteur.option 12,13,22,23,32,33 %a
    inc %a 1
  }
  while (%a < 60) {
    did -a lecteur.option 13,23,33 %a
    inc %a 1
  }
  did -c lecteur.option 12 $calc($lecteur(alarme,lecture.h) + 1)
  did -c lecteur.option 13 $calc($lecteur(alarme,lecture.m) + 1)
  did -c lecteur.option 22 $calc($lecteur(alarme,sleep.h) + 1)
  did -c lecteur.option 23 $calc($lecteur(alarme,sleep.m) + 1)
  did -c lecteur.option 32 $calc($lecteur(alarme,stop.h) + 1)
  did -c lecteur.option 33 $calc($lecteur(alarme,stop.m) + 1)
  loadskinlecteur
}
;##dire musique##
on *:dialog:lecteur.option:sclick:1: {
  if (($lecteur(option,chan) != off) && ($did(1).state != 1)) { $lecteur(option,chan,off) | did -b lecteur.option 2 }
  else $lecteur(option,chan,on) did -e lecteur.option 2
}
;##dire partout##
on *:dialog:lecteur.option:sclick:2: {
  if (($lecteur(option,amsg) != off) && ($did(2).state != 1)) $lecteur(option,amsg,off)
  else $lecteur(option,amsg,on)
}
;##autorun##
on *:dialog:lecteur.option:sclick:3: {
  if (($lecteur(option,auto) != off) && ($did(3).state != 1)) $lecteur(option,auto,off)
  else $lecteur(option,auto,on)
}
;##alarme lecture##
on *:dialog:lecteur.option:sclick:11: {
  if (($lecteur(alarme,lecture) != off) && ($did(11).state != 1)) { $lecteur(alarme,lecture,off) | did -b lecteur.option 12,13,21,22,23 }
  else { $lecteur(alarme,lecture,on) | did -e lecteur.option 12,13,21 | if ($lecteur(alarme,sleep) == on) did -e lecteur.option 22,23 }
}
;##alarme sleep##
on *:dialog:lecteur.option:sclick:21: {
  if (($lecteur(alarme,sleep) != off) && ($did(21).state != 1)) { $lecteur(alarme,sleep,off) | did -b lecteur.option 22,23 }
  else { $lecteur(alarme,sleep,on) | did -e lecteur.option 22,23 }
}

;##alarme stop##
on *:dialog:lecteur.option:sclick:31: {
  if (($lecteur(alarme,stop) != off) && ($did(31).state != 1)) { $lecteur(alarme,stop,off) | did -b lecteur.option 32,33 }
  else { $lecteur(alarme,stop,on) | did -e lecteur.option 32,33 }
}
;##apliquer modification##
on *:dialog:lecteur.option:sclick:40: {
  $lecteur(alarme,lecture.h,$did(12))
  $lecteur(alarme,lecture.m,$did(13))
  $lecteur(alarme,sleep.h,$did(22))
  $lecteur(alarme,sleep.m,$did(23))
  $lecteur(alarme,stop.h,$did(32))
  $lecteur(alarme,stop.m,$did(33))
  timerlecteurmarche off
  var %a = $lecteur(alarme,lecture.h) $+ : $+ $lecteur(alarme,lecture.m)
  if ($lecteur(alarme,lecture) == on) timerlecteurmarche %a 1 1 alarmemarche
  timerlecteursleep off
  var %a = $lecteur(alarme,sleep.h) $+ : $+ $lecteur(alarme,sleep.m)
  if ($lecteur(alarme,sleep) == on) timerlecteursleep %a 1 1 lecteurstop
  timerlecteurstop off
  var %a = $lecteur(alarme,stop.h) $+ : $+ $lecteur(alarme,stop.m)
  if ($lecteur(alarme,stop) == on) timerlecteurstop %a 1 1 lecteurstop
}
;##exit##
on *:dialog:lecteur.option:sclick:50: {
  $lecteur(option,x,$dialog(lecteur.option).x)
  $lecteur(option,y,$dialog(lecteur.option).y)
}

;##########ALIAS##########
;##retourne une variable de config.ini##
alias lecteur {
  if (!$3) return $readini lecteur/config.ini $1 $2
  if ($3) writeini -n lecteur/config.ini $1 $2 $3-
}
;##affiche la playlist dans lecteur##
alias afficheplaylist {
  var %a = 1
  did -r lecteur 45
  while (%a <= $lines(lecteur/temp.txt)) {
    var %b = $read(lecteur/temp.txt,%a)
    if ($exists(%b)) {
      var %c = $calc($sound(%b).length / 1000)
      did -za lecteur 45 %a $+ . $gmt(%c,$iif(%c >= 3600,hh:nn:ss,nn:ss)) : $nopath(%b)
    }
    else did -ra playlist 10 erreur : %b
    inc %a
  }
  if (($lecteur(lecteur,no) > 0) && ($lecteur(lecteur,no) <= $lines(lecteur/temp.txt))) did -c lecteur 45 $lecteur(lecteur,no)
}
;##charge et evalu un skin##
alias loadskinlecteur {
  var %a = 2
  while ($lines($lecteur(rep,skin)) > %a) {
    var %b = $read($lecteur(rep,skin),%a)
    if (%b) $eval(%b)
    inc %a 1
  }
}
;##joue la musique##
alias lecteurplay {
  $lecteur(option,pause,off)
  $lecteur(lecteur,musique,$read(lecteur/temp.txt,$lecteur(lecteur,no)))
  splay $lecteur(lecteur,musique)
  $lecteur(lecteur,defile,1)
  did -ra lecteur 3 >
  timerseek -m 0 250 lecteurseek
  var %a = $lecteur(alarme,stop.h) $+ : $+ $lecteur(alarme,stop.m)
  if ($lecteur(alarme,stop) == on) timerlecteurstop %a 1 1 lecteurstop
  did -c lecteur 45 $lecteur(lecteur,no)
  var %a = $calc($file($lecteur(lecteur,musique)).size / 1048576)
  if ($round(%a,0) == 0) did -ra lecteur 43 $round($calc(%a * 1024),2) Kb
  else did -ra lecteur 43 $round(%a,2) Mb
  dialog -t lecteur $lecteur(lecteur,no) $+ . $nopath($lecteur(lecteur,musique)) - Lecteur Audio
  if ($inwave) {
    var %l = $calc($inwave.length / 1000)
    $lecteur(lecteur,c,$lecteur(lecteur,no) $+ . $nopath($lecteur(lecteur,musique)) ( $+ $gmt(%l,$iif(%l >= 3600,hh:nn:ss,nn:ss)) $+ ))
  }
  elseif ($inmidi) {
    var %l = $calc($inmidi.length / 1000)
    $lecteur(lecteur,c,$lecteur(lecteur,no) $+ . $nopath($lecteur(lecteur,musique)) ( $+ $gmt(%l,$iif(%l >= 3600,hh:nn:ss,nn:ss)) $+ ))
  }
  elseif ($insong) {
    did -ra lecteur 2 $sound($lecteur(lecteur,musique)).mode
    did -ra lecteur 42 $sound($lecteur(lecteur,musique)).bitrate kbps
    var %l = $calc($insong.length / 1000)
    var %a = $sound($lecteur(lecteur,musique)).artist - $sound($lecteur(lecteur,musique)).album - $sound($lecteur(lecteur,musique)).title
    if ($len(%a) < 5) var %a = $nopath($lecteur(lecteur,musique))
    $lecteur(lecteur,c,$lecteur(lecteur,no) $+ . %a ( $+ $gmt(%l,$iif(%l >= 3600,hh:nn:ss,nn:ss)) $+ ))
  }
  if ($lecteur(option,chan) == on) {
    if ($lecteur(option,amsg) == on) ame ¬ MusIk $lecteur(lecteur,c)
    else if ($chr(35) isin $active) msg $active ¬ MusIk $lecteur(lecteur,c)
  }
}
;##stop la musique##
alias lecteurstop {
  splay stop
  timerseek off
  timerlecteurmarche off
  timerlecteursleep off
  timerlecteurstop off
  if ($dialog(lecteur).title) {
    did -ra lecteur 41
    did -ra lecteur 42
    did -ra lecteur 43
    did -ra lecteur 44
    did -ra lecteur 2
    did -ra lecteur 3 
    did -c lecteur 15 0
    dialog -t lecteur Lecteur Audio (Stop)
    var %a = $lecteur(alarme,lecture.h) $+ : $+ $lecteur(alarme,lecture.m)
    if ($lecteur(alarme,lecture) == on) timerlecteurmarche %a 1 1 timer 1 60 alarmemarche
  }
  lecteur option pause off
  lecteur lecteur defile 0
  lecteur lecteur c 0

}
;##mise a jour seek##
alias lecteurseek {
  if (!$dialog(lecteur).title) lecteurstop
  if (($insong) && (.mp3 isin $lecteur(lecteur,musique))) {
    var %a = $calc($insong.pos / 1000)
    did -c lecteur 15 $round($calc($insong.pos * 100 / $insong.length),0)
  }
  if (($inwave) && (.wav isin $lecteur(lecteur,musique))) {
    var %a = $calc($inwave.pos / 1000)
    did -c lecteur 15 $round($calc($inwave.pos * 100 / $inwave.length),0)
  }
  if (($inmidi) && (.mid isin $lecteur(lecteur,musique))) {
    var %a = $calc($inmidi.pos / 1000)
    did -c lecteur 15 $round($calc($inmidi.pos * 100 / $inmidi.length),0)
  }
  if (%a != $null) {
    did -ra lecteur 41 $gmt(%a,$iif(%a >= 3600,hh:nn:ss,nn:ss))
    if ($len($lecteur(lecteur,c)) > 45) {
      var %b = $lecteur(lecteur,c) $lecteur(lecteur,c)
      did -ra lecteur 44 $mid(%b,$lecteur(lecteur,defile),45)
      if ($lecteur(lecteur,defile) >= $len($lecteur(lecteur,c))) $lecteur(lecteur,defile,1)
      else $lecteur(lecteur,defile,$calc($lecteur(lecteur,defile) + 1))
    }
    else did -ra lecteur 44 $lecteur(lecteur,c)
    if ($lecteur(lecteur,pause) == on) {
      if ($lecteur(lecteur,p) == 1) did -ra lecteur 41 $gmt(%a,$iif(%a >= 3600,hh:nn:ss,nn:ss))
      if ($lecteur(lecteur,p) == 4) did -ra lecteur 41 : | lecteur lecteur p 0
      $lecteur(lecteur,p,$calc($lecteur(lecteur,p) + 1))
    }
  }
  if (((!$insong) && (.mp3 isin $lecteur(lecteur,musique))) || ((!$inwave) && (.wav isin $lecteur(lecteur,musique))) || ((!$inmidi) && (.mid isin $lecteur(lecteur,musique)))) {
    lecteurstop
    if ($lecteur(option,shuffle) == on) $lecteur(lecteur,no,$rand(1,$lines(lecteur/temp.txt)))
    else if ($lecteur(lecteur,no) == $lines(lecteur/temp.txt)) {
      if ($lecteur(option,loop) == on) $lecteur(lecteur,no,1)
      else halt
    }
    else $lecteur(lecteur,no,$calc($lecteur(lecteur,no) + 1))
    lecteurplay
  }
}
;##alarme marche##
alias alarmemarche {
  timerlecteurmarche off
  timerlecteursleep off
  lecteurplay
  var %a = $lecteur(alarme,sleep.h) $+ : $+ $lecteur(alarme,sleep.m)
  if ($lecteur(alarme,sleep) == on) timerlecteursleep %a 1 1 lecteurstop
}

;##########DIVERS##########
;##lancement auto##
on *:start: {
  if ($lecteur(option,auto) == on) dialog -dm lecteur lecteur
}

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.