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