| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 | /*--------------------------------------------------------------------------------------------------------Filename:	eq.mVersion:	2.0Type:		makiDate:		25. Jun. 2007 - 11:30 Author:		Martin Poehlmann aka DeimosE-Mail:		[email protected]Internet:	www.skinconsortium.com		www.martin.deimos.de.vu--------------------------------------------------------------------------------------------------------*/#include <lib/std.mi>#include <lib/winampconfig.mi>#define CENTER_VAR eqGroup#include <lib/com/centerlayer.m>#define ISOBANDS "31.5 Hz,63 Hz,125 Hz,250 Hz,500 Hz,1 KHz,2 KHz,4 KHz,8 KHz,16 KHz"#define WINAMPBANDS "70 Hz,180 Hz,320 Hz,600 Hz,1 KHz,3 KHz,6 KHz,12 KHz,14 KHz,16 KHz"Class Button Eqbutton;Member int EqButton.setTo;Global Group frameGroup, buttongroup;Global Slider slidercb, Balance;Global Text fadertext;Global Button CFIncrease, CFDecrease, eqon, eqauto;Global ToggleButton Crossfade;Global GuiObject CrossfadeActive, eqonActive, eqautoActive, SongTicker;Global Int CrossfadeActive_Y, eqonActive_Y, eqautoActive_Y;Global Eqbutton btnEQp12,btnEQ0,btnEQm12;Global layer frequencyLabel;System.onScriptLoaded(){	buttongroup = getScriptGroup().findObject("player.cbuttons");	WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");	int freqmode = eqwcg.getInt("frequencies"); // returns 0 for classical winamp levels, 1 for ISO levels	frameGroup = getScriptGroup();	_eqGroupInit(frameGroup.findObject("info.component.eq.content"), frameGroup, 1, 0);	slidercb = frameGroup.findObject("sCrossfade");	fadertext = frameGroup.findObject("CFDisplay");	CFIncrease = frameGroup.findObject("CrossfadeIncrease");	CFDecrease = frameGroup.findObject("CrossfadeDecrease");	Crossfade = frameGroup.findObject("Crossfade");	CrossfadeActive = frameGroup.findObject("CrossfadeActive");	CrossfadeActive_Y = CrossfadeActive.getGuiY();	eqon = frameGroup.findObject("eqonoff");	eqonActive = frameGroup.findObject("eqonoffActive");	eqonActive_Y = eqonActive.getGuiY();	eqauto = frameGroup.findObject("eqauto");	eqautoActive = frameGroup.findObject("eqautoActive");	eqautoActive_Y = eqautoActive.getGuiY();	btnEQp12 = frameGroup.findObject("EQ_p12");	btnEQp12.setTo = 127;	btnEQ0 = frameGroup.findObject("EQ_0");	btnEQ0.setTo = 0;	btnEQm12 = frameGroup.findObject("EQ_m12");	btnEQm12.setTo = -127;	Balance = frameGroup.findObject("Balance");	SongTicker = buttongroup.getParentLayout().findObject("songticker");	frequencyLabel = frameGroup.findObject("frequency.labels");	system.onEqFreqChanged(freqmode);	slidercb.onSetPosition(slidercb.getPosition());	Crossfade.onToggle(Crossfade.getActivated());}Balance.onSetPosition(int newpos){	string t=translate("Balance")+":";	if (newpos==127) t+= " " + translate("Center");	if (newpos<127) t += " " + integerToString((100-(newpos/127)*100))+"% "+translate("Left");	if (newpos>127) t += " " + integerToString(((newpos-127)/127)*100)+"% "+translate("Right");	SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);}slidercb.onSetPosition(int val){	String s = IntegerToString(val);	fadertext.setText(s);}CFIncrease.onLeftClick(){	slidercb.SetPosition(slidercb.getPosition()+1);}CFDecrease.onLeftClick(){	slidercb.SetPosition(slidercb.getPosition()-1);}Crossfade.onToggle(boolean on){	if (!on)	{		fadertext.setAlpha(150);		CFIncrease.setAlpha(150);		CFDecrease.setXmlParam("ghost" , "1");		CFDecrease.setAlpha(150);		CFIncrease.setXmlParam("ghost" , "1");		CrossfadeActive.hide();	}	else	{		fadertext.setAlpha(255);		CFIncrease.setAlpha(255);		CFDecrease.setAlpha(255);		CFIncrease.setXmlParam("ghost" , "0");		CFDecrease.setXmlParam("ghost" , "0");		CrossfadeActive.show();	}}Global Boolean cfDown, onDown, autoDown, manual_set;Crossfade.onLeftButtonDown (int x, int y){	cfDown = 1;	CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));}Crossfade.onLeftButtonUp (int x, int y){	cfDown = 0;	CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));}Crossfade.onleaveArea (){	CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));}Crossfade.onEnterArea (){	if (cfDown) CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));}eqon.onEnterArea (){	if (onDown) eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));}eqon.onLeftButtonDown (int x, int y){	onDown = 1;	eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));}eqon.onLeftButtonUp (int x, int y){	onDown = 0;	eqonActive.setXmlParam("y", integerToString(eqonActive_Y));}eqon.onleaveArea (){	eqonActive.setXmlParam("y", integerToString(eqonActive_Y));}eqauto.onLeftButtonDown (int x, int y){	autoDown = 1;	eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));}eqauto.onLeftButtonUp (int x, int y){	autoDown = 0;	eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));}eqauto.onleaveArea (){	eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));}eqauto.onEnterArea (){	if (autoDown) eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));}EqButton.onLeftClick(){	manual_set = 1;	for(int i=0; i<10; i++) setEqBand(i, EqButton.setTo);	manual_set = 0;}System.onEqFreqChanged (boolean isoonoff){	if (isoonoff == 1)	{		frequencyLabel.setXmlParam("image", "equalizer.labels.iso");		for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(ISOBANDS,",",i));	}	else	{		frequencyLabel.setXmlParam("image", "equalizer.labels.winamp");		for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(WINAMPBANDS,",",i));	}}system.onEqBandChanged(int band, int value){	if (manual_set) return;	String t;	Float f = value;	f = f / 10.5;	WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");	if (eqwcg.getInt("frequencies") == 1) {		if (f >= 0) t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");		else t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");	}	else {		if (f >= 0) t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");		else t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");	}	SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);}system.onEqPreampChanged(int value){	slider s = getScriptGroup().findObject("preamp");	value = s.getPosition(); // Somehow this function returns a range from [-127;125] with hotpos -3, so we take the slider instead	String t = "EQ: " + translate("Preamp:") + " ";	Float f = value;	f = f / 10.5;	if (f >= 0) t += "+"+floattostring(f, 1) + " "+ translate("dB");	else t += floattostring(f, 1) + " "+ translate("dB");	SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);}
 |