HISE FX and delay compensation
-
@Christoph-Hart said in HISE FX and delay compensation:
You can improve it
How? I am not the Logic developer.
You are right, it seems like it is a Logic issue.
https://forum.juce.com/t/logic-pro-x-midi-fx-plug-in-latency-compensation-timeshift/23855What about FL Studio?
-
What is the status of this issue ?
Do I need to need to do anything manually to take care of latency or does Hise take care of that ? -
@lalalandsynth nudge topic.
-
@Fortune said in HISE FX and delay compensation:
With this way, plugin reports delay compensation to the DAW in the very begining of the initialization.
Is there a way to adjust delay compensation after a plugin has been initialized? The amount of latency may change depending on the amount/type of modules enabled. It would be nice to be able to compensate for this.
-
@dustbro I wonder if the procedure is not to report the biggest latency, and then compensate IN the plugin for lower latency configuration by adding the difference...
I reckon I've seen that one day but not 100% sure... -
@ustk said in HISE FX and delay compensation:
report the biggest latency, and then compensate IN the plugin
Not a bad idea!
-
Just to be clear , does the plugin not normally compensate for latency unless I do something specific to make it do that ?
-
@lalalandsynth said in HISE FX and delay compensation:
Just to be clear , does the plugin not normally compensate for latency unless I do something specific to make it do that ?
It does not automatically compensate for latency.
-
@lalalandsynth I don't think any plugin can compensate its own latency, it's the DAW's job. Plugins can only tell the DAW how much it needs
-
@ustk yes, that is what i meant does it report the latency without doing anything specific to make that happen? :)
-
@lalalandsynth Yes the report is automatic. you can also set your own with
Engine.setLatencySamples(int latency)
-
@ustk said in HISE FX and delay compensation:
the report is automatic
If I don't set the compensation, my plugins always report a latency of 0. I don't think that's correct, right?
-
@dustbro I might have wrong… I'll test that tomorrow
-
This post is deleted! -
I could use some suggestions on how to improve my approach to handling latency in my projects. I've currently been manually measuring latency and compensating for it based on which DSP nodes and oversampling are active. While this works well for static latency, I’m running into a challenge when I need to dynamically update the latency.
Right now, I’m using:
prepareToPlay() to get the initial latency with Engine.getLatencySamples()
processBlock() to set latency using setLatencySamples()
This works well for static latencies, but now that I’m introducing multiple oversampling filters, I need to adjust latency dynamically, depending on whether the user selects Linear-Phase or Minimum-Phase filtering. Since Linear-Phase filtering can add up to ~120 samples, I don’t want to set a fixed latency that high, as it would negatively impact real-time usage.
I need a way to recalculate latency when the processing mode changes. For example, when switching between oversampling filters. The goal is to update latency based on active DSP modules.
@Christoph-Hart or anyone else have suggestions on how to dynamically recalculate the latency? -
@Dan-Korneff can you measure the latency of your modules, put it in consts and make the call to set the new latency to report whenever the user changes any of the controls that affect it?