Winamp ctrl

Platform:  mIRC
Published  Mar 12, 2010
Updated  Mar 12, 2010

Screenshots

Hi, this is my first hawkee post :x
First of all, sorry for my crappy english.

So, this is some kind of Winamp/aimp controler, witch allows you to control winamp/aimp. Ha-ha? ;s
Important: This addon/snippet is using mWC.dll, so, many thanks to mWC's author.

Yes, I know, icons and mdx.dll (As well as bars.mdx) are unnecessary, but anyway, you need to use mWC.dll, so why not mdx and icons? :) Exterior is as much important as interior, if you understand.

Edited: I forgot to say. You can show/send now-playing message (Witch you can modify in setting) on channels (Listed, except listed, active or all) via (a)me/(a)msg (Witch you choose in settings, ofcourse) and so on.. ;)

Heres the code (But don't forget, you need dlls and icons (Or modifications) in order to use it. You can download package on http://www.speedyshare.com/files/21393240/winampctrl.zip (Unzip in mIRC's folder and load winamp.mrc script)). dialog winamp {
title "• Winamp kontroler.. •"
size -1 -1 157 67
option dbu
list 1, 7 4 143 26, size
check "Prikazi np na startu svake pesme?", 2, 9 206 91 10
button "Podesavanja", 3, 7 49 39 12
button "Prikazi pesmu", 4, 60 49 39 12
button "Ok/ugasi..", 5, 111 49 39 12, ok
box "Kanali:", 6, 5 69 71 81
edit "", 7, 9 78 34 10, autohs
button "+", 8, 45 78 13 10
button "-", 9, 59 78 13 10
list 11, 9 89 63 55, size
box "Salji NP (Sta slusas) na:", 12, 80 69 73 57
radio "Sve kanale", 13, 86 79 50 10, group
radio "Na kanale s liste", 14, 86 90 50 10
radio "Osim na kanale s liste", 15, 86 101 64 10
radio "Samo aktivan prozor", 16, 86 112 61 10
box "Salji kao:", 17, 80 127 73 23
radio "/(a)me", 18, 88 136 28 10, group
radio "/(a)msg", 19, 119 136 29 10
box "Jezik:", 20, 105 198 47 21
box "NP poruka:", 21, 5 152 148 45
edit "", 22, 9 162 140 10, autohs
text "<PS> = Izvodjac - Ime pesme", 23, 7 173 144 8, disable center
text "<DZ> = Duzina pesme • <ST> = Status", 24, 7 180 144 8, disable center
text "<BT> = Bitrate • <SR> Samplerate", 25, 7 187 144 8, disable center
edit "", 10, 7 37 143 10, read autohs center
box "Akcije:", 26, 4 29 149 35
combo 27, 110 206 38 32, size drop
box "Dodatno:", 28, 5 198 97 21
}

