Well it turns out that implementing features is addictive... ;) I decided to learn a bit of the code layout this weekend and implemented CDJ style cue buttons.

I added a new ConfigKey/ControlObject storing the preference of "CDJ Mode" or "Simple", and a new action "cdj_default" which acts as a cue button depending on which mode the user has selected. Also, there's a new "cue_cdj" which always behaves like a CDJ cue button.

I added the options in the Interface section under Preferences. Also, as a demo, I only changed the outlineSmall skin cue buttons. I have also tested with my Torq Xponent and it works fine.

NB: in order for the buttons to work, a skin has to trigger "cue_default" on mousedown and mouseup. This caused me a bit of confusion for a while.. :)

Summary of behaviour:

    /* This is how CDJ cue buttons work:
     * If pressed while playing, stop playback at go to cue.
     * If pressed while stopped and at cue, play while pressed.
     * If pressed while stopped and not at cue, set new cue point.

I did not implement:

* TODO: If play is pressed while holding cue, the deck is now playing.

As I saw no easy way to do it just in enginebuffercue.cpp, and I need to think of a good way to do it.

Hope this was helpful,

Tom (aka psyc0de)

Attachment: newcue.patch
Description: Binary data




-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to