All pastes #174781 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-09-18 05:41 UTC
rendered paste body
alias a_mp3 {
  if ($dialog(a_mp3) { dialog -v a_mp3) }
  else { dialog -m a_mp3 a_mp3 }
}
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)
  }
}
dialog a_mp3 {
  title "AltMP3 v2.0"
  size -1 -1 172 97
  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 68 30 10
  check "Continous Play", 13, 10 77 48 10
  check "Display Info in Channels", 14, 10 86 73 10
  edit "", 15, 126 70 41 10, disable read right
  button "Close", 16, 134 85 31 9, ok cancel
}
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 ($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)
}
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 *:MP3END:{
  var %options = $readini(altscripts.ini,mp3,options)
  tokenize 58 %options  
  if ($2 == 1) {
    if ($1 == 1) { a_shuffle }
    else { a_next }
  }
}