All pastes #174839 Raw Edit

Untitled

public text v1 · immutable
·published 2006-09-18 07:47 UTC
rendered paste body
menu channel,status,menubar {
  AltMP3 v2.0:a_mp3
}
alias a_mp3 {
  if ($dialog(a_mp3) { dialog -v a_mp3) }
  else { dialog -m a_mp3 a_mp3 }
}
alias mp3help {
  /window -e @mp3help -1 -1 400 200
  echo @mp3help 04Commands List for AltMP3 v2.0
  echo @mp3help 04For More Information, type -help <command>
  echo @mp3help /a_play
  echo @mp3help /a_stop
  echo @mp3help /a_pause
  echo @mp3help /a_prev
  echo @mp3help /a_next
  echo @mp3help /a_shuffle
  echo @mp3help /a_search
  echo @mp3help /a_display
  echo @mp3help /a_mp3
  echo @mp3help aDir
  echo @mp3help aFile
  editbox @mp3help (Scroll Up for Full List)
}
alias a_play {
  if ($insong.pause) splay resume
  else {
    if ($dialog(a_mp3)) && ($did(a_mp3,7).seltext) {
      splay $qt($readini(altscripts.ini,playlist,$gettok($did(a_mp3,7).seltext,1,46)))
      writeini altscripts.ini mp3 cur $gettok($did(a_mp3,7).seltext,1,46)
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
    elseif (!$insong) {
      splay $qt($readini(altscripts.ini,playlist,1))
      writeini altscripts.ini mp3 cur 1
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
  }
}
alias a_pause {
  if ($insong) {
    if ($insong.pause) splay resume
    else splay pause
  }
}
alias a_prev {
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options
  if ($1 == 1) {
    a_shuffle
  }
  else {
    if (!$readini(altscripts.ini,mp3,cur)) {
      splay $qt($readini(altscripts.ini,playlist,1))
      writeini altscripts.ini mp3 cur 1
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
    elseif ($readini(altscripts.ini,mp3,cur) == 1) {
      splay $qt($readini(altscripts.ini,playlist,$ini(altscripts.ini,playlist,0)))
      writeini altscripts.ini mp3 cur $ini(altscripts.ini,playlist,0)
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
    else {
      splay $qt($readini(altscripts.ini,playlist,$calc($readini(altscripts.ini,mp3,cur) - 1)))
      writeini altscripts.ini mp3 cur $calc($readini(altscripts.ini,mp3,cur) - 1)
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
  }
}
alias a_next {
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options
  if ($1 == 1) {
    a_shuffle
  }
  else {
    if (!$readini(altscripts.ini,mp3,cur)) {
      splay $qt($readini(altscripts.ini,playlist,1))
      writeini altscripts.ini mp3 cur 1
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
    elseif ($readini(altscripts.ini,mp3,cur) == $ini(altscripts.ini,playlist,0)) {
      splay $qt($readini(altscripts.ini,playlist,1))
      writeini altscripts.ini mp3 cur 1
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
    else {
      splay $qt($readini(altscripts.ini,playlist,$calc($readini(altscripts.ini,mp3,cur) + 1)))
      writeini altscripts.ini mp3 cur $calc($readini(altscripts.ini,mp3,cur) + 1)
      $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
    }
  }
}
alias a_shuffle {
  var %r = $r(1,$ini(altscripts.ini,playlist,0))
  splay $qt($readini(altscripts.ini,playlist,%r)) | writeini altscripts.ini mp3 cur %r
  $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
  writeini altscripts.ini mp3 cur %r
}
alias a_stop { writeini altscripts.ini mp3 cur 0 | splay stop }
alias a_search { 
  var %i = 0
  while (%i < $ini(altscripts.ini,playlist,0)) {
    inc %i
    if ($+(*,$1-,*) iswm $readini(altscripts.ini,playlist,%i)) { splay $qt($readini(altscripts.ini,playlist,%i)) }
  }
}
alias a_display { if ($insong) { /ame I am Listening To $+($chr(3),07,$remove($nopath($insong.fname),.mp3),$chr(3)) $+([,$gettok($duration($calc($insong.length / 1000),3),2-,58),]) } }
alias -l relist {
  did -r a_mp3 7
  var %thisisctimeunub $ctime
  var %i = 0
  var %z = 0  
  while (%i < $ini(altscripts.ini,playlist,0)) {
    inc %i
    write $+(%thisisctimeunub,.txt) $readini(altscripts.ini,playlist,$ini(altscripts.ini,playlist,%i))
  }
  remini altscripts.ini playlist
  while (%z < $lines($+(%thisisctimeunub,.txt))) {
    inc %z
    writeini altscripts.ini playlist %z $read($+(%thisisctimeunub,.txt),%z)
    did -a a_mp3 7 $+(%z,.) $nopath($readini(altscripts.ini,playlist,$ini(altscripts.ini,playlist,%z)))
  }
  .remove $+(%thisisctimeunub,.txt)
}
alias -l updatemp3 {
  if ($dialog(a_mp3)) {
    did -r a_mp3 11,15
    did -a a_mp3 11 $iif(!$insong.fname,No Songs are Playing. For Help Type /mp3_commands,$nopath($insong.fname))
    did -a a_mp3 15 $gettok($duration($calc($insong.pos / 1000),3),2-,58)
    did -c a_mp3 17 $round($calc($calc($insong.pos / $insong.length) * 100),0)  
  }
}
dialog a_mp3 {
  title "AltMP3 v2.0"
  size -1 -1 172 110
  option dbu
  button "Play", 1, 7 9 37 12
  button "Pause", 2, 48 9 37 12
  button "Previous", 3, 7 23 37 12
  button "Next", 4, 48 23 37 12
  button "Stop", 5, 28 37 37 12
  box "Player Controls", 6, 3 1 90 52
  list 7, 98 5 70 50, size
  button "Remove", 8, 99 56 26 12
  button "aDir", 9, 128 56 19 12
  button "aFile", 10, 148 56 19 12
  edit "", 11, 3 57 90 10, read autohs
  check "Shuffle", 12, 10 82 30 10
  check "Continous Play", 13, 10 91 48 10
  check "Display Info in Channels", 14, 10 100 73 10
  edit "", 15, 126 73 41 10, disable read right
  button "Close", 16, 134 100 31 9, cancel
  scroll "", 17, 3 73 90 7, range 1 100 horizontal bottom
  button "Help", 18, 134 89 31 9
  box "Seek", 19, 1 66 95 16
}
on *:DIALOG:a_mp3:scroll:17:{
  var %t $round($calc($did(a_mp3,17).sel / 22000 * $insong.length),0)
  splay seek $calc((%t + $did(a_mp3,17).sel) * 200)
}
on *:DIALOG:a_mp3:init:*:{
  .timerupdmp3 0 1 updatemp3
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options
  if ($1 == 1) did -c $dname 12
  if ($2 == 1) did -c $dname 13
  if ($3 == 1) did -c $dname 14
  if ($ini(altscripts.ini,playlist,0) > 0) {
    var %i = 0
    while (%i < $ini(altscripts.ini,playlist,0)) {
      inc %i
      did -a $dname 7 $+(%i,.) $nopath($readini(altscripts.ini,playlist,%i))
    }
  }
}
on *:DIALOG:a_mp3:sclick:*:{
  if ($did == 16) { dialog -x $dname | halt }
  if ($ini(altscripts.ini,playlist,0) == $null) && ($istok(1 2 3 4 5 8,$did,32)) {
    .echo -q $input(No Playlist Detected,ow,Error: No Playlist Detected)
    halt
  }
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options
  if ($did == 1) a_play
  elseif ($did == 2) a_pause
  elseif ($did == 3) a_prev
  elseif ($did == 4) a_next
  elseif ($did == 5) a_stop
  elseif ($did == 8) {
    if ($did($dname,7).seltext) {
      remini altscripts.ini playlist $gettok($did($dname,7).seltext,1,46)
      relist
    }
  }
  elseif ($did == 9) {
    var %dir = $$sdir(*,Select Song Folder to Add to Your Playlist)
    var %i = 0
    while (%i < $findfile(%dir,*.mp3,0)) {
      inc %i    
      .echo -q $findfile(%dir,*.mp3,%i,writeini altscripts.ini playlist $calc($ini(altscripts.ini,playlist,0) + 1) $1-)
      did -a $dname 7 $+($calc($did(a_mp3,7).lines + 1),.) $nopath($findfile(%dir,*.mp3,%i))
    }
  }
  elseif ($did == 10) {
    var %songs = $$msfile(*.mp3,Select Songs to Add to Your Playlist,Add Song(s))
    var %i = 0
    while (%i < %songs) {
      inc %i    
      writeini altscripts.ini playlist $calc($ini(altscripts.ini,playlist,0) + 1) $msfile(%i)
      did -a $dname 7 $+($calc($did(a_mp3,7).lines + 1),.) $nopath($msfile(%i))
    }
  }
  elseif ($did == 12) writeini altscripts.ini mp3 options $+($did($dname,12).state,:,$2,:,$3)
  elseif ($did == 13) writeini altscripts.ini mp3 options $+($1,:,$did($dname,13).state,:,$3)
  elseif ($did == 14) writeini altscripts.ini mp3 options $+($1,:,$2,:,$did($dname,14).state)
  elseif ($did == 18) {
    mp3help
  }
}
on *:DIALOG:a_mp3:dclick:7:{
  splay $qt($readini(altscripts.ini,playlist,$gettok($did(a_mp3,7).seltext,1,46)))
  writeini altscripts.ini mp3 cur $gettok($did(a_mp3,7).seltext,1,46)
  $iif($gettok($readini(altscripts.ini,mp3,options),3,58) == 1,a_display)
}
on *:INPUT:@mp3help:{
  if ($1 == -help) {
    clear @mp3help
    if (*a_play iswm $2) { echo @mp3help Type /a_play to play the first song in the playlist }
    if (*a_stop iswm $2) { echo @mp3help Type /a_stop to stop the current song from playing }
    if (*a_pause iswm $2) { echo @mp3help Type /a_pause to pause the current song (/a_play to resume) }
    if (*a_prev iswm $2) { echo @mp3help Type /a_prev to play the previous song }
    if (*a_next iswm $2) { echo @mp3help Type /a_next to play the next song }
    if (*a_mp3 iswm $2) { echo @mp3help Type /a_mp3 to open the MP3 Player dialog }
    if (*a_shuffle iswm $2) { echo @mp3help Type /a_shuffle to play a random song (even if shuffle is off) }
    if (*a_search iswm $2) { echo @mp3help Type /a_search <Song*with*wildcard?> To play the first song to match your wildcards }
    if (*a_display iswm $2) { echo @mp3help Type /a_display to ame the current song info }
    if (*afile iswm $2) { echo @mp3help Click the aFile button to add multiple files to your playlist }
    if (*adir iswm $2) { echo @mp3help Click aDir To add a directory of music to your MP3 Player }
  }
}
on *:MP3END:{
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options  
  if ($2 == 1) {
    if ($1 == 1) { a_shuffle }
    else { a_next }
  }
}