alias mp3 {
  if (!$isdir(%mp3.dir)) { %mp3.dir = $$sdir($mircdir,Select Mp3 Directory) }
  write -c mp3list.txt
  var %i = $ticks
  .fopen mp3list mp3list.txt
  echo -qa * Listing mp3s..
    var %x = $findfile($+(",%mp3.dir,"),*.mp3,0,.fwrite -n mp3list $1-)
  .fclose mp3list
  echo -qa $calc(($ticks - %i) /1000) second(s)
  dialog -m mp3 mp3
}

dialog mp3 {
  title "Mp3 Player"
  size -1 -1 119 136
  option dbu
  list 1, 1 1 117 120, size
  text "", 2, 2 123 50 8
  button "Close/Stop", 3, 81 123 37 12, cancel
}
on *:dialog:mp3:*:*:{
  var %x,%i
  if ($devent == init) {
      .fopen mp3list mp3list.txt
    while !$feof {
            inc %i
          %x = $fread(mp3list)
      if (%x) did -a mp3 1 $remove($nopath(%x),.mp3)
    }
    did -a mp3 2 %i mp3s
  }
  if ($devent == dclick) && ($did == 1) {
 
    .fseek -l mp3list $did(1).sel
    .splay $fread(mp3list)
  }
  if ($devent == close) {
    splay stop
    .fclose mp3list
  }
}


/mp3