Old 19th August 2006, 13:47   #801
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Is there way to make GuiTree component working?
E-Trance is offline   Reply With Quote
Old 17th September 2006, 07:12   #802
kyleabaker
Junior Member
 
Join Date: Sep 2006
Posts: 7
Is there a way to center objects in a winamp skin? I'm in the middle of making my first skin and cannot find a way to center buttons when the window is resized and what not. I'd appreciate it if anyone could help me out. Thanks in advanced!
kyleabaker is offline   Reply With Quote
Old 17th September 2006, 12:07   #803
SLoB
Major Dude
 
SLoB's Avatar
 
Join Date: Jul 2003
Location: UK
Posts: 1,316
something like below, u will need to wrap all this into a script with declarations etc.. which I'm sure u can do yourself

function resizeobjects(int w);
global int butt1OffSet;

on script loading section
butt1OffSet=60; //offset to move the button into desired place on resize

layout.onResize(int x, int y, int w, int h)
{
resizeobjects(w);
}

resizeobjects(int w)
{
int X = w/2;
yourbutton1.setXmlParam("x", IntegerToString(X-butt1OffSet));
yourbutton2.setXmlParam("x", IntegerToString(X-butt2OffSet));
}


etc..
SLoB is offline   Reply With Quote
Old 17th September 2006, 18:19   #804
Michgelsen
Major Dude
 
Michgelsen's Avatar
 
Join Date: Oct 2003
Posts: 1,416
Maybe it can also be done without a script. Read this.
Michgelsen is offline   Reply With Quote
Old 10th October 2006, 19:58   #805
pEar 242
Member
 
pEar 242's Avatar
 
Join Date: Feb 2006
Location: Moscow, Korolev
Posts: 97
Please help me to create the maki-script:
%album% (%year%)
It is displayed,
Pulse (2003)
And if year of release of an album is not specified in ID3 tag's songinfo should not display the blank brackets:
%album%
It is displayed,
Pulse

Please help me. And sorry for my English.

As an example it is used:
Artist - Front 242
Album - Pulse
Year - 2003
Thanks.
pEar 242 is offline   Reply With Quote
Old 30th October 2006, 22:26   #806
watercolours
Member
 
Join Date: Feb 2004
Posts: 92
balance-preamp by region and infoline seperation

Hi, first of all i searched through the forum but i couldn't find anything regarding making a balancebyregion and preampbyregion.

Secondly, I have to seperate infoline as bitrate and frq on one side and stereo/mono on the other side. all i could find is songinfopars.m.

//originally by Gonzotek
//updated by ThePlague
//- added Willfishers startup fix and modified the original code for that fix
//- fixed Frequency when playing .ogg files (they write kHz in lowercase, khz, which would make this script not find that info)

#include <lib/std.mi>

Function String tokenizeSongInfo(String tkn, String sinfo);

Global GuiObject mono, stereo;
Global Text bitrateText, infolineText, channelsText, FrequencyText, abrText;
Global Layout Main;
Global String SongInfoString;

System.onScriptLoaded()
{
Main = getContainer("Main").getLayout("Normal");
mono = Main.getObject("mono-led-on");
stereo = Main.getObject("stereo-led-on");
infolineText = Main.getObject("infolinexample");
bitrateText = Main.getObject("Bitrate");
abrText = Main.getObject("ABR");
channelsText = Main.getObject("Channels");
frequencyText = Main.getObject("Frequency");
infolineText.setText("-");
infolineText.setText("");
if(System.getStatus() == 0){
mono.hide();
stereo.hide();
}
}

But i didn't understood anything. well, it seems to seperate those but what will be the xml code. And i think there is more than i need.

as last question, i am using a clock maki. it shows the time in HH:MM:SS format bu i want HH:MM format. What shold i change?
Here is the maki.

#include "lib/std.mi"

Global Text TimerTxt;
Global Timer ClockTmr;
Global Group cGroup;
Global Boolean showTime;
Global Int currentTime;

System.onScriptLoaded()
{
cGroup = getScriptGroup();

TimerTxt = cGroup.findObject("Timer");

ClockTmr = new Timer;
ClockTmr.setDelay(100);

if (getStatus() == 0)
{
ClockTmr.start();
}
}



ClockTmr.onTimer()
{
if (getStatus() == 0)
{
int date = System.getDate();
int currentTime = System.getTimeOfDay();
string TimeStr = integerToLongTime(currentTime);
if (getDateHour(date)<10)
TimeStr = "0" + TimeStr;

TimerTxt.setText(TimeStr);
}
}


System.onStop()
{
ClockTmr.start();
}

System.onPlay()
{
ClockTmr.stop();
TimerTxt.setText("");
}

System.onScriptUnloading()
{
delete ClockTmr;
}
watercolours is offline   Reply With Quote
Old 31st October 2006, 02:50   #807
watercolours
Member
 
Join Date: Feb 2004
Posts: 92
another question on vis.anim

Here is a script for vis animation.
#include "lib/std.mi"

Function UpdateVis(Int Frame);

Global AnimatedLayer MainVis;
Global Timer VisTimer;
Global Double Level, OneFrame;
Global Int LastFrame;

System.onScriptLoaded() {

Group VisGroup = getScriptGroup();
MainVis = VisGroup.getObject("Vis.Animation");

VisTimer = new Timer;
VisTimer.setDelay(50);
VisTimer.start();
MainVis.setSpeed(50);
OneFrame = 255/(MainVis.getLength());
MainVis.hide();
if (system.getstatus() > 0) {MainVis.show();} else {MainVis.hide();}
}

System.onPlay() {MainVis.show();}
System.onPause() {MainVis.show();}
System.onStop() {MainVis.hide();}
System.onResume() {MainVis.show();}

System.onScriptUnloading() {
VisTimer.stop();
delete VisTimer;
}


VisTimer.onTimer() {
Level = ((System.getLeftVuMeter() + System.getRightVuMeter())/2);
UpdateVis(Level/OneFrame);
}

UpdateVis(Int Frame){
{
MainVis.setStartFrame(LastFrame);
MainVis.setEndFrame(Frame);
MainVis.play();
LastFrame = Frame;
}
}

I want to do a different thing. I want the animation continuously go to the end (not oscillating), wait there 5 seconds and run in reverse order to reach the first frame, and then so on.
How can i change it?
watercolours is offline   Reply With Quote
Old 31st October 2006, 03:02   #808
simay
Junior Member
 
Join Date: Oct 2005
Posts: 48
Re: balance-preamp by region and infoline seperation

1 - this thread isnt meant for this kinda thing, make a new thread.

2 -
Quote:
Originally posted by watercolours
Hi, first of all i searched through the forum but i couldn't find anything regarding making a balancebyregion and preampbyregion.
a volume or seek by region should work for that, you will just have to change the commands a little bit.


Quote:
Originally posted by watercolours
Secondly, I have to seperate infoline as bitrate and frq on one side and stereo/mono on the other side. all i could find is songinfoparse.m.
code:

//originally by Gonzotek
//updated by ThePlague
//- added Willfishers startup fix and modified the original code for that fix
//- fixed Frequency when playing .ogg files (they write kHz in lowercase, khz,
// which would make this script not find that info)

#include <lib/std.mi>

Function String tokenizeSongInfo(String tkn, String sinfo);

Global GuiObject mono, stereo;
Global Text bitrateText, infolineText, channelsText, FrequencyText, abrText;
Global Layout Main;
Global String SongInfoString;

System.onScriptLoaded()
{
Main = getContainer("Main").getLayout("Normal");
mono = Main.getObject("mono-led-on");
stereo = Main.getObject("stereo-led-on");
infolineText = Main.getObject("infolinexample");
bitrateText = Main.getObject("Bitrate");
abrText = Main.getObject("ABR");
channelsText = Main.getObject("Channels");
frequencyText = Main.getObject("Frequency");
infolineText.setText("-");
infolineText.setText("");
if(System.getStatus() == 0){
mono.hide();
stereo.hide();
}
}


But i didn't understood anything. well, it seems to seperate those but what will be the xml code. And i think there is more than i need.
The xml code should be fairly obvious just from looking at the Main.getObject(); declarations. Just make the appropriate objects in the xml and go from there. If there is too much info parsed, it is no problem to take that call out. just experiment with it some.

Quote:
Originally posted by watercolours
but i want HH:MM format. What shold i change?
code:

#include "lib/std.mi"

Global Text TimerTxt;
Global Timer ClockTmr;
Global Group cGroup;
Global Boolean showTime;
Global Int currentTime;

System.onScriptLoaded()
{
cGroup = getScriptGroup();

TimerTxt = cGroup.findObject("Timer");

ClockTmr = new Timer;
ClockTmr.setDelay(100);

if (getStatus() == 0)
{
ClockTmr.start();
}
}



