Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 371711
b: refs/heads/master
c: 5e21233
h: refs/heads/master
i:
  371709: 53da694
  371707: 0e0ba61
  371703: 61a1ca6
  371695: c56620e
  371679: 74502a2
  371647: 1f8c4dc
  371583: af447ba
  371455: 829b62d
  371199: af97cc9
  370687: 14862cc
v: v3
  • Loading branch information
Mark Hills authored and Takashi Iwai committed Mar 18, 2013
1 parent c2ff0d5 commit b6d643f
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ba615b86d6a3ba6e244973672c63903c8b2831a3
refs/heads/master: 5e212332cc7eed0ffbf91fbe5bab6e2a44b83de6
40 changes: 40 additions & 0 deletions trunk/sound/usb/quirks-table.h
Original file line number Diff line number Diff line change
Expand Up @@ -2747,6 +2747,46 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.type = QUIRK_MIDI_RAW_BYTES
}
},
{
USB_DEVICE(0x1235, 0x0018),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
.vendor_name = "Novation",
.product_name = "Twitch",
.ifnum = QUIRK_ANY_INTERFACE,
.type = QUIRK_COMPOSITE,
.data = (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 0,
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
.data = & (const struct audioformat) {
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
.channels = 4,
.iface = 0,
.altsetting = 1,
.altset_idx = 1,
.attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
.endpoint = 0x01,
.ep_attr = USB_ENDPOINT_XFER_ISOC,
.rates = SNDRV_PCM_RATE_44100 |
SNDRV_PCM_RATE_48000,
.rate_min = 44100,
.rate_max = 48000,
.nr_rates = 2,
.rate_table = (unsigned int[]) {
44100, 48000
}
}
},
{
.ifnum = 1,
.type = QUIRK_MIDI_RAW_BYTES
},
{
.ifnum = -1
}
}
}
},
{
USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661),
.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
Expand Down
15 changes: 15 additions & 0 deletions trunk/sound/usb/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,17 @@ static int snd_usb_cm6206_boot_quirk(struct usb_device *dev)
return err;
}

/*
* Novation Twitch DJ controller
*/
static int snd_usb_twitch_boot_quirk(struct usb_device *dev)
{
/* preemptively set up the device because otherwise the
* raw MIDI endpoints are not active */
usb_set_interface(dev, 0, 1);
return 0;
}

/*
* This call will put the synth in "USB send" mode, i.e it will send MIDI
* messages through USB (this is disabled at startup). The synth will
Expand Down Expand Up @@ -746,6 +757,10 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev,
/* Digidesign Mbox 2 */
return snd_usb_mbox2_boot_quirk(dev);

case USB_ID(0x1235, 0x0018):
/* Focusrite Novation Twitch */
return snd_usb_twitch_boot_quirk(dev);

case USB_ID(0x133e, 0x0815):
/* Access Music VirusTI Desktop */
return snd_usb_accessmusic_boot_quirk(dev);
Expand Down

0 comments on commit b6d643f

Please sign in to comment.