rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
495 stars 86 forks source link

Feature request: display summed-up latency #410

Closed suedwestlicht closed 6 months ago

suedwestlicht commented 9 months ago

In each track's setting I can switch on latency compensation.

Bildschirmfoto_2023-09-16_12-28-57

A display of the summed-up latency for all active plugins in this track would help identify plugins that don't report their latency properly.

rncbc commented 9 months ago

ack. should make it on develop branch soon.

rncbc commented 9 months ago

in a9191a5 [develop] branch

test && tell thanks

suedwestlicht commented 9 months ago

Display works fine, tested with LSP Plugins Beat Breather (huge latency) and Autotalent on a snare track.

But the latency compensation doesn't seem to work when I switch it on for this track.

rncbc commented 9 months ago

But the latency compensation doesn't seem to work when I switch it on for this track.

did it work earlier before?

ps. tested with lsp-breath-thing and it seems to work alright... just in case one of us is missing something, the latency compensation checkbox isn't supposed to work immediately or in real-time, you'll have to accept/ok the new track setting before it takes effect.

suedwestlicht commented 9 months ago

I made a session with 3 audio tracks and the autotalent plugin. Latency compensation works ok.

I'll investigate further.

Latency-Test.qtz.zip

suedwestlicht commented 9 months ago

I added a MIDI track with drumkv1.

The MIDI track's latency compensation is active. In the loop the first note is missing as it should. But it seems that the amount of time the track is played "earlier" is not enough.

Switching all autotalent plugins off shows that the audio tracks and the midi track are in sync. Latency-Test.qtz.zip

I noticed that this setup makes Qtractor unstable. Sometimes it crashes after loading or playing. In fact I couldn't load and play the attached session again. I guess it's something to do with the latency compensation switched on.

suedwestlicht commented 9 months ago

I think the crashes came from autotalent.

I made a session with LSP beat breather. No crashes so far. So the only problem remaining ist the MIDI track that's not (fully) compensated. Latency-Test_2.qtz.zip

rncbc commented 9 months ago

MIDI track that's not (fully) compensated"

what you mean?

probably latency compensation doesn't work seamlessly at loop turnarounds... is that it?

suedwestlicht commented 9 months ago

For the MIDI track with drumkv1 the latency compensation doesn't work at all.

simplescreenrecorder-2023-09-19_12.25.58.mkv.zip

rncbc commented 9 months ago

well, i'm affraid the latency compensation on MIDI tracks wasn't working at all before, so sorry :S

the latency compensation has to be reviewed and probably completely overhauled... maybe in a brand new issue?

suedwestlicht commented 9 months ago

Yes. "Feature request: display summed-up latency" works fine. Task completed :)

Thx Rui.

suedwestlicht commented 9 months ago

There is still a little flaw updating the status. Switching a plugin on/off in Qtractor's Track->Plugins window updates latency but not in the plugin's dialog.

display_latency.mkv.zip

EDIT: It's probably no flaw since clicking the LED in the plugin's dialog seems to be a bypass, not an on/off.

EDIT2: Hmm, no, clicking on the LED in the plugin's dialog affects the LED in the track's display.

rncbc commented 9 months ago

yeah, right, just click on the latency display to refresh/update :)

ps. meaning the latency figures on the track/plugins dialog: click on it, it gets updated; toggling the "Active" button on the plugins properties/generic/stock UI won't do it, sorry!

suedwestlicht commented 9 months ago

Cool. I never thought that the latency display is clickable.

How about making it change its background color when hovering - like "Latency compensation". It would then be easier to notice that it's clickable.

rncbc commented 9 months ago

now that you know, is it really necessary? besides, it depends on the widget style in charge, some make it like so, others just don't... you decide ;)

suedwestlicht commented 9 months ago

We can keep it as a secret :)

suedwestlicht commented 7 months ago

Thx again.