ClockTmr.onTimer()
{
if (getStatus() == 0)
{
int date = System.getDate();
int currentTime = System.getTimeOfDay();
string TimeStr = integerToLongTime(currentTime);
if (getDateHour(date)<10) TimeStr = "0" + TimeStr;
//^gives 09:00:00
TimeStr=strleft(TimeStr,5);
//^gives 09:00
TimerTxt.setText(TimeStr);
//^sets the time
}
}


System.onStop()
{
ClockTmr.start();
}

System.onPlay()
{
ClockTmr.stop();
TimerTxt.setText("");
}

System.onScriptUnloading()
{
delete ClockTmr;
}

^untested but should work
all I did was add TimeStr=strleft(TimeStr,5);
adjust the 5 if the formating isnt right.
simay is offline   Reply With Quote
Old 31st October 2006, 03:37   #809
watercolours
Member
 
Join Date: Feb 2004
Posts: 92
Thanks for the clock help. I'll try the others also.
About the clock.m it solved my problem but i realized that though i have included align="left" command in the xml, the song timer isn+t aligned to left, but the clock timer align itself to left. Any idea?
watercolours is offline   Reply With Quote
Old 31st October 2006, 11:51   #810
watercolours
Member
 
Join Date: Feb 2004
Posts: 92
I tweaked a volume by region maki to work for preamp as you said. Now, the preamp slide stays at the top and it can't be clicked an dragged.

#include "../../../lib/std.mi"

Function setEqPreamp(int posValue);
Function updateEqPreamp(int x, int y);

Global Layer EqPreamp;
Global Map EqPreampMap, EqPreampMap2;
Global Boolean EqPreampChanging;

System.onScriptLoaded() {
Group ScriptGrp = getScriptGroup();

EqPreamp = ScriptGrp.findObject("Preamp");
EqPreampMap = new Map;
EqPreampMap.loadMap("eq.map.preamp");
EqPreampMap2 = new Map;
EqPreampMap2.loadMap("eq.map.preamp2");

setEqPreamp(getEqPreamp());
}

System.onEqPreampChanged(int val)
{

setEqPreamp(val);
}

setEqPreamp(int Value) {
Region r = new Region;
r.loadFromMap(EqPreampMap2, Value, 1);
EqPreamp.setRegion(r);
delete r;
}

EqPreamp.onLeftButtonDown(int x, int y) {
EqPreampChanging = 1;
updateEqPreamp(x, y);
}

EqPreamp.onLeftButtonUp(int x, int y) {
if (EqPreampChanging)
{
EqPreampChanging = 0;
updateEqPreamp(x, y);
}
}

EqPreamp.onMouseMove(int x, int y) {
if (EqPreampChanging) {
updateEqPreamp(x, y);
}
}


updateEqPreamp(int x, int y) {
int p = EqPreampMap.getValue(x - EqPreamp.getLeft(), y - EqPreamp.getTop());
if (!EqPreampChanging) {
System.setEqPreamp(p);
}
setEqPreamp(p);
}

System.onScriptUnloading() {
delete EqPreampMap;
delete EqPreampMap2;
}

After this, i found eqbyregion by frisbeemonkey. I tweaked it also in order to omit normal eq band parts. In this case preamp slide at the bottom and it can't be clicked and dragged again.

//-----------------------------------------------------------------------------
// eqbyregion.m
//
// Example of Animated EQ bars using Regions
//
// written by FrisbeeMonkey
//-----------------------------------------------------------------------------

// USING THIS SCRIPT:
//*****************************************************************************
// 1. Define the following in your XML:
// <layer id="EQPreamp" image="player.EQBar" x="?" y="?"/>
//
// <layer id="EQBar?" image="player.EQBar" x="?" y="?"/>
// Change the position(x,y) to the specifics of your layers.
// For the EQBars, you should have 10 of them, EQBar0 to EQBar9
// 2. Define your gradient maps with your other elements using:
// <bitmap id="player.EQBarMap" file="player/player-map-eqbar.png"/>
// If you need help creating a map file, check:
// http://www.stefanweb.com/wa3/tutorials.html#UsingMaps
// 3. Copy this script (and eqbyregion.maki) to your scripts folder.
// 5. If you don't have eqbyregion.maki, compile this script.
// 6. Add this line to the group that contains your layer and SongTicker
// <script id="eqanim" file="scripts/eqbyregion.maki"/>
// 7. Refresh your skin(F5) and try it out.
//*****************************************************************************

