next up let’s talk about the actual processing. i turned down the volume of my mix to -6db as that’s usually the best range for saturation imo. it immediatly colours the signal pretty strong on default settings into a warm and sorta dull direction. i guess that was to be expected. some popular plugins like NI Dirt do that too. i turned down the input gain to -60, but it didn’t really turn down the volume a lot. that doesn’t seem to work yet. double clicking on the parameter resets it to 0. that’s cool. but the skew factor sucks. you can barely just turn it down to -6 or something. it can only be moved very strongly without holding ctrl. when you turn the gain up it can turn the sound off similiar to my crash earlier, but the sound comes back when you turn it down again at least. still i’d change that. and no one needs max +30db for saturation. So i went on to turn up “Kp” and it kinda glitched out. now i have no sound anymore again. … ok i turned it down again and messed a bit with the input gain, now the sound is on again. so definitely see what#s the problem there. the “Ki” knob also does some weird stuff with the sound sometimes but i more or less like what it does. seems to be a tone-control. higher values make it sound a bit brighter. “Kd” also glitches out, like Kp does. the range works for the master output gain, but sometimes when you move it too fast the whole sound turns off. so definitely copy the code for the decibel conversion from this parameter to the input one, but also definitely try to improve everything else about it.
conclusion: all these audio dropouts are super annoying. idk what’s going on there. if it was about things going out of bounds i think it would crash the plugin so it must be something else. maybe some calculations just make no sense, idk. you have to find out.
edit: i checked out your code a bit. it seems you just do everything in processBlock. Maybe it would be a good idea to learn how to use your own header files and classes so you can tidy up your stuff better. A better overview on your code sometimes makes the mistakes more obvious as it’s easier to navigate. For example you could make a class that is only responsible for the gain faders and then just make 2 objects of that for in- and output. Also be more careful about edge-cases. There are so many audio dropouts everywhere that I’m really surprised that you didn’t encounter any of them before compiling this plugin