dagargo / overwitch

JACK client for Overbridge devices
GNU General Public License v3.0
120 stars 14 forks source link

fix: use alt interface with higher max packet size #35

Closed serratedserenade closed 2 years ago

serratedserenade commented 2 years ago

I think based on the lsusb outputs for our devices, I think 2 is possibly the class compliant one, and 3 is the Overbridge variant? A guess at best. Considering it seems to be present on 4 of the modern devices we have tested (DT, ST, AHmk2, A4mk2), it should be safe to assume it'd be the same on the others.

dagargo commented 2 years ago

This works with my Digitakt so, although we don't know for sure about the Digitone, it's very likely that it will too as the architecture of both machines is pretty similar.

If not, we'll need to add the alt interface to the device definitions.

serratedserenade commented 2 years ago

@dagargo I also have a DN and it's present. Though surprisingly this is the one case where it looks exactly the same lsusb.digitone.txt

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0058  1x 88 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0058  1x 88 bytes
        bInterval               1

I just remembered I wanted to ask why I couldn't manipulate input audio with DN effects but I guess its built this way.

Only ones left to confirm now are AR and DN Keys.

dagargo commented 2 years ago

It's exactly like this with my Digitakt too and I think it's by design. But we can ask on Elektronauts.

Overwitch audio outputs go directly to the main physical output, so it is mixed with the device output. These do not even go to the Overbridge output!

But I guess it make sense. After all, we could disconnect all the tracks from the main output so only the Overwitch audio outputs will go directly to the physical output.