// Never forget to include std.mi
#include "../../../lib/std.mi"

// Declare local functions for use in script
Function setEqAnim(int eqValue, Layer eqName);
Function updateEqBand(Layer eqName, int eqNum, int x, int y);

// Declare global variables for use in script
Global Layer EQPreamp;
Global Map eqMap;
Global Boolean eqChanging;

// When the script/skin is loaded, do this
System.onScriptLoaded() {
Group eqLayout = getScriptGroup();

//get Layers
EQPreamp = eqLayout.findObject("EQPreamp");


//initialize Map
EQMap = new Map;
EQMap.loadMap("eqMap");

//initialize Band positions
setEqAnim(128 - System.getEqPreamp(), EQPreamp);

}

//handles changes on Preamp(from Presets, etc)
System.onEqPreampChanged(int newValue) {
setEqAnim(128 - newValue, EQPreamp);
}


// Sets Region to Display Partial Bar
setEqAnim(int eqValue, Layer eqName) {
Region r = new Region;
r.loadFromMap(eqMap, eqValue, 0);
eqName.setRegion(r);
delete r;
}

// Handles Preamp Mouse Events
eqPreamp.onLeftButtonDown(int x, int y) {
updateEQBand(eqPreamp, 10, x, y);
EqChanging = 1;
}
eqPreamp.onLeftButtonUp(int x, int y) {
if (EQChanging) {
EQChanging = 0;
}
}
eqPreamp.onMouseMove(int x, int y) {
if (EQChanging) {
updateEQBand(eqPreamp, 10, x, y);
}
}



// Updates EQ Band Image and System Value
updateEQBand(Layer eqName, int eqNum, int x, int y) {
int newValue = eqMap.getValue(x - eqName.getLeft(), y - eqName.getTop());
newValue = 128 - newValue;
if (eqNum == 0) {
System.setEqBand(0, newValue);
} else if (eqNum == 1) {
System.setEqBand(1, newValue);
} else if (eqNum == 2) {
System.setEqBand(2, newValue);
} else if (eqNum == 3) {
System.setEqBand(3, newValue);
} else if (eqNum == 4) {
System.setEqBand(4, newValue);
} else if (eqNum == 5) {
System.setEqBand(5, newValue);
} else if (eqNum == 6) {
System.setEqBand(6, newValue);
} else if (eqNum == 7) {
System.setEqBand(7, newValue);
} else if (eqNum == 8) {
System.setEqBand(8, newValue);
} else if (eqNum == 9) {
System.setEqBand(9, newValue);
} else if (eqNum == 10) {
System.setEqPreamp(newValue);
}
}

System.onScriptUnloading() {
delete eqMap;
}

By the way, this is a maki topic and questions about makis have been asked before.
PS. Regarding the makis, the contemplates are different both script, I should add that I have changed them in xml code in order to match script but no way.
watercolours is offline   Reply With Quote
Old 31st October 2006, 17:37   #811
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
this thread was meant to provide ready made maki scripts and solutions to people, so they didn't have to search through the entire forum or ask the same questions all the time..
if people keep using this thread to ask basic questions about maki, then it'll get very hard to find the readymade scripts and solutions here.

in my opinion, a moderator should go through the entire thread and delete all posts that do not contain a maki/xml solution of some sort (that was not meant to answer a specific question, unless it can also be used by other people)..

this thread is already 21 pages long, so I'm guessing almost noone is going to be able to find that one script they so sorely need in page 9 for example..
Plague is offline   Reply With Quote
Old 4th November 2006, 00:41   #812
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
oldtimer.m

Yea, so I've updated my oldtimer.m script to make it integrate to Winamp's built-in Time elapsed/Time remaining toggle (found in the Options submenu in the main menu).

Thanks martin.deimos for finding a working solution to this.

Quick description:
oldtimer.m brings back the old style (Winamp2) timer [00:00] instead of the new style timer [0:00].
Attached Files
File Type: m oldtimer.m (2.4 KB, 360 views)
Plague is offline   Reply With Quote
Old 4th November 2006, 00:43   #813
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
longtimer.m

