All pastes #827929 Raw Edit

Mp3

public text v1 · immutable
#827929 ·published 2007-12-22 03:09 UTC
rendered paste body
alias mp3 { 
  if ($1 == stop) { splay stop | titlebar | set %mp3num 1 | set %mp3play off } 
  elseif ($1 == list) { if ($read(mp3.txt) == $null) { set %mp3dir $$sdir="Set Mp3 Directory:" | write -c mp3.txt | noop $findfile(%mp3dir,*.mp3,0,write mp3.txt $1-) | .timer 1 3 unset %mp3dir } 
  else { set %mp3dir $$sdir="Set Mp3 Directory" | noop $findfile(%mp3dir,*.mp3,0,write mp3.txt $1-) | .timer 1 3 unset %mp3dir } } 
  elseif ($1 == play) { set %mp3play on | set %mp3num2 $calc($lines(mp3.txt) + 1) | splay %song | var %id3 = $id3test | cursong | if (%mp3spam == halt) { mp3titlebar %id3 | halt } | if (%id3 == yes) { %mp3spam 2**[7MP32]**07 $mp3ad | mp3titlebar yes }      
  else { %mp3spam 2**[7MP32]**7 $remove($nopath($insong.fname),.mp3) 2**[07LENGTH2]**07 $+($gmt($round($calc($insong.length / 1000)),nn:ss)) | mp3titlebar no } } 
  elseif ($1 == pause) { if ($insong.fname != $null) splay pause } 
  elseif ($1 == resume) { if ($insong.pause == $true) splay resume } 
} 
on *:TEXT:*:*:{ if ($1 == $+(!,$me)) && ($2 == send) && (%song != $null) && (%dcc == $null) { set %dcc.n $nick | dccreq } } 
on *:SENDFAIL:*.mp3:{ .notice $nick I failed to send $remove($nopath($filename),.mp3) to you | if (%dcc !== $null) unset %dcc } 
on *:filesent:*.mp3:{ .notice $nick Hope you enjoy $remove($nopath($filename),.mp3) | if (%dcc !== $null) unset %dcc } 
alias dccreq { dialog -mdo dccreq dccreq } 
dialog dccreq { 
  title "DCC Send" 
  size -1 -1 95 31 
  option dbu notheme 
  box "Send Request", 1, 2 2 91 26 
  button "Yes", 2, 26 10 21 12, 
  button "No", 3, 47 10 21 12, 
} 
on *:dialog:dccreq:sclick:2:dcc send %dcc.n %song | set %dcc on | .timer 1 30 unset %dcc | dialog -x dccreq 
on *:dialog:dccreq:sclick:3:set %dcc on | .timer 1 30 unset %dcc | dialog -x dccreq 
on *:MP3END:{ 
  if (%mp3play == on) && (%mp3sh == on) { mp3play } 
  elseif ($timer(length)) { title_length off } 
  elseif (%mp3play == on) { 
    if (%mp3num == $calc(%mp3num2 - 1)) { set %mp3num %mp3num2 } 
    if (%mp3num != %mp3num2) { set %song $read(mp3.txt,$calc(%mp3num + 1)) | inc %mp3num 1 | mp3 play } 
    else { set %song $read(mp3.txt,1) | set %mp3num 1 | mp3 play } 
  } 
} 
alias cursong { if ($window(@playlist)) sline @playlist %mp3num } 
on *:load: set %mp3play on | set %mp3spam halt | set %mp3sh on | set %mp3num 1 
alias id3test { if ($sound($insong.fname).artist !== $null) return yes } 
alias mp3play { set %song $read(mp3.txt) | set %mp3num $calc($readn + 1) | mp3 play } 
alias mp3ad { 
  var %mp3artist = $remove($sound($insong.fname).artist,PRIV,TXXX) 
  var %mp3title = $remove($sound($insong.fname).title,PRIV,TXXX) 
  var %mp3length = $gmt($round($calc($insong.length / 1000)),nn:ss) 
  var %mp3bitrate = $sound($insong.fname).bitrate 
  return %mp3artist - %mp3title 2**[07LENGTH2]**07 %mp3length 2**[7BITRATE2]**07 $+(%mp3bitrate,Kbps) 
} 
alias mp3titlebar { 
  if ($1 == yes) { 
    var %mp3artist = $remove($sound($insong.fname).artist,PRIV,TXXX) 
    var %mp3title = $remove($sound($insong.fname).title,PRIV,TXXX) 
    var %mp3length = $gmt($round($calc($insong.length / 1000)),nn:ss) 
    var %mp3bitrate = $sound($insong.fname).bitrate 
    tbar %mp3artist - %mp3title 2**[07LENGTH2]**07 %mp3length 2**[07BITRATE2]**07 $+(%mp3bitrate,Kbps) 
    halt } else { 
    var %mp3song $remove($nopath($insong.fname),.mp3) 
    var %mp3length = $gmt($round($calc($insong.length / 1000)),nn:ss) 
    tbar %mp3song 2**[07LENGTH2]**07 $+(%mp3length) 
  } 
} 
alias tbar { write -c titlebar.anim | var %tbr $1- [mp3] | var %ctr 1 | var %len $len(%tbr) 
  while (%ctr <= %len) { write titlebar.anim titlebar $left(%tbr,%ctr) | inc %ctr | if (%ctr > %len) { write titlebar.anim write -c titlebar.anim } } 
  .play -cs titlebar.anim 60 
} 
menu channel,query,nicklist { 
  &MP3 Player 
  .&Play/Stop 
  ..&Play:mp3play 
  ..&Stop:mp3 Stop 
  .&Advertise 
  ..&AMSG:set %mp3spam amsg 
  ..&AME:set %mp3spam ame 
  ..&Action To Chan:set %mp3spam describe $$?"Chan: " 
  ..&Message To Chan:set %mp3spam msg $$?"Chan: " 
  ..&Off:set %mp3spam halt 
  .&Set MP3 Files:mp3 list 
  .&Lyrics (google): url -an $+(http://www.google.com/search?q=,$replace($remove($nopath($insong.fname),.mp3),$chr(32),+,&,+,?,+,/,+,\,+,%,+,",+,=,+,>,+,<,+,|,+),+lyrics&ie=ISO8859-1) 
  .&Lyrics (mIRC):lyrics 
  .&Lyrics (mIRC + NP Song):lyrics.np 
  .&MP3 Controls:if (!$dialog(mp3con)) dialog -mdo mp3con mp3con 
  .&Playlist:playlist 
  &Shuffle 
  ..$iif(%mp3sh == on,$style(3)) Shuffle On { set %mp3sh on } 
  ..$iif(%mp3sh == off,$style(3)) Shuffle Off { set %mp3sh off } 
} 
dialog mp3con { 
  title "MP3 Player" 
  size -1 -1 95 31 
  option dbu notheme 
  box "MP3 Buttons", 1, 2 2 91 26 
  button "Play", 2, 5 10 21 12, 
  button "Stop", 3, 26 10 21 12, 
  button "Pause", 4, 47 10 21 12, 
  button "Resume", 5, 68 10 21 12, 
} 
on *:dialog:mp3con:sclick:2:mp3play 
on *:dialog:mp3con:sclick:3:mp3 stop 
on *:dialog:mp3con:sclick:4:mp3 pause 
on *:dialog:mp3con:sclick:5:mp3 resume 
alias playlist { if ($read(mp3.txt) != $null) { 
    if (!$fopen(buffer)) { .fopen buffer $+(",$mircdir,mp3.txt,") } 
    window -BCdolk0 @playlist -1 -1 300 450 
    clear @playlist 
    var %x,%i = 0 
    while (!$feof) { 
      inc %i 
      %x = $fread(buffer) 
      if (%x) && ($sound(%x).artist) iline @playlist %i $remove($sound(%x).artist,PRIV,TXXX) - $remove($sound(%x).title,PRIV,TXXX) 
      if (%x) && (!$sound(%x).artist) iline @playlist %i $remove($nopath(%x),.mp3) 
    } 
    .fclose buffer 
  } 
} 
menu @playlist { 
  dclick { if ($line($active,1,1) != $null) { set %mp3num $sline($active,1).ln | set %song $read(mp3.txt,%mp3num) | mp3 play } } 
  &Add/Remove/Clear Song 
  .&Add: { if ($line($active,1,1) != $null) { addsong } } 
  .&Remove: { if ($line($active,1,1) != $null) { write $+(-dl,$sline($active,1).ln) mp3.txt | dline $active $sline($active,1).ln  } } 
  .&Clear:{ dline $active 1- | write -c mp3.txt } 
  &Lyrics (google): url -an $+(http://www.google.com/search?q=,$replace($sline($active,1),$chr(32),+,&,+,?,+,/,+,\,+,%,+,",+,=,+,>,+,<,+,|,+),+lyrics&ie=ISO8859-1) 
  &Lyrics (mIRC):/lyrics 
  &Lyrics (mIRC + NP Song):lyrics.np 
  &MP3 Player Controls:if (!$dialog(mp3con)) dialog -mdo mp3con mp3con 
} 
alias addsong { 
  var %addsong = $sfile(*.mp3) | write mp3.txt %addsong 
  if ($song(%addsong).artist == $null) aline @playlist $remove($nopath(%addsong),.mp3) 
  if ($song(%addsong).artist != $null) aline @playlist $remove($sound(%addsong).artist,PRIV,TXXX) - $remove($sound(%addsong).title,PRIV,TXXX) 
} 
alias lyrics.np { 
  if ($sound($insong.fname).artist != $null) { 
    var %artist = $remove($sound($insong.fname).artist,PRIV,TXXX) 
    var %title = $remove($sound($insong.fname).title,PRIV,TXXX) 
    var %temp1 $+(artist=,$replace(%artist,$chr(32),$chr(37) $+ 20)) 
    var %temp2 $+(&title=,$replace(%title,$chr(32),$chr(37) $+ 20)) 
    set %lyrics.s $+(%temp1,%temp2) | set %lyrics Lyrics For: %artist - %title 
    sockopen lyrics lyricsplugin.com 80 
    halt } else { 
    set %lyrics Can't Search This Song (No ID3 Tags) | window -k0 @lyrics 
    dline @lyrics 1- | aline @lyrics $str(~~~,20) | aline @lyrics %lyrics | aline @lyrics $str(~~~,20) 
  } 
} 
alias lyrics { 
  var %artist $$?"Artist: (Not All Songs Work)" | var %title $$?"Title: (Not All Songs Work)" 
  var %temp1 $+(artist=,$replace(%artist,$chr(32),$chr(37) $+ 20)) 
  var %temp2 $+(&title=,$replace(%title,$chr(32),$chr(37) $+ 20)) 
  set %lyrics.s $+(%temp1,%temp2) | set %lyrics Lyrics For: %artist - %title 
  sockopen lyrics lyricsplugin.com 80 
} 
on *:sockopen:lyrics:{ 
  sockwrite -n $sockname GET $+(/plugin/?,%lyrics.s) HTTP/1.1 
  sockwrite -n $sockname Host: www.lyricsplugin.com 
  sockwrite -n $sockname Connection: Not Encrypted 
  sockwrite -n $sockname Accept: */* 
  sockwrite -n $sockname $crlf 
} 
on *:sockread:lyrics:{ 
  if ($sockerr) { echo -a Error: $sock($sockname).wsmsg } 
  if (!%lyrical) { sockread %' | if (*<div id="lyrics">* iswm %' ) { set %lyrical 1 } } 
  else { sockread %' | window -k0 @lyrics | lyrics.win 
    while ($sockbr) { if $htmlfree(%') { 
      if ($v1 !== $null) aline @lyrics $v1 | var %lyrics.ok no } 
      else { if (%lyrics.ok == $null) aline @lyrics None Found For This Song! ( %lyrics ) } 
      if ($htmlfree(%') == $null) { aline @lyrics $chr(160) } 
      sockread %' | if (*</div>* iswm %') { unset %lyrical | unset %' | return } 
    } 
  } 
} 
alias -l htmlfree { 
  var %x, %i = $regsub($replace($1-,<td>,$chr(32),<tr>,$chr(20)),/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
  return $replace(%x,&quot;,") 
} 
alias lyrics.win { 
  if (!$fline(@lyrics,%lyrics)) { dline @lyrics 1- | aline @lyrics $str(~~~,20) | aline @lyrics %lyrics 
    aline @lyrics URL: $+(http://www.lyricsplugin.com/plugin/?,%lyrics.s) | aline @lyrics $str(~~~,20) 
  } 
} 
menu @lyrics { 
  &Search &Again:dline $active 1- | lyrics 
  &Clear/Save 
  .&Clear:{ dline $active 1- } 
  .&Save:{ filter -wf $active $replace($+($$?="Save As: ",.txt),$chr(32),_) } 
}