Winamp Controlicon — File Browser
WinampControliconv1.0 / WinampControliconv1.0 / waci / waci.mrc
waci.mrc — 17.3 KB — Download this file
###############################################
# Winamp Controlicon #
# By CRash&bleED #
# Email: crash@hotpop.com #
# http://crashb.kicks-ass.net/mirc.html #
# #
# Using swamp.dll #
# BY: LightStrike #
# Email: LightStrike@mail.pt #
# #
# The Winamp icons were created by Nullsoft #
# http://www.winamp.com #
# Winamp: it really whips the llama's ass! #
###############################################
alias waci {
window -aBCdfhk0op +deL @waci 5 5 34 34
drawpic @waci 1 1 $waci_icon
drawrect @waci $waci_bdcolor 1 0 0 34 34
}
menu status,channel {
-
Winamp Controlicon:/waci
}
menu @waci {
dclick {
if $waci_dblclick == 1 {
if $left($lactive,1) == $chr(35) { waci_msg $lactive }
else { waci_clipboard }
}
elseif $waci_dblclick == 2 {
waci_next
}
unset %waci.move
}
sclick:{
set %waci.move $mouse.x $mouse.y $window(@waci).x $window(@waci).y
}
uclick:{
unset %waci.move
var %track $waci_mp3
if ($window(@waci).x != $gettok([ %waci.move ],3,34)) || ($window(@waci).y != $gettok([ %waci.move ],4,34)) {
window @waci $window(@waci).x $window(@waci).y $calc(54 + $width([ %track ],$waci_font,$waci_fsize)) 34
drawrect -f @waci $waci_bgcolor 1 34 0 $calc($window(@waci).w - 34) 34
drawrect @waci $waci_bdcolor 1 34 0 $calc($window(@waci).w - 34) 34
drawtext @waci $waci_color $waci_font $waci_fontsize 44 $waci_fpos %track
}
}
mouse:{
if %waci.move != $null {
window @waci $calc($mouse.dx - $gettok([ %waci.move ],1,32)) $calc($mouse.dy - $gettok([ %waci.move ],2,32))
}
elseif %waci.change != $null {
unset %waci.change
unset %waci.move
var %track $waci_mp3
window @waci $window(@waci).x $window(@waci).y $calc(54 + $width([ %track ],$waci_font,$waci_fsize)) 34
drawrect -f @waci $waci_bgcolor 1 0 0 $calc($window(@waci).w - 34) 34
drawpic @waci 1 1 $waci_icon
drawrect @waci $waci_bdcolor 1 0 0 34 34
drawrect @waci $waci_bdcolor 1 34 0 $calc($window(@waci).w - 34) 34
drawtext @waci $waci_color $waci_font $waci_fontsize 44 $waci_fpos %track
}
else {
var %track $waci_mp3
window @waci $window(@waci).x $window(@waci).y $calc(54 + $width([ %track ],$waci_font,$waci_fsize)) 34
if %waci.redraw == $null {
drawrect -f @waci $waci_bgcolor 1 34 0 $calc($window(@waci).w - 34) 34
set %waci.redraw 1
}
drawrect @waci $waci_bdcolor 1 34 0 $calc($window(@waci).w - 34) 34
drawtext @waci $waci_color $waci_font $waci_fontsize 44 $waci_fpos %track
}
}
leave:{
unset %waci.redraw
if %waci.move != $null {
window @waci $calc($mouse.dx - $gettok([ %waci.move ],1,32)) $calc($mouse.dy - $gettok([ %waci.move ],2,32))
}
else {
if %waci.change != $null {
unset %waci.change
unset %waci.move
var %track $waci_mp3
window @waci $window(@waci).x $window(@waci).y $calc(44 + $width([ %track ],$waci_font,$waci_fsize)) 34
drawrect -f @waci $waci_bgcolor 1 0 0 $calc($window(@waci).w - 34) 34
drawpic @waci 1 1 $waci_icon
drawrect @waci $waci_bdcolor 1 0 0 34 34
drawrect @waci $waci_bdcolor 1 34 0 $calc($window(@waci).w - 34) 34
drawtext @waci $waci_color $waci_font $waci_fontsize 40 $waci_fpos %track
}
window @waci $window(@waci).x $window(@waci).y 34 34
drawrect -f @waci $waci_bgcolor 1 0 0 1000 34
drawpic @waci 1 1 $waci_icon
drawrect @waci $waci_bdcolor 1 0 0 34 34
}
}
Configure:/waci_config
-
Channel
.All:/waci_amsg
.$submenu($waci_channels($1))
Copy To Clipboard:/waci_clipboard
-
<< $str($chr(160),2) Previous:/waci_prev
>> $str($chr(160),2) Next:/waci_next
-
|| $str($chr(160),5) Pause:/waci_pause
-
> $str($chr(160),5) Play $str($chr(160),6):/waci_play
$str($chr(160),4) Stop:/waci_stop
-
Close:/window -c @waci
}
alias waci_channels {
if $1 == begin { return - }
if $1 <= $chan(0) { return $right($chan($1),-1) $+ :/waci_msg $chan($1) }
if $1 > $chan(0) { return - }
}
alias waci_redraw {
if $window(@waci) != $null {
drawpic @waci 1 1 $waci_icon
drawrect @waci $waci_bdcolor 1 0 0 34 34
}
}
alias waci_fsize {
if $1 == $null {
var %size $waci_fontsize
}
else {
var %size $1
}
while $height($waci_mp3,$waci_font,[ %size ]) > 30 { dec %size }
return %size
}
alias waci_fpos {
var %size $waci_fontsize
while $height($waci_mp3,$waci_font,[ %size ]) > 30 { dec %size }
return $round($calc((34 - $height($waci_mp3,$waci_font,[ %size ])) / 2)),0)
}
alias waci_do { .dll $+(",$scriptdir,swamp.dll,") WinAmpCmd $1 }
alias waci_get { return $dll($+(",$scriptdir,swamp.dll,"),WinAmpGet,$1) }
alias waci_prev { waci_do prevtrack }
alias waci_next { waci_do nexttrack }
alias waci_pause { waci_do pause }
alias waci_play { waci_do play }
alias waci_stop { waci_do stop }
alias waci_icon { return $+(",$scriptdir,$readini($+(",$scriptdir,waci.ini"),n,theme,icon),.bmp") }
alias waci_font { return $+(",$readini($+(",$scriptdir,waci.ini"),n,theme,fontname),") }
alias waci_fontsize {
var %fsize $readini($+(",$scriptdir,waci.ini"),n,theme,fontsize)
if %fsize < 8 { var %fsize 8 }
if %fsize > $waci_fsize(%fsize) { var %fsize $waci_fsize(%fsize) }
return %fsize
}
alias waci_color { return $readini($+(",$scriptdir,waci.ini"),n,theme,fontcolor) }
alias waci_bdcolor { return $readini($+(",$scriptdir,waci.ini"),n,theme,bdcolor) }
alias waci_bgcolor { return $readini($+(",$scriptdir,waci.ini"),n,theme,bgcolor) }
alias waci_dblclick { return $readini($+(",$scriptdir,waci.ini"),n,keys,dblclick) }
alias waci_filename { return $waci_get(trackfilename) }
alias waci_mp3 {
var %mp3 $left($nopath($waci_filename),-4)
if %mp3 == $ {
var %mp3 Winamp is not open
}
elseif %mp3 == $null {
var %mp3 No songs in playlist
}
return %mp3
}
alias waci_tracknum { return $waci_get(tracknumber) }
alias waci_plsize { return $waci_get(playlistlength) }
alias waci_bitrate { return $waci_get(bitrate) $+ kbps }
alias waci_samprate { return $waci_get(samplerate) $+ khz }
alias waci_wampver { return $waci_get(version) }
alias waci_tracklen {
var %tt $gettok($duration($waci_get(tracktime),3),2-,58)
var %tt $int($gettok([ %tt ],1,58)) $+ : $+ $gettok([ %tt ],2,58)
return %tt
}
alias waci_played {
var %pt $waci_get(playedtime)
if %pt == -1 { var %pt Stopped }
else {
var %pt $gettok($duration($int($calc(%pt / 1000)),3),2-,58)
var %pt $int($gettok([ %pt ],1,58)) $+ : $+ $gettok([ %pt ],2,58)
}
return %pt
}
alias waci_amsg {
var %string $replace($readini($+(",$scriptdir,waci.ini"),n,np,string),[u],$chr(31),[b],$chr(2),[k],$chr(3),[o],$chr(15),[r],$chr(22))
var %string $replace([ %string ],!mp3!,$waci_mp3,!tracknum!,$waci_tracknum,!plsize!,$waci_plsize,!bitrate!,$waci_bitrate,!samprate!,$waci_samprate,!tracklen!,$waci_tracklen,!played!,$waci_played,!wampver!,$waci_wampver)
if ($waci_mp3 == Winamp is not open) || ($waci_mp3 == No songs in playlist) { echo 4 -s $waci_mp3 }
else { amsg %string }
}
alias waci_msg {
var %string $replace($readini($+(",$scriptdir,waci.ini"),n,np,string),[u],$chr(31),[b],$chr(2),[k],$chr(3),[o],$chr(15),[r],$chr(22))
var %string $replace([ %string ],!mp3!,$waci_mp3,!tracknum!,$waci_tracknum,!plsize!,$waci_plsize,!bitrate!,$waci_bitrate,!samprate!,$waci_samprate,!tracklen!,$waci_tracklen,!played!,$waci_played,!wampver!,$waci_wampver)
if ($waci_mp3 == Winamp is not open) || ($waci_mp3 == No songs in playlist) { echo 4 -s $waci_mp3 }
else { msg $1 %string }
}
alias waci_clipboard {
var %string $replace($readini($+(",$scriptdir,waci.ini"),n,np,string),[u],$chr(31),[b],$chr(2),[k],$chr(3),[o],$chr(15),[r],$chr(22))
var %string $replace([ %string ],!mp3!,$waci_mp3,!tracknum!,$waci_tracknum,!plsize!,$waci_plsize,!bitrate!,$waci_bitrate,!samprate!,$waci_samprate,!tracklen!,$waci_tracklen,!played!,$waci_played,!wampver!,$waci_wampver)
if ($waci_mp3 != Winamp is not open) && ($waci_mp3 != No songs in playlist) { clipboard $strip(%string) }
}
on *:keydown:@waci:*:{
var %play $readini($+(",$scriptdir,waci.ini"),n,keys,play)
var %stop $readini($+(",$scriptdir,waci.ini"),n,keys,stop)
var %next $readini($+(",$scriptdir,waci.ini"),n,keys,next)
var %prev $readini($+(",$scriptdir,waci.ini"),n,keys,prev)
var %chan $readini($+(",$scriptdir,waci.ini"),n,keys,chan)
if $keyval == %play {
var %state $waci_get(state)
if %state == playing {
waci_pause
}
elseif (%state == paused) || (%state == stopped) {
waci_play
}
}
elseif $keyval == %stop { waci_stop }
elseif $keyval == %next { waci_next }
elseif $keyval == %prev { waci_prev }
elseif $keyval == %chan {
if $left($lactive,1) == $chr(35) { waci_msg $lactive }
}
}
alias waci_keyval {
window -aBCdfhk0op +deL @waci_keyval 5 5 150 34
drawrect @waci_keyval 0 1 0 0 150 34
drawtext @waci_keyval 0 12 8 Please Press Key
}
on *:keydown:@waci_keyval:*:{
if %waci.keyval == 301 {
writeini -n $+(",$scriptdir,waci.ini") keys play $keyval
}
elseif %waci.keyval == 302 {
writeini -n $+(",$scriptdir,waci.ini") keys stop $keyval
}
elseif %waci.keyval == 303 {
writeini -n $+(",$scriptdir,waci.ini") keys next $keyval
}
elseif %waci.keyval == 304 {
writeini -n $+(",$scriptdir,waci.ini") keys prev $keyval
}
elseif %waci.keyval == 305 {
writeini -n $+(",$scriptdir,waci.ini") keys chan $keyval
}
did -o waci %waci.keyval 1 $keyval
did -e waci 301,302,303,304,305
unset %waci.keyval
window -c @waci_keyval
}
;This is the configuration dialog.
;Leave it alone or I will pummel you with a cheese log!
alias waci_config {
dialog -mdv waci waci
}
alias waci_config_update {
if $dialog(waci) != $null {
did -o waci 102 1 $waci_mp3
did -o waci 103 1 $waci_tracknum
did -o waci 104 1 $waci_plsize
did -o waci 105 1 $waci_bitrate
did -o waci 106 1 $waci_samprate
did -o waci 107 1 $waci_tracklen
did -o waci 108 1 $waci_played
did -o waci 109 1 $waci_wampver
.timerwaci -m 1 100 { waci_config_update }
}
}
dialog waci {
title "Winamp Controlicon Configuration"
size -1 -1 400 400
option pixels
text "Winamp Controlicon", 1, 25 5 120 15
text "By", 2, 25 20 12 15
link "CrashB", 3, 40 20 75 15
link "crashb.kicks-ass.net", 4, 25 35 100 15
text "Swamp.dll", 5, 25 60 120 15
text "By", 6, 25 75 12 15
link "LightStrike", 7, 40 75 75 15
box "Now Playing", 100, 5 100 235 250
edit "", 101, 10 325 225 20, autohs
text "", 102, 105 138 120 15, right nowrap
text "", 103, 105 158 120 15, right nowrap
text "", 104, 105 178 120 15, right nowrap
text "", 105, 105 198 120 15, right nowrap
text "", 106, 105 218 120 15, right nowrap
text "", 107, 105 238 120 15, right nowrap
text "", 108, 105 258 120 15, right nowrap
text "", 109, 105 278 120 15, right nowrap
text "!mp3!", 152, 15 138 75 20, right
text "!tracknum!", 153, 15 158 75 20, right
text "!plsize!", 154, 15 178 75 20, right
text "!bitrate!", 155, 15 198 75 20, right
text "!samprate!", 156, 15 218 75 20, right
text "!tracklen!", 157, 15 238 75 20, right
text "!played!", 158, 15 258 75 20, right
text "!wampver!", 159, 15 278 75 20, right
text "VARIABLE", 161, 15 118 75 20, right
text "VALUE", 162, 110 118 115 20, right
text "String:", 163, 15 310 75 15
box "Theme", 200, 245 5 150 255
edit "", 201, 290 20 100 20, center autohs
edit "", 202, 340 40 50 20, center limit 2
edit "", 203, 340 100 50 20, center limit 2
edit "", 204, 340 120 50 20, center limit 2
edit "", 205, 340 140 50 20, center limit 2
text "Font", 251, 260 23 25 20, right
text "Font Size", 252, 260 43 75 20, right
text "Font", 253, 260 103 75 20, right
text "Border", 254, 260 123 75 20, right
text "Background", 255, 260 143 75 20, right
text "Colors (range: 0-16)", 260, 250 83 140 15, center
box "Assign Keys", 300, 245 260 150 135
button "", 301, 340 275 40 20, flat
button "", 302, 340 298 40 20, flat
button "", 303, 340 321 40 20, flat
button "", 304, 340 344 40 20, flat
button "", 305, 340 367 40 20, flat
text "Play/Pause", 351, 260 278 70 20, right
text "Stop", 352, 260 301 70 20, right
text "Next", 353, 260 324 70 20, right
text "Previous", 354, 260 347 70 20, right
text "Now Playing", 355, 260 370 70 20, right
box "Control", 400, 5 350 235 45
button "<<", 401, 13 368 40 21
button ">", 402, 58 368 40 21
button "||", 403, 103 368 40 21
button "", 404, 148 368 40 21
button ">>", 405, 193 368 40 21
box "Double Click", 500, 140 40 100 60
radio "Now Playing", 501, 150 57 85 20, group 1
radio "Next Track", 502, 150 75 85 20
box "Icon", 600, 250 175 140 80
icon 601, 304 203 32 32, " $+ $scriptdir $+ 1.bmp"
button "Back", 602, 262 207 35 24
button "Next", 603, 345 207 35 24
}
on *:dialog:waci:init:0:{
var %ini $+(",$scriptdir,waci.ini")
did -o $dname 101 1 $replace($readini([ %ini ],n,np,string),[u],$chr(31),[b],$chr(2),[k],$chr(3),[o],$chr(15),[r],$chr(22))
did -o $dname 102 1 $waci_mp3
did -o $dname 103 1 $waci_tracknum
did -o $dname 104 1 $waci_plsize
did -o $dname 105 1 $waci_bitrate
did -o $dname 106 1 $waci_samprate
did -o $dname 107 1 $waci_tracklen
did -o $dname 108 1 $waci_played
did -o $dname 109 1 $waci_wampver
did -o $dname 201 1 $readini([ %ini ],n,theme,fontname)
did -o $dname 202 1 $readini([ %ini ],n,theme,fontsize)
did -o $dname 203 1 $readini([ %ini ],n,theme,fontcolor)
did -o $dname 204 1 $readini([ %ini ],n,theme,bdcolor)
did -o $dname 205 1 $readini([ %ini ],n,theme,bgcolor)
did -o $dname 301 1 $readini([ %ini ],n,keys,play)
did -o $dname 302 1 $readini([ %ini ],n,keys,stop)
did -o $dname 303 1 $readini([ %ini ],n,keys,next)
did -o $dname 304 1 $readini([ %ini ],n,keys,prev)
did -o $dname 305 1 $readini([ %ini ],n,keys,chan)
var %dblcstate $readini([ %ini ],n,keys,dblclick)
if %dblcstate == 1 {
did -c $dname 501
}
elseif %dblcstate == 2 {
did -c $dname 502
}
did -g $dname 601 " $+ $scriptdir $+ $readini([ %ini ],n,theme,icon) $+ .bmp"
.timerwaci -m 1 100 { waci_config_update }
}
on *:dialog:waci:dclick:3:{ url -n crashb@hotpop.com }
on *:dialog:waci:dclick:4:{ url -n http://crashb.kicks-ass.net/ }
on *:dialog:waci:dclick:7:{ url -n lightstrike@mail.pt }
on *:dialog:waci:edit:101:{ writeini -n $+(",$scriptdir,waci.ini") np string $replace($did(101),$chr(31),[u],$chr(2),[b],$chr(3),[k],$chr(15),[o],$chr(22),[r]) }
on *:dialog:waci:edit:201:{
writeini -n $+(",$scriptdir,waci.ini") theme fontname $did(201)
set %waci.change 1
}
on *:dialog:waci:edit:202:{
var %i $did(202)
if (%i == $int(%i)) && (%i isnum 1-30) {
writeini -n $+(",$scriptdir,waci.ini") theme fontsize %i
}
else {
did -o $dname 202 1 $readini($+(",$scriptdir,waci.ini"),n,theme,fontsize)
}
set %waci.change 1
}
on *:dialog:waci:edit:203:{
var %i $did(203)
if (%i == $int(%i)) && (%i isnum 0-16) {
writeini -n $+(",$scriptdir,waci.ini") theme fontcolor %i
}
else {
did -o $dname 203 1 $readini($+(",$scriptdir,waci.ini"),n,theme,fontcolor)
}
set %waci.change 1
}
on *:dialog:waci:edit:204:{
var %i $did(204)
if (%i == $int(%i)) && (%i isnum 0-16) {
writeini -n $+(",$scriptdir,waci.ini") theme bdcolor %i
}
else {
did -o $dname 204 1 $readini($+(",$scriptdir,waci.ini"),n,theme,bdcolor)
}
set %waci.change 1
waci_redraw
}
on *:dialog:waci:edit:205:{
var %i $did(205)
if (%i == $int(%i)) && (%i isnum 0-16) {
writeini -n $+(",$scriptdir,waci.ini") theme bgcolor %i
}
else {
did -o $dname 205 1 $readini($+(",$scriptdir,waci.ini"),n,theme,bgcolor)
}
set %waci.change 1
waci_redraw
}
on *:dialog:waci:sclick:301,302,303,304,305:{
did -b waci 301,302,303,304,305
set %waci.keyval $did
waci_keyval
}
on *:dialog:waci:sclick:401:{ waci_prev }
on *:dialog:waci:sclick:402:{ waci_play }
on *:dialog:waci:sclick:403:{ waci_pause }
on *:dialog:waci:sclick:404:{ waci_stop }
on *:dialog:waci:sclick:405:{ waci_next }
on *:dialog:waci:sclick:501:{ writeini -n $+(",$scriptdir,waci.ini") keys dblclick 1 }
on *:dialog:waci:sclick:502:{ writeini -n $+(",$scriptdir,waci.ini") keys dblclick 2 }
on *:dialog:waci:sclick:602:{
var %icon $readini($+(",$scriptdir,waci.ini"),n,theme,icon)
dec %icon
if %icon < 1 {
var %icon 12
}
writeini -n $+(",$scriptdir,waci.ini") theme icon %icon
did -g $dname 601 " $+ $scriptdir $+ %icon $+ .bmp"
set %waci.change 1
waci_redraw
}
on *:dialog:waci:sclick:603:{
var %icon $readini($+(",$scriptdir,waci.ini"),n,theme,icon)
inc %icon
if %icon > 12 {
var %icon 1
}
writeini -n $+(",$scriptdir,waci.ini") theme icon %icon
did -g $dname 601 " $+ $scriptdir $+ %icon $+ .bmp"
set %waci.change 1
waci_redraw
}