Re: [PATCH v2 00/37] ALSA: Add MIDI 2.0 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 29 Jun 2023 04:03:47 +0200,
Symbolic Debugger wrote:
> 
> Thanks again for your time to reply . I think my coin has dropped :-)
> 
> 1 .So basically, we have GTB in the device descriptor and the FB information is an UMP call to the device by the ALSA driver.  "The device should provide both info, in somehow compatible ways."  . The process would be [a]. driver gets USB device descriptors,  [b]. driver issues USB call to retrieve  USB GTB descriptors and then [c] driver issues UMP stream call to retrieve the function block information. (if N/A, driver falls back on the GTB information). This information should be consistent with the groups defined in the GTB.

Correct.

> 2. When creating the device descriptors and GTB descriptors based on the 2020 USB 2.0 spec, it should work ?  Would those port show up in ALSA or can only be access via /dev/umpC*D*

Yes, there has been no change about the GTB itself; USB MIDI spec is
unchanged.  The recent MIDI 2.0 spec extended only UMP and MIDI-CI.

> 3. w/o duplicates with 2 GTB's and for 32 groups, for example, it would be 1st GTB has group 1~16 and 2nd GTB 17~23  ?. A FB could use the groups from both GTB's for example Group1  and 17.

First of all: you can't have more than 16 groups (per direction) on a
single EP.  It's a hard limitation.  So there can be no "Group 17".
(A UMP Group can be bidirectional.)

Imagine other way round: you have max 16 in and 16 out UMP Groups
where each Group has 16 channels, and GTB and FB just define how those
Groups are assigned to which actual I/O.  Some multiple Groups may
belong to the I/O for the same purpose, and in that case, those Groups
can be put into a single FB / GTB. 

> 4. If two functions uses all 16 groups, that would use up all 32 FB's , correct ?

If each FB contains one (single direction) Group and you have 16 in
and 16 out Groups, then yes, it'll be up to 32 FBs and GTBs, which is
the max number defined in the spec.  But a FB / GTB can contain
multiple Groups for the same purpose, so I guess taking all 32 FBs
would be rather a rare case.


Takashi



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux