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

Improve Hercules inpulse 300 mappings #4246

Merged
merged 7 commits into from Sep 17, 2021

Conversation

michalvankodev
Copy link
Contributor

@michalvankodev michalvankodev commented Aug 26, 2021

Hi, I've bought myself my first DJ Controller.
My friend has an Inpulse 200 and I've noticed that he already has some effects mapped on his smaller controller. So I've done some digging and came up with some improvements for Inpulse 300.

  • I've mapped FX keys inspired by Inpulse 300 original mappings.
    • Pads 1 - 3 pads turn on EffectN
    • Pads 5 - 7 cycle to next effect.
    • Pad 4 toggles FX1 on that deck.
    • Pad 8 toggles FX2 on that deck.
    • In SHIFT mode pads control FX3 Effect units on deck A and FX4 units on deck B.
    • Enabled LED mappings to show the active status of independently mapped pads.
  • I've switched keylock for quantize as the controller has a Q label on that place.
  • Fixed SHIFT + Q to beats_translate_curpos
  • Enhanced Sampler Pads to enable to control 16 sample banks
  • Enable browser knob to MoveHorizontal when in SHIFT mode

Updated manual documentation: mixxxdj/manual#425 (review)

I've been using mixxx just for a month so please let me know if I could do more improvements.

Copy link
Contributor

@uklotzde uklotzde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome and thank you for deciding to contribute to Mixxx. As a First-time contributor we need to ask you to sign our Contributor Agreement before merging any code.

I cannot really comment on most of the changes and how the mapping should differ between the 200 and 300 model. Ideally the mapping should match closely that of the bundled software to make it easy for users to switch to Mixxx.

Please also check the manual repo. A corresponding PR for updating the manual page for this controller is required. At first glance the page for the 200 seems to be in better state than that of the 300.

You may have noticed that the pre-commit job failed due to whitespace issues.
https://github.com/mixxxdj/mixxx/wiki/Using-Git#set-up-automatic-code-checking

@@ -364,7 +384,7 @@
<!--Sync-->
<control>
<group>[Channel1]</group>
<key>sync_leader</key>
<key>sync_master</key>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep using sync_leader. sync_master is just an alias for backward compatibility.

Copy link
Member

@Holzhaus Holzhaus Aug 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except if this PR would target 2.3 instead of main. Then use sync_master because the renaming was performed on the main branch only.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh.. okey. The thing is that the mixxx itself will complain on startup that sync_leader mappings are invalid and that the LED's would not work correctly.
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sync_leader doesn't seem to be available in 2.3, so we need to stick to sync_master:

https://manual.mixxx.org/2.3/en/chapters/appendix/mixxx_controls.html

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just noticed that in 2.3 the mapping is correct so no changes here are needed.

@uklotzde
Copy link
Contributor

uklotzde commented Aug 27, 2021

Please also rebase your PR on 2.3 instead of main. This would allow to publish improvements earlier with a 2.3.x release.

@michalvankodev michalvankodev changed the base branch from main to 2.3 August 28, 2021 17:04
@michalvankodev
Copy link
Contributor Author

michalvankodev commented Aug 28, 2021

Please also rebase your PR on 2.3 instead of main. This would allow to publish improvements earlier with a 2.3.x release.

There are several conflicts when I change the base branch. I have to open a new PR and cherry-pick my changes right?
Manage to hack my way to cherry-pick the changes and force push branch based on 2.3

@michalvankodev
Copy link
Contributor Author

Welcome and thank you for deciding to contribute to Mixxx. As a First-time contributor we need to ask you to sign our Contributor Agreement before merging any code.

I've submitted the form. Thank you for the opportunity ;)

Added FX mappings inspired by Inpulse 200 mappings
Controlled LED lights on active effects
@michalvankodev
Copy link
Contributor Author

michalvankodev commented Aug 29, 2021

Also, I struggle a lot with the browser wheel in my library. Is there an option to add a mapping that will unfold/fold folders in my library? Otherwise, I have to switch to my keyboard every time I browse my library.

Edit:
Added functionality in: af5259d

@michalvankodev
Copy link
Contributor Author

I've created a PR for the manual repo with many improvements, but most importantly reflecting changes made in this PR. mixxxdj/manual#425

@michalvankodev
Copy link
Contributor Author

Updated Sampler mappings to allow for usage of 16 samples 5746cf5

@michalvankodev
Copy link
Contributor Author

michalvankodev commented Aug 31, 2021

I've rethought and remade the effect pads. Just like you said that they should be as much close to the original mappings in their software I've made the second row to trigger next_effect and moved the EffectUnit3/EffectUnit4 mappings into the SHIFT mode exclusively.
0acb1ee

Copy link
Contributor

@uklotzde uklotzde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No objections. Only XML changes and I cannot test the mapping myself.

I have left a comment in the Discourse thread, hoping that someone else will test the new mapping. Reaching out and announcing what you plan to do or did is always recommended.

@Holzhaus Someone with permissions has to approve the next CI workflow run for the manual: mixxxdj/manual#425

@uklotzde uklotzde added this to the 2.3.1 milestone Sep 7, 2021
@uklotzde uklotzde added the changelog This PR should be included in the changelog label Sep 7, 2021
@Be-ing Be-ing modified the milestones: 2.3.1, 2.3.2 Sep 7, 2021
@uklotzde uklotzde modified the milestones: 2.3.2, 2.3.1 Sep 8, 2021
@uklotzde
Copy link
Contributor

@Holzhaus Merge?

@Holzhaus
Copy link
Member

I think the changes sound sensible. However, it would be nice if @DJPhatso could double-check (he contributed the original mapping IIRC).

@DJPhatso
Copy link
Contributor

DJPhatso commented Sep 13, 2021

I'll do my best to check it out this week if I can find some time, but my goal with the original mapping was always as a starting point for the community to improve upon. So if someone finds something creative to do, I'll all for it.

And from the look of it, there is probably a big part of the mapping that could be applied to the Inpulse 500 mapping I've yet to finish and submit...

@DJPhatso
Copy link
Contributor

Wow! Nice job @michalvankodev. A especially love the new feature on the browser knob :-)

I approve these changes and will try to find the time to apply them and finish the Inpulse 500 mapping.

@uklotzde
Copy link
Contributor

uklotzde commented Sep 17, 2021

Wow! Nice job @michalvankodev. A especially love the new feature on the browser knob :-)

I approve these changes and will try to find the time to apply them and finish the Inpulse 500 mapping.

Thanks for checking back! I consider your comment as the final approval ;)

Unfortunately, 2.3.1 has already been branched off.

@uklotzde uklotzde merged commit 8ba8d05 into mixxxdj:2.3 Sep 17, 2021
@uklotzde uklotzde modified the milestones: 2.3.1, 2.3.2 Sep 17, 2021
@uklotzde uklotzde modified the milestones: 2.3.2, 2.3.1 Sep 30, 2021
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.

None yet

5 participants