mixxx icon indicating copy to clipboard operation
mixxx copied to clipboard

[WIP] Mapping Roland DJ-202

Open Lykos153 opened this issue 6 years ago • 80 comments

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

Lykos153 avatar Apr 09 '18 20:04 Lykos153

@Be-ing I would propose targeting this PR towards 2.1 and deliver the mapping with a fix release.

uklotzde avatar Apr 14 '18 19:04 uklotzde

@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.

uklotzde avatar Apr 17 '18 10:04 uklotzde

Please leave a comment when this has been documented and is ready for review.

Be-ing avatar May 12 '18 18:05 Be-ing

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.

uklotzde avatar May 13 '19 19:05 uklotzde

There's also an improved version developed by forum user upCASE. Might make sense to open a new PR with that one.

Holzhaus avatar May 13 '19 19:05 Holzhaus

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.

eigengrau avatar May 19 '19 13:05 eigengrau

I added a reference of controller input bindings to the wiki.

eigengrau avatar May 19 '19 13:05 eigengrau

In case we cannot get a hold of @Lykos153 I can also push @upcase’s commits here once he’s rebased them.

eigengrau avatar May 19 '19 13:05 eigengrau

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).

upCASE avatar May 19 '19 15:05 upCASE

Just added @upCASE as collaborator and changed the target branch.

Lykos153 avatar May 20 '19 10:05 Lykos153

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.

uklotzde avatar May 21 '19 07:05 uklotzde

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.

uklotzde avatar May 21 '19 07:05 uklotzde

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 avatar May 21 '19 08:05 upCASE

@upCASE Any news? What's the status of this? The milestone should probably be changed to 2.3.0 or 2.4.0.

Holzhaus avatar Nov 11 '19 23:11 Holzhaus

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.

Be-ing avatar Nov 11 '19 23:11 Be-ing

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 avatar Nov 14 '19 08:11 upCASE

@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

Holzhaus avatar Feb 01 '20 17:02 Holzhaus

I'll convert this to draft until the remaining issues are fixed.

Holzhaus avatar Oct 18 '20 13:10 Holzhaus

@upCASE @Lykos153 Any plans to get this PR finished?

Holzhaus avatar Dec 03 '20 18:12 Holzhaus

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.

Lykos153 avatar Dec 04 '20 00:12 Lykos153

There is no need to make a 2 deck controller work with 4 decks. But we do need documentation to merge this.

Be-ing avatar Dec 04 '20 00:12 Be-ing

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.

upCASE avatar Dec 04 '20 07:12 upCASE

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.

Holzhaus avatar Dec 04 '20 07:12 Holzhaus

@upCASE Any chance to get this mapping finished for 2.3.0 ?

JoergAtGithub avatar Mar 07 '21 22:03 JoergAtGithub

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 avatar Apr 14 '21 07:04 upCASE

@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.

iRet avatar Apr 25 '21 19:04 iRet

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?

upCASE avatar Apr 27 '21 06:04 upCASE

@iRet please check the output of the pre-commit check. There are some code style issues.

Holzhaus avatar Apr 29 '21 09:04 Holzhaus

@Holzhaus Thanks for the heads-up, I have already fixed this in a brach, will merge it soon! After some testing.

iRet avatar Apr 29 '21 10:04 iRet

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.

Holzhaus avatar Apr 29 '21 16:04 Holzhaus