On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
um, come on, you sit here and preach that I don't know what I'm
talking about yet you can't even be right on the first sentence?
jitter is the standard deviation of the timings. Do you know
what standard deviation is? It is the square root of the sum of
the squares...
There is different "jitters":
https://en.wikipedia.org/wiki/Jitter see at Sampling Jitter
Audio plugins create latency if they are slow but not sampling
jitter, which is a property of the sound card.
What you mean is that when a plugin is slow it create a jitter
sound when the get back?
Also, if you simply removed the GC from D so it doesn't get
called, then whats the point? Anyone can do that(more or less).
If you used manual memory management, then whats the point? C++
already does that and does RT audio already. We know D can be
made to do this already.
No, I've seen people claim exactly the reverse, that D can't do
RT audio. You even do so below.
If you pause the GC so it doesn't get called a lot, then whats
the point? If you run your software for 3 hours, if it going to
survive or glitch?
GC isn't paused, it doesn't trigger because there is no periodic
allocations.
Do you know what "design for the worse case scenario" means?
While RT audio isn't life and death, it's treated that why by
the professional community.
It's important to me, else I wouldn't have ensure the GC never
collects.
Please stop the appeals to authority already. Unless you state
who you are perhaps? Jonny the drummer.
Just because it's acceptable to you to define RT audio in some
way that justifies it for you does not mean it's RT audio. I'm
not saying your software isn't RT, but if you use the GC in any
way what so ever, you don't have RT audio...
This doesn't make sense. If it doesn't glitch, doesn't introduce
latency or jitter, then it's RT audio. You can try the plugin at
home to verify that.
regardless if it behaves like RT 99.99% percent. (there is
something about guaranteed *maximum* latency that you have to
deal with)
Familiar with the IPlug framework? It takes locks in the audio
callback.
A lock isn't guaranteed to have a maximum latency, but it's very
fast. That doesn't prevent successful software like KlangHelm's
MJUC to work.
https://github.com/olilarkin/wdl-ol/blob/cb51edc105c6cc927530a6ac0459dcee0097a23c/WDL/IPlug/IPlugVST3.cpp#L341
But wait!
JUCE is also doing that.
https://github.com/julianstorer/JUCE/blob/master/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp#L582
It turns out the two most used audio plugins frameworks out there
do things that don't have maximum latency predictibility. Have
you gone bugger them?