-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Mappings for Pioneer DDJ SB3 Controller #3821
Conversation
I've submitted the manual changes: mixxxdj/manual#379 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, some comments. @Swiftb0y Wanna take another look?
controlsToFunctions.slipEnabled = "PioneerDDJSB3.slipLed"; | ||
|
||
for (i = 1; i <= 8; i++) { | ||
controlsToFunctions["hotcue_" + i + "_enabled"] = "PioneerDDJSB3.hotCueLeds"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's pretty inefficient to update all hotcue LEDS when changing just a single hotcue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed this and this particular section is just setting up the mapping of the function to the control, it is not updating / changing the hotcues. This function runs once as part of the init routine.
hotCueLeds function itself only updates one hotcue when called.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't look like it to me, it iterates over every single hotcue: https://github.com/mixxxdj/mixxx/pull/3821/files/838d17c172d0900ec200843af49479a9d667422c#diff-d5f946ca1b4972678ca7b6f9a6e80d25c1ad128ab7986944d89409e3ebd425c2R1222
Yes, Started my review yesterday, but I'm not sure when it'll be finished. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for submitting your mapping. I'm not yet finished reviewing but these are my remarks on the first 1150 lines.
PioneerDDJSB3.deckSwitchTable = { | ||
"[Channel1]": "[Channel1]", | ||
"[Channel2]": "[Channel2]", | ||
"[Channel3]": "[Channel3]", | ||
"[Channel4]": "[Channel4]" | ||
|
||
}; | ||
|
||
PioneerDDJSB3.deckShiftSwitchTable = { | ||
"[Channel1]": "[Channel3]", | ||
"[Channel2]": "[Channel4]", | ||
"[Channel3]": "[Channel1]", | ||
"[Channel4]": "[Channel2]" | ||
}; | ||
|
||
PioneerDDJSB3.deckIndexTable = { | ||
"[Channel1]": 0, | ||
"[Channel2]": 1, | ||
"[Channel3]": 2, | ||
"[Channel4]": 3 | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whats the purpose of this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to support the 4 deck configuration. The controller only has 2 physical decks but when you select the deck 3 and 4, other "virtual" decks are enabled. These lookup tables are used to handle the shifted decks.
That said, the deckIndexTable isn't needed so I've removed that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mhmm. I understand, its just a weird way to implement it.
Thanks for signing the contributor agreement ✔️ It would be cool if we could merge this PR before releasing 2.3.0. Do you have time to resolve the review comments? |
I will make the changes this weekend. I am finishing up the manual changes. I will submit that today and move on to this. |
A minor code style issue left to fix. @Holzhaus The manual PR mixxxdj/manual#379 is almost ready? Only a link check failure. |
...and some unresolved comments by @Swiftb0y. |
I haven't made any progress. I'm still limited on time, I'm happy to transfer the repo over if anyone is interested. Seems I would need to rebase onto the 2.3.2 branch then, in order to continue working on this and change the target branch of the PR? Can you confirm? |
We don't make separate branches for minor releases; we only make new Git tags. We will keep using the 2.3 branch. So there is no need to rebase. |
Hi, I am done with the changes requested. Let me know if I missed anything. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, last comment, LGTM otherwise.
I have pushed the update which enables hotcues 5-8. I will move on to fixing the documentation. |
i think that's the last of the requested changes, but lmk if anything else needs to be changed |
pre-commit is complaining about trailing whitespace in your XML. It's not really an issue, but I'd prefer to merge without precommit complaining. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for mapping this controller. It'll likely be released in Mixxx 2.3.2
Am I doing something wrong, or does this mapping still not work for decks 3/4 when you're using an external soundcard? I read somewhere else that one might be able to launch mixxx with the DDJ-SB3 internal soundcard selected (which does seem to work) and then switch back to the external card, but I almost immediately got an error:
I got this error once before when I tried to use the shift button to change the decks (prior to trying the trick of changing the soundcard), but I also got it again after. In that second case, I had hit the shift button to use the platter to skip forward quickly. After that the deck button stopped being illuminated and I was no longer able to select decks 3/4. Not sure this is enough info to be helpful, but I'll try to replicate the steps more carefully later. Also, just want to know if there's something else I should be doing to make the deck 3/4 switching work correctly. Thanks for all your work on this! |
@travstone |
@Swiftb0y confirmed; when I comment that line I no longer get an error for either of the cases, all good there. |
Hello!
Here is the mapping for the DDJ SB3 controller. I think I've got the prior issues resolved. I have not finished updating the manual yet.