Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the Twister a 4 deck controller #14557

Open
wants to merge 10 commits into
base: 2.5
Choose a base branch
from

Conversation

SamWhited
Copy link
Contributor

@SamWhited SamWhited commented Mar 27, 2025

This does not change any functionality by default except that the LED below each button automatically becomes an indicator letting you know the controller is centered.

It does, however, make the controller work with all 4 decks by rewriting it in ComponentsJS.
It lets you select independently which side of the controller is being used for what (as opposed to changing the entire controller between decks 1, 2 and 3, 4), so you could be making changes to decks 1 and 4 at the same time, for example.

This also paves the way for mapping the other layers (eg. to an effects controller) at a later date.

There is currently no manual page for this controller to update.

@SamWhited SamWhited force-pushed the djtechtools_twister_componentjs branch from ea205d9 to 50bac15 Compare March 27, 2025 19:00
Copy link
Member

@JoergAtGithub JoergAtGithub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not replace semantic XML mapping by scripting if it is not technically mandatory. As semantic mapping is machine readable and easy to modify by users.

@SamWhited
Copy link
Contributor Author

SamWhited commented Mar 27, 2025

Please do not replace semantic XML mapping by scripting if it is not technically mandatory. As semantic mapping is machine readable and easy to modify by users.

It is not possible to make this a 4 deck controller (which is done as part of this PR) with only an XML mapping, nor will it be possible to add a full effects control system later, or improve the LED usage, which is what I'd like to do with this controller.

EDIT: I've updated the title to make it clearer what this does, as I'm assuming that is what got read that made it look like it was a change just to how the mappings worked.

This does not change any functionality by default except that the LED
below each button automatically becomes an indicator letting you know
the controller is centered.

It does, however, change the entire binding over to use ComponentJS
which in turn allows us to use two of the side buttons to toggle the
left and right sides of the controllers between decks.

Signed-off-by: Sam Whited <[email protected]>
@SamWhited SamWhited force-pushed the djtechtools_twister_componentjs branch from 50bac15 to ecd7731 Compare March 27, 2025 19:05
@SamWhited SamWhited requested a review from JoergAtGithub March 27, 2025 19:07
@SamWhited SamWhited changed the title Use ComponentJS for the Twister bindings Make the Twister a 4 deck controller and rewrite using ComponentJS Mar 27, 2025
@SamWhited SamWhited changed the title Make the Twister a 4 deck controller and rewrite using ComponentJS Make the Twister a 4 deck controller Mar 27, 2025
@JoergAtGithub JoergAtGithub dismissed their stale review March 27, 2025 19:30

Ok, if scripting is needed for functionality it's fine

@SamWhited
Copy link
Contributor Author

SamWhited commented Mar 30, 2025

Added a commit allowing the gain knob LED (for both the main gain and the decks) to be used as a peak indicator and a setting to enable/disable it and select the color of the indicator as well as a similar setting to use the tempo knob button as a beat indicator (this one is off by default to avoid flashing distractions, but could be used when beat syncing).

@SamWhited SamWhited force-pushed the djtechtools_twister_componentjs branch 2 times, most recently from 128c1b7 to 4a563a6 Compare March 30, 2025 00:20
@SamWhited SamWhited force-pushed the djtechtools_twister_componentjs branch from 4a563a6 to d0946ae Compare March 30, 2025 00:20
@SamWhited SamWhited force-pushed the djtechtools_twister_componentjs branch from 6f92ebd to a3da78c Compare March 30, 2025 00:35
@SamWhited
Copy link
Contributor Author

I've made a companion PR to document this controller here: mixxxdj/manual#747

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants