Old 27th September 2005, 12:21   #41
PeaceMaker
Major Dude
 
PeaceMaker's Avatar
 
Join Date: Oct 2001
Location: Australia
Posts: 1,276
Send a message via Yahoo to PeaceMaker
i was thinking that this skin would look nicer with rollOver & rollOut button effects, maybe half the strength of the on onPress, as with the vis arrow & left side buttons.

the other thing is with the vis arrows that opens the external window. can you use the previous arrow button programmed to close the window if its open?

impressive skin so far plague
PeaceMaker is offline   Reply With Quote
Old 27th September 2005, 15:31   #42
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
First, thanks for the nice response.. makes it all worth it..

Naamloos:
the volume knob is supposed to make a jump from 100% to 0% if you continue dragging it. Is that what you mean?

yes, cpu usage is a big problem. I don't think there's a leak anywhere in the code. But it could very well be, seeing how all those damn animations make for huge amounts of code.
One thing I do know is that if you hover the wobble buttons, on the Nav main screen, for a while, the cpu meter will not go down to 0% until you close winamp. This makes me think that the animations there never really stops, even tho they should. But I'm not 100% sure.

leechbite:
yea, I've tried the autoresize thing, but the problem is that it needs to be so small to allow for even 4 digits, and pretty much tiny to allow for 5 digits, so I'm not sure that's a good enough solution.. Also, if I do this, I'm also gonna have to change the position of that textfield, as any resize of the font will change the position of the text aswell.. It's ofcourse doable, but I'm not sure if it'll look good enough.

About the avs component.. WindowHolder is afaik just another name for Component, so there should be no difference there.. And I don't really know of any other way to define the avs layout.. do you?
However, I can attach the source scripts to this post, so you can play around with it if you want..

Beware though, some of the scripts (main-mid.m and main-nav.m mostly) are very big and messy. This is because of all the animations and 'linear' development progress . I am in the progress of cleaning the scripts, but it'll take some time and I'm not sure how much cleaner I'll make them before I call it quits.

I'll think about using bitmap fonts for the timers.
Problem is that I only have a finished bitmap font for the big timer, not the small ones, and that's the reason I'm using none of the bitmap fonts.
But maybe I'll prepare some bitmap fonts for all timers.. We'll see. It's a good idea. Didn't know ttf fonts were the villain for the huge cpu problem, I just assumed it was all the animations and timers combined.

Edit:
btw, if anyone would happen to know what the configattrib for turning on/off numbers in playlist is in wa5, that'd be awesome.
It seems they've changed it from how it was in wa3/w.p.
Cos there it was "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Show numbers in playlist" but that doesn't work in wa5.
Attached Files
File Type: zip winique-scripts-2005-09-26.zip (42.0 KB, 327 views)
Plague is offline   Reply With Quote
Old 27th September 2005, 15:43   #43
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
WindowHolder is a bit different with Component i think, especially if its placed on a non dynamic container. For example, hiding an AVS using Component wont kill the instance of the AVS window, it would still be there although it wont be visible. Therefore it wont allow it show on any layouts because the AVS has an "owner" already.
On the other hand, WindowHolder when hidden kills the instance of the AVS. So hiding/closing the AVS using windowHolder would allow other layouts to display the AVS.

If you use windowHolder, then the container need not be dynamic. BUT if Component is being used, then the container HAS to be dynamic it order for other layouts to display the AVS.

ill poke around with the scripts later, i might figure something out.
leechbite is offline   Reply With Quote
Old 27th September 2005, 15:51   #44
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
okay, that seems like something I'm gonna have to experiment with..
I had assumed that WindowHolder was just a namechange from Component, as they made WASABI more generic and not bound to Winamp3. Even more so when they moved it into gen_ff and pretty much killed all components.
But if what you say is true, then a windowholder is another thing than a component, even tho they have the exact same commands in both xml and maki. in std.mi a windowholder is defined as a component.
Plague is offline   Reply With Quote
Old 27th September 2005, 16:42   #45
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
my mistake plague. they are probably the same.

i mistaken windowHolder with wndHolder which is the dynamic one. now im confused too. ill play with it later.
leechbite is offline   Reply With Quote
Old 28th September 2005, 12:35   #46
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
After updating my winamp, I noticed the new demo.aac and how it uses surround sound.
I became interested in how files with more than 2 channels (or even files that don't describe channels with mono/stereo) display that info.
It turns out that atleast the demo.aac file display it's channels as "6 Channels", making every single songinfo script used so far in a skin incompatible.
I've now updated winique to allow for, hopefully, all kinds of channel descriptions, and beeing the nice guy that I am, I've decided to share this little update with y'all...
PHP Code:
string getChannels(String info) {
int searchResult;
String rtn;
  for (
int i 05i++) {
    
rtn getToken(info" "i);
    
searchResult strsearch(strlower(rtn), "ono");
    if (
searchResult 0) return rtn;
    
searchResult strsearch(strlower(rtn), "tereo");
    if (
searchResult 0) return rtn;
    
searchResult strsearch(strlower(rtn), "hannel");
    if (
searchResult 0) {
      
int tmp strsearch(strlower(info), "hannel");
      if (
strmid(infotmp 21) == " ") return getToken(info" "1) + " " rtn;
      else return 
rtn;
    }
  }
  return 
"";

it now looks for the word "hannel", which means it looks for Channel, Channels, channel, channels, and so on..
But since the demo.aac had a space between 6 and Channels, it also means I need to check for that.
So if the script find the word "hannel" it then goes on to check if the character before Channel (hannel - 2) is a space, and in that case it returns whatever is before the space + a space + channel.. and if not, it means there was no space and it just returns #channel(s) (where # would be the number of channels).

I think I've covered all possible variations here..
_Should_ be covered anyways..
Plague is offline   Reply With Quote
Old 29th September 2005, 12:07   #47
Naamloos
Forum King
 
Naamloos's Avatar
 
Join Date: Mar 2001
Location: irc.tehflap.org/*******
Posts: 3,085
Yep, thats what i meant on the volume thingy
Naamloos is offline   Reply With Quote
Old 29th September 2005, 12:44   #48
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
ok then..

Right, so I've now prepared some bitmap fonts for the timers, and you're right leechbite, the cpu% dropped to almost 0%. Very nice.. However, I've decided to keep the ttf fonts as alternate fonts, incase anyone still wanna use them. One reason would be that the bitmap fonts are wider, so now the songnumber counter in the small mode can't fit more than three characters either..
Plague is offline   Reply With Quote
Old 29th September 2005, 14:52   #49
QuadHeliX
Major Dude
 
QuadHeliX's Avatar
 
Join Date: Jan 2003
Location: Washington State
Posts: 1,133
Do you have your new skin available so we can see how this songinfo.m works I might implement it on all my skins and add updated for 5.1 in the captions.
QuadHeliX is offline   Reply With Quote
Old 29th September 2005, 15:18   #50
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
hi Plaque, i was playing around with the scripts and i got the avs to work better on the Mid mode (at least on my comp). i think windowholders does not respond very well on dynamically created layouts (newGroupAsLayout). i moved mid mode avs into a separate container/layout and it worked better. also it needs a bit of delay when the miv avs layout shows before it shows the avs windowholder, this probably gives winamp time to "settle down" before it could show the component properly.
also, i noticed, lockto="..." attribute seems to cause a lot of problems. everytime i had it, it wont reload the skin, it keeps closing winamp when u press F5.
ill PM it you later.
leechbite is offline   Reply With Quote
Old 29th September 2005, 17:29   #51
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
QuadHelix: check the Maki cheats thread, I've posted a songinfo.m there.. should be pretty self explained..

leechbite: cool, looking forward to it.. and yea, the whole lockto hack causes ALOT of problems... I sooooooooooooo wish Benski fixes regions for components *crosses fingers*.
Plague is offline   Reply With Quote
Old 1st October 2005, 02:05   #52
TwIsTeDdDx
Senior Member
 
Join Date: Jun 2001
Posts: 108
we do have the original pdf's of the skin.. dunno if we will get sued for releasing them.. I doubt it seems that sonique.com is down(i think daum finally pulled the pin)
TwIsTeDdDx is offline   Reply With Quote
Old 2nd October 2005, 00:29   #53
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
well, I used the jpg's and bmp's from the original skin, and I doubt they would sue me for it, since the original skin is included in the Sonique installer and is easily unpacked.
The only thing taken from within an .exe file, is the borders for the components, which is taken from Skinmaker X.

If that causes a problem, I'll remove them.
Plague is offline   Reply With Quote
Old 2nd October 2005, 23:23   #54
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
alright, status update.

leechbite:
I've updated the skin with the improvements you provided, with some modifications. you definitely found a way to make it work better. Thanks.

I've reduced the cpu usage as much as I can, both when it comes to your fixes and with the timer fonts, etc..
It's definitely good enough.

Now, I still have about three problemareas that I could use help with. Ideas welcome.
  • need some solution for songnum in nav/small mode (change of fonts to bitmap made the songnum area width shrink one character in small mode), need to somehow display more than 999..
  • need some idea for mid mode songticker and infoline..
    just having two straight lines of text, bouncing back and forth is just not good enough.
  • need some idea for nav mode drawer shadow..
    this one is tricky.
    there should be a shadow covering the opening of the eq drawer, but it shouldn't cover the lowest part of the eq (the drawer "toggle" button/area). So what's the best way of making the shadow only cover the correct parts of the drawer?
    I can think of a couple of solutions, but none of them is good enough:
    • make a separate layer (with the "button" gfx) that lives outside of the drawer and move it simultanously with the drawer. However, this _will_ look bad, as there's no way to move it _exactly_ the same time as the drawer itself.
    • make a gradient map for the shadow, and when the drawer moves, calculate the position of the drawer and compare it with the map, to show/hide a percentage of the shadow. However, how the hell is this calculation supposed to work, and how reliable can it be?
    • make a region layer that decides where the shadow should be shown, and move that region layer at the same time as the drawer. This would have about the same problem as #1 plus, the region layer itself can't be visible, but the region of that layer can't be ignored, and so far I haven't found a solution for that.
    • somehow put the region layer on the drawer itself, and the shadow layer outside the drawer and somehow make the shadow layer obey the region layer. I have no idea how to do that, if possible, but so far it would be the best way.
Any ideas, suggestions, code, etc.. to above points would be very welcome..
Plague is offline   Reply With Quote
Old 3rd October 2005, 00:35   #55
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
Quote:
need some solution for songnum in nav/small mode (change of fonts to bitmap made the songnum area width shrink one character in small mode), need to somehow display more than 999..
how bout use ttf font in this one instead?

Quote:
need some idea for nav mode drawer shadow..
this one is tricky.
there should be a shadow covering the opening of the eq drawer, but it shouldn't cover the lowest part of the eq (the drawer "toggle" button/area). So what's the best way of making the shadow only cover the correct parts of the drawer?
thats quite a puzzling problem. my best bet will be your first solution. although if this function
GuiObject.bringAbove(GuiObject guiobj);
work on objects not on the same group this might be a better solution. but i doubt it will.
leechbite is offline   Reply With Quote
Old 3rd October 2005, 12:16   #56
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
ttf fonts only solve the problem in small mode, not in nav mode, and only if both songnum and timer uses ttf.
This would be ok in small mode since there's no millisecond timer there, so cpu usage should be ok. but since this would only be a solution in small mode, I'm not sure it would be worth it consistancy wise, considering that ttf look different than bitmap.

So, what do you forum people think?
1) use bitmap on all timers (which keeps the songnum problem in small and nav mode)?
2) use ttf in small mode and solve the songnum problem there (but still have the problem in nav mode)?
3) find some other solution for the songnum problem?

I _could_ do it like it's done in original Sonique, but I don't really like that 'solution'.
They show an underline when songnum is more than 999.
But you don't know how many thousand it is, you just know it's atleast 1000. IE: 123 could be 1123, 2123, 5123, etc..



about the shadow, I'll test bringabove, but don't really think it'll work either..
I think that if it works at all, it'll bring the entire group above.. but it's worth a try..
Otherwise, I don't know..
I really don't wanna do #1, because it will not look good enough imo.. I'd rather just skip the shadow, cos it's not that noticable anyways and it's certainly not important enough to have to make big compromises in order to keep.

So, if bringabove doesn't work, I'm open to more suggestions..


I also still need suggestions for the songticker and infoline in mid mode...
Doesn't need to be rocket science, so non-coders if you have some idea of how it could look nice, let me know and I'll try to figure out how to do it, if possible.
I need visual ideas and suggestions, more than coding examples for this one.

Only thing you need to know is that wrap=1 doesn't work, so unfortunately there can't be any multiline textfields (that I know of), without having to use multiple textfields and divide the text into those fields.

I have tried that, and it doesn't work good enough. One reason is that since wrap doesn't work, and alot of songs have very long names, I would have to cut in the middle of names in order to fit everything in the small area, but even if I do, some names are just so long that I would still have to scroll everything in order to display all info.
So, as far as I know, this solution is crap..


Finally, I notice that I've forgotten to answer your questions PeaceMaker, so I'll do that now..
Quote:
i was thinking that this skin would look nicer with rollOver & rollOut button effects, maybe half the strength of the on onPress, as with the vis arrow & left side buttons.
first, I kind of disagreed with you, because original Sonique doesn't do this, but I've changed my mind, because I can't make the button effects fast enough in maki, without making them instant. and since most people click a button pretty fast (they don't hold down the button a while before releasing it again), most of the button effects aren't noticable at all.. This is a problem, because it doesn't look good at all.
So in order to make it atleast a little bit better, I've decided to do what you suggested and make hovering the buttons go halfway through the effect.
Quote:
the other thing is with the vis arrows that opens the external window. can you use the previous arrow button programmed to close the window if its open?
yes I can, and in fact it was that way from the beginning but I intentionally made that go away, because I thought that if you open the external vis manually through the menu or the prefs, then you don't want it to shut down everytime you switch the skins internal vis. However, instead of that annoyance, it instead brought the annoyance of almost always having the external vis open, even if you don't want t to.
So, I've now done this in a better way which _should_ be able to tell if the vis was opened manually or if it wasn't.
Plus, sometimes it didn't respond like it should before (it opened right back up again even if I gave the command to close it, both in mid and nav mode) so a timer has been put in place that makes sure the ext vis really closes when it's supposed to.
It should work alot better now.
Quote:
impressive skin so far plague
Thanks
Plague is offline   Reply With Quote
Old 4th October 2005, 14:22   #57
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
yo.

Mr Jones, when you extracted the bitmaps from Skinmaker X, did you happen to see if the logo was in there aswell?

I need the big green swirl (preferably without the yellow logo on it) from that logo.

Skinmaker X has it, and I've seen it in some skinshots from the original skin, so maybe it's in Sonique.exe aswell?

If anyone know how to get a hold of it, let me know..
Plague is offline   Reply With Quote
Old 10th October 2005, 12:49   #58
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
Quote:
Originally posted by TwIsTeDdDx
we do have the original pdf's of the skin.. dunno if we will get sued for releasing them.. I doubt it seems that sonique.com is down(i think daum finally pulled the pin)
would you perhaps have the big green swirl thing I requested in my previous post?
if so, would it be possible for you to release the pdf's?

--snip--

Going forward:
I've made more optimisations and added more animations (whee ), and in fact I'm starting to get to the end of my todo list..

One thing I want to resolve asap is the slow animation of the button glow. It's just too slow, and I'm doing them as fast as setTargetSpeed allows me to, without beeing instant on/off.
The only solution I can think of here, would be to use a timer and getskipped(). This works, however I'm having trouble making it work on multiple objects at the same time (ie: one button fades out while another fades in, for example).

If anyone know a way to make that happen, I'd love to hear about it.

I would've released more snapshots to ya'll but I don't have anywhere easy to upload to, so it's not worth the hassle atm..
If some webspace somewhere could be provided, I would upload alot more often than now..
Plague is offline   Reply With Quote
Old 10th October 2005, 17:58   #59
mike-db
Pancakes!
(Major Dude)
 
mike-db's Avatar
 
Join Date: Feb 2005
Location: Colour, if you're, you know...
Posts: 3,523
Send a message via ICQ to mike-db
Quote:
Originally posted by Plague
I would've released more snapshots to ya'll but I don't have anywhere easy to upload to, so it's not worth the hassle atm..
If some webspace somewhere could be provided, I would upload alot more often than now..
You could e-mail me the images then I will put them on my site, or if you already don't know use imageshack.

SEX APPEAL UP IN HERE!
(╯°□°)╯︵ ┻━┻
mike-db is offline   Reply With Quote
Old 10th October 2005, 22:54   #60
biggman15
Senior Member
 
biggman15's Avatar
 
Join Date: Dec 2004
Location: Missouri
Posts: 431
Or
http://www.paintedover.com/

biggman15 is offline   Reply With Quote
Old 11th October 2005, 06:45   #61
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
Quote:
One thing I want to resolve asap is the slow animation of the button glow. It's just too slow, and I'm doing them as fast as setTargetSpeed allows me to, without beeing instant on/off.
The only solution I can think of here, would be to use a timer and getskipped(). This works, however I'm having trouble making it work on multiple objects at the same time (ie: one button fades out while another fades in, for example).
im not sure if there's a fix of having faster and smoother animation plaque. i would think you could only go as fast as the timers resolution setting on the preferrences. so if you have a smooth animation at, for example, 33ms, users with resolution set at 100ms might only see an on/off.
leechbite is offline   Reply With Quote
Old 11th October 2005, 14:12   #62
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
about the snapshots..
snapshot means the entire skin, not screenshot..

still up for posting the skin mik?

leechbite:
that's what getskipped() is for, making sure everyone gets the same animation, no matter the resolution..
problem I have is to make the timer work on any object, at any time, even multiple objects at the same time...
Plague is offline   Reply With Quote
Old 15th October 2005, 15:43   #63
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
new build!

Yo!

so I've now uploaded a new build to the same server as the old one (which by the way should've been removed by now, so the old link probably don't work anymore).

this build should work alot better than the old one and it has more options, more animations and an _alot_ better working avs in mid mode (thanks leechbite for helping with improving it).

it also has bitmap fonts for the timers, so cpu usage shouldn't be a constant problem now.

i also decided to use the original Sonique way of solving the songnum problem, so when going past 999, it now unerlines the songnum in nav mode and small mode.

the drawer now also has the shadow and I used my first solution for it, and it works ... somewhat good enough..

have fun, and let me know if there's any problem, or if you have any suggestions..

Winique-2005-10-13
Plague is offline   Reply With Quote
Old 15th October 2005, 16:44   #64
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
awesome work Plague!! this is shaping to be an amazing skin.

bug report: you might know this already but i cant seem to make the visualiztions on the nav mode to work properly when i switch it full vis and back to windowed mode.
leechbite is offline   Reply With Quote
Old 16th October 2005, 02:02   #65
mike-db
Pancakes!
(Major Dude)
 
mike-db's Avatar
 
Join Date: Feb 2005
Location: Colour, if you're, you know...
Posts: 3,523
Send a message via ICQ to mike-db
Yea im good with the uploading if you want I could have it on my site permenetly but it's up to you.

SEX APPEAL UP IN HERE!
(╯°□°)╯︵ ┻━┻
mike-db is offline   Reply With Quote
Old 16th October 2005, 21:09   #66
hammerhead
The Shark
(Forum King)
 
hammerhead's Avatar
 
Join Date: Jul 2002
Posts: 2,537
Send a message via AIM to hammerhead
excellent work plague
hammerhead is offline   Reply With Quote
Old 17th October 2005, 12:29   #67
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
Quote:
Originally posted by leechbite
awesome work Plague!! this is shaping to be an amazing skin.

bug report: you might know this already but i cant seem to make the visualiztions on the nav mode to work properly when i switch it full vis and back to windowed mode.
thanks man (and hammerhead )

about the bug, you mean full windowed vis, or fullscreen vis?

I haven't actually tested much with fullscreen vis (I hate that most fullscreen vis's fuck up the desktop as they resize everything.. I use 1600x1200 on my desktop and most vis's are just too cpu/gpu hungry to be able to run in that resolution so I have to lower the res and that results in them resizing every window I have open and move around all icons on the desktop, in order to have em all inside the 'new' screenarea.. hate.. so I don't use fullscreen vis's much).

So I pretty much just put the button in place there and figured it would work fine.
I will check it out however, since you reported a problem with it..

full windowed mode should work good enough.. the avs should jump into an external window if that's the vis you use and when you return to normal windowed mode, it should jump back. however, you know yourself all too well how much of a pain it is to make components play nice with maki, so there might be some glitch somewhere.. if so, I'll try to find and fix it, most likely with yet another workaround..

keep em bugreports coming..

oh yea, and this build includes the script sources, so anyone is free to dig into them if you want..


Question:
I currently use frames for the seeker in mid mode and regions for the seeker in small and nav mode.
Should I continue that way, or should I use regions everywhere?

The difference would be that the mid seeker would no longer fill a whole 'dot' at once, as it would instead fill the seeker one pixel at a time. I don't know which one would be best.. Original Sonique uses the region way, but I somewhat feel like frames look nicer.. but I'm not sure.


One more thing:
the seekers and playlist progressbars all have animations when switching track and when manually seeking, etc.
the mid mode seeker and plprogressbar use a much better method to do this than the rest, due to frames allowing for that.
I can just do a (semi-pseudocode) seeker.setStartFrame(getCurFrame()); seeker.setEndFrame(0); seeker.start();
or something like that..
On the region seekers tho, I don't have that option.
I must instead use a timer and move the region one pixel at a time..
It's a much messier way of doing it, and the animation is much choppier. Especially since I have to use getSkipped() in order to make it fast enough (check source).
I would like to use some similar way to how frames can do it, or for example like setTargetX(10); setTargetSpeed(1); gotoTarget();
The only way I've found that's anywhere near it, is layer_fx, which has some onStep() thing, that should be possible to use, however I haven't been able to get it working good enough..

This is an area I would greatly appreciate anyones input.
Plague is offline   Reply With Quote
Old 18th October 2005, 14:20   #68
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
argh..

yea, so I've located the vis problem and OOPS..
it's a small annoying mistake, as in I forgot to start a timer at a certain place when I recoded large parts of the nav script.. grr..

I've attached replacement scripts that will fix the problem, aswell as another small bug I found with the repeat buttons (they didn't respond to pressing 'R' correctly, again, WHOPS).
So, in the zip are the scripts affected by the changes. Just replace those scripts in the skin with the ones attached and yo're good to go.
(might be a good idea to recompile the rest of the scripts, since I've made a small change to attribs.m aswell.. nothing will happen if you don't recompile tho, don't worry)


Now, on to another thing:
I earlier talked about making the button glow animations faster, as they are way to slow..
The only way I could come up with was using a timer and getSkipped(), but that only allowed me to do it on one button at a time, otherwise an animation would get interrupted and stopped when another would start.
The 'solution' to that problem would be to make all glowbuttons XUI objects, and thus a new instance of the timer script would be made for each button.
the script would look like this:
PHP Code:
#include <lib/std.mi>
#include "lib/attribs.m"

Function animateGlow(Int value);

Global 
Button Btn;
Global 
Timer tmrGlow;

Global 
Int curValuenewValue;
Global 
Boolean myChange;

System.onScriptUnloading () {
  
delete tmrGlow;
}

System.onScriptLoaded() {
  
initAttribs();
  
Btn getscriptgroup().findobject("glowbutton.button");
  
tmrGlow = new Timer;
  
tmrGlow.setDelay(10);
  
Btn.setAlpha(0);
}

Btn.onLeftButtonDown(int xint y) {
  
myChange 1;
  
animateGlow(255);
}

Btn.onLeftButtonUp(int xint y) {
  
myChange 0;
  
animateGlow(0);
}

Btn.onEnterArea() {
  if (
myChangeanimateGlow(255);
  else 
animateGlow(128);
}

Btn.onLeaveArea() {
  
animateGlow(0);
}

animateGlow(Int value) {
  if (
myattr_animateButtonGlow.getData() == "0") {
    
Btn.setAlpha(value);
    return;
  }
  
newValue value;
  
curValue Btn.getAlpha();
  
tmrGlow.start();
}

tmrGlow.onTimer() {
  if (
curValue == newValue) {
    
stop();
  } else {
    
int n getSkipped() + 80;
    for (
int i 0ni++) {
      if (
curValue newValuecurValue += 1;
      else if (
curValue newValuecurValue -= 1;
      else break;
    }
  }
  
Btn.setAlpha(curValue);

And then one for togglebuttons aswell.

However, since almost all buttons that need this kind of script have some extra, different behaviour (pause btn need to stay glowing on pause, play/stop btns replace each other, repeat btn have three states, etc) I would actually have to _still_ make 7 of theese scripts, and that's just way too many imo.. It would be an ugly ass solution, but it would work tho..

So, any suggestions?
Attached Files
File Type: zip winique-scriptfix-2005-10-18.zip (38.6 KB, 310 views)
Plague is offline   Reply With Quote
Old 21st October 2005, 12:36   #69
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
ping?

echo!? ... echo.. echo... echo.... echo........
Plague is offline   Reply With Quote
Old 21st October 2005, 17:45   #70
leechbite
Major Dude
 
leechbite's Avatar
 
Join Date: Sep 2003
Location: Canada
Posts: 635
Send a message via Yahoo to leechbite
this might be an option:

remove all onLeftButtonDown, onLeftButtonUp, onEnterArea etc. from the XUI script and place instead:
PHP Code:
onSetXuiParam(String paramString value) {
    
param strlower(param);
    if (
param == "glow") {
        
animateGlow(stringToInteger(value)); 
    }

then by put all the onLeftbuttons and OnEnterAreas's on the main script, like this:

PHP Code:
pauseXUIButton.onLeftButtonUp(int xint y) {
    
group parentXUI getParent();
    
parentXUI.setXMLParam("glow","255");

still be a long script though.
leechbite is offline   Reply With Quote
Old 22nd October 2005, 14:55   #71
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
yea, it'll still be a long script, but that's not the problem, since I still have to make 7 of them.
plus, separating stuff like that into several scripts, when not needed, seems like a messy thing to do imo.

I think I'm just gonna have to bite the apple and do the 7 scripts.. it's a moronic solution to a problem that shouldn't exist, but so far it's the only one I have..
Plague is offline   Reply With Quote
Old 29th October 2005, 16:15   #72
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
unfortunately, since it seems I can't get much help/input (really appreciate the help/input I've received so far) from the users on this forum, the skin will take alot longer to finish, as I'll have to find ways to solve the issues mentioned in this thread and since I've mentioned them here it means I'm having trouble finding good solutions myself.

so, for the time beeing atleast, this project is taking the back seat..
I'm working on something else atm..
Plague is offline   Reply With Quote
Old 3rd January 2007, 17:59   #73
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
new build!!

Yo!
It's that time again, when I get all whacky and decide to share shit with y'all.. Crazy, I know..

Anyways, changelog:
  • Changed AVS back to using regions again (yay), instead of the complicated hack it used before
  • Added lots of Visualization settings and options. Eye candy heaven, wheeee!!
  • Changed "Spectrum" and "Waveform" description texts to "Spectrum Analyzer" and "Oscilliscope" to fit better with Winamp (100% Sonique clone is not interesting to me, some things are actually better if they're slightly changed)
  • uuh, nothing more I think.. Can't bloody remember what I've done with this since march 2006..
So, anyone interested in the continuation of this, feel free to hunt bugs and read up on previous stated issues and see if they're still there.
Also, anyone with solutions to previously stated problem areas, feel free to share..

Winique-2007-01-03.wal
Plague is offline   Reply With Quote
Old 4th January 2007, 16:22   #74
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
good work! :thumb up:

WebSite: www.skinconsortium.com - Community for Userinterface Design & Coding
Skins: Click Here
martin.deimos is offline   Reply With Quote
Old 5th January 2007, 11:39   #75
Koopa
16-Bit Moderator
 
Koopa's Avatar
 
Join Date: Apr 2004
Posts: 4,341
Well done.

You should change the behavior of the resizing, doesn't matter where you click, you can resize the video/Library/playlist window everywhere, that makes it really hard to move the position of these windows.
Koopa is offline   Reply With Quote
Old 5th January 2007, 14:40   #76
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
umm, I really don't know what you're talking about..
It's only the border that is resizable, or atleast it should be.
Moving the windows is done by dragging the titlebar on them, that's a good 14 pixel height times whatever the width, so it's not exactly hard to hit..

I'm not sure how else you want it done..
If it doesn't work like I've described for you, then I'm wondering if anyone else have the same problem?
Plague is offline   Reply With Quote
Old 5th January 2007, 18:20   #77
SLoB
Major Dude
 
SLoB's Avatar
 
Join Date: Jul 2003
Location: UK
Posts: 1,316
I think martin is coming from most people would try and move the frame with the top metal part and wouldnt think to click/drag the title on first use as it looks part of the inner of the pl/ml etc rather than a moving section of the frame and as most frames have the title in the very top of the frame which is mostly moveable, perhaps put in a mask on most of the top metal part so it can be moved?

nice and feature packed, cool analyzer colours and the nav mode, not sure if your doing much else with this but it could use some smoothing on the edges, drop shadow for dta mode and perhaps some alternate style images for the backgrounds on normal & nav mode
SLoB is offline   Reply With Quote
Old 5th January 2007, 19:24   #78
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
well, the standardframe was taken from the skinning editor for sonique, and that editor had the entire metal frame resizable. so that's one reason for having it this way..
the other reason is that it simply is more logical, otherwise I think it would be best to have a mask that covers a certain amount of the metal around the whole thing, not just at the top, cos why should the top have a smaller resize area than any other part of the skin?

nah, I think I'll just leave it as is.. I really don't think it's hard to figure out how to move a window and there is plenty of space to click and drag in order to move, so you're not likely to miss if you try.
hell, both the winamp2 and the winamp3 default skins have waaay less space to click and drag in order to move a window than this one does, and that works out fine for people..

smoothing the edges won't be done, as it wasn't done on the original sonique skin.
drop shadows (and smoothing edges) can only be applied to the main window, and since the main window has an avs component in it when in mid and nav mode, it can't even be done there, so not much point..
alternate style images for the backgrounds.. well, where would I find any, and why?
this is the main skin for sonique, why change it to something it's not?

thanks for the comments though..
Plague is offline   Reply With Quote
Old 16th January 2007, 18:39   #79
Vibestar
Senior Member
 
Vibestar's Avatar
 
Join Date: Nov 2002
Posts: 235
Looks cool tho
Vibestar is offline   Reply With Quote
Old 16th January 2007, 22:53   #80
Plague
f(caffeine){
return wasabi;
}
(Forum King)
 
Plague's Avatar
 
Join Date: Jul 2001
Location: Sweden
Posts: 3,984
Thanks man
Plague 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