alias winamp { dialog $iif(!$dialog(winamp),-m,-v) winamp winamp }
alias sshmdx { return $dll($scriptdirmdx.dll,$1,$2-) }
on *:start:{
$iif(!$hget(winamp),hmake winamp 100)
$iif(!$exists(winamp.hsh),hsave winamp winamp.hsh)
hload winamp winamp.hsh
}
on *:dialog:winamp:*:*:{
if ($devent == sclick) {
if ($did == 2) {
if ($did(2).state == 1) {
hadd winamp start da
noop $input($iif($hget(winamp,jezik) == srpski,Prikazaces sta slusas SAMO ako je ovaj dijalog otvoren $chr(40) $+ Iz sigurnosnih razloga ;p $+ $chr(41) $+ .,You will send np ONLY if winamp controler is running $chr(40) $+ Safety reasons ;p $+ $chr(41) $+ .),oi,Info.)
}
else { hdel winamp start }
}
if ($did == 27) {
if ($did(27).sel == 1) && ($hget(winamp,jezik) != srpski) { hadd winamp jezik srpski | dialog -x $dname | winamp }
if ($did(27).sel == 2) && ($hget(winamp,jezik) != english) { hadd winamp jezik english | dialog -x $dname | winamp }
hsave winamp winamp.hsh
}
if ($did == 3) {
if ($hget(winamp,prosireno) == ne) {
dialog -bs winamp -1 -1 157 222
did -ra $dname 3 $iif($hget(winamp,jezik) == srpski,Snimi/smanji,Save/minim.)
hadd winamp prosireno da
}
else {
if ($did(22) != $null) {
hadd winamp poruka $did(22)
}
else {
hadd winamp poruka np: [ <PS> ] • [ <DZ> ] • [ <BT>kbps|<SR>kHz ]
did -a $dname 22 $hget(winamp,poruka)
}
dialog -bs winamp -1 -1 157 67
did -ra $dname 3 $iif($hget(winamp,jezik) == srpski,Podesavanja,Settings)
hadd winamp prosireno ne
}
hsave winamp winamp.hsh
}
if ($did == 4) { nplej }
if ($did == 8) {
if ($did(7) != $null) && ($chr(32) !isin $did(7)) && ($chr(35) isin $did(7)) && (!$istok($hget(winamp,kanali),$did(7),32)) {
hadd winamp kanali $addtok($hget(winamp,kanali),$did(7),32)
did -a $dname 11 $did(7)
did -r $dname 7
}
}
if ($did == 9) {
if ($did(11).seltext != $null) {
hadd winamp kanali $remtok($hget(winamp,kanali),$did(11).seltext,32))
did -d $dname 11 $did(11).sel
}
}
if ($did == 13) { hadd winamp spamna svi }
if ($did == 14) { hadd winamp spamna lista }
if ($did == 15) { hadd winamp spamna nelista }
if ($did == 16) { hadd winamp spamna aktivni }
if ($did == 18) { hadd winamp nacin ame }
if ($did == 19) { hadd winamp nacin amsg }

if ($did == 1) {
if ($did(1).sel == 2) { prosla }
if ($did(1).sel == 3) { pauziraj }
if ($did(1).sel == 4) { stopiraj }
if ($did(1).sel == 5) { plej }
if ($did(1).sel == 6) { slijedeca }
}
}
if ($devent == init) {
sshmdx SetMircVersion $version
sshmdx MarkDialog $dname
sshmdx SetBorderStyle $dname 3,4,5,8,9 staticedge
sshmdx SetBorderStyle $dname 1,7,10,11,22 dlgframe
sshmdx SetDialog $dname bgcolor $rgb(0,127,255)
sshmdx SetColor $dname 23,24,25 textbg $rgb(0,127,255)
sshmdx SetColor $dname 1,2,3,4,5,6,8,9,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28 background $rgb(0,127,255)
sshmdx SetBorderStyle 1
sshmdx SetControlMDX $dname 1 toolbar arrows nodivider flat wrap noresize > $scriptdirbars.mdx
didtok $dname 11 32 $hget(winamp,kanali)
didtok $dname 27 44 Srpski,English
if ($hget(winamp,jezik) == srpski) { did -c $dname 27 1 }
else { did -c $dname 27 2 }
hadd winamp prosireno ne
did -a $dname 10 • $iif($hget(winamp,jezik) == srpski,Ucitavanje..,Loading..) •
$iif($hget(winamp,start) == da,did -c $dname 2)
$iif($hget(winamp,spamna) == svi,did -c $dname 13)
$iif($hget(winamp,spamna) == lista,did -c $dname 14)
$iif($hget(winamp,spamna) == nelista,did -c $dname 15)
$iif($hget(winamp,spamna) == aktivni,did -c $dname 16)
$iif($hget(winamp,nacin) == ame,did -c $dname 18,did -c $dname 19)
$iif($dll(mWC.dll,getStatus,'') == 1,hadd winamp pocetna $dll(mWC.dll,getTitle,''),hadd winamp neradi da)
did -a $dname 22 $hget(winamp,poruka)
did -i $dname 1 1 bmpsize 32 32
did -i $dname 1 1 setimage +nh icon large $scriptdirPrethodna.ico
did -i $dname 1 1 setimage +nh icon large $scriptdirPauza.ico
did -i $dname 1 1 setimage +nh icon large $scriptdirStop.ico
did -i $dname 1 1 setimage +nh icon large $scriptdirPlay.ico
did -i $dname 1 1 setimage +nh icon large $scriptdirSlijedeca.ico
did -a $dname 1 +b 1 Prethodna $+ $chr(9) $+ Prethodna pjesma
did -a $dname 1 +b 2 Pauziraj $+ $chr(9) $+ Pauziraj pjesmu
did -a $dname 1 +b 3 Stopiraj. $+ $chr(9) $+ Stopiraj pjesmu
did -a $dname 1 +b 4 Pevaj! :p $+ $chr(9) $+ Pusti pesmu
did -a $dname 1 +b 5 Sledeca $+ $chr(9) $+ Sledeca pesma
if ($hget(winamp,jezik) == english) { engleski }
; nprefres
.timerwinamp 0 1 nprefres
}
if ($devent == close) {
.timerwinamp off
}
}
; I know my english is crappy :)
alias -l engleski {
did -ra $dname 2 Send NP on every song's start?
did -ra $dname 3 Settings
did -ra $dname 4 Show np
did -ra $dname 5 Ok/close..
did -ra $dname 6 Channels
did -ra $dname 12 Send NP on:
did -ra $dname 13 All channels
did -ra $dname 14 Listed channels
did -ra $dname 15 Except listed channels
did -ra $dname 16 Only active window
did -ra $dname 17 Send as:
did -ra $dname 20 Language:
did -ra $dname 21 NP message:
did -ra $dname 23 <PS> = Artist - Song
did -ra $dname 24 <DZ> = Song lenght • <ST> = Status
did -ra $dname 26 Actions:
did -ra $dname 28 Advanced:
dialog -t $dname • Winamp controler.. •
did -r $dname 1
did -a $dname 1 +b 1 Previous $+ $chr(9) $+ Previous track
did -a $dname 1 +b 2 Pause $+ $chr(9) $+ Pause track
did -a $dname 1 +b 3 Stop $+ $chr(9) $+ Stop player
did -a $dname 1 +b 4 Sing! :p $+ $chr(9) $+ Play track
did -a $dname 1 +b 5 Next track $+ $chr(9) $+ Next track
}
alias slijedeca { dll $scriptdirmWC.dll forward }
alias prosla { dll $scriptdirmWC.dll previous }
alias plej { dll $scriptdirmWC.dll play }
alias stopiraj { dll $scriptdirmWC.dll stop }
alias pauziraj { dll $scriptdirmWC.dll pause }
alias -l p.duzina {
$iif($1 < 10,return 0 $+ $1,return $1)
}
alias nprefres {
if ($dll(mWC.dll,getStatus,'') == 1) {
if ($hget(winamp,neradi) != $null) {
hdel winamp neradi
did -ra winamp 10 • $+($remove($npstatus,.),:) $plejtrenutno •
hadd winamp pocetna $dll(mWC.dll,getTitle,'')
goto kraj
}
if ($hget(winamp,pocetna) != $dll(mWC.dll,getTitle,'')) {
did -ra winamp 10 • $+($remove($npstatus,.),:) $plejtrenutno •
hadd winamp pocetna $dll(mWC.dll,getTitle,'')
$iif($hget(winamp,start) == da,nplej)
goto kraj
}
if ($hget(winamp,pocetna) == $dll(mWC.dll,getTitle,'')) {
did -ra winamp 10 • $+($remove($npstatus,.),:) $plejtrenutno •
goto kraj
}
}
else {
hadd winamp neradi da
if ($dialog(winamp)) {
dialog -x winamp
.timerwinamp off
noop $input($iif($hget(winamp,jezik) == srpski,Cini mi se da plejer $chr(40) $+ Winamp $+ $chr(44) Aimp.. $+ $chr(41) nije pokrenut. Ako zelis koristiti ovaj addon $+ $chr(44) prvo pokreni plejer. :p,It seems that pleyer $chr(40) $+ Winamp $+ $chr(44) Aimp etc.. $+ $chr(41) is not running. If you want to use winamp controler $+ $chr(44) turn on your player. :p),wo,Info.)
}
}
:kraj
}
alias plejtrenutno {
var %pjesma $dll(mWC.dll,getTitle,'')
var %duzinapjesme $dll(mWC.dll,getTrackLen,'')
if (%duzinapjesme == -1) {
var %duzinapjesme Radio
}
else {
var %minuti $int($calc(%duzinapjesme / 60))
var %sekunde $calc(%duzinapjesme - (%minuti * 60))
var %duzinapjesme $p.duzina(%minuti) $+ : $+ $p.duzina(%sekunde)
}
return %pjesma $+([,%duzinapjesme,])
}
alias npstatus {
if ($dll(mWC.dll,isPlaying,'') == 1) {
var %np.status $iif($hget(winamp,jezik) == srpski,Plejing,Playing)
}
elseif ($dll(mWC.dll,isPlaying,'') == 3) {
var %np.status $iif($hget(winamp,jezik) == srpski,Pauzirano,Paused)
}
elseif ($dll(mWC.dll,isPlaying,'') == 0) {
var %np.status $iif($hget(winamp,jezik) == srpski,Stopirano,Stopped)
}
return $+(%np.status,..)
}
alias nplej {
if ($dll(mWC.dll,getStatus,'') == 1) {
var %pjesma $dll(mWC.dll,getTitle,'')
var %srejt $dll(mWC.dll,getSamplerate,'')
var %brejt $dll(mWC.dll,getBitrate,'')
var %npstatus $npstatus
var %duzinapjesme $dll(mWC.dll,getTrackLen,'')
if (%duzinapjesme == -1) {
var %duzinapjesme Radio
}
else {
var %minuti $int($calc(%duzinapjesme / 60))
var %sekunde $calc(%duzinapjesme - (%minuti * 60))
var %duzinapjesme $p.duzina(%minuti) $+ : $+ $p.duzina(%sekunde)
}
if ($status != disconnected) && ($active != status window) {
if ($hget(winamp,spamna) == svi) {
$hget(winamp,nacin) $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
goto kraj
}
if ($hget(winamp,spamna) == lista) {
var %zaspam 1
while (%zaspam <= $comchan($me,0)) {
if ($istok($hget(winamp,kanali),$comchan($me,%zaspam),32)) {
if ($hget(winamp,nacin) == ame) {
describe $comchan($me,%zaspam) $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
if ($hget(winamp,nacin) == amsg) {
msg $comchan($me,%zaspam) $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
}
inc %zaspam
}
goto kraj
}
if ($hget(winamp,spamna) == nelista) {
var %stabo 1
while (%stabo <= $comchan($me,0)) {
if (!$istok($hget(winamp,kanali),$comchan($me,%stabo),32)) {
if ($hget(winamp,nacin) == ame) {
describe $comchan($me,%stabo) $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
if ($hget(winamp,nacin) == amsg) {
msg $comchan($me,%stabo) $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
}
inc %stabo
}
goto kraj
}
if ($hget(winamp,spamna) == aktivni) {
if ($hget(winamp,nacin) == ame) {
describe $active $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
if ($hget(winamp,nacin) == amsg) {
msg $active $replace($hget(winamp,poruka),<PS>,%pjesma,<DZ>,%duzinapjesme,<ST>,%npstatus,<BT>,%brejt,<SR>,%srejt)
}
}
}
}
:kraj
}
menu menubar {
-
• Winamp ctrl. •:winamp
-
}
on *:load:{
$iif(!$hget(winamp),hmake winamp 100)
$iif(!$exists(winamp.hsh),hsave winamp winamp.hsh)
hload winamp winamp.hsh
hadd winamp poruka np: [ <PS> ] • [ <DZ> ] • [ <BT>kbps|<SR>kHz ]
hadd winamp jezik english
hadd winamp kanali #Ok #Smor
hadd winamp spamna svi
hadd winamp nacin ame
hadd winamp start da
echo -a • Loaded Winamp Controler $+($chr(40),$script,$chr(41),..)
}
; Kf

Comments

Sign in to comment.
agence   -  Jul 03, 2010
thank you

 Respond  
Sasha   -  Mar 13, 2010
I guess you could download plugin for wmp from http://windows.microsoft.com/en-US/windows/downloads/wmplugins ..
 Respond  
Jenny   -  Mar 13, 2010
Is there anything like this that works with Windows Media Player?
 Respond  
Sasha   -  Mar 12, 2010
I know :D
 Respond  
[DX]   -  Mar 12, 2010
U brate, mLogo si zaebat :D
 Respond  
Sasha   -  Mar 12, 2010
Ima "lang" opcija za engleski u dijalogu :P
 Respond  
[DX]   -  Mar 12, 2010
Translate this code to english. :)
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.