Thank you very much for pointing that out, but here is where my knowledge of C++ really sucks, it makes absolutely zero sense to me.
So I logically assumed that I could do something similar as to what was done in the declaration of my MutineerAudioProcessorEditor class in the header file, which has this;
class MutineerAudioProcessorEditor : public AudioProcessorEditor,
public Button::Listener,
public ComboBox::Listener,
public Slider::Listener,
public Timer, public Value::Listener
{
public:
MutineerAudioProcessorEditor (MutineerAudioProcessor&);
~MutineerAudioProcessorEditor();
void paint (Graphics&) override;
void resized() override;
private:
MutineerAudioProcessor& processor;
...
So I changed my component class in its header to do the same;
class WaveformOutput : public Component, public Timer {
public:
WaveformOutput (MutineerAudioProcessor&);
~WaveformOutput ();
void timerCallback () override;
void paint (Graphics&) override;
void resized () override;
ImageButton waveformCreatorButton, zoomDetailButton;
ImageButton zoomOutputButton, zoomCloseButton;
private:
MutineerAudioProcessor& mup;
...
Then in the plugineditor’s constructor it had this;
MutineerAudioProcessorEditor::MutineerAudioProcessorEditor (MutineerAudioProcessor& p)
: AudioProcessorEditor (&p), processor (p)
{
So again I logically assumed I could do the same in my component’s constructor like this;
WaveformOutput::WaveformOutput (MutineerAudioProcessor& p) : mup (p)
{
But now that would have been too easy because now even though it shows no error, on the actual constructor, the next class I have in the same file, shows an error at its constructor “{”, saying “no default constructor exists for class WaveformOutput”. So either I made a typo I could not find during the last hour, or I am missing something else.
If it weren’t that I value the little hair I have left on my head, I would pull some out.
I also tried this;
WaveformOutput::WaveformOutput (MutineerAudioProcessor& p) :
Component (&p), mup (p)
{
...