alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Focusrite Scarlett 18i6 mixer
@ 2013-01-18  4:05 Robin Gareus
  2013-01-20 19:25 ` [patch] 18i6 mixer implementation -- was " Robin Gareus
  0 siblings, 1 reply; 2+ messages in thread
From: Robin Gareus @ 2013-01-18  4:05 UTC (permalink / raw)
  To: alsa-devel

Hi,

I've started to reverse engineer the 18i6 mixer protocol and came up
with a proof-of-concept test script which includes documentation:

  https://github.com/x42/scarlettmixer

Except for a few fixed controls and switches, the 18i6's mixer and
router is [likely] too complex to be exposed via ALSA's mixer interface.
AFAICT it'll require a dedicated control application - like hdspmixer -
in order to make full use of it.

The current proof-of-concept uses pyUSB to send URB control messages and
therefore requires root access. It will also not work while the device
is in use (by snd-usb-audio). A dedicated ioctl interface - similar to
SNDRV_HDSP_ - should be added to ALSA. However, it is yet unclear to me
how much of the protocol should be moved to kernel-space.

Anyway, the script can be used to configure the device, save settings to
it and subsequently use those settings with snd-usb-audio and Martin's
patch.

Thoughts, comments?
robin

PS. the same protocol may apply to other Focusrite Scalett USB2 devices
such as the 8i6 - some of the factory-reset traces hint at that, but I
would not know.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [patch] 18i6 mixer implementation -- was Focusrite Scarlett 18i6 mixer
  2013-01-18  4:05 Focusrite Scarlett 18i6 mixer Robin Gareus
@ 2013-01-20 19:25 ` Robin Gareus
  0 siblings, 0 replies; 2+ messages in thread
From: Robin Gareus @ 2013-01-20 19:25 UTC (permalink / raw)
  To: alsa-devel

On 01/18/2013 05:05 AM, Robin Gareus wrote:
> Hi,
> 
> I've started to reverse engineer the 18i6 mixer protocol and came up
> with a proof-of-concept test script which includes documentation:
> 
>   https://github.com/x42/scarlettmixer
> 
> Except for a few fixed controls and switches, the 18i6's mixer and
> router is [likely] too complex to be exposed via ALSA's mixer interface.
> AFAICT it'll require a dedicated control application - like hdspmixer -
> in order to make full use of it.

OK. I'll eat my words on that. While a dedicated app will certainly be
more appropriate to access the 18x6 mixter matrix and routing schema.
The whole interface can be exported as standard ALSA mixer:

The patch is rather large, please view it on github:
https://github.com/x42/alsa-driver/commit/3d9c17a3a0a8f4d86489fe9ff8ddff53dde8cdc5

It is based on the latest git.alsa-project.org/alsa-driver.git but
rebases cleanly onto vanilla and rt linux. Tested on debian/wheezy with
linux 3.2.35-2-rt.

Comments and feedback are welcome.

Cheers!
robin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-01-20 19:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-18  4:05 Focusrite Scarlett 18i6 mixer Robin Gareus
2013-01-20 19:25 ` [patch] 18i6 mixer implementation -- was " Robin Gareus

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).