Numark NS4FX Beat Jump#16415
Conversation
* Add an option to use the second row of transport pads to control beat jump in Auto Loop mode. * Pad 5 jumps backwards, 6 decreases beat jump, 7 increases beat jump and 8 jumps forwards. * Shift & second row pad jumps by number of beats configured in controller preferences.
tbazant
left a comment
There was a problem hiding this comment.
Looks good from my POV, just a minor stylish issue.
| <option type="integer" variable="shiftPad5JumpBeats" min="-512" max="512" default="-4" description="Shift Auto Loop Jump size key 5"/> | ||
| <option type="integer" variable="shiftPad6JumpBeats" min="-512" max="512" default="-1" description="Shift Auto Loop Jump size key 6"/> | ||
| <option type="integer" variable="shiftPad7JumpBeats" min="-512" max="512" default="1" description="Shift Auto Loop Jump size key 7"/> | ||
| <option type="integer" variable="shiftPad8JumpBeats" min="-512" max="512" default="4" description="Shift Auto Loop Jump size key 8"/> | ||
| </group> |
There was a problem hiding this comment.
You probably must explain these values in a new PR in https://github.com/mixxxdj/manual/blob/2.6/source/hardware/controllers/numark_ns4fx.rst
thanks! Co-authored-by: Tomáš Bažant <tbazant@suse.com>
|
Welcome at Mixxx! |
|
Hi @JoergAtGithub . I've now signed the Mixxx Contributor Agreement. Please let me know if I should do something about the failing checks shown. The hooks found issues in unrelated files here, but some of those ones do perhaps look related to my change. |
There was a problem hiding this comment.
Pull request overview
Adds an optional “beat jump” function to the Numark NS4FX controller mapping so the bottom row of transport pads can control beat jumping while the performance pad mode is set to Auto Loop, with configurable SHIFT jump sizes.
Changes:
- Introduces a new controller preference (
useAutoLoopBeatJump) and per-pad SHIFT jump size preferences. - Routes transport pad presses to beat-jump actions when in Auto Loop mode (back / size down / size up / forward).
- Adds script-side handlers to implement beat jump and beatjump_size adjustments.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| res/controllers/Numark-NS4FX-scripts.js | Adds settings + routes transport pads to new beat-jump handlers in Auto Loop mode. |
| res/controllers/Numark NS4FX.midi.xml | Adds preferences for enabling the feature and configuring SHIFT beat jump sizes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
| hotcueButton.input(channel, control, value, status, group); | ||
| } else if (isBeatJumpModeForTransport) { | ||
| deck.autoloop_buttons[padNumber + 4].input(channel, control, value, status, group) |
| this.autoloop_buttons[9 - i] = new components.Button({ | ||
| input: function(channel, control, value, status) { | ||
| const deckGroup = `[Channel${deck.number}]`; // Deck group based on deck number | ||
| if (useAutoLoopBeatJump) { | ||
| if (value > 0) { // only trigger on press | ||
| if (NS4FX.shift) { | ||
| NS4FX.dbg(`SHIFT on transport pad ${this.transportPadNumber} on deck ${deck.number}. Jump by ${shiftAutoloopJump[this.transportPadNumber]} beats`); | ||
| engine.setValue(deckGroup, "beatjump", shiftAutoloopJump[this.transportPadNumber]); |
| parseInt(engine.getSetting("shiftPad5JumpBeats")), | ||
| parseInt(engine.getSetting("shiftPad6JumpBeats")), | ||
| parseInt(engine.getSetting("shiftPad7JumpBeats")), | ||
| parseInt(engine.getSetting("shiftPad8JumpBeats")) | ||
| ] |
| <option type="integer" variable="shiftPad5JumpBeats" min="-512" max="512" default="-4" description="Shift Auto Loop Jump size key 5"/> | ||
| <option type="integer" variable="shiftPad6JumpBeats" min="-512" max="512" default="-1" description="Shift Auto Loop Jump size key 6"/> | ||
| <option type="integer" variable="shiftPad7JumpBeats" min="-512" max="512" default="1" description="Shift Auto Loop Jump size key 7"/> | ||
| <option type="integer" variable="shiftPad8JumpBeats" min="-512" max="512" default="4" description="Shift Auto Loop Jump size key 8"/> |
|
Thanks for the comments. I'll take a look and update my changes. |
Add an option to use the second row of transport pads to control beat jump in Auto Loop mode.
Pad 5 jumps backwards, 6 decreases beat jump, 7 increases beat jump and 8 jumps forwards.
Shift & second row pad jumps by number of beats configured in controller preferences.