Page 1 of 1

rotational volume control?

PostPosted: October 4th, 2006, 9:56 am
by SLoB
is it possible to add a rotational layer for controlling volume?
would open up even more possibilities for design, either xion controls the map for the values based on a parameter on the layer with volume knob or we add our own map with the animation layer above it

PostPosted: October 4th, 2006, 10:13 am
by winmodify
yea that would be awesome...

PostPosted: October 4th, 2006, 10:32 am
by Cliff Cawley
I've been thinking about how to do this for a while, and probably the best thing I can come up with, is to do it similar to how you make the left and right speaker volume controls.

The more frames you put in, the smoother it will be. That way it can be a volume control that doesn't just conform to rotating. You could make it do all sorts of whacky things, the 'fuller' it gets.

What do you think?

Cliff :)

PostPosted: October 4th, 2006, 6:18 pm
by SLoB
hmm, the rotation control on my upcoming winamp skin Walpha (shameless plug ;)) has only 6 frames for the little grab parts and looks smooth on rotation but the easiest thing from the skinning pov would be to add a param such as rt(0/1) for rotation,direction and that would rotate any layer (or layer set) forward, backward
if layer set then could loop thru the frames of animation or if a single layer rotate that layer, altho from the looks of how Xion works the layer set of animation seems quickest route?
either way it would work altho layer set with animation would probably be best choice as you said you could add all kinds of stuff, too many layers wouldnt make much sense

PostPosted: October 5th, 2006, 12:56 am
by White Rabbit
Hmmm, so Cliff, if I understand, your idea is that this new type of volume control would basically be like an animation layer, but instead of playing through the animation it would be controlled by the mouse - i.e. you drag it clockwise it plays the animation forward and raises the volume, drag counter clockwise and it plays it backward and lowers the volume. Am I close?

This would indeed allow for some very interesting volume controls my only question is, how do you intend to figure out that some mouse movement corresponds to what the designer figured would be the "raise volume" direction, or "lower volume" direction? Even with rotational controller you would need to detect circular movement, but if somebody decides to do something weirder then it would be even harder. So with this in mind I was thinking, would it be possible to make use of paths? If that were possible you could assign controls that can only move according to some path and so people could make volume and track bars in any shape they want.

PostPosted: October 5th, 2006, 2:38 am
by SLoB
White Rabbit
the normal use for rotation layer is done by a gradient map by angle which has light to dark with values equating between 0 - 100, therefore the value is known no matter where the mouse is on that layer and volume is changed accordingly, which might be the best route to add to Xion depending on how the x,y coords work within the engine

so for example you have a map layer n*n and this would form the basis for the volume knob, this would of course be invisible to the user and above this layer will be either the layerset or single layer which would either rotate or step through the layers

PostPosted: October 5th, 2006, 4:24 am
by White Rabbit
I see what you mean. Yeah that would work very well for a rotational control, I'm still however curious about integrating paths into the system, I think that would open up a ton of new possibilities :)

PostPosted: October 5th, 2006, 4:27 am
by SLoB
yes it would mean you could also have irregular shapes/layers being rotated possibly with vu for example or even a whole skin or sections of the skin rotating around :)
for example say you have a circular skin and want to put in a marker which rotates around the skin depending on if the user clicked the play button etc... altho thats kinda workable as it is now with some clever use of animation sets with pointing the modify if play button pressed etc..

PostPosted: October 5th, 2006, 11:09 pm
by Cliff Cawley
Yeah, I've given it a bit of thought and there are several ways of doing it.

I'll have to see which way I end up doing it so that it is the easiest to use. I may end up supporting both methods to allow for maximium functionality.

Cliff :)