[Line6linux-devel] Some comments and questions
Status: Pre-Alpha
Brought to you by:
mgrabner
From: Aldrin M. <am...@dc...> - 2008-02-05 15:27:14
|
Hello, First, thank for your hard work: I've successfully do many things with my pod xt live with Linux!!! I've downloaded and checked the code. Two issues araise: 1. Can't we put this module in alsa? this way, this driver will appear on may distros without much effort from the user part. Maybe some code changes must be done to be aproved, but it will a plus. I'm offering to help or do this work, if you wish. Are any licensing issues pending? 2. I've seen the kernel module code, and found that many of the sysfs hacks and handling of the device is done in kernel space, but the code is mostly sending/receiving MIDI messages. I think is this plain wrong, all this code must be in user space, not kernel space. So, I think we should strip this code from the kernel module and put it in some library. This will make disapear many of the sysfs files, but anyway this must be put in the library not kernel. All current client libraries for line6usb should send/receive standard midi messages through alsa instead of reading/writing the sysfs. Besides, this will make this client libraries more compatible with other line6 products: think for example the flextone amps, which have a similiar midi protocol but have no usb connection; the same library could be used if we connect the flextone through a midi port. Besides, any error in this midi could take serious consecuences, for example I've already hang my machine by sending "random" midi messages to my line6 through alsa. I suspect there are bugs in that code. For making all of this work, we should take off all midi handling in kernel and provide the raw midi device. And make sure it receives what is expected: I found that line6 midi specs says that a channel dump is a sysex message, but actually is sent with a FB first byte. The kernel driver must make sure that what is received/sent in user space is the same as the line6 midi specs. This make compatible the user library if you connect a line6 device through usb or through a midi port. I could help in both issues, I'm actually writing a python studio (DAW) program and already created a python binding for alsa (It's available in current 1.06rc2 alsa version). I plan to make a python library for line6 products, which you could use with any line6 product with midi support. But I will like to hear your opinions first. Best Regards, -- Aldrin Martoq <am...@dc...> |