J-Script — File Browser
J-Scriptv2.2 / J-Scriptv2.2 / addons / aamp / aamp.mrc
aamp.mrc — 33.41 KB — Download this file
on *:load:aamp.init 1
on *:start:{
if (!%aamp.nocheck) aampcheck 1
if (%aamp.startup) aamp
}
alias aampversion {
var %v = 2002.07.14a
if ($1) return %v
return argh-amp $+([,%v,])
}
alias aamp.init {
if ($version < 6.01) {
echo $colour(i) -a *** You need mIRC v6.01 or higher to use argh-amp.
unload -rs " $+ $script $+ "
return
}
if (!$lines($skn)) {
write $skn 15k2q02025g0f4t040b0b55040b0b05220r0j0z220r0j1t220r0j2n220r0j3h220r0j4e220r0j050k500j05161k0j1s161q0j3l161k0j590k0521070k051t50050t0700000000007ir407ir4077gzc4dxtc5n2c085bdc8rvmo5ycgo6kwq000000000007ir400000000000000007ir40r0b0b0b0b6666tahomatahomatahomatahomaargh-amp
write $skn 1592d0303530d04040b0b4u040b0b041q0r0j0x1q0r0j1q1q0r0j2j1q0r0j3c1q0r0j451q0r0j030h4u0g030x1k0j1n0x1q0j3d0x1k0j500h031t070f031j4u030t074p7y06nq961yib61yib63iwyi0000034tao34tao0000016azi2qpmu69mlc5oh3l1yib669mlc69mlc69mlc4p7y0t090b09098888terminalterminalterminalterminalargh-amp
write $skn 15d2u0303570d4m040b0b4y040b0b05250q0k0w250q0k1n250q0k2e250q0k35250q0k41250q0k050j530h05121q0p1x151j0j3i15190j4x15081k0e06051t4m090t070s7bo000006nq967fxku3iwyi71tx034tao34tao62krf16azi2qpmu7fxku5oh3l1yib67mzer6us337mzer6nq96d090i090a7777verdanaverdanaverdanaverdanaargh-amp
write $skn 15d2u0303570d4m040b0b4y040b0b05250q0k0w250q0k1n250q0k2e250q0k35250q0k41250q0k050j530h05121q0p1x151j0j3i15190j4x15081k0e06051t4m090t07007pq007pq00ieb00ieb00ieb00cn400fty00oqa00p5n006x400cg400khg00p6g006bk00lq000khg00p1p00iebb090i090a7777verdanaverdanaverdanaverdanaargh-amp
write $skn 15d2u0303570d4m040b0b4y040b0b05250q0k0w250q0k1n250q0k2e250q0k35250q0k41250q0k050j530h05121q0p1x151j0j3i15190j4x15081k0e06051t4m090t0762gro62gro366go366go38zsr0ibd026x3z4i3bn5d2zb1yhb72ckz12vag42jyq9000006m7p61w03n1w03n366gob090i090a8777terminalverdanaverdanaverdanaboamp
write $skn 19q0j03030a0d8w030d0d9a030d0d3h030e0d3v030e0d49030e0d4n030e0d51030e0d5h030e0d0e03300d05121q0p1x151j0j3i15190j7z070u05050d5y071y05050d00000000007ir407ir407ir400000050i2o8rvmo9zldr0000050i2o9zldr8rvmo7ir400000000000000007ir40b090i0909e777lucida consoleverdanaverdanaverdana
write $skn 11a4f0404120e596h0b0b5l6h0b0b030j0j0k0g150q0k0g1q0q0k0g2b0q0k0o0j0j0k0g2w0q0k3s4v1a0f043i120h2j5l1j0j445l190j04431205040b0615062b0a0500000000005hf9o5hf9o4p7y01kenc34tao5hf9o7fxku16azi2qpmu7fxku5oh3l0s7bo7mzer6us337mzer5hf9ob0909090a8777terminalverdanaverdanaverdanatallamp
}
close -@ @aamp.temp
window -hl @aamp.temp
loadbuf @aamp.temp $skn
var %x = $line(@aamp.temp,0)
while (%x) {
rline @aamp.temp %x $skin.decompress($line(@aamp.temp,%x))
dec %x
}
savebuf @aamp.temp $skn
close -@ @aamp.temp
if (%aamp.skn !isnum) %aamp.skn = 1
if (!%aamp.skin) %aamp.skin = $skin.decompress($read($skn,l,1))
if (%aamp.startup) || ($1) aamp
close -@ @argh-amp loaded
window -k @argh-amp loaded -1 -1 -1 300
var %e = echo $color(i) @argh-amp loaded
%e Thanks for your interest in argh-amp.
%e Please don't send me suggestions. I'm very busy, and I'm getting stuff done when I have time. Thanks.
%e Be sure to view aamp.html for information on skinning, and everything else.
%e Recent additions:
%e - LEFT & RIGHT arrow key shortcuts (for seeking 5 seconds)
%e - CTRL+C & CTRL+INSERT shortcut keys for copying skin to clipboard
%e - Options enabling/disabling spam, and changing spam channels
%e - Stopped window from re-opening when changing skin
%e - It won't load the aamp playlist if "integrate with mp3stuff" is enabled. (It makes things faster.)
%e - Hold down CTRL to move the window as if EasyMove were enabled.
%e - Fixed bugs that appeared in mIRC 6.02
%e - New skin format for copying to clipboard -> skins are about 100 bytes smaller <- (old skins still work) !!!! :)
}
alias -l skin.compress {
if ($numtok($1-,9) != 48) return $1-
var %skin = $1-, %i = 1, %out = 1, %temp, %names
; skin version %out = 1
; window 1 wwhh
; rect 2-14 xxyywwhh
; bar&knob 15-16 xxyywwhhwwhh
while (%i < 17) {
tokenize 32 $gettok(%skin,%i,9)
if ($abs($1) > 1295) tokenize 32 1295 $2-
if ($abs($2) > 1295) tokenize 32 $1 1295 $3-
if ($abs($3) > 1295) tokenize 32 $1-2 1295 $4-
if ($abs($4) > 1295) tokenize 32 $1-3 1295 $5-
if (%i > 1) %out = $+(%out,$base10362($1),$base10362($2))
%out = $+(%out,$base10362($3),$base10362($4))
if (%i > 14) {
if ($abs($5) > 1295) tokenize 32 $1-4 1295 $6
if ($abs($6) > 1295) tokenize 32 $1-5 1295
%out = $+(%out,$base10362($5),$base10362($6))
}
inc %i
}
; color 30-47 ccccc
%i = 30
while (%i < 48) {
%out = %out $+ $base($gettok(%skin,%i,9),10,36,5)
inc %i
}
; options 26-29,48 (combine)
tokenize 32 26 27 28 29 48
while ($1) {
%temp = %temp $+ $gettok(%skin,$1,9)
tokenize 32 $2-
}
%out = %out $+ $base(%temp,2,36)
; fontsize 18,20,22,24 ss
%i = 18
while (%i < 25) {
%temp = $gettok(%skin,%i,9)
if ($abs(%temp) > 1295) %temp = 1295
%out = %out $+ $base10362(%temp)
inc %i 2
}
; font name lengths 17,19,21,23 l
%i = 17
while (%i < 24) {
%names = %names $+ $left($gettok(%skin,%i,9),35)
%temp = $len($gettok(%skin,%i,9))
if (%temp > 35) %temp = 35
%out = %out $+ $base(%temp,10,36)
inc %i 2
}
; font names and title 17,19,21,23,25 ?
%out = $+($lower(%out),%names,$mid($gettok(%skin,25,9),2))
return %out
}
alias -l base10362 {
var %n
if (-* iswm $1) %n = -
return %n $+ $base($abs($1),10,36,2)
}
;----------------------------
; bytes*number
; 1*1 = version, v
; 4*1 = window, wwhh
; 8*14 = rectangle, xxyywwhh
; 12*2 = bar&knob, xxyywwhhwwhh
; 5*18 = color, ccccc
; 1*1 = 5 bin options, o
; 2*4 = fontsize, ss
; 1*4 = lengths of font names, l
; ?+?+?+? = font names
; ? = title
; total 236+?
;----------------------------
alias -l skin.decompress {
if ($numtok($1-,9) == 48) return $1-
; skin version = 1
if ($left($1,1) != 1) return
; window 1 wwhh
; rect 2-14 xxyywwhh
; bar&knob 15-16 xxyywwhhwwhh
var %skin = $1-, %out = $mid($str( ,48),2), %pos = 2, %i = 1, %j, %n, %w
while (%i < 17) {
%j = 1
if (%i > 14) %n = 6
elseif (%i == 1) %n = 2
else %n = 4
var %temp = $iif(%i == 1,0 0)
while (%j <= %n) {
if ($mid(%skin,%pos,1) == -) %w = 3
else %w = 2
%temp = %temp $base($mid(%skin,%pos,%w),36,10)
%out = $puttok(%out,%temp,%i,9)
inc %pos %w
inc %j
}
inc %i
}
; color 30-47 ccccc
%i = 30
while (%i < 48) {
%out = $puttok(%out,$base($mid(%skin,%pos,5),36,10),%i,9)
inc %pos 5
inc %i
}
; options 26-29,48 (combine 5 into 1 byte)
%temp = $base($mid(%skin,%pos,1),36,2,5)
inc %pos
%i = 26
while (%i < 49) {
if (%i == 30) %i = 48
%out = $puttok(%out,$left(%temp,1),%i,9)
%temp = $mid(%temp,2)
inc %i
}
; fontsize 18,20,22,24 ss
%i = 18
while (%i < 25) {
if ($mid(%skin,%pos,1) == -) %w = 3
else %w = 2
%out = $puttok(%out,$base($mid(%skin,%pos,%w),36,10),%i,9)
inc %pos %w
inc %i 2
}
; font name lengths 17,19,21,23 l
%temp =
%i = 4
while (%i) {
%temp = %temp $base($mid(%skin,%pos,1),36,10)
inc %pos
dec %i
}
; font names and title 17,19,21,23,25 ?
tokenize 32 %temp
%i = 17
while (%i < 26) {
if (%i == 25) %temp = $+ $mid(%skin,%pos)
else %temp = $mid(%skin,%pos,$1)
%out = $puttok(%out,%temp,%i,9)
inc %pos $1
tokenize 32 $2-
inc %i 2
}
return %out
}
alias aamp {
if (%aamp.mp3stuff) %aamp.mp3stuff = $script(mp3stuff.mrc)
if (* !iswm %aamp.spamchan) %aamp.spamchan = #argh
%aamp./ =
%aamp.down = drawbox 43 36 35 38 37
if (!%aamp.file) %aamp.file = $mp3dir $+ argh-amp.mp3
write $skn
write $m3u
if ( isin $1-5) || ($len($1) > 236) {
%aamp.skin = $1-
%aamp.* = 1
tokenize 32 1
}
elseif ($1 isnum 1-) {
%aamp.skn = $1
%aamp.* = $iif($2 > 1,1)
tokenize 32 $isbit($2 +,3) $isbit($2 +,2) $read($skn,l,$1)
if (!$3-) %aamp.skn = 1
if ($1) || ($2) %aamp.skin = $+($deltok($iif($1,%aamp.skin,$3-),28-,9), ,$gettok($iif($1,$3-,%aamp.skin),28-,9))
else %aamp.skin = $3-
}
%aamp.skin = $skin.decompress(%aamp.skin)
if ($skin(0) != 48) || ($1- == 0) {
%aamp.* = 1
%aamp.skn = $n(1,%aamp.skn)
%aamp.skin = 15d2u0303570d4m040b0b4y040b0b05250q0k0w250q0k1n250q0k2e250q0k35250q0k41250q0k050j530h05121q0p1x151j0j3i15190j4x15081k0e06051t4m090t078rvmo9zldr9zldr8rvmob090i09097777verdanaverdanaverdanaverdanaargh-amp
%aamp.skin = $skin.decompress(%aamp.skin)
}
if (!%aamp.xy) %aamp.xy = -1 -1
if (!$window(@aamp)) closeamp
if (!$window(@aamp.pl)) && (!%aamp.mp3stuff) {
window -lh @aamp.pl
loadbuf @aamp.pl $m3u
}
if ($iif(%aamp.mdi,1,0) != $iif($window(@aamp).mdi,1,0)) close -@ @aamp
if (!$window(@aamp)) {
$window-(iBp) +d @aamp %aamp.xy $mid($skin(1),4) $+(",$mircexe,") 14
}
window -ar @aamp
if (!$window(@aamp.title)) window -khpfB +d @aamp.title
clear @aamp
draw
}
alias -l window- return window $+(-zkn,$1,$iif(!%aamp.mdi,$iif(%aamp.ontop,hdo,hd)))
alias -l draw {
window @aamp -1 -1 $mid($skin(1),5)
if ($skin(27)) drawbox 34 37 38 35 36 $skin(1)
else rect 34 $skin(1)
var %x = 16
while (%x > 2) {
if (%x < 11) label %x
else %aamp.down $skin(%x)
dec %x
}
top 1
update 1
}
alias -l top {
if (!$timer(aamp.update)) update
var %window = $iif($window(@aamp.playlist),window,null), %active = $iif($active == $$window(@aamp) && $appactive,1), %1 = $calc($1 -1)
if ($appactive) {
if (%aamp.ontop) || (!%aamp.neverontop) {
if ($version != 6.02) || ($active == @aamp) {
if ($version != 6.02) || ($active == @aamp.playlist) %window -o @aamp.playlist
window -o @aamp
}
}
if (!%aamp.ontop) && (!$window(@aamp.editor)) {
%window -u @aamp.playlist
window -u @aamp
}
}
if (%1) && (%aamp.active == %active) return
%aamp.active = %active
tokenize 32 $skin(2)
rect $calc(40-%active) $1-
tokenize 32 $1- $centertext($1- $calc(42-%active) 24 $mid($skin(25),2))
if ($skin(26)) $5-
else $5 $1 $7-
label 3
label 4
if (%1) drawpic @aamp
}
alias aampspam {
var %colors = 3,6,7,10,12,14
var %color = $gettok(%colors,$rand(1,$numtok(%colors,44)),44)
var %input = <c>argh</c> [<song>] <c>-</c> (<length>/<kbps>kbps) <c>amp
var %output = $replace(%input,<c>, $+ %color,</c>,99,<song>,$deltok($nopath($longfn($inmp3.fname)),-1,46),<length>,$remove($duration($int($calc($insong.length /1000))),ins,in,ecs,ec,rs,r,$chr(32)),<kbps>,$mp3($inmp3.fname).bitrate,<size>,$lower($bytes($lof($insong.fname),bkmgt3).suf))
var %x = 1, %chan
while ($gettok(%aamp.spamchan,%x,44)) {
%chan = $ifmatch
if ($chan(%chan)) && ($server) msg %chan %output
inc %x
}
}
alias -l null
alias -l center return $int($calc($2 /2- $3 /2+ $1))
alias -l skin return $gettok(%aamp.skin,$1,9)
alias -l setskin {
%aamp.skin = $puttok(%aamp.skin,$2-,$1,9)
%aamp.* = 1
}
alias -l rect drawrect -rfn @aamp $skin($1) 1 $2-5
alias -l n {
if ($2 < $1) return $1
if ($2 > $int($calc($3))) return $int($calc($3))
return $2
}
alias -l width_ return $width($1,$skin($calc($2 -1)),$skin($2))
alias -l height_ return $height($1,$skin($calc($2 -1)),$skin($2))
alias -l name return $replace($left($nopath($longfn($1)),-4),_,$chr(32))
alias -l : return $+($mid($int($calc(100+$1 /60000% 100)),-2),:,$mid($int($calc(100+$1 /1000% 60)),-2))
alias -l m3u return $+(",$scriptdir,aamp.m3u")
alias -l skn return $+(",$scriptdir,aamp.skn")
alias -l pickfile return $sfile($nofile(%aamp.file) *.mp3)
alias -l drawbox {
rect $1 $6-
var %t 2
while (%t) {
dec %t
drawrect -rn @aamp $skin($iif(%t,$2,$3)) 1 $6-9
if (!$skin(28)) {
var %x = $calc($7 -1+$9) $calc($6 -1+$8)
drawline -rn @aamp $skin($iif(%t,$4,$5)) 1 $6 %x %x $calc($7 -1)
}
tokenize 32 $1-5 $calc(1+$6) $calc(1+$7) $int($calc($8 -2)) $int($calc($9 -2))
}
}
alias -l triangle {
$9- $1-4 $1-2
$9- $int($calc($5)) $int($calc($6)) $1-2
$9- $int($calc(.5+ $5)) $int($calc(.5+ $6)) $3-4
drawfill -rn @aamp $12 $12 $7-8
}
alias -l label {
if (!$2) drawbox 32 38 37 35 36 $skin($1)
tokenize 32 $skin($1) $1-
var %z = $iif($6 && $skin(29),1 +), %w = $n(5,$int($calc($3 *.4))), %h = $n(5,$int($calc($4 *.4)))
var %x = %z $center($1,$3,%w), %y = %z $center($2,$4,%h), %l = drawline -rn @aamp $skin($calc(30+$6)) 1
var %s = $int($calc(.8* %w)), %t = %w - %s, %u = %s + %x, %p = $int($calc(.4* %w)), %q = $int($calc(.8* %h))
var %o = $int($calc(%y -.7+.6* %h)), %a = %x + %w, %b = %y + %h, %c = %a - 1, %d = %b - 1
var %n = $calc((%d +%y)/2), %m = $calc((%c +%x)/2), %r = triangle %x %y %x %d %c %n $calc(1+%x) %n %l
var %_ = rect $calc(30+$6) %x $int($calc(%y + %q)) %w $int($calc(%h - %q))
goto $5
:3
%_
return
:4
%l %x %y %a %b
%l %c %y $calc(%x -1) %b
return
:5
rect $calc(30+$6) %x %y %t %h
triangle %c %y %c %d $int($calc(%x + %t)) %n $calc(%c -1) %n %l
return
:6
%r
return
:7
rect $calc(30+$6) %x %y %p %h
rect $calc(30+$6) $int($calc(%x +.6* %w)) %y %p %h
return
:8
rect $calc(30+$6) %x %y %w %h
return
:9
rect $calc(30+$6) %u %y %t %h
$puttok(%r,$calc(%u -1),6,32)
return
:10
triangle %x %o %c %o %m %y %m $calc(%o -1) %l
%_
}
alias -l in_rect {
tokenize 32 $1- $skin($3)
return $inrect($1,$2,$4,$5,$6,$7)
}
alias -l b {
if ($timer(aamp.move)) || ($window(@aamp.editor)) return
var %d = $3, %r, %/ = %aamp./, %t = 10
while (%t > 2) {
if ($in_rect($1,$2,%t)) {
if (%t != %/) || (!%d) && (%/) {
label %/
%/ =
}
if (!%d) push %t
elseif (%/ != %t) {
drawbox $calc(32+%d) 35 36 35 36 $skin(%t)
label %t 1
%/ = %t
}
%r = 1
break
}
dec %t
}
if (%/) && (!%r) label %/
%aamp./ = $iif(%r,%/)
drawpic @aamp
return %r
}
alias -l pl.play {
%aamp.plpos = $1
while ($open($line(@aamp.pl,%aamp.plpos))) inc %aamp.plpos
}
alias -l inbar {
tokenize 32 $1-2 $skin($3)
tokenize 32 $1-6 $n($5,$7) $n($6,$8)
return $inrect($1,$2,$center($3,$5,$7),$center($4,$6,$8),$7,$8)
}
alias -l mouse {
top
tokenize 32 $mouse.dx $mouse.dy $mouse.x $mouse.y
if ($b($3,$4,1)) return
if ($window(@aamp.editor)) {
window -h @aamp.editor
move g $1-
return
}
if ($inbar($3,$4,15)) move 15 $1-
elseif ($inbar($3,$4,16)) move 16 $1-
elseif (%aamp.easymove) || ($mouse.key & 2) || ($in_rect($3,$4,2)) move 2 $calc($1 - $window(@aamp).x) $calc($2 - $window(@aamp).y)
}
alias -l edit {
var %k $mouse.key,%l 1
while ($sline(@aamp.editor,%l).ln < 17) {
tokenize 32 $1-2 $ifmatch $sline(@aamp.editor,%l)
;change knob
if (%k & 2) && ($9-) tokenize 32 $1-8 $n(2,$calc($9 -1+$1)) $n(2,$calc($10 -1+$2))
;change width/height
elseif (%k & 4) tokenize 32 $1-6 $calc($7 -1+$1) $calc($8 -1+$2) $9-
;change actual "width/height" line
elseif ($3 == 1) {
if (!$sline(@aamp.editor,2).ln) {
window @aamp $calc($1 -1+$window(@aamp).x) $calc($2 -1+$window(@aamp).y)
return
}
tokenize 32 $1-4 0 0 $7-
}
;change x/y
else tokenize 32 $1-4 $calc($5 -1+$1) $calc($6 -1+$2) $7-
rline -a @aamp.editor $3-
setskin $3 $5-
inc %l
}
if (%l > 1) draw
}
alias -l move {
%aamp.? = $1
var %k = $iif($mouse.key & 1,1), %timer = .timeraamp.move -o 1 0 move $1, %cmd = %timer $2-
tokenize 32 $mouse.dx $mouse.dy $1-
tokenize 32 $calc($1 +1- $4) $calc($2 +1- $5) $1-
if ($window(@aamp.editor)) {
edit $1-
if (%k) %timer $3-4
else window -wro @aamp.editor
return
}
if ($5 == 2) {
tokenize 32 $1-2 $iif(%aamp.mdi,-3,-1) $skin(1)
%aamp.xy = $n(0,$calc($1 -1),$window($3).dw - $6) $n(0,$calc($2 -1),$window($3).dh - $7)
window @aamp %aamp.xy
if (%k) %cmd
return
}
if ($5 == 15) || ($inmp3) {
tokenize 32 $5 $skin($5) $calc($3 - $$window(@aamp).dx) $calc($4 - $window(@aamp).dy)
if ($5 > $4) tokenize 32 $1 $3-
tokenize 32 $1 $skin($1) $calc($8 -$6 /2-$2) $calc($4 - $6)
tokenize 32 $1-7 $n(0,$8,$9) $9-
drawbar $1-
drawpic @aamp
if ($1 == 15) vol -p $round($calc(65535*($iif($5 > $4,1-) $8 / $9)),0)
if (%k) {
%cmd
return
}
if ($1 != 15) splay -p seek $round($calc($8 / $9 * $inmp3.length),0)
}
}
alias -l drawbar {
var %t = $1-, %x = $center($2,$4,$6), %y = $center($3,$5,$7)
if ($6 > $4) tokenize 32 $1 %x $3 $6 $5-
if ($7 > $5) tokenize 32 $1-2 %y $4 $7 $6-
rect 34 $2-
%aamp.down $skin($1)
$11
tokenize 32 %t
$iif($skin(48),drawbox 47 38 37 35 36,rect 47) $iif($4 < $5,%x $int($calc($3 +( $5 - $7)*( $10 $8 / $9))),$int($calc($2 +( $4 - $6)* $8 / $9)) %y) $6-
}
alias -l update {
null $$window(@aamp)
if (!$timer(aamp.update)) .timeraamp.update -om 0 200 update
var %t = --:--, %n = $1, %f = $inmp3.fname, %inmp3 = $inmp3, %pos = $inmp3.pos, %length = $inmp3.length
if (!$timer(aamp.move)) %aamp.? =
%aamp.paused = %inmp3
if (%inmp3) {
%t = $:(%pos)
if (%aamp.u != %pos) {
%aamp.u = %pos
%aamp.paused = 0
}
}
+ $skin(12) 45 20 %t
if (%aamp.? != 15) drawbar 15 $skin(15) $vol(s) 65535 1-
if (%aamp.? != 16) drawbar 16 $skin(16) %pos %length + $iif(!%inmp3,return)
if (%aamp.length != %length) || (%f != %aamp.file) && (%inmp3) || (%n) {
if (%inmp3) {
%aamp.file = %f
%aamp.length = %length
}
%aamp.= =
+ $skin(13) 46 22 $mp3(%aamp.file).bitrate $+ kbps
+ $skin(14) 46 22 $left($mp3(%aamp.file).sample,-3) $+ kHz
tokenize 32 $skin(11) $name(%aamp.file) ( $+ $:(%aamp.length) $+ )
if ($calc($width_($5-,18) + 6) > $3) {
tokenize 32 $width_($5- $+ 00,18) $1-
%aamp.= = $1
if (!$window(@aamp.editor)) %aamp.- = 0
window @aamp.title 0 0 $int($calc(2* $1)) $calc(2+$5)
clear @aamp.title
drawfill -r @aamp.title $skin(43) $skin(43) 0 0
tokenize 32 drawtext -rf @aamp.title $skin(44) $skin(18) $center(0,$int($calc($5 -4)),$height_(0,18)) $6-
$1-4 $+(",$skin(17),") $5 0 $6-
$1-4 $+(",$skin(17),") $5 %aamp.= $6-
}
else + $skin(11) 44 18 $5-
}
if (%aamp.=) {
tokenize 32 $skin(11)
if ($version < 6.02) drawcopy -n @aamp.title %aamp.- 0 $calc($3 -5) $calc($4 -5) @aamp $calc(2+$1) $calc(2+$2)
else drawcopy -n @aamp.title %aamp.- 0 $calc($3 -4) $calc($4 -4) @aamp $calc(2+$1) $calc(2+$2)
%aamp.- = $int($calc(( %aamp.- +5)% %aamp.=))
}
drawpic @aamp
}
alias -l _mouse if (%aamp./) || ($mouse.key & 1) b $mouse.x $mouse.y 1
alias -l + {
tokenize 32 $calc(2+$1) $calc(2+$2) $int($calc($3 -4)) $int($calc($4 -4)) $5-
rect 43 $1-
$centertext($1-)
}
alias -l centertext {
tokenize 32 $1
tokenize 32 $height_($7-,$6) $1-
return text $n($2,$center($2,$4,$width_($8-,$7))) $center($3,$5,$1) $4 $1 $6-
}
alias -l text if (* iswm $7) drawtext -nrc @aamp $skin($5) $+(",$skin($calc($6 -1)),") $skin($6) $1-4 $7-
alias -l closeamp {
close -@ @aamp @aamp.editor @aamp.title
pl.reload return
.timeraamp.* off
$iif(!$1,.timer -o 1 0 if ($script(aamp.mrc))) closeamp2
}
alias -l closeamp2 {
if (!$window(@aamp)) {
close -@ @aamp.pl @aamp.playlist
if (%aamp.stop) splay stop
if (%aamp.mp3stuff) && (%aamp.stopcont) && ($script(mp3stuff.mrc)) mp3stuff cont 0
}
}
alias -l open {
if ($isfile($1-)) {
splay -p $+(",$1-,")
if (%aamp.autospam) && (!%aamp.mp3stuff) aampspam
}
elseif (%aamp.plpos < $line(@aamp.pl,0)) return 1
}
alias -l input_ return $input($1,1,argh-amp,$2)
menu @aamp.editor {
lbclick:{
if ($1 < 17) return
tokenize 32 $1 $line(@aamp.editor,$1)
var %type = $2, %value = $3-, %input, %output
if (Option.* iswm $2) %output = $iif(%value,0,1)
elseif (Font.* iswm $2) %output = $input_(%type,%value)
elseif (FontSize.* iswm $2) {
%input = $input_(%type,%value)
if (%input isnum) %output = %input
}
elseif (Color.* iswm %type) {
var %hex = $base(%value,10,16,6)
%input = $remove($input_(%type $+($chr(35),$mid(%hex,-2),$mid(%hex,3,2),$left(%hex,2)),$rgb(%value)),$chr(32))
if (%input == $cancel) return
if ($numtok(%input,44) == 3) %output = $rgb( [ $deltok(%input,0,44) ] )
elseif (#?????? iswm %input) {
if ($base($+($mid(%input,-2),$mid(%input,4,2),$mid(%input,2,2)),16,10)) %output = $ifmatch
}
elseif ($calc(%input) isnum 0-16777215) %output = $ifmatch
}
elseif (Text.* iswm $2) {
%input = $input_(%type,$mid(%value,2))
if (* !iswm %input) if (!$?!="Clear %type ?") return
%output = $+ %input
}
%output = $remove(%output, )
if (* !iswm %output) return
rline -a @aamp.editor $1 %type %output
setskin $1 %output
draw
}
}
menu @aamp {
mouse:_mouse
sclick:{
mouse
.timeraamp.k -o 1 0 _mouse
}
dclick:mouse
uclick:b $mouse.x $mouse.y
leave:b -1 -1
}
menu @aamp.playlist {
dclick:{
%aamp.plpos = $1
open $line(@aamp.pl,$1)
}
}
menu @aamp,@aamp.editor,@aamp.playlist {
Spa&m
.&Spam now $iif(%aamp.mp3stuff,(/mp3stuff spam),(/aampspam)):{
if (%aamp.mp3stuff) mp3stuff spam
else aampspam
}
.-
.$checkbox($iif(%aamp.mp3stuff,%mp3stuffplay,%aamp.autospam)) &Auto-spam on play:{
if (%aamp.mp3stuff) mp3stuff t 0 play
else %aamp.autospam = $iif(!%aamp.autospam,1)
}
.-
.Set &channels... $+([,$iif(%aamp.mp3stuff,%mp3stuffplayto,%aamp.spamchan),]):{
if (%aamp.mp3stuff) mp3stuff setchans
else %aamp.spamchan = $$replace($input_($+(Enter spam channels,$chr(44),$chr(32),separated by commas),%aamp.spamchan),$chr(32),$chr(44))
}
-
S&kin
.&Previous skin ( [ ):push 11
.&Next skin ( ] ):push 12
.-
.&Copy to clipboard ( CTRL+C ):clipboard $skin.compress(%aamp.skin)
.&GUI Editor:{
clear @aamp.editor
window -drolk +L @aamp.editor -1 -1 275 -1 fixedsys 15
tokenize 32 Width/Height Titlebar Minimize Close Prev Play Pause Stop Next Eject Song Time kbps kHz Volume Position-Bar Font.Song FontSize.Song Font.Time FontSize.Time Font.Quality FontSize.Quality Font.Titlebar FontSize.Titlebar Text.Titlebar Option.Center-Title Option.Main-Border Option.Alt-Borders Option.Label-Move Color.Button-Label Color.Button-Label2 Color.Button Color.Button2 Color.Main Color.Frame Color.Shadow Color.3DLight Color.Hilight Color.Titlebar Color.Titlebar2 Color.Titlebar-Text Color.Titlebar-Text2 Color.Edit Color.Song Color.Time Color.Quality Color.Knob Option.KnobBorder
var %l
while ($1) {
inc %l
aline @aamp.editor $1 $skin(%l)
tokenize 32 $2-
}
}
.-
.$iif(%aamp.*,&Reload skin (Undo changes)):aamp %aamp.skn
.-
.$iif(%aamp.*,&Save current skin):{
write $skn %aamp.skin
aamp $lines($skn)
}
.$iif(!%aamp.* && %aamp.skn,&Delete skin):{
if ($?!="Delete this skin?") {
write -dl $+ %aamp.skn $skn
aamp %aamp.skn
}
}
-
&Open mp3 ( O ):push 18
$iif(!$window(@aamp.playlist),Open &playlist ( P )):push 17
$iif($window(@aamp.playlist),&Playlist)
.Add &Files:{
:f
%aamp.file = $$pickfile
aline @aamp.pl %aamp.file
savebuf @aamp.pl $m3u
if ($window(@aamp.playlist)) {
aline @aamp.playlist $name(%aamp.file)
window -b @aamp.playlist
}
goto f
}
.Add &Directory:{
window -hls @aamp.temp
if ($findfile($sdir($nofile(%aamp.file)),*.mp3,@aamp.temp)) {
filter -ww @aamp.temp @aamp.pl
savebuf @aamp.pl $m3u
pl.reload
}
close -@ @aamp.temp
}
.-
.$iif($window(@aamp.playlist),&Remove Selected):{
while ($sline(@aamp.playlist,1).ln) {
dline @aamp.pl $ifmatch
dline @aamp.playlist $ifmatch
}
savebuf @aamp.pl $m3u
}
.-
.&Sort playlist
..Sort by &directory && filename:{
window -hls @aamp.temp
filter -ww @aamp.pl @aamp.temp
filter -cww @aamp.temp @aamp.pl
close -@ @aamp.temp
savebuf @aamp.pl $m3u
pl.reload
}
..Sort by &filename only (not functional yet):{
}
-
$checkbox($iif(%aamp.mp3stuff,%mp3stuffcont,%aamp.cont)) Co&ntinuous play:{
if (%aamp.mp3stuff) { mp3stuff .t 0 cont | return }
%aamp.cont = $iif(!%aamp.cont,1)
}
$checkbox($iif(%aamp.mp3stuff,%mp3stuffshuf,%aamp.shuffle)) S&huffle:{
if (%aamp.mp3stuff) { mp3stuff .t 0 shuf | return }
%aamp.shuffle = $iif(!%aamp.shuffle,1)
}
-
View r&eadme:{
var %f = $+($scriptdir,aamp.html)
if ($isfile(%f)) run %f
else run http://pages.cthome.net/pdufilie/irc/aamp.html
}
-
&Version
.&Check for a new version (/aampcheck):aampcheck
.-
.$checkbox($iif(!%aamp.nocheck,1)) Check for new version on &startup:%aamp.nocheck = $iif(!%aamp.nocheck,1)
.$checkbox($iif(!%aamp.noinstall,1)) Install new versions &automatically:%aamp.noinstall = $iif(!%aamp.noinstall,1)
.-
.&Uninstall:if ($?!="Uninstall argh-amp?") unload -rs $+(",$script,")
&Window
.$checkbox(%aamp.easymove) &Easy Move:%aamp.easymove = $iif(!%aamp.easymove,1)
.-
.$checkbox(%aamp.mdi) &MDI window:{
%aamp.mdi = $iif(!%aamp.mdi,1)
aamp
pl.reload
}
.$iif($version != 6.02 && !%aamp.mdi && !%aamp.ontop,$checkbox($iif(!%aamp.neverontop,1)) &On top when mIRC is active):{
%aamp.neverontop = $iif(!%aamp.neverontop,1)
top
}
.$iif(!%aamp.mdi,$checkbox(%aamp.ontop) &Always on top):{
%aamp.ontop = $iif(!%aamp.ontop,1)
top
}
&System
.$checkbox(%aamp.ejectpl) &Eject opens playlist:%aamp.ejectpl = $iif(!%aamp.ejectpl,1)
.-
.$checkbox(%aamp.startup) Open on &startup:%aamp.startup = $iif(!%aamp.startup,1)
.$iif(%aamp.mp3stuff,$checkbox(%aamp.splay) &Open when mp3stuff plays an mp3):%aamp.splay = $iif(!%aamp.splay,1)
.-
.$checkbox(%aamp.stop) Stop mp3 on &close:%aamp.stop = $iif(!%aamp.stop,1)
.$iif(%aamp.mp3stuff,$checkbox(%aamp.stopcont) Turn off co&ntinuous play on close):%aamp.stopcont = $iif(!%aamp.stopcont,1)
.-
.$iif($script(mp3stuff.mrc),$checkbox(%aamp.mp3stuff) Integrate with &mp3stuff):{
%aamp.mp3stuff = $iif(!%aamp.mp3stuff,1)
if (%aamp.mp3stuff) {
close -@ @aamp.playlist @aamp.pl
mp3stuff t player mIRC
}
else aamp
}
-
&Close:closeamp
}
alias -l checkbox if ($1) return $style(1)
alias -l idline {
iline -a @aamp.pl $2 $line(@aamp.pl,$1)
iline -a @aamp.playlist $2 $line(@aamp.playlist,$1)
dline @aamp.pl $3
dline @aamp.playlist $3
}
on *:keydown:@aamp.playlist:45,46:{
var %x $sline(@aamp.playlist,0)
if ($int($calc($keyval -45))) {
while (%x) {
tokenize 32 $sline(@aamp.playlist,%x).ln
if ($1 == $line(@aamp.pl,0)) return
idline $1 $calc(2+$1) $1
dec %x
}
savebuf @aamp.pl $m3u
return
}
var %y 1
while (%y <= %x) {
tokenize 32 $sline(@aamp.playlist,%y).ln
if ($1 < 2) return
idline $1 $calc($1 -1) $calc(1+$1)
inc %y
}
savebuf @aamp.pl $m3u
}
alias -l pl.load {
if (%aamp.mp3stuff) { mp3stuff stuff 6 | return }
if (!$window(@aamp.playlist)) {
$window-(l) @aamp.playlist %aamp.plxy
var %x 1
while ($line(@aamp.pl,%x)) {
aline @aamp.playlist $name($ifmatch)
inc %x
}
}
window -abr @aamp.playlist
if ($line(@aamp.playlist,0)) sline @aamp.playlist $n(1,$int($calc(+%aamp.plpos)),$ifmatch)
}
alias -l pl.reload {
if ($window(@aamp.playlist)) {
%aamp.plxy = $window(@aamp.playlist).x $window(@aamp.playlist).y $window(@aamp.playlist).w $window(@aamp.playlist).h
$1
close -@ @aamp.playlist
pl.load
}
}
on *:keydown:@aamp:*:{
var %keyval = $keyval, %direction = %keyval - 37, %left/right = %keyval % 2
;0=LEFT, 1=UP, 2=RIGHT, 3=DOWN
if (%direction isnum 0-3) {
if ($window(@aamp.editor)) edit $iif(%left/right,%direction,1) $iif(%left/right,1,$calc(%direction -1))
elseif (!%left/right) vol -p $n(0,$calc((2-%direction)*1024+$vol(mp3)),65535)
elseif ($inmp3) splay -p seek $n(0,$calc((%direction -1)*5000+$inmp3.pos),%aamp.length)
}
elseif (%keyval == 45) || (%keyval == 67) && ($mouse.key & 2) push 1
elseif (%keyval > 27) push $calc(4+$$pos(zxcvbl[]{}po,$keychar))
}
alias -l push {
goto $1
:4
closeamp
halt
:1
clipboard $skin.compress(%aamp.skin)
return
:3
window -n @aamp
return
:5
if (%aamp.mp3stuff) {
mp3stuff prev
return
}
pl.play $calc(1 + ($line(@aamp.pl,0) - 2 + $n(1,%aamp.plpos,$line(@aamp.pl,0))) % $line(@aamp.pl,0))
return
:6
if (%aamp.paused) splay -p resume
elseif (%aamp.file) open %aamp.file
else goto 10
return
:7
if (%aamp.paused) splay -p resume
elseif ($inmp3) splay -p pause
return
:8
splay -p stop
return
:9
if (%aamp.mp3stuff) {
mp3stuff adv
return
}
pl.play $iif(%aamp.shuffle,$rand(1,$line(@aamp.pl,0)),$calc(1 + ($line(@aamp.pl,0) + $n(1,%aamp.plpos,$line(@aamp.pl,0))) % $line(@aamp.pl,0)))
return
:10
goto $iif(%aamp.ejectpl,17,18)
return
:15
:13
:11
var %lines = $lines($skn)
aamp $calc(1 + (%aamp.skn - 2 + %lines) % %lines) $mouse.key
return
:16
:14
:12
var %lines = $lines($skn)
aamp $calc(1 + (%aamp.skn + %lines) % %lines) $mouse.key
return
:17
if (%aamp.mp3stuff) {
mp3stuff stuff 6
return
}
pl.load
return
:18
if (%aamp.mp3stuff) {
if ($dialog(mp3stuffs)) mp3stuff stuff
else mp3stuff stuff 5
return
}
open $pickfile
}
on *:signal:mp3start:if (%aamp.mp3stuff) if (%aamp.splay) if (* !iswm $window(@aamp)) aamp
on *:mp3end:{
if (%aamp.mp3stuff) if ($script(mp3stuff.mrc)) return
if (%aamp.cont) push 9
}
on *:active:*:{
if ($active == @aamp.title) window -h @aamp.title
top
}
on *:appactive:top
on *:close:@aamp,@aamp.title,@aamp.pl:closeamp
on *:close:@aamp.playlist:pl.reload return
on *:unload:{
closeamp 1
unset %aamp.*
}
alias -l _echo echo -qs $1-
alias aampcheck {
if ($sock(aampversion)) || ($sock(downloadaamp)) return
if ($1) %aamp.silentcheck = 1
else _echo Checking...
sockopen aampversion pages.cthome.net 80
}
on *:sockopen:aampversion:{
if ($sockerr) {
_echo Error: $sock($sockname).wsmsg
return
}
sockwrite -n $sockname GET /pdufilie/versions.txt HTTP/1.0
sockwrite -n $sockname Accept: */*
sockwrite -n $sockname Host: pages.cthome.net
sockwrite -n $sockname
}
on *:sockread:aampversion:{
if ($sockerr) {
_echo Error: $sock($sockname).wsmsg
return
}
var %read, %this = $aampversion(1)
while (1) {
sockread %read
tokenize 32 %read
; script version mirc
if ($1 == aamp) {
if ($2 != %this) {
if ($3 > $version) {
_echo Newest requires mIRC v $+ $3
return
}
_echo New version: $+([,$2,])
if (!%aamp.noinstall) downloadaamp
else _echo Type /downloadaamp
}
elseif (!%aamp.silentcheck) _echo No new version.
}
if (!$sock($sockname)) || ($sockerr) || (!$sockbr) return
}
}
on *:sockclose:aampversion:unset %aamp.silentcheck
alias -l dlwin {
var %@ = @Downloading argh-amp
if (!$window(%@)) window -BhaCdfopk +Ldf %@ -1 -1 176 24
drawrect -frn %@ 0 0 0 0 176 24
if (%aamp.dlb) drawrect -rn %@ %aamp.dlb 0 0 0 176 24
if ($calc(174 * $sock(downloadaamp).rcvd / %aamp.dl)) drawrect -frn %@ 7368816 0 1 1 $ifmatch 22
drawtext -rn %@ 12632256 Fixedsys 15 8 4 Downloading argh-amp
drawpic %@
}
alias -l movedlwin {
if ($window(@Downloading argh-amp)) {
window @downloading argh-amp $calc($mouse.dx -$1) $calc($mouse.dy -$2)
if ($mouse.key & 1) .timeraampdlwin -o 1 0 movedlwin $1-
}
}
menu @Downloading argh-amp {
sclick:{
var %@ = @Downloading argh-amp
movedlwin $calc($mouse.dx -$window(%@).x) $calc($mouse.dy -$window(%@).y)
}
dclick:close -@ @Downloading argh-amp
}
alias downloadaamp {
sockclose aampversion
if ($sock(downloadaamp)) || ($timer(installaamp)) return
_echo Downloading...
sockopen downloadaamp pages.cthome.net 80
}
on *:sockopen:downloadaamp:{
if ($sockerr) {
_echo Error: $sock($sockname).wsmsg
return
}
write -c $+(",$scriptdir,aamp.exe")
%aamp.dlb = 0
%aamp.dl = 1
sockwrite -n $sockname GET /pdufilie/irc/aamp.exe HTTP/1.0
sockwrite -n $sockname Accept: */*
sockwrite -n $sockname Host: pages.cthome.net
sockwrite -n $sockname
}
on *:sockread:downloadaamp:{
if ($sockerr) {
_echo Error: $sock($sockname).wsmsg
return
}
var %exe = $+(",$scriptdir,aamp.exe"), %read
while (%aamp.dlb !isnum 1-) {
sockread -f %read
tokenize 32 %read
if ($sockbr) {
if ($1 == Content-Length:) %aamp.dl = $2
elseif (!$1-) {
%aamp.dlb = $rand(1,16777215)
break
}
}
else return
}
while (1) {
sockread &d
bwrite %exe -1 -1 &d
dlwin
if (!$sockbr) return
}
}
on *:sockclose:downloadaamp:install
alias -l install {
close -@ @Downloading argh-amp
unset %aamp.dl*
var %exe = $+(",$scriptdir,aamp.exe")
if ($isfile(%exe)) {
_echo Installing...
.timeraamperror -o 1 0 echo $color(i) -s *** Error occured while downloading argh-amp.
run %exe
.timeraamperror off
_load 0
}
}
alias -l _load {
if (!$isfile($+($scriptdir,aamp.exe))) || ($1 > 25) {
closeamp
.timer -o 1 0 aamp.init
.reload -rs $+(",$script,")
}
else .timerinstallaamp -om 1 200 _load $calc(1+$1)
}