All pastes #418818 Raw Edit

Someone

public text v1 · immutable
#418818 ·published 2007-03-31 21:09 UTC
rendered paste body
alias seek {
  :seek
  var %ms = $?="Type the time you'd wish to jump to. Use this format: mins:seconds (E.G. 4:25)"
  if (%ms == $null) { halt }
  tokenize 58 %ms
  var %mins = $calc($1 * 60000)
  var %wholebit $calc(%mins + $calc($2 * 1000))
  if (%wholebit > $insong.length) { $iif($?!="You've selected a time that is above the length of the song. Try again?" == $true,goto seek,halt) | halt }
  splay seek %wholebit
}
alias F11 mp3player
alias mp3player {
  if (!$regex(95 98 NT ME 2K XP XP 2003,$os)) { echo -a Sorry, You need a windows based operating system for use of this script. | halt }
  if ($version < 6.2) { echo -a Hello, You're running an older version of mIRC, if you'd like to help me, then query RussellReal on SwiftIRC.net and tell me the version and if it works or not! Thanks for your help :) } 
  dialog -m mp3player mp3player
  did -b mp3player 1,9
}
dialog mp3player {
  title "MP3 Player"
  size -1 -1 150 146
  option dbu
  edit "", 99, 1 1 148 19, read, multi, autohs, hsbar
  text "Position:", 2, 2 35 20 8, left
  edit "", 1, 25 34 40 10, center
  button "Add", 3, 108 19 20 10 
  button "Rem", 4, 129 19 20 10
  button "Play", 5, 66 34 20 10
  button "Next", 6, 129 34 20 10
  text "Volume:", 7, 2 20 20 10, center 
  button "DN", 8, 23 19 10 10
  edit "", 9, 34 19 20 10, center
  button "UP", 10, 55 19 10 10
  button "Mute", 11, 66 19 20 10 
  button "unmute", 12, 87 19 20 10 
  button "Pause", 13, 87 34 20 10
  button "Back", 14, 108 34 20 10
  text "YOUR CUSTOM MP3 PLAYLIST", 15, 7 48 148 10, left
  list 16, 1 57 148 92 
  button "stop", 17, 108 46 41 10
  button "Seek", 18, 87 46 20 10
}
on *:DIALOG:mp3player:close:0:{
  set %dialog.mp3 off
  if ($insong == $true) {
    timerdur off
  }
  else {
    timerdur off
    unset %n
  }
}
on *:mp3end:{
  set %n $calc(%n + 1)
  if (%n > $lines(playlist.txt)) { set %n 1 }
  splay $gettok($read(playlist.txt,%n),1,32)
  if (%dialog.mp3 == off) { halt }
  tokenize 32 $read(playlist.txt,%n)
  did -ra mp3player 99 $2- 
}
on *:DIALOG:mp3player:init:*:{
  set %dialog.mp3 on
  if ($insong == $true) {
    tokenize 32 $read(playlist.txt,%n)
    did -ra mp3player 99 $2-
    timerdur 0 1 timedur
  }
  if (%volume == $null) {
    set %volume 7
  }
  vol -v $calc(%volume * 4369)
  if (%volume isnum 1-14) { did -ra mp3player 9 %volume }
  if (%volume isnum 0) { did -ra mp3player 9 MIN }
  if (%volume isnum 15) { did -ra mp3player 9 MAX }
  var %i = 0
  while (%i < $lines(playlist.txt)) {
    inc %i 1
    tokenize 32 $read(playlist.txt,%i)
    did -a mp3player 16 $2-
  }
}
alias mili2semi {
  var %i = $remove($replace($duration($calc($insong.length / 1000)),mins,:,min,:,secs,$chr(32),sec,$chr(32)),$chr(32))
  tokenize 58 %i
  if ($2 == $null) {
    if ($1 isnum 0-9) { var %len = 0: $+ 0 $+ $1 | goto skip }
    var %len = 0: $+ $1
    goto skip
  }
  if ($3 == $null) { 
    if ($2 isnum 0-9) { var %len = $1 $+ : $+ 0 $+ $2 | goto skip }
    var %len = $1 $+ : $+ $2
    goto skip
  }
  if ($3 != $null) {
    var %2 = $2
    var %3 = $3
    if ($len($2) == 1) { var %2 = 0 $+ $2 }
    if ($len($3) == 1) { var %3 = 0 $+ $2 }
    var %len = $1 $+ : $+ %2 $+ : $+ %3
  }
  :skip
  return %len 
}

alias timedur {
  if ($insong.pos < $insong.length) {
    var %i = $remove($replace($duration($calc($insong.pos / 1000)),mins,:,min,:,secs,$chr(32),sec,$chr(32)),$chr(32))
    tokenize 58 %i
    if ($2 == $null) {
      if ($1 isnum 0-9) { var %pos = 0: $+ 0 $+ $1 | goto skip }
      var %pos = 0: $+ $1
      goto skip
    }
    if ($3 == $null) { 
      if ($2 isnum 0-9) { var %pos = $1 $+ : $+ 0 $+ $2 | goto skip }
      var %pos = $1 $+ : $+ $2
      goto skip
    }
    if ($3 != $null) {
      var %2 = $2
      var %3 = $3
      if ($len($2) == 1) { var %2 = 0 $+ $2 }
      if ($len($3) == 1) { var %3 = 0 $+ $2 }
      var %pos = $1 $+ : $+ %2 $+ : $+ %3
    }
    :skip
    var %1 = %pos
    var %i = $remove($replace($duration($calc($insong.length / 1000)),mins,:,min,:,secs,$chr(32),sec,$chr(32)),$chr(32))
    tokenize 58 %i
    if ($2 == $null) {
      if ($1 isnum 0-9) { var %pos = 0: $+ 0 $+ $1 | goto skip1 }
      var %pos = 0: $+ $1
      goto skip1
    }
    if ($3 == $null) { 
      if ($2 isnum 0-9) { var %pos = $1 $+ : $+ 0 $+ $2 | goto skip1 }
      var %pos = $1 $+ : $+ $2
      goto skip1
    }
    if ($3 != $null) {
      var %2 = $2
      var %3 = $3
      if ($len($2) == 1) { var %2 = 0 $+ $2 }
      if ($len($3) == 1) { var %3 = 0 $+ $2 }
      var %pos = $1 $+ : $+ %2 $+ : $+ %3
    }
    :skip1
    var %2 = %pos
    did -ra mp3player 1 ( $+ %1 $+ / $+ %2 $+ )
  }
  if (insong.pos == $insong.length) {
    timerdur off
  }
}
on *:DIALOG:mp3player:dclick:16:{
  set %n $did(mp3player,16).sel
  splay $gettok($read(playlist.txt,$did(mp3player,16).sel),1,32)
  did -ra mp3player 99 $did(mp3player,16).seltext
  timerdur 0 1 timedur
}
on *:DIALOG:mp3player:sclick:*:{
  if ($did == 3) {
    if (%prevdir == $null) { var %new = $sfile(*,Please only pick MP3 audio,Load) | write playlist.txt $file(%new).shortfn $nopath(%new) | set %prevdir $nofile(%new) | did -a mp3player 16 $nopath(%new) | halt }
    var %new = $sfile(%prevdir,Please only pick MP3 audio,Load)
    if ($right(%new,4) == .mp3) {
      write playlist.txt $file(%new).shortfn $nopath(%new)
      set %prevdir $nofile(%new)
      did -a mp3player 16 $nopath(%new)
    }
    else { echo -a Only mp3 audio is supported. }
  }
  if ($did == 4) {
    if ($did(mp3player,16).sel < %n) { dec %n 1 }
    write -dl $+ $did(mp3player,16).sel playlist.txt
    did -d mp3player 16 $did(mp3player,16).sel
  } 
  if ($did == 5) {
    if ($insong.pause == $true ) { splay resume | halt }
    set %n $did(mp3player,16).sel
    splay $gettok($read(playlist.txt,$did(mp3player,16).sel),1,32)
    did -ra mp3player 99 $gettok($read(playlist.txt,$did(mp3player,16).sel),2-,32)
    timerdur 0 1 timedur
  }
  if ($did == 6) {
    inc %n 1
    if (%n > $did(mp3player,16).lines) { set %n 1 }
    splay $gettok($read(playlist.txt,%n),1,32)
    did -ra mp3player 99 $gettok($read(playlist.txt,%n),2-,32)
  }
  if ($did == 8) {
    if (%volume == 1) { dec %volume 1 | vol -v $calc(%volume * 4369) | did -ra mp3player 9 MIN | halt } 
    if (%volume isnum 2-15) { dec %volume 1 | vol -v $calc(%volume * 4369) | did -ra mp3player 9 %volume }
  }
  if ($did == 10) {
    if (%volume == 14) { inc %volume 1 | vol -v $calc(%volume * 4369) | did -ra mp3player 9 MAX | halt } 
    if (%volume isnum 0-13) { inc %volume 1 | vol -v $calc(%volume * 4369) | did -ra mp3player 9 %volume }
  }
  if ($did == 11) { vol -vu1 }
  if ($did == 12) { vol -vu2 }
  if ($did == 13) { splay pause }
  if ($did == 14) {
    dec %n 1
    if (%n < 1) { set %n $did(mp3player,16).lines }
    splay $gettok($read(playlist.txt,%n),1,32)
    did -ra mp3player 99 $gettok($read(playlist.txt,%n),2-,32)
  }
  if ($did == 17) { splay stop | did -r mp3player 1 | did -r mp3player 99 }
  if ($did == 18) {
    if ($insong == $true) { seek }
  }
}