I've also made a longtimer.m script some time ago, [hh:mm:ss], with hours, minutes and seconds.
It's based on the "oldtimer.m" by me and kept up to date with it.
Attached Files
File Type: m longtimer.m (2.1 KB, 424 views)
Plague is offline   Reply With Quote
Old 19th November 2006, 12:27   #814
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
I've found a way to create objects at runtime.
Any object can be created as timer with the operator "new".
Example:

Button z = new Button;// Allocate new object
z.init(spkgL);// spkgL is a parent group for the button
z.setXmlparam("image","button_play");// set some images and other XML-parameters. They are not necessarily.
z.setXmlparam("downimage","button_play_prs");
z.setXmlparam("hoverimage","button_play_hvr");
z.setXmlparam("action","pause");
z.setEnabled(1);
z.setXmlparam("x","0");
z.setXmlparam("y","0");
z.show();
z.BringToFront();

I want to try it in building of MDI-like form.
E-Trance is offline   Reply With Quote
Old 20th November 2006, 16:53   #815
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
Quote:
Originally posted by E-Trance
I've found a way to create objects at runtime.
Any object can be created as timer with the operator "new".
Example:

Button z = new Button;// Allocate new object
z.init(spkgL);// spkgL is a parent group for the button
z.setXmlparam("image","button_play");// set some images and other XML-parameters. They are not necessarily.
z.setXmlparam("downimage","button_play_prs");
z.setXmlparam("hoverimage","button_play_hvr");
z.setXmlparam("action","pause");
z.setEnabled(1);
z.setXmlparam("x","0");
z.setXmlparam("y","0");
z.show();
z.BringToFront();

I want to try it in building of MDI-like form.
... known for years ...

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 22nd November 2006, 14:07   #816
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Known for years?
Then what about dynamic deletion? Is it possible?
E-Trance is offline   Reply With Quote
Old 22nd November 2006, 16:28   #817
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
try it:
load a layer via maki and then call delete _yourlayer

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 22nd November 2006, 20:09   #818
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
And what about duplicating?
E-Trance is offline   Reply With Quote
Old 23rd November 2006, 16:12   #819
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
perhaps try this (untested):
PHP Code:
Function GuiObject duplicate(guiobject objgroup g);

//let's say duplicate on LeftCLick on button
btn.onLeftClick()
{
  
guiobject btn2 duplicate(btnbtn.getParentGroup());
  
btn2.setXmlParam("y""2"); --only set a new y to see that there is a new button;
}

GuiObject duplicate (guiobject objgroup g)
{
  
obj2 = new GuiObject;
  
//now you must try 2 things - first is look if it works this way
  
obj2 obj;
  
obj2.init(g);
  return 
obj2;

  
//the other way would be copying all params (this should work for 100%)
  
obj2.setParam("x"obj.getParam("x"));
  
// ... do the same for all params you want to get copied;
  
return obj2;


WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 23rd November 2006, 20:27   #820
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Thank! And a last question. What can be analogue for objects array in MAKI if I want to keep dynamically handled objects in array?
E-Trance is offline   Reply With Quote
Old 24th November 2006, 06:51   #821
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
List Object

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 27th November 2006, 16:59   #822
clementj
Senior Member
 
Join Date: Oct 2006
Posts: 357
Is there any way to have the Stop after current song button in both the regular window and the shade window and to have them coordinated?
clementj is offline   Reply With Quote
Old 28th November 2006, 12:49   #823
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Here is MAIN.M source script from my EPS3 skin. Here you can find some functions including:

- Text replacing
- Actions console (a small cmd interpreter)
- A-B repeat
- Position jumpers
- Track jumper
And something else... I don't remember.

There are also some trash code. Ignore it.
Attached Files
File Type: m main.m (56.9 KB, 533 views)
E-Trance is offline   Reply With Quote
Old 28th November 2006, 13:47   #824
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
large script man
the replaceString functions look very similar to the one i wrote for coversearch. will compare and tell you which are better/faster

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 28th November 2006, 20:40   #825
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Ha! My skin contains two or three times more MAKI-code!!! I'll publish sources with skin.
E-Trance is offline   Reply With Quote
Old 28th November 2006, 20:49   #826
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
as i started writing maki i wrote as long scripts as you, but now i try to divide scripts into subfiles to make everything easier to read!
But the most of my scripts are only build to have one basic function object (eg songticker) so i can easier recycle the script for new skins. Is the best thing for, cause as skinconsortium coder i need script recycling

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 28th November 2006, 20:58   #827
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
Quote:
Originally posted by clementj
Is there any way to have the Stop after current song button in both the regular window and the shade window and to have them coordinated?
if such a function for stop after current exists, please tell me

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 28th November 2006, 21:09   #828
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
martin.deimos
Yes, I am too. But MAIN.M is just a core. All skin objects are coded individually. MAIN.M is big cause there is a console that should be able to call different functions. As I know it's impossible to call functions beetween different scripts at runtime.
E-Trance is offline   Reply With Quote
Old 29th November 2006, 10:55   #829
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
sure you can send functions between scripts!
you need to have one object declared in both scripts, let's say the songticker.
then in the first script you call for example songticker.sendAction("setText", "Set Corossafer: ON", 0,0,0,0); //see std.mi for exact params
then in the otehr script you can recieve this via
songticker.onAction(string action, string param, int x, int y, int p1, int p2, guiobject source)
{
do if calls here
}

easy isn't it?

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 29th November 2006, 14:47   #830
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Yes I already think about. You read my mind. Though it's bad that there is no function like GlobalSend() and OnGlobalSend().
E-Trance is offline   Reply With Quote
Old 29th November 2006, 17:32   #831
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
yeah but you can use the layout for sending.

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 30th November 2006, 05:44   #832
clementj
Senior Member
 
Join Date: Oct 2006
Posts: 357
Unfortunately there were no common objects so a global send would have been a good thing to have. I kludged it by setting up independent buttons in each script, and used a private variable for communication. Since I wanted to show status with an indicator I needed to set it every time it switched from normal to shade. So now I have a stop at the end of a song with coordinated buttons and indicators in both the shade and normal windows. An alternative to a global send would have been an onChangedPrivate... Winamp could use a little better communication.
clementj is offline   Reply With Quote
Old 30th November 2006, 09:54   #833
E-Trance
Senior Member
 
Join Date: Oct 2005
Location: Russia
Posts: 164
Send a message via ICQ to E-Trance
Two subthreads in the thread are crossed! Just cool.
I spoke about solid MAKI skin core and clementj was asking about synchronization and... [see above]

:| - Seriously
I know that there is config attributes but I don't know how to use them. May be it will help?
E-Trance is offline   Reply With Quote
Old 30th November 2006, 10:50   #834
martin.deimos
Android/UI Development
 
martin.deimos's Avatar
 
Join Date: Sep 2004
Location: Bavaria
Posts: 1,242
Send a message via ICQ to martin.deimos Send a message via AIM to martin.deimos Send a message via Yahoo to martin.deimos
perhaps take a look at my skin skyce, i used the easiest way to create cfg attribs (created a few functions for it).

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 13th December 2006, 09:36   #835
Antedder84
Banned
 
Join Date: Dec 2006
Posts: 3
help!
spammity spam spam
Antedder84 is offline   Reply With Quote
Old 13th December 2006, 09:37   #836
Terbas15
Banned
 
Join Date: Dec 2006
Posts: 2
help!
spammity spam spam
Terbas15 is offline   Reply With Quote
Old 19th January 2007, 09:36   #837
Uptener7
Banned
 
Join Date: Jan 2007
Posts: 5
hot!
Banned for posting crap
Uptener7 is offline   Reply With Quote
Old 22nd May 2007, 21:32   #838
jaimela
Junior Member
 
Join Date: May 2007
Posts: 1
Quote:
Originally posted by Plague
man, this is uber useful!
we need more of this!

one of the most annoying things when skinning is having to create new scripts just for basic functions, scripts like theese..

so I think it's a great idea that you've taken this step.

Good job

-Plague

I'm with Plague, couldn't have said it better myself. Thanks!
jaimela is offline   Reply With Quote
Old 30th August 2007, 03:44   #839
iron2000
Senior Member
 
iron2000's Avatar
 
Join Date: Mar 2002
Location: Singapore
Posts: 391
This thread is a really good source of info but if it has some sort of contents in post 1 it would be easier to find stuff. Or maybe compile them in a website?

Thanx
iron2000 is offline   Reply With Quote
Old 30th August 2007, 12:37   #840
SLoB
Major Dude
 
SLoB's Avatar
 
Join Date: Jul 2003
Location: UK
Posts: 1,316
well volunteered iron2000 to put them in the wiki lol
http://wiki.skinconsortium.com/index...itle=Main_Page
SLoB is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Skinning and Design > Modern Skins

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump