SOLVED ButtonListener in 10.8

I am on the latest Git and have tested this with the demoplugin:


I get error when I want to use a ButtonListener in my plugin. After adding the public ButtonListener in the pluginEditor, I get an error in the next section:


AudioProcessorEditor* JuceDemoPluginAudioProcessor::createEditor()


    return new JuceDemoPluginAudioProcessorEditor (this);


Allocating an object of abstract class type. 





I was having the exact same error.

It was because in my PluginEditor.cpp class I hadn't implemented these two functions in from the AudioProcessorEditor class:

virtual void setControlHighlight (ParameterControlHighlightInfo);

virtual int getControlParameterIndex (Component&);

What I did was this (comments for functions are from AudioProcessorEditor class)


/* Some types of plugin can call this to suggest that the control for a particular

 parameter should be highlighted.

 Currently only AAX plugins will call this, and implementing it is optional.


void setControlHighlight (MSCPluginAudioProcessorEditor::ParameterControlHighlightInfo) {

    // TODO: Implement this inherited function...


/** Called by certain plug-in wrappers to find out whether a component is used

 to control a parameter.

 If the given component represents a particular plugin parameter, then this

 method should return the index of that parameter. If not, it should return -1.

 Currently only AAX plugins will call this, and implementing it is optional.


int getControlParameterIndex (Component&){

    return -1;



Anybody have any better default implementation ideas? I'm not doing an AAX plugin, but thought i'd bring up this potential issue... There are already default implementations of those methods in the base class. You don't need to implement them yourself.

Must be some other confusion in your project, e.g. got your versions messed up so you're using header files that don't match the cpp files?