Interface for registering the user's subclasses with the framework. More...
#include <mostlyharmless_IPluginEntry.h>
Public Member Functions | |
virtual | ~IPluginEntry () noexcept=default |
virtual std::unique_ptr< ISharedState > | createState (SharedStateContext &&context)=0 |
virtual std::unique_ptr< IEngine > | createEngine (ISharedState *sharedState)=0 |
virtual bool | hasGui () const noexcept=0 |
virtual std::unique_ptr< IEditor > | createEditor (ISharedState *sharedState)=0 |
Interface for registering the user's subclasses with the framework.
As detailed in the FX Plugin tutorial, users must implement this, ISharedState, IEngine, and optionally IEditor, and register their subclasses with the framework to create an audio plugin. These will also be created if using the provided create.py
script.
Handles specifying the various subclasses the framework should create for ISharedState, IEngine and IEditor.
|
virtualdefaultnoexcept |
Virtual destructor.
|
pure virtual |
Override this to create an instance of your Editor class, deriving from IEditor (or descendents). If you've chosen not to provide a gui (and returned false from hasGui), you can return a nullptr here.
sharedState | A pointer to the object returned from createState, to optionally pass to your IEditor subclass' constructor. |
|
pure virtual |
|
pure virtual |
Override this to create an instance of your Shared State class, deriving from ISharedState.
context | A SharedStateContext instance, to be forwarded to ISharedState's constructor. |
|
nodiscardpure virtualnoexcept |
Override this to specify whether or not your plugin provides a gui.