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 (*