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

Manual Numark Mixtrack Platinum FX #623

Open
wants to merge 96 commits into
base: 2.4
Choose a base branch
from
Open

Manual Numark Mixtrack Platinum FX #623

wants to merge 96 commits into from

Conversation

evoixmr
Copy link

@evoixmr evoixmr commented Feb 26, 2024

@ronso0 ronso0 marked this pull request as draft February 27, 2024 09:04
@evoixmr evoixmr changed the title Manual for mapping of Numark Mixtrack Platinum FX Manual Numark Mixtrack Platinum FX Mar 6, 2024
@evoixmr evoixmr marked this pull request as ready for review March 6, 2024 20:05
@ronso0
Copy link
Member

ronso0 commented Mar 7, 2024

Just a quick note regrading the images:
it would be preferred to create rather small SVG overviews instead of adding ~1 MB PNG images to the repo. You can create black/white SVGs by tracing the origial raster image (as you did in an earlier commit I think).
Or adopt an existing SVG, e.g. from the Platinum https://manual.mixxx.org/2.4/en/hardware/controllers/numark_mixtrack_platinum

@evoixmr
Copy link
Author

evoixmr commented Mar 7, 2024

@ronso0 I updated all photos and scripts to use svg. I also deleted the png files.

.. Credit to PopHippy for creating the original PDF file.

Numark Mixtrack Platinum FX

Copy link
Member

Choose a reason for hiding this comment

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

This blank line before the dash line indicating a header makes the page generator pick Overview as page title.
Please remove.
image

Copy link
Author

Choose a reason for hiding this comment

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

Updated header.

:alt: Numark Mixtrack Playinum FX (schematic view)
:figclass: pretty-figures

---------------
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
---------------
---------------

Please remove these lines. They prevent proper header rendering. Also some table rows are broken due to blank lines.
I suggest you check the preview and tweak until it looks as desired.
https://deploy-preview-623--mixxx-manual.netlify.app/hardware/controllers/numark_mixtrack_platinum_fx

Copy link
Author

Choose a reason for hiding this comment

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

I removed the lines.

Copy link
Member

Choose a reason for hiding this comment

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

The appearance is still broken, just check the preview.
FYI you may also build the html locally with make html and double-check before pushing.

Copy link
Author

Choose a reason for hiding this comment

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

I just updated the appearance. Can you recheck and make suggestion on which areas need to be improve?

Copy link
Member

Choose a reason for hiding this comment

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

Yes, it's loking good now. It were just the blank lines that enforced header formatting on each following line.

@evoixmr evoixmr requested a review from ronso0 October 20, 2024 14:51
@ronso0
Copy link
Member

ronso0 commented Oct 21, 2024

Thanks for the reminder @evoixmr
It looks like work/review on mixxxdj/mixxx#12872 has stalled, but this PR is mostly ready?
What do you think about effect toggles

Press one of these buttons to select a software effect.
• HPF (High pass filter)
• LPF (Low pass filter)
• Flanger
• Echo
• Reverb
• Phaser

IIUC work on this mapping started while 2.3 was the stable version, and 2.4 now allows to load specific effect presets (ie. items at specific position in the preset list, not by effect uuid or something).
Does it make sense to address this now?

@evoixmr
Copy link
Author

evoixmr commented Oct 30, 2024

Thanks for the reminder @evoixmr It looks like work/review on mixxxdj/mixxx#12872 has stalled, but this PR is mostly ready? What do you think about effect toggles

Press one of these buttons to select a software effect.
• HPF (High pass filter)
• LPF (Low pass filter)
• Flanger
• Echo
• Reverb
• Phaser

IIUC work on this mapping started while 2.3 was the stable version, and 2.4 now allows to load specific effect presets (ie. items at specific position in the preset list, not by effect uuid or something). Does it make sense to address this now?

Yes, the PR is ready. As far as he effects preset, is there a documentation that I can use to add preset?

@ronso0
Copy link
Member

ronso0 commented Oct 30, 2024

All effect / effect chain preset controls are documented here
https://manual.mixxx.org/2.4/en/chapters/appendix/mixxx_controls.html#controls

Loading specific Quick Effect presets can be done with [QuickEffectRack1_[ChannelI]],loaded_chain_preset.
This control expects an integer argument 0 .. [num_chain_presets - 1], so the user has to arrange the Quick Effect presets in Preferences -> Effects to match the button labels (or any desired custom mapping).

@ChrisTallon
Copy link

@ronso0
Hi, I'm having a go at setting preset effects from the init function of this controllers mapping. In JS, is there a way of finding the index number of a specific effect by its string title?

So far, I am assigning effects to the FX units to match the controller if the effects unit slots are empty, at initialisation time of the mapping. I have this working, but upgrading to 2.5 changed the list of available effects and so my hard coded assignments are off.

Thanks.

@ronso0
Copy link
Member

ronso0 commented Jan 10, 2025

In JS, is there a way of finding the index number of a specific effect by its string title?

Nope, and actually hard-coding effects wouldn't be ideal anyways.
Mappings for similar controllers simply use the quick effects preset list which users can customize in the preferences, for example the Traktor Kontrol S2 Mk3 and S4 Mk3.

@ChrisTallon
Copy link

Please forgive me, I'm getting there slowly. I have been quite confused by the suggestion to use QuickEffects here in this PR (and weirdly in the mapping file in a comment). In Serato Lite the filter knobs (directly under the EQ knobs) only ever activate a filter* and are nothing to do with the 6 FX preset buttons. This is why I was trying to preset the main effects units to match the buttons on the controller.

A fundamental question here is - is this mapping attempting to best reproduce the behaviour of the controller in Serato Lite, or is this mapping trying to match Mixxx? I don't know the answer and I don't have any connection with the original authors.

