I wholeheartedly agree with everything you wrote, Mike. Takashi is the person who knows best how to implement these changes, and is definitely the most capable. I will get back to you about retesting my other Roland devices with this trick, although I only have a few of the many devices I'd ultimately like this solution implemented for. Also, I haven't noticed the sync-related clicking with the other devices I own, but I'm confident they won't be hurt by the change. I'll let you both know, though, when I get around to testing them.
Thanks as ever,
Lucas
On Fri, Apr 9, 2021 at 11:47 AM Mike Oliphant oliphant@nostatic.org wrote:
Hi Lucas,
Your observation that the Roland D-05 still needs the capture feedback made me try some more testing, and I think the GT-1 actually is the same.
I use my device with jackd running for both capture/playback at the same time. This works for me without capture feedback enabled. But, it turns out that just doing an "arecord" without playback fails. Enabling the capture feedback makes capture also work without playback (and everything else still works perfectly).
Given this, I agree that it seems likely that most, if not all, of these Roland devices work the same way. It would be great to get more devices tested, though.
As to an actual patch, I think it is probably best left to Takashi to decide if he is comfortable with making a change to snd_usb_endpoint_start() in endpoint.c, and if so, how he wants to make it conditional for devices - whether an ID check in endpoint.c, or a flag on feedback setup, or some other way.
Mike