-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Ladspastuff #3313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ladspastuff #3313
Conversation
Hmm... http://stackoverflow.com/a/5354352/3196753 According to this, we can pull out preprocessor flags here too if we do it correct. Not my area of expertise, but I'm sure some others will know. |
|
2449f99
to
0d21bd2
Compare
@zonkmachine do you need some debugging work? I have some projects that are basically NaN farms 😃 |
Yes! zip and send! 🚜 |
0d21bd2
to
c58afee
Compare
@@ -241,6 +243,14 @@ bool LadspaEffect::processAudioBuffer( sampleFrame * _buf, | |||
for( fpp_t frame = 0; | |||
frame < frames; ++frame ) | |||
{ | |||
if ( isnan( pp->buffer[frame] ) || |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tresf I need your cmakedefine01 here to go if ( LMMS_DEBUG ||
or maybe an LADSPA_DEBUG
that is set by the former. If I try to cmakedefine01 LMMS_DEBUG that isn't working because it's already defined.
LMMS_DEBUG &&
😃
c58afee
to
954bb44
Compare
There, have an ILS farm. It reliably looses sound after bar 9 on both windows and linux. If I stumble upon any other reliably problematic projects, I'll keep you posted ;) |
Can you expand on this statement? I can't find much about |
If I nudge the volume on the bitinvader and the cowbell, which are the two tracks acting up like this, before the sounds are played, I can get the song to play all the way to the end. I wonder if that means it could be our bug? That the plug-in isn't set up properly... I think the next step in this case is that you should try it with the latest calf plug-ins and see if there is any difference. |
Does Calf even support their LADSPA versions, or have they switched to LV2 completely? If they still work on the LADSPAs, we could just pull in the changes, right? |
Looks like they removed support for ladspa since version |
And our calf changelog reads |
Wrong clicks:( |
Dyson Compressor
NaN - Release time 0.0f = divide with 0 here:
float rgainfilter = 1.0f / (release_time * sample_rate);
In the solution:
port_range_hints[DYSONCOMPRESS_RELEASE_TIME].LowerBound = 0.0000001;
Maybe use a constant for 0.0000001 ... 'weeLittleFloat' = 0.0000001 ?
Are there any suitable math constants to use? I just put in the smalles number that would give 0 and 1 back in the knobs extreme positions.
Also, I found a generally odd looking line here
if (compressionratio == 0.50f)
should probably be<
or>
I thought it could potentionally produce a glitch if you sweep the compression knob across 0.5f as it would change to another algorithm for that value only but I haven't managed to produce anything buggy because of it. I haven't dived into the math of it yet.
LADSPA debugging code
Put general debugging code for LADSPA so we can stop those NaN's and whatever may be hiding in there. In response to #1048 and discussion here .
@tresf :) I've looked at cmakedefine01 but I don't think any of that applies to this case, right?