Possible ways forward:

  1. The Mixxx approach. Have the 6 FX preset buttons change which effect the filter knob uses by using [[QuickEffectRack1_[ChannelI]],loaded_chain_preset]. This significantly diverges away from the original intent of the controller. Also this makes the on/off/hold flappy toggle switches redundant unless the user configures the effects units with mouse+keyboard.

  2. The Serato approach. Hard-code in presets for the effects units (not QuickEffects) into the init function of the controller. Accept that when the effects list changes (e.g. on a version change of Mixxx) the preset effects may be wrong for new users.

  3. The leave-it-as-it-is approach. Alter the manual to inform users that the effects buttons won't function until specific effects are chosen manually. Field complaints in the forum that FX don't work, as currently happens.

There is no good option but I favour 3. After reading the manual, complaining in the forum or just figuring it out, behaviour similar to Serato can be achieved.

Thoughts? Anyone?

( * There is an option to switch it to a "dub echo" effect but it's well hidden enough that I never found it when I used Serato.. )

@evoixmr
Copy link
Author

evoixmr commented Jan 13, 2025

@ChrisTallon option 3 worked well for all users of the mapping.

@ronso0 what's your thoughts on this?

@ronso0
Copy link
Member

ronso0 commented Jan 14, 2025

In Serato Lite the filter knobs (directly under the EQ knobs) only ever activate a filter*

There is no dedicated Filter effect slot/bank/unit in Mixxx. Effects are available in QuickeEffect unit (just one slot) and standard effect units (currently 3 slots but expandable).
Though Filter is the default Quick Effect so mapping the Super knob of Quick Effect unit N is the way to go for now.

Regarding the labeled effect toggles:
I forgot that the Platinum FX has no (Quick) effect assign buttons, so my reference to the Traktor way of mapping them makes no sense here, however these toggles could be used to assign Quick Effect presets to both decks at once. Is that what's happening in Serato? Or is the selected effect applied to the main output?

So yes, the quick fix is to leave the effect buttons unmapped for now and improve the situation in followup PRs.
(note that is has been some time since I last looked at this and the mapping PR)

@ChrisTallon
Copy link

Regarding the labeled effect toggles: I forgot that the Platinum FX has no (Quick) effect assign buttons, so my reference to the Traktor way of mapping them makes no sense here, however these toggles could be used to assign Quick Effect presets to both decks at once. Is that what's happening in Serato? Or is the selected effect applied to the main output?

In Serato the 6 effect buttons configure that single effect in slot number 1 of the main effects unit. Then the on/off/hold flappy switches are used to activate it.

The knobs labelled "Filter" directly under the EQs are equivalent to Mixxx's QuickEffects but hard set to "filter". (Or dub-echo if you're lucky enough to find it) and are never affected by the 6 select buttons.

User qgazq appears to have designed the mapping of the Mixtrack controls to Mixxx effects units, and explains here:

https://github.com/qgazq/mixxx_numark_mixtrack_platinum_fx/blob/main/README.md#effects

So, leaving the code as-is, how about this as an addition to the manual?

ChrisTallon@06ff501

Preview:

https://www.loggytronic.com/mixxx/manual-preview/hardware/controllers/numark_mixtrack_platinum_fx.html#effects

@ronso0
Copy link
Member

ronso0 commented Jan 14, 2025

In Serato the 6 effect buttons configure that single effect in slot number 1 of the main effects unit. Then the on/off/hold flappy switches are used to activate it.

The knobs labelled "Filter" directly under the EQs are equivalent to Mixxx's QuickEffects but hard set to "filter". (Or dub-echo if you're lucky enough to find it) and are never affected by the 6 select buttons.

Thanks, got it!

To get the Serato behavior

  • two effect units need to be assigned to Main output (in script init)
  • the user has to load the labeled effects in a specific order, or have a specific order in Preferences -> Effects -> Effect Presets
  • script init() would load the presets by index
  • script would also create a HPF and LPF effect presets (load Filter in two slots, adjust the LPF/HPF parameters)

Besides the required setup, this makes it hard to use these effect units with decks / a specfic deck only, for example with another controller or just the GUI / keyboard, so I'd vote for not making this the (hard-coded) default.

But this is a perfect case for controller settings (example for MIDI mapping: xml part, js part): a checkbox "Use effect toggles for Main output" or something.
Or select one of 6 quick effects for both decks. Benefit: not just a flap toggle but also the Filter knob to control the effect
And maybe another alternative mapping, idk.

@evoixmr
Copy link
Author

evoixmr commented Jan 23, 2025

@ronso0 can we aim for milestone 2.5.1?

@ronso0
Copy link
Member

ronso0 commented Jan 24, 2025

Sure we can aim for that : )

This manual still states that the FX buttons select certain preset which is not implemented in mixxxdj/mixxx#12872 (which has stalled), other than that this PR looks good I think.
Once mixxxdj/mixxx#12872 gets LGTM, too, I'll take a final look here (got other stuff on the table atm, sorry).

@evoixmr
Copy link
Author

evoixmr commented Jan 24, 2025

@ronso0 I updated effect section of the manual and added:
"Press one of these buttons to select the user assigned software effect."
"FX Buttons will need tp be assigned on the mixxx Effects option on the main interface."

FX Buttons will need to be assigned with the mixxx `Effects <https://manual.mixxx.org/2.5/en/chapters/effects#effects>`__ selectors in the graphical interface.
@evoixmr
Copy link
Author

evoixmr commented Jan 25, 2025

@ronso0 updated.

@Swiftb0y
Copy link
Member

please rebase on 2.5 to fix the CI. 2.4 CI is abandoned and broken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants