Public feed #599091

Mine

public text v1 · immutable
Raw Edit
·published 2007-07-02 00:00 UTC
rendered paste body
/song {
  set %chan $1
  if ($1 == $null) set %chan #

  if ($dll(WinAmpI.dll, IsRunning, 0) == false) {
    msg %chan WinAmp isn't running!
    halt
  }

  set %color1 15
  set %color2 14

  inc %count
  set %state $dll(WinAmpI.dll, GetPlayState, 0)
  set %song  $dll(WinAmpI.dll, GetSong, 0)
  set %poslen $dll(WinAmpI.dll, GetSongPosition, 0) $+ 12/ $+ $dll(WinAmpI.dll, GetSongLength, 0)
  if ($dll(WinAmpI.dll, GetSongLength, 0) == unknown) { 
    set %track $dll(WinAmpI.dll, GetSongPosition, 0) $+ / $+ Unlimited (Radio)
    tokenize 58 $dll(WinAmpI.dll, GetSongPosition, 0) | if ($3) { set %track $asctime($calc($2 * 60 + $3),hh:nn:ss) $+ / $+ Unlimited (Radio) }
  }
  elseif ($dll(WinAmpI.dll, GetSongLength, 0) !== unknown) { 
    set %track $dll(WinAmpI.dll, GetSongPosition, 0) $+ / $+ $dll(WinAmpI.dll, GetSongLength,0)
    set %position $dll(WinAmpI.dll, GetSongPosition, 0)
    tokenize 58 $dll(WinAmpI.dll, GetSongPosition, 0) | if ($3) { set %position $asctime($calc($2 * 60 + $3),hh:nn:ss) }
    tokenize 58 $dll(WinAmpI.dll, GetSongLength, 0) | if ($3) { set %endtime $asctime($calc($2 * 60 + $3),hh:nn:ss) }
    if (%endtime) { set %track %position $+ / $+ %endtime }
    unset %position
    unset %endtime
  }
  set %track $dll(WinAmpI.dll, GetSongNumber,0) $+ 12/ $+ $dll(WinAmpI.dll, GetSongCount,0)
  set %bitrate $dll(WinAmpI.dll, GetBitRate, 0) $+ kbps

  if (c isincs $gettok($chan(#).mode,1,32)) {
    msg %chan «WinAmp: %state $+ » «Song: %song $+ » «Position/Length: %poslen $+ » «Track: %poslen $+ » «BitRate: %bitrate $+ »
    halt
  }

  msg %chan 2Now Playing12: [ $+ %track $+ 12]2 %song 12(2 $+ %poslen $+ 12) (2Used12:2 %count $+ 12)
}