On Mon, Nov 21, 2011 at 11:24 AM, John F Leach jfleach@jfleach.com wrote:
All,
Can someone please help to add ALSA support for the Roland Gaia (SH-01) Synthesizer?
http://www.rolandus.com/products/productdetails.php?ProductId=1074
I started a sample patch for usbquirks.h (see below) but am not sure if the USB_DEVICE address is correct or what to use for the types. What should the quirk table entry look like for this device? Does quirks.c need a special case added?
{ /* Roland Gaia SH-01 */ USB_DEVICE(0x0582, 0x0111), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .vendor_name = "Roland", .product_name = "Gaia", .ifnum = QUIRK_ANY_INTERFACE, .type = QUIRK_COMPOSITE, .data = (const struct snd_usb_audio_quirk[]) { { .ifnum = 0, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = 1, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = 2, .type = QUIRK_STANDARD_MIDI_INTERFACE, } }, { .ifnum = -1 } } }
I've looked at this a little and from my poor understanding I may have
given John a red herring wrt:
.type = QUIRK_STANDARD_MIDI_INTERFACE,
_From the looks of interface 2 which I'm guessing is the midi subinterface it doesn't seem to conform to the UAC spec
bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 3
This might need to be QUIRK_FIXED_MIDI_ENDPOINT maybe?