alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Fabian Lesniak <fabian@lesniak-it.de>
To: "František Kučera" <konference@frantovo.cz>
Cc: Takashi Iwai <tiwai@suse.de>,
	alsa-devel@alsa-project.org, Olivia Mackintosh <livvy@base.nu>
Subject: Re: [PATCH] ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk
Date: Mon, 01 Feb 2021 22:37:21 +0100	[thread overview]
Message-ID: <18968431.YylxmPiuJ6@artex> (raw)
In-Reply-To: <ed9f5c04-0898-e66d-a7ce-ce161efc753a@frantovo.cz>

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



  reply	other threads:[~2021-02-01 21:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28 16:03 [PATCH] ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk Olivia Mackintosh
2021-01-29 14:09 ` Fabian Lesniak
2021-01-29 15:13   ` Takashi Iwai
2021-01-29 15:21   ` Olivia Mackintosh
2021-02-01 15:34   ` František Kučera
2021-02-01 21:37     ` Fabian Lesniak [this message]
2021-02-02  1:08       ` Olivia Mackintosh
2021-02-04  3:44 ` [PATCH v2 0/2] Add DJM-750 and simplify Olivia Mackintosh
2021-02-04  7:03   ` Takashi Iwai
2021-02-04 19:39     ` [PATCH v3 0/1] " Olivia Mackintosh
2021-02-04 19:39       ` [PATCH v3 1/1] ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk Olivia Mackintosh
2021-02-04 21:33         ` Takashi Iwai
2021-02-05 18:42           ` [PATCH v4 0/1] Add DJM-750 and simplify Olivia Mackintosh
2021-02-05 18:42             ` [PATCH v4 1/1] ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk Olivia Mackintosh
2021-02-05 22:18               ` Takashi Iwai
2021-02-04  3:44 ` [PATCH v2 1/2] " Olivia Mackintosh
2021-02-04  3:44 ` [PATCH v2 2/2] ALSA: usb-audio: Simplify DJM mixer quirks Olivia Mackintosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18968431.YylxmPiuJ6@artex \
    --to=fabian@lesniak-it.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=konference@frantovo.cz \
    --cc=livvy@base.nu \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).