[PATCH] ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk

Fabian Lesniak fabian at lesniak-it.de
Mon Feb 1 22:37:21 CET 2021


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




More information about the Alsa-devel mailing list