[alsa-devel] [PATCH - my module 1/1] USB audio quirk for Roland VG-99 advanced mode

Pete Leigh pete.leigh at gmail.com
Sun Oct 21 11:27:46 CEST 2012


D'oh, let me try again without the "my module" !!!

Sorry!

On 21 October 2012 10:25,  <pete.leigh at gmail.com> wrote:
> From: Pete Leigh <pete.leigh at gmail.com>
>
> Without this quirk the VG-99 will work in standard mode (set under
> USB on System menu page 2) giving 16 bits at 44.1 Khz audio in/out
> but no midi, and is not recognised when set to advanced mode.
>
> After applying this, I can also use the VG-99 in advanced mode: 24
> 24 bits audio in/out at 44.1 Khz, and midi in/out. Sysex is so far
> untested.
>
> In standard mode, the device appears with ID 0x00b3, so the
> behaviour isn't affected by this quirk.
>
> Thanks to Clemens Ladisch for simplifying and correcting my initial
> attempt!
>
> Signed-off-by: Pete Leigh <pete.leigh at gmail.com>
>
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 88d8ceb..ffeabf8 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -1457,6 +1457,40 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>         }
>  },
>  {
> +       /* Advanced mode of the Roland VG-99, with MIDI and 24-bit PCM at 44.1
> +        * kHz. In standard mode, the device has ID 0582:00b3, and offers
> +        * 16-bit PCM at 44.1 kHz with no MIDI.
> +        */
> +       USB_DEVICE(0x0582, 0x00b2),
> +       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> +               .vendor_name = "Roland",
> +               .product_name = "VG-99",
> +               .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_MIDI_FIXED_ENDPOINT,
> +                               .data = & (const struct snd_usb_midi_endpoint_info) {
> +                                       .out_cables = 0x0003,
> +                                       .in_cables  = 0x0003
> +                               }
> +                       },
> +                       {
> +                               .ifnum = -1
> +                       }
> +               }
> +       }
> +},
> +{
>         /* Roland SonicCell */
>         USB_DEVICE(0x0582, 0x00c2),
>         .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> --
> 1.7.11.7
>


More information about the Alsa-devel mailing list