The tutorials are not very good (at all)

Yes I know that I was just replying to what MatkatMusic posted. This post you replied to is about the compressor in which ArborealAudio said to let me know how I get on. If you have any links or resources on how to know the difference that’d be great… I will see if I can find this within the Audioprogrammer’s tutorials though although I will likely see through that course how to know the difference at some point anyway.

Main focus for me as of right now is learning c++ with the audioprogrammer and any compressor tips along the way i think

Kind regards,


Basically the code @ArborealAudio posted is an implementation, that you put into the class declaration.

You can recognise a class declaration that it is usually in a header (.h) file and has a block like:

class MyProcessor : public juce::AudioProcessor { /* declarations */ };

The implementation of a function can be inlined in the class declaration, but usually you find it in the .cpp file. The code was supposed to go into the implementation:

void MyProcessor::prepareToPlay (double sampleRate, int maximumExpectedSamplesPerBlock)
    juce::dsp::ProcessSpec spec;
    spec.numChannels = getTotalNumInputChannels();
    spec.sampleRate = sampleRate;
    spec.maximumBlockSize = samplesPerBlock;


and similar the other code blocks. He wrote it in the text where to put it.

Good luck

1 Like

Okay thank you, good luck to me

Feeling great! I have got the compressor working, now to figure out mapping parameters and c++ :slight_smile: Thank you everyone and Arboreal. I’ll update you on my progress.

Nice, gratulations!

1 Like

Okay so no luck with the mapping the parameters when i’ve tried to again i did not get chance as there is an error, this project is basically empty (default) though? I don’t want to start a new one as i want to know why and mainly because I have a git repository set up and a FORK working in conjunction with one another and don’t want to mess that up so any help on both mapping and the error matters would be great

here is the link to the repo:

I’ve tried c++14 and changing to c++17 but the error for adding a ; is still there yet I think its the exact same as a default plug in project? I don’t know can someone help

Does the compilation of the code actually fail because of that “missing ;” error or is it just the IDE complaining about that in the code editor?

1 Like

Have a look what JucePlugin_Name is defined to? I could imagine some unlucky characters, like quotes that would confuse the compiler that the string that is returned ended…
Or the other way round, the name should be a readable name in quotes. Usually the Projucer takes care of that thing, but it might not catch some unexpected letters in strings…

1 Like

it actually fails because of the missing error i think because thats what it refers to when build fails.

I’ve searched JucePlugin_Name changed the name to the correct spelling of the rest of the code I thought that would work but still doesn’t and is doing the exact same thing

This looks like a bug in the Projucer’s Xcode exporter. I’m investigating now.

Okay thanks, if you need you can make a commit on the github url. In the meantime I could do with help mapping the compressors parameters if anyone can help

Thinking after that of adding some total harmonic distortion that uses an: ,if, something like if input signal is above -100dB then the distortion (at specific part and percentage) is turned on (True) with a bool command not sure how to do this either if anyone could help with that also

Since that is all no longer related to the tutorials I would suggest to open a new thread for each problem you encounter, so people can easily see what it’s about and give input if they have…


It’s up to you, I don’t tell you how to do it.
But IMHO it adds visibility, if I can see the problem from the title…

Good luck

1 Like

because, you know, helping people is nice and what i like to do

FWIW it’s a lot easier to find solutions to a given issue when the title of the post explains the problem the solution solves. Forum posts very often come up in google searches with ‘juce’ in the query, but if someone where to search for the problems raised in this thread they’d be unlikely to click on this link since the title of the post isn’t the problem they’re trying to solve.

1 Like

Yes and the issue of this forum is creating a JUCE compressor from start (and all the possible problems within that) to finish ideally with relevant comments to that, is that okay with you?

Right, but if I wanted to learn how to make a compressor with JUCE, I wouldn’t click a on a post called “The tutorials are not very good”, I’d click on a post called “How to make a compressor”.