Le vendredi 18 décembre 2009 à 15:19 +0100, Clemens Ladisch a écrit :
(please don't top-post)
Alain Lauzon wrote:
Bus 001 Device 014: ID 0582:0092 Roland Corp. EDIROL PC-80 WAVE ... Bus 001 Device 013: ID 0582:0093 Roland Corp. EDIROL PC-80 MIDI ...
This is implemented as two logical devices, so it will show up as two ALSA sound cards.
You didn't show the descriptors for a full-duplex mode, so I'm assuming it works like with any other Roland device.
Please try the following quirk entries:
{ /* WAVE part only; see ID 0x0093 for MIDI */ USB_DEVICE(0x0582, 0x0092), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { /* .vendor_name = "EDIROL", */ /* .product_name = "PC-80", */ .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 = -1 } } } }, { /* MIDI part only; see ID 0x0092 for WAVE */ USB_DEVICE(0x0582, 0x0093), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { /* .vendor_name = "EDIROL", */ /* .product_name = "PC-80", */ .ifnum = 0, .type = QUIRK_MIDI_FIXED_ENDPOINT, .data = & (const struct snd_usb_midi_endpoint_info) { .out_cables = 0x0000, .in_cables = 0x0003, } } }, --
Thank you for your support Clemens.
I have tried your code and it gives me this: The MIDI works control works #1 and for the sound I see Analog stereo output and this works fine too. I don't see any imput from that device.
I have tried adding 2 more interfaces for the audio just to see what it would bring with this:
{ /* WAVE part only; see ID 0x0093 for MIDI */ USB_DEVICE(0x0582, 0x0092), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { /* .vendor_name = "EDIROL", */ /* .product_name = "PC-80", */ .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_AUDIO_STANDARD_INTERFACE }, { .ifnum = 3, .type = QUIRK_AUDIO_STANDARD_INTERFACE }, { .ifnum = -1 } } } }, { /* MIDI part only; see ID 0x0092 for WAVE */ USB_DEVICE(0x0582, 0x0093), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { /* .vendor_name = "EDIROL", */ /* .product_name = "PC-80", */ .ifnum = 0, .type = QUIRK_MIDI_FIXED_ENDPOINT, .data = & (const struct snd_usb_midi_endpoint_info) { .out_cables = 0x0000, .in_cables = 0x0003, } } },
What I've got is that MIDI control works just as good, but I now have two audio, namely "Analog Stereo Output" and "Digital Stereo Duplex (IEC958)" and they both work good as audio out. I still don't have any audio input device. I should have one since there are two entries on the back of my Edirol PC-80 that accepts either a microphone or a guitar. So I should be able to relay those audio inputs to my computer through my USB connection, right?
Thanks, Alain Lauzon
-- To unsubscribe from this list: send the line "unsubscribe alsa-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html