Interface for the plugin's gui functionality. More...
#include <mostlyharmless_IEditor.h>
Public Member Functions | |
virtual | ~IEditor () noexcept=default |
virtual void | initialise ()=0 |
virtual void | destroy ()=0 |
virtual void | setSize (std::uint32_t width, std::uint32_t height)=0 |
virtual void | getSize (std::uint32_t *width, std::uint32_t *height)=0 |
virtual void | setParent (void *parentHandle)=0 |
virtual void | show ()=0 |
virtual void | hide ()=0 |
virtual void | onParamEvent (events::ProcToGuiParamEvent event)=0 |
Interface for the plugin's gui functionality.
As detailed in the FX Plugin tutorial, users can optionally implement this (or descendents), and must implement ISharedState, IEngine and IPluginEntry, and register their subclasses with the framework to create an audio plugin. These will also be created if using the provided create.py
script.
This interface serves as the the barebones gui hooks for implementing a framework of your choosing with the framework, and doesn't provide any functionality out of the box. If you'd like to use a webview gui, take a look at WebviewEditor or WebviewBase instead.
|
virtualdefaultnoexcept |
Virtual destructor.
|
pure virtual |
Called when the editor is closed.
Implemented in mostly_harmless::gui::WebviewBase.
|
pure virtual |
Queries the editor about the size of its window. Initially, the parent window's size depends entirely on this call.
width | A pointer to the width, to set. |
height | A pointer to the height, to set. |
Implemented in mostly_harmless::gui::WebviewBase.
|
pure virtual |
Called when the editor should hide.
Implemented in mostly_harmless::gui::WebviewBase.
|
pure virtual |
Called immediately after the gui has been created - use this to perform any post-creation initialisation.
Implemented in mostly_harmless::gui::WebviewBase, and mostly_harmless::gui::WebviewEditor.
|
pure virtual |
Called via the internal gui dispatch thread when a new parameter event is sent by the host - use this hook to sync the changes with the gui!
Implemented in mostly_harmless::gui::WebviewBase, and mostly_harmless::gui::WebviewEditor.
|
pure virtual |
Use this function to add your custom window to the parent view.
parentHandle | A void* to the parent window's handle - the actual type is platform specific (HWND on Windows, NSView on macOS). |
Implemented in mostly_harmless::gui::WebviewBase.
|
pure virtual |
Called when the size of the parent window has been changed.
width | The new parent width. |
height | The new parent height. |
Implemented in mostly_harmless::gui::WebviewBase.
|
pure virtual |
Called when the editor should show.
Implemented in mostly_harmless::gui::WebviewBase.