mixxx
mixxx copied to clipboard
[WIP] Mapping Roland DJ-202
There's still a lot to be done, see https://www.mixxx.org/forums/viewtopic.php?f=7&t=11664 https://github.com/Lykos153/mixxx/issues
Manual: https://github.com/mixxxdj/manual/pull/629
@Be-ing I would propose targeting this PR towards 2.1 and deliver the mapping with a fix release.
@Lykos153 Silvio, would you like to switch the target branch from master to 2.1? I think it is a good idea to distribute this mapping in one of the upcoming 2.1 fix releases. I already assigned the 2.1.x milestone.
Please leave a comment when this has been documented and is ready for review.
What's the state of this PR? It contains many unrelated changes. Only 2 files should be added as for example in #2111 for the Roland DJ-505. Please rebase or rebuild the branch and remove all unrelated commits.
It would be great if Mixxx 2.3 supports both Roland controllers.
There's also an improved version developed by forum user upCASE. Might make sense to open a new PR with that one.
What's the state of this PR? It contains many unrelated changes. Only 2 files should be added as for example in #2111 for the Roland DJ-505. Please rebase or rebuild the branch and remove all unrelated commits.
@uklotzde the weird delta is due to the fact that the PR’s target branch has been reset from the branch Silvio originally forked off from. I finally got around to rebasing our changes onto the current Mixxx master. Could @Lykos153 or one of the maintainers change the PR’s target branch accordingly?
I propose that @upcase closes #2116 and @Lykos153 instead grant him membership to his fork, so he can push his new commit into this PR. Preserving our branch history rather than copying the latest file in verbatim would make it much easier on future contributors and would also be clearer in terms of attribution.
I added a reference of controller input bindings to the wiki.
In case we cannot get a hold of @Lykos153 I can also push @upcase’s commits here once he’s rebased them.
Whatever suits you, I'll follow your lead :-). My main goal is to finally have a working mapping for the DJ 202 in Mixxx (hopefully to be included in the 2.3 release along with the 505 mapping). Two things would still be missing, that's why my PR is WIP: The init problem (Holzhaus reworked the Deck handling for the 505 a bit to get around this, as far as I could tell from a quick glance) and a proper wiki page (I'll see when I find the time to update that for my changes to the modes). Apart from that it should work just nicely. I left the slicer active for now, maybe I could add a flag for that. It works to some extend, but it's quite hard to use as there is now graphic feedback in Mixxx itself (I don't think this to be top prio).
Just added @upCASE as collaborator and changed the target branch.
We now have two different PRs for the DJ-202, this one and #2116. What are the differences and how could we combine both? Please negotiate on a leading branch for the PR where all changes from different contributors are integrated first. Whovever hosts this branch in his repo is responsible for coordinating the various contributions.
The wiki page should be linked in the description: https://www.mixxx.org/wiki/doku.php/roland_dj-202
Please keep this up-to-date while you are working on the mapping.
The differences are that my version includes modes like Pitchplay, Cueloop, Roll, Slicer, etc. It tries to behave more like it would using Serato by default, so that the labels on the controller actually mean something :-) As I based this of the original version by @Lykos153 and he added me as collaborator, I'll see if I can rebase my changes and the close #2116. I'll also try to get the documentation up to date. Please be lenient toward me as this may take some time to complete, I have a day job and family :-D
@upCASE Any news? What's the status of this? The milestone should probably be changed to 2.3.0 or 2.4.0.
Controller mappings are not tied to any milestone unless they depend on a new feature that will be introduced in an upcoming version of Mixxx. Otherwise, they can be merged to the stable branch whenever they have been reviewed.
Hi all, Sorry for the delay. Status on this is unchanged. It works nicely but I still couldn't figure out how to change the initialization so that decks 3 & 4 don't overwrite the settings. Documentation is still missing. I planned to strip down the 505 version, but I never seem to find the time. Help would be appreciated.
@upCASE
Help would be appreciated.
What help do you need?
By the way, since the Roland DJ-202 does not feature colored pads (support for them is 2.3 only) you can safely rebase this on the 2.2 branch: https://mixxx.org/wiki/doku.php/using_git#targeting_another_base_branch
I'll convert this to draft until the remaining issues are fixed.
@upCASE @Lykos153 Any plans to get this PR finished?
Plans yes, time not so much... I'm actually not even up-to-date about what exactly is missing to get this merged. I don't use so many features myself, so I was kind of satified with what I have. I haven't tried @upCASE's rebased version yet, but scrolling through this thread I guess what's missing is mainly decks 3/4 and documentation. If we can accept that decks 3/4 are not supported for now, I think I could put some time into proper documentation. However, I can't currently spare time to tinker and debug.
There is no need to make a 2 deck controller work with 4 decks. But we do need documentation to merge this.
Hi all, sorry, but amidst Coding-for-work, kids and Corona, time seems to be even more sparse then ever... I wasn't able to refactor the code for more than a half year, work on the documentation or touch the Controller... My version added things like Pitchplay, Cueloop, Roll, Slicer, etc. and tries to behave a bit more like when being used with Serato as stated in the docs from Roland. These features would need to be documented.
4-Deck-control is actually working, you're able to switch to these decks on the controller. The problem is, that when the controller is initialized when Mixxx starts, the settings for Decks 3/4 overwrite the settings for 1/2. So, you start out with wrong settings for 1/2. I was never able to figure out why this happens exactly. This is inconvenient, but not a real showstopper, as long as you don't forget to move the sliders once before performing.
My plan was to rework this completely, using the 505 code and strip out what the 202 doesn't support. Actually they have much in common. But seeing that I'm not even able to spend time on the documentation and finish simple things, I guess that is out of reach. It works great for the most part, Slicer is not that handy as it lacks visual support, but it's still a bit hacky. If somebody with more time would take over I'd be very grateful.
There is no need to make a 2 deck controller work with 4 decks.
Well, the DJ-202 has buttons to switch to decks 3/4, so we should support it eventually. But I'd be okay with leaving those buttons unmapped if you don't have time to fix that issue.
@upCASE Any chance to get this mapping finished for 2.3.0 ?
There is no need to make a 2 deck controller work with 4 decks.
Well, the DJ-202 has buttons to switch to decks 3/4, so we should support it eventually. But I'd be okay with leaving those buttons unmapped if you don't have time to fix that issue.
Support for Decks 3/4 is already working, no need for any changes there.
@upCASE could you please rebase this branch on latest 2.3, so we have eslint config. I would try to make pre-commit checks happy.
Hi @iRet, That would be great! I need to check a small fix for sorting as well. I won't be able to do any work on this this week (maybe even the next). @Lykos153 could you please add @iRet as contributor to the repo so that he can work on this without having to wait for me or you?
@iRet please check the output of the pre-commit check. There are some code style issues.
@Holzhaus Thanks for the heads-up, I have already fixed this in a brach, will merge it soon! After some testing.
Code style issues have been fixed. What is the status here? What is missing or not working correctly?
Also, please fork the mixxxdj/manual repo, branch off from the 2.3 branch and add a manual entry. You can use the Roland DJ-505 manual page as a template.