Hello everyone.
I am a developer for Mixxx, GPL cross-platform digital DJ software: http://www.mixxx.org. My focus is the controller subsystem. I am ready to finally add Linux support for HSS1394 DJ controllers such as Stanton's SCS.1m and SCS.1d.
HSS1394 is just MIDI over IEEE1394 (Firewire) at wire speed. The Windows and OSX library source code is LGPL and available on LaunchPad here: https://launchpad.net/hss1394
The Stanton SCS.1m is a sound interface integrated with a two-way control surface that speaks HSS1394. (The sound card uses an Oxford chip set and works fine with FFADO 2.0.1 today up to 96kHz. I use it with Mixxx via JACK.)
The Stanton SCS.1d is a two-way control surface (no sound card) that speaks HSS1394 and is capable of sending ALOT of latency-sensitive data: about 4000 messages per platter rotation. (Now imagine if you had four or even two of them on the same network running at +50% speed. This would quickly overwhelm USB, at least at the time these devices were designed.)
Read about them here: http://www.stantondj.com/stanton-controllers-systems/system1.html
After a lengthy discussion on the FFADO mailing list, we determined that the best (cleanest and most flexible) way to get Linux support for these devices is to write an ALSA kernel driver that speaks HSS1394 with the devices and presents an ALSA MIDI device (with no data rate limits) for each to Linux applications.
The advantage of doing this is that the devices will appear to all MIDI applications without them having to have specific support for HSS1394. This means they could be used in DAW applications as well.
(FWIW, FFADO trunk has a program called test-scs that does exactly this, but using that is impractical because it depends on various internal parts of the FFADO source so would require bundling all of FFADO with the application, and it's unable to see non-audio devices due to FFADO's intended use (so it sees the SCS.1m but not the .1d.))
So my questions are: where can I find documentation on writing a new MIDI driver for ALSA? And is anyone else interested in helping me do this?
Thank you very much for your time and work. Help me take the last step to my dream DJ setup! (Linux, FLAC and SCS.1 controllers.)
Sincerely, Sean M. Pappalardo "D.J. Pegasus" Mixxx Developer - Controller Specialist