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

controllers: ensure required samplers are created #12769

Merged
merged 2 commits into from Feb 11, 2024

Conversation

ronso0
Copy link
Member

@ronso0 ronso0 commented Feb 9, 2024

This PR simply ensures mappings request all required samplers being created, exactly like they set [App],num_decks if they need more than 2 decks.

With #12657 some mapping flaws produce mapping warnings, and users may not be able to resolve the issues.
This will occur with a fresh profile or when users don't have any tracks loaded in samplers with numbers higher than the deafult (4) or skin minimum (8, Shade skin).
After having merged #12657 this is just much more likely to happen.

To reproduce:

There may be more mappings that affected in a different way, I just did a quick check where [Sampler is used with
https://github.com/search?q=repo%3Amixxxdj%2Fmixxx+%22%5BSampler+path%3A%2F%5Eres%5C%2Fcontrollers%5C%2F%2F&type=code&p=2

@ronso0
Copy link
Member Author

ronso0 commented Feb 9, 2024

I'm pretty sure eslint will complain, but I'm not going to fix those issues (except those introduced by this PR, and minimal changes).

@mxmilkiib
Copy link
Contributor

mxmilkiib commented Feb 9, 2024

I just so happened to accidentally delete my (pretty much unchanged apart from jog wheel LED rotation speed values) Reloop Beatmix 2/4 .js, now getting this, doh!

@ronso0
Copy link
Member Author

ronso0 commented Feb 9, 2024

Oh, so with the BeatMix mapping you also get complaints about missing controls for sampler 5++?

Somehow I assumed (didn't double-check) skins were loaded prior to any mapping, and Mixxx provides skins with min. 8 samplers, so #12747 would have happened with a custom skin.
But actually that is unlikely so the actual fix would be to increase the default number of samplers.
Or extend the (soft) fix to all mappinsg that need more than 4 samplers (a lot of mappings I think).

@mxmilkiib
Copy link
Contributor

I was going to double check so I changed back to the default controller preset and at that point the waveform changed to this!;

image

That rings a bell though.. did someone mention it somewhere recently? Can't find an issue with a brief search

Anyway, the error on start;

Uncaught exception: file:///usr/share/mixxx/controllers/Reloop-Beatmix-2-4-scripts.js:181: Error: script tried to connect to ControlObject ([Sampler5], track_samples) which is non-existent.
Backtrace: @file:///usr/share/mixxx/controllers/Reloop-Beatmix-2-4-scripts.js:181
@file:///usr/share/mixxx/controllers/Reloop-Beatmix-2-4-scripts.js:195

Copy link
Member

@ywwg ywwg left a comment

Choose a reason for hiding this comment

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

do we also need an update to traktor s3?

@ronso0
Copy link
Member Author

ronso0 commented Feb 10, 2024

I'm pretty sure I checked all the Traktor mappings. But I didn't test them since I didn't set up a virtual HID device.

Do you still have an S3?
If yes, you can test yourself. Select the S3 mapping, close Mixxx, remove samplers.xml, restart.

Copy link
Member

@daschuer daschuer left a comment

Choose a reason for hiding this comment

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

The changes are looking reasonable. Thank you.

@daschuer daschuer merged commit 3aee9a3 into mixxxdj:2.4 Feb 11, 2024
13 of 14 checks passed
@ronso0 ronso0 deleted the mappings-sam-num branch February 11, 2024 10:07
@ronso0
Copy link
Member Author

ronso0 commented Feb 13, 2024

temp checklist

  • Akai-LPD8-RK-scripts.js
  • Akai MPD24
  • Allen and Heath Xone K2
  • American Audio RADIUS 2000 CH1
  • American Audio VMS2
  • American Audio VMS4
  • Behringer BCD2000
  • Behringer BCD3000 Advanced
  • Behringer BCR2000
  • Behringer CMD Micro
  • Behringer CMD MM1
  • Behringer CMDStudio4a
  • Behringer DDM4000
  • Denon DN HS5500
  • Denon DN SC2000
  • Denon MC3000
  • Denon MC4000
  • Denon-MC6000MK2
  • Denon-MC7000
  • DJ-Tech CDJ-101
  • DJ-Tech DJM-101
  • DJ-Tech i-Mix Reload
  • DJ-Tech Kontrol One
  • DJ-Tech Mix-101
  • DJ-Tech Mixer One
  • DJTechTools MIDI Fighter
  • DJ TechTools MIDI Fighter Twister
  • EKS Otus
  • Electrix Tweaker
  • Evolution_Xsession
  • FaderFoxDJ2
  • Gemini CDMP-7000 L audio
  • Gemini FirstMix
  • Hercules DJ Console 4-Mx
  • Hercules DJ Console Mac Edition
  • Hercules DJ Console Mk1
  • Hercules DJ Console Mk2
  • Hercules DJ Console Mk2
  • Hercules DJ Console Mk4
  • Hercules DJ Console RMX
  • Hercules DJ Console RMX
  • Hercules DJ Console RMX 2
  • Hercules DJ Console RMX Advanced
  • Hercules DJ Control AIR
  • Hercules DJControl Compact
  • Hercules_DJControl_Inpulse_200
  • Hercules_DJControl_Inpulse_300
  • Hercules DJ Control Instinct
  • Hercules_DJControl_Jogvision
  • Hercules DJControl MIX
  • Hercules DJ Control MP3
  • Hercules DJ Control MP3 e2
  • Hercules DJControl Starlight
  • Hercules DJ Control Steel
  • Hercules-mp3e2-compat.js
  • Hercules P32 DJ
  • HID Keyboard.example
  • HID Trackpad.example
  • Ion Discover DJ
  • Ion-Discover-DJ-Pro
  • KANE_QuNeo
  • Kontrol Dj KDJ500
  • Korg-KAOSS-DJ
  • Korg nanoKONTROL
  • Korg nanoKONTROL 2
  • Korg nanoPAD2
  • M-Audio_Xsession_pro
  • Midi_for_light
  • Midi-Keyboard
  • MidiTech-MidiControl
  • Mixman DM2 (Linux)
  • Mixman DM2 (OS X)
  • Mixman DM2 (Windows)
  • MixVibes U-Mix Control 2
  • MixVibes U-Mix Control Pro 2
  • Nintendo Wiimote
  • Novation Dicer
  • Novation Launchpad
  • Novation-Launchpad-Mini
  • Novation Launchpad Mini MK3
  • Novation Launchpad MK2
  • Numark DJ2Go
  • Numark_DJ2GO2_Touch
  • Numark iDJ Live II
  • Numark MIXTRACK
  • Numark Mixtrack 2
  • Numark-Mixtrack-3
  • Numark Mixtrack Platinum
  • Numark Mixtrack Pro
  • Numark Mixtrack Pro FX
  • Numark N4
  • Numark NS7
  • Numark Omni Control
  • Numark-Party-Mix
  • Numark Total Control
  • Numark V7
  • Pioneer CDJ-350 Ch1
  • Pioneer CDJ-350 Ch2
  • Pioneer CDJ-850
  • Pioneer CDJ-2000
  • Pioneer CDJ HID
  • Pioneer-CDJ-HID.js
  • Pioneer DDJ-200
  • Pioneer-DDJ-400
  • Pioneer-DDJ-FLX4
  • Pioneer-DDJ-SB
  • Pioneer-DDJ-SB2
  • Pioneer-DDJ-SB3
  • Pioneer DDJ-SX
  • Reloop Beatmix 2-4
  • Reloop Beatpad
  • Reloop Digital Jockey 2 Controller Edition
  • Reloop Jockey 3 ME
  • Reloop Terminal Mix 2-4
  • Roland_DJ-505
  • Sony SixxAxis
  • Soundless_joyMIDI
  • Stanton-DJC-4
  • Stanton SCS.1d
  • Stanton SCS.1m
  • Stanton SCS.3d
  • Stanton SCS.3d Alternate
  • Stanton SCS.3m
  • TrakProDJ iPad
  • Traktor Kontrol F1
  • Traktor Kontrol S2 Mk1
  • Traktor Kontrol S2 Mk2
  • Traktor Kontrol S2 MK3
  • Traktor Kontrol S3
  • Traktor Kontrol S4 MK2
  • Traktor Kontrol S4 MK3
  • Traktor Kontrol X1
  • Traktor Kontrol Z1
  • us428
  • Vestax Spin
  • Vestax Typhoon
  • Vestax Typhoon Enhanced
  • Vestax VCI-100
  • Vestax VCI-100-3DEX
  • Vestax VCI-100-hile
  • Vestax VCI-100MKII
  • Vestax VCI-300
  • Vestax VCI-400
  • Vestax-VCI-100-hile.js
  • Wireless DJ App
  • Yaeltex MiniMixxx

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