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

[WIP] Mapping Roland DJ-202 #1595

Draft
wants to merge 108 commits into
base: 2.4
Choose a base branch
from
Draft

Conversation

Lykos153
Copy link

@Lykos153 Lykos153 commented Apr 9, 2018

@uklotzde
Copy link
Contributor

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

@uklotzde uklotzde added this to the 2.1.x milestone Apr 17, 2018
@uklotzde
Copy link
Contributor

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

@Lykos153 Lykos153 changed the base branch from master to 2.1 April 17, 2018 15:05
@Be-ing
Copy link
Contributor

Be-ing commented May 12, 2018

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

@daschuer daschuer modified the milestones: 2.1.x, 2.2.x Jan 13, 2019
@Holzhaus Holzhaus mentioned this pull request May 13, 2019
16 tasks
@uklotzde
Copy link
Contributor

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.

@Holzhaus
Copy link
Member

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

@eigengrau
Copy link
Contributor

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
Copy link
Contributor

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

@eigengrau
Copy link
Contributor

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

@upCASE
Copy link

upCASE commented May 19, 2019

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

@Lykos153 Lykos153 changed the base branch from 2.1 to master May 20, 2019 10:09
@Lykos153
Copy link
Author

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

@uklotzde
Copy link
Contributor

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
Copy link
Contributor

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.

@upCASE
Copy link

upCASE commented May 21, 2019

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

@Holzhaus
Copy link
Member

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

@Be-ing
Copy link
Contributor

Be-ing commented Nov 11, 2019

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.

@upCASE
Copy link

upCASE commented Nov 14, 2019

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.

@Holzhaus
Copy link
Member

Holzhaus commented Feb 1, 2020

@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

Headphones gain and headphones mix (commonly known as Cue mix) knobs now interact on Mixxx's GUI (previously, they worked, but on-screen knobs didn't move).
@BSDguy389
Copy link

BSDguy389 commented Mar 17, 2024

I just signed the Mixxx Contributor Agreement. I also just updated the .xml file for making the headphones level (gain) and headphones mix knobs work on the GUI and the controller.

Earlier in the day, I also updated the .xml to add sync lock (long press on sync buttons) on the four decks (it was working like this on Mixxx 2.3.x).
I also updated the manual accordingly.

Also added central knobs and EQ knobs definitions in the manual.

evoixmr and others added 3 commits March 17, 2024 16:30
Cue buttons didn't work like they should. Corrected.
@BSDguy389
Copy link

I just updated the .xml again to re-add Cue buttons feature on four decks.

@BSDguy389
Copy link

I think the manual is complete now. Guys, are you merging the last .js and .xml to 2.4 branch?

- removed superfluous comment
- added comment for button flash timeout
@BSDguy389
Copy link

BSDguy389 commented Jun 19, 2024

@JoergAtGithub Can you merge this mapping with Mixxx pls? It's pretty stable, only FX buttons don't lit when FX are activated since Mixxx 2.4.0 but other than this, it works nicely. The manual for the controller is here and is also complete : mixxxdj/manual#629

Solved the issue for FX buttons not lighting up when FX are activated.
Re MIDI learnt sync/sync lock to ensure proper function
@BSDguy389
Copy link

@JoergAtGithub Mapping has been updated yesterday to solve the issue of FX buttons not staying lit when FX are activated. Ready to merge.

@JoergAtGithub
Copy link
Member

CI fails since last commit, please check, what is broken.

Updated authors (I've used Claude AI to solve the FX buttons not keep lighting up issue)
@BSDguy389
Copy link

BSDguy389 commented Jun 20, 2024

@JoergAtGithub > CI fails since last commit, please check, what is broken.

The issue seems to be that the .xml file appears instead of the .js file.

I've used Claude AI to solve the FX buttons LED state. So, I added Claude AI in the authors section of the .xml file (authors can only been added to the .xml file and not in the .js file). I can no longer modify the .js file in github to repost it as it is, I don't know why.

@JoergAtGithub
Copy link
Member

I've used Claude AI to solve the FX buttons LED state. So, I added Claude AI in the authors section of the .xml file

This is not the intended information here, because an AI can neither hold a copyright, nor does it make sense to contact this specific AI in case of support. Please remove this.

@BSDguy389
Copy link

BSDguy389 commented Jun 20, 2024

I've used Claude AI to solve the FX buttons LED state. So, I added Claude AI in the authors section of the .xml file

This is not the intended information here, because an AI can neither hold a copyright, nor does it make sense to contact this specific AI in case of support. Please remove this.

@JoergAtGithub according to a document I've read about Claude AI, it's forbidden to claim being the author of content generated by Claude. I'm an author of the .xml file but not of the .js file. But it's permitted to use it for non-commercial purposes, that's what we are doing here. That's why I mentionned Claude AI as an author.
And I'm not on any branch of Mixxx, so I can't edit the .js and .xml files anymore on github.
If you can put me on the branch of Mixxx that we are merging with, I could edit the files, or maybe repost the previous files before AI editing to avoid copyright problems.

@JoergAtGithub
Copy link
Member

JoergAtGithub commented Jun 20, 2024

If you have agreed such a contract/EULA with Claude AI, I'm don't think we can use it in GPL software. Especially because GPL allows commercial use.

@BSDguy389
Copy link

BSDguy389 commented Jun 20, 2024

If you have agreed such a contract/EULA with Claude AI, I'm don't think we can use it in GPL software. Especially because GPL allows commercial use.

So, just use the files below, that were last edited by evoixmr and that won't cause any copyright issues :

Just change the extension with real extension being said in brackets and rename them by removing the () content.

Roland_DJ-202.midi (xml).txt
Roland_DJ-202-scripts(js).txt

But this js file contains a bug that causes the FX buttons to not stay lit when FX are activated.

@JoergAtGithub
Copy link
Member

So, just use the files below, that were last edited by evoixmr and that won't cause any copyright issues :

Yes, please revert!

Came back to last version edited by evoixmr to avoid copyright issues.
rollback to previous versions edited by evoixmr
changed my author name with pseudonym only
@BSDguy389
Copy link

So, just use the files below, that were last edited by evoixmr and that won't cause any copyright issues :

Yes, please revert!

@JoergAtGithub done, I've rolled back both files to last previous version before AI editing

@evoixmr
Copy link

evoixmr commented Jun 20, 2024

@JoergAtGithub > CI fails since last commit, please check, what is broken.

The issue seems to be that the .xml file appears instead of the .js file.

I've used Claude AI to solve the FX buttons LED state. So, I added Claude AI in the authors section of the .xml file (authors can only been added to the .xml file and not in the .js file). I can no longer modify the .js file in github to repost it as it is, I don't know why.

Did you capture the line that was changed to correct the FX led state?

@BSDguy389
Copy link

BSDguy389 commented Jun 21, 2024

@JoergAtGithub > CI fails since last commit, please check, what is broken.
The issue seems to be that the .xml file appears instead of the .js file.
I've used Claude AI to solve the FX buttons LED state. So, I added Claude AI in the authors section of the .xml file (authors can only been added to the .xml file and not in the .js file). I can no longer modify the .js file in github to repost it as it is, I don't know why.

Did you capture the line that was changed to correct the FX led state?

At line 958 of the .js file, line this.send(value); was replaced by 9 lines about const with MIDI commands of FX buttons at the end, and some comments were removed in lines below @evoixmr
Also, note that I uploaded here the file that you last modified, to correct the bug and error message caused by long press on FX buttons, that you posted on the Mixxx forum. So now, this particular bug is already solved.

@evoixmr
Copy link

evoixmr commented Jun 28, 2024

@JoergAtGithub are you able to add a milestone? 2.4.2

@JoergAtGithub
Copy link
Member

@JoergAtGithub are you able to add a milestone? 2.4.2

Let's first fix all known issues, after that set the state of the PR to "Read for Review". Than we start to review the PR.

@BSDguy389
Copy link

BSDguy389 commented Jul 17, 2024

@JoergAtGithub are you able to add a milestone? 2.4.2

Let's first fix all known issues, after that set the state of the PR to "Read for Review". Than we start to review the PR.
@JoergAtGithub The only person left that's looking at this mapping's code is me (and @evoixmr maybe), and I'm not a programmer, I solved the issue using an AI that forbids me to disclose the solution because the code is GPL and can be used in commercial products, and to be frank, the issue solved is very minor and the code is ready to PR, cause it works. Doesn't have to be perfect to be merged, I heard. It will allow many owners of this controller to be aware that it's supported by Mixxx and maybe will attract new developpers to make it perfect.

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.