Hi Franta,
I've just submitted mixer quirks for the 900NXS2, following the design of Olivia and you. Seems quite clean, but if anyone comes up with a clever idea on how to share code between the channel arrays, I'd highly appreciate that. My experiments so far turned out quite complex: I thought about adding flags like "DEVICE_HAS_DIGITAL", "DEVICE_HAS_AUX" etc. which are evaluated during control creation and usage. The code became unreadable and complex, so I ditched that idea. Creating the controls arrays dynamically would maybe help.
The 900NXS2 uses the same wValue/wIndex as your 250Mk2, just expanded to five channels. It does not allow to set playback channels via USB, that can only be done in hardware using the input source knob. I guess that is same for the DJM-700. The 900NXS2 allows querying the currently selected playback channel though, but I think this is of no great use so I did not implement it in this patch (although it was in my original draft from last year: https:// gist.github.com/flesniak/074ab23bbc833663b782f44174eae6a4). If you think it's worth it, I could have a look at that again.
Cheers Fabian
Am Montag, 1. Februar 2021, 16:34:29 CET schrieb František Kučera:
Dne 29. 01. 21 v 15:09 Fabian Lesniak napsal(a):
In general, I'm wondering whether it is a good way to implement more and more Pioneer devices in such a hard coded way. mixer_quirks.c already has
3k LOC, and the 900NXS2 support will add at least 100 more if written in
the same scheme. It may be good to either dynamically create controls depending on the model or move pioneer support to an extra file.
The original idea was to reduce complexity rather than lines of code and keep it straightforward without many IF branching and special cases.
Maybe more data/configuration (declared arrays) can be shared among multiple devices – like the capture_level.
Does not the DJM750 support also mapping of MIC, AUX and REC OUT or any playback mapping? If it would, more configuration might be shared. And is it DJM-750MK2 or DJM-750-K? At least the specification of DJM-750-K talks about a sound card with 4 stereo inputs and 4 stereo outputs.
Does anybody know/have other DJM hardware? Does it use the same codes (wValue/wIndex)?
Franta