Hi Jus, The <NumberStates> tag means "number of states" for toggle buttons Mixxx has.
For example, the track end-mode indicator in the outline skin says "STOP/NEXT/LOOP/PING", but it's implemented as a button with those 4 corresponding states. The <Number> tag identifies the index of the <State> block. I believe each time you click on one of these multi-state buttons, it flips to the next state. The <EmitOnDownPress> tag looks like it tells Mixxx to trigger the button's connection as soon as you press your mouse button down. If you compare that with a regular push button in Windows, Mac OS X, or GNOME, the action of the button only occurs when you _release_ your mouse button (not when you press it). Lastly, the <ButtonState> tag looks like it tells Mixxx that the given connection should be triggered when that particular mouse button (left or right) is down. In the example you listed below, it shows the left-clicking on the play button tells Mixxx to "play" on channel 1, which right-clicking on it would tell Mixxx to set the cue point at the current position. Hope this helps (and I hope it's correct)! :) Thanks for documenting all this stuff, Albert On Thu, Jun 3, 2010 at 12:51 AM, jus <[email protected]> wrote: > Hello, > Can someone please explain the meaning of the <NumberStates> and <Number> > keys in conjunction with the <EmitOnDownPress> and <ButtonState> keys in > skin.xml? > I would like to put that explanation in the skinning documentation. > Example 1: > <PushButton> > <Tooltip>Left Click: Pause/play, Right Click: Set cue point</Tooltip> > <NumberStates>2</NumberStates> > <State> > <Number>0</Number> > <Pressed>btn_play1.png</Pressed> > <Unpressed>btn_play1.png</Unpressed> > </State> > <State> > <Number>1</Number> > <Pressed>btn_play1_over.png</Pressed> > <Unpressed>btn_play1_over.png</Unpressed> > </State> > <Pos>57,307</Pos> > <Connection> > <ConfigKey>[Channel1],play</ConfigKey> > <EmitOnDownPress>true</EmitOnDownPress> > <ButtonState>LeftButton</ButtonState> > </Connection> > <Connection> > <ConfigKey>[Channel1],cue_set</ConfigKey> > <EmitOnDownPress>true</EmitOnDownPress> > <ButtonState>RightButton</ButtonState> > </Connection> > </PushButton> > Example 2: > ( makes somehow no sense to me , may even wrong cause of the > different <EmitOnDownPress> values for > the <ButtonState>LeftButton</ButtonState>): > <PushButton> > <Tooltip>Set and activate Hotcue, delete Hotcue > (right-click)</Tooltip> > <NumberStates>1</NumberStates> > <State> > <Number>0</Number> > <Pressed>btn_hotcue1_over.png</Pressed> > <Unpressed>btn_hotcue1.png</Unpressed> > </State> > <Pos>375,307</Pos> > <Connection> > <ConfigKey>[Channel1],hotcue_1_activate</ConfigKey> > <EmitOnDownPress>true</EmitOnDownPress> > <ButtonState>LeftButton</ButtonState> > </Connection> > <Connection> > <ConfigKey>[Channel1],hotcue_1_activate</ConfigKey> > <EmitOnDownPress>false</EmitOnDownPress> > <ButtonState>LeftButton</ButtonState> > </Connection> > <Connection> > <ConfigKey>[Channel1],hotcue_1_clear</ConfigKey> > <EmitOnDownPress>true</EmitOnDownPress> > <ButtonState>RightButton</ButtonState> > </Connection> > </PushButton> > > > Thank you. > jus > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Mixxx-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mixxx-devel > > ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
