Code:
on *:dialog:amp:*:*:{
  if ($devent == init) {
    mdx SetMircVersion $version
    mdx MarkDialog $dname
    mdx SetFont $dname 4,5,6,7,8,9 Default 20 40 WebDings
    if ($fopen(playlist)) { .fclose playlist }
    if ($isfile(" $+ $scriptdirplaylist.txt $+ ")) { .remove " $+ $scriptdirplaylist.txt $+ " }
    if (!$hget(playlist,dir)) { .hadd -m playlist dir $+(",$$sdir(c:,choose an mp3 directory),") }
    if (!$fopen(playlist)) { .fopen -n playlist " $+ $scriptdirplaylist.txt $+ " }
    .echo -q $findfile($hget(playlist,dir),*.mp3,0,.fwrite -n playlist $+(",$1-,"))
    .hadd -m playlist total $findfile($hget(playlist,dir),*.mp3,0)
    var %g 1
    while (!$feof) {
      .fseek -l playlist %g
      did -a $dname 10 $remove($nopath($fread(playlist)),.mp3)
      inc %g
    }
    if ($inmp3) { 
      did -a $dname 3 $remove($nopath($inmp3.fname),.mp3) $+ , $asctime($calc($inmp3.length / 1000),n:ss) 
      did -c $dname 10 %i
    }
  }


yuh, that takes around 2s. i have 238 mp3's


new username: tidy_trax