Hello all,
Sadly I won't be able to make it to the miniLAC as work keeps
me in München during the weekend :-(
For those who'll be there, have a good time !
Meanwhile I'm trying to understand the following:
I'm using a Novation LaunchControl (8 pads and 16 rotary controllers).
When I use it via ALSA sequencer, I get the expected MIDI events:
note on/off, controller, and sysex.
When I access it directly as a USB device using libusb, I see
the expected MIDI data, but with some extra bytes, e.g. (all
values in hex):
[09] 90 09 7f (note on)
[08] 80 09 00 (note off)
[0b] b0 15 23 (controller)
[04] f0 00 20 [04] 29 02 0A [07] 77 00 ff (sysex)
where the bytes in [] are the ones that are *not* part of
the MIDI message.
Now since things work perfectly with ALSA sequencer without
required a specific driver, either
* ALSA knowns about the details of this particular device,
* or these extra bytes are part of some standard.
Given that there seems to be one extra byte for every three
expected ones, could it be that this is some format that
encodes 24 bits in 32 ?
lsusb output for this device is:
Bus 003 Device 004: ID 1235:0034 Focusrite-Novation
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1235 Focusrite-Novation
idProduct 0x0034
bcdDevice 0.00
iManufacturer 1 Focusrite A.E. Ltd
iProduct 2 Launch Control
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 82
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 60mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 3 Launch Control
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 9
bInCollection 1
baInterfaceNr( 0) 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 3 Launch Control
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 46
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 2
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
Any info much appreciated !!
Ciao,
-- FA A world of exhaustive, reliable metadata would be an utopia. It's also a pipe-dream, founded on self-delusion, nerd hubris and hysterically inflated market opportunities. (Cory Doctorow) _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@email-addr-hidden http://lists.linuxaudio.org/listinfo/linux-audio-devReceived on Sat Apr 9 00:15:01 2016
This archive was generated by hypermail 2.1.8 : Sat Apr 09 2016 - 00:15:01 EEST