···11-This directory contains the USB Tranzport and Alphatrack Kernel drivers for Linux.11+This directory contains the Linux USB Tranzport and Alphatrack Kernel drivers.2233-At present the tranzport does reads/writes of 8 byte cmds to /dev/tranzport0 to control44-the lights and screen and wheel33+See http://www.frontierdesign.com for details on these devices.5466-At present the alphatrack accepts reads/writes of 12 byte cmds to /dev/tranzport0 to control77-the lights and screen and fader.55+Userspace test code is available from8699-Both drivers also have some sysfs hooks that are non-functional at the moment.77+git://toutatis.isc.org/home/d/src/git/frontier.git1081111-The API is currently closely tied to the ardour revision and WILL change.99+At present the tranzport does reads/writes of 8 byte cmds to1010+/dev/tranzport0 to control the lights, screen, and wheel.12111313-A sysfs interface is PERFECT for simple userspace apps to do fun things with the1414-lights and screen. It's fairly lousy for handling input events and very lousy1515-for watching the state of the shuttle wheel.1212+At present the alphatrack accepts reads/writes of 12 byte cmds to1313+/dev/tranzport0 to control the lights, screen, fader and touchpad.16141717-A linux input events interface is great for the input events and shuttle wheel. It's1818-theoretically OK on LEDs. A Fader can be mapped to an absolute mouse device.1919-But there is no LCD support at all.1515+The tranzport driver provides a rudimentary sysfs interface for the status of1616+the device and a writable parameter for turning wheel compression on and off.20172121-In the end this is going to be driven by a midi layer, which handles all those2222-cases via a defined API, but - among other things - is slow, doesn't do2323-flow control, and is a LOT of extra work. Frankly, I'd like to keep the1818+The API is nothing more than the USB commands issued to the device. Why?1919+2020+The control wheel/fader can generate events far too quickly for2121+a typical userspace application to keep up with them via libusb. Input2222+needs to be 100% accurate and fast in order for the alphatrack or tranzport2323+to be useful.2424+2525+UIO would be useful except that usb disconnect events need2626+to be handled correctly.2727+2828+A sysfs interface is perfect for simple userspace apps to do fun things with2929+the lights and screen. But it's fairly lousy for handling input events and3030+very lousy for watching the state of the shuttle wheel.3131+3232+A linux input events interface is great for the input events and shuttle wheel.3333+* It's theoretically OK on LEDs.3434+* A fader can be mapped to an absolute mouse device.3535+* But there is no LCD support at all, or fader feedback support in that API3636+3737+So, thus, these stubby drivers exist.3838+3939+In the end this could be driven by a midi layer, which handles all those4040+cases via a well defined API, but - among other things - is slow, doesn't do4141+flow control, and is a LOT of extra work, none of which is required at4242+the kernel level (probably). Frankly, I'd like to keep the2443core driver simple because the only realtime work really required is2544the bottom half interrupt handler and the output overlapping.26452727-Exposing some sort of clean aio api to userspace would be perfect. What that4646+Exposing some sort of clean api to userspace would be perfect. What that2847API looks like? Gah. beats me.