Jamba
3.1.0
|
#include <RTProcessor.h>
Inherits AudioEffect, and pongasoft::VST::IMessageProducer.
Classes | |
class | GUITimerCallback |
Public Member Functions | |
IPtr< IMessage > | allocateMessage () override |
tresult PLUGIN_API | canProcessSampleSize (int32 symbolicSampleSize) override |
virtual RTState * | getRTState ()=0 |
tresult PLUGIN_API | getState (IBStream *state) override |
tresult PLUGIN_API | initialize (FUnknown *context) override |
tresult PLUGIN_API | notify (IMessage *message) SMTG_OVERRIDE |
tresult PLUGIN_API | process (ProcessData &data) override |
RTProcessor (Steinberg::FUID const &iControllerUID) | |
tresult | sendMessage (IPtr< IMessage > iMessage) override |
tresult PLUGIN_API | setActive (TBool state) override |
tresult PLUGIN_API | setState (IBStream *state) override |
~RTProcessor () override=default | |
Protected Member Functions | |
virtual bool | canProcess32Bits () const |
virtual bool | canProcess64Bits () const |
void | enableGUITimer (uint32 iUIFrameRateMs) |
virtual void | onGUITimer () |
virtual tresult | processInputs (ProcessData &data) |
virtual tresult | processInputs32Bits (ProcessData &data) |
virtual tresult | processInputs64Bits (ProcessData &data) |
virtual void | sendPendingMessages () |
Protected Attributes | |
uint32 | fGUIMessageTimerIntervalMs |
Private Types | |
using | RTProcessorCallback = void(RTProcessor::*)() |
Private Attributes | |
bool | fActive |
std::unique_ptr< AutoReleaseTimer > | fGUIMessageTimer |
GUITimerCallback | fGUIMessageTimerCallback {this, &RTProcessor::sendPendingMessages} |
std::unique_ptr< AutoReleaseTimer > | fGUITimer |
GUITimerCallback | fGUITimerCallback {this, &RTProcessor::onGUITimer} |
uint32 | fGUITimerIntervalMs |
Base class from which the actual processor inherits from. Handles most of the "framework" logic, (state loading/saving in a thread safe manner, setting up GUI thread if messaging to the GUI is required, etc...) so that the actual processor code deals mostly with business logic.
|
private |
|
explicit |
|
overridedefault |
|
overridevirtual |
Allocates a message instance
Implements pongasoft::VST::IMessageProducer.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
override |
Asks if a given sample size is supported see SymbolicSampleSizes
.
|
protected |
Call this method to enable the GUI timer (onGUITimer will be called at the specified frequency) Should be called in the constructor or setupProcessing method as it will take effect in setActive
|
pure virtual |
Subclasses must implement this method to return the state
|
override |
Called to save the state (before saving a preset or project)
|
override |
Called at first after constructor (setup input/output)
tresult pongasoft::VST::RT::RTProcessor::notify | ( | IMessage * | message | ) |
Called to handle a message (coming from GUI)
|
inlineprotectedvirtual |
Subclass will implement this method to respond to the GUI timer firing /////// WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! ////// /////// this method WILL be called from the UI thread so do not modify the processor state ////// /////// WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! WARNING !!!!! //////
|
override |
Here we go...the process call
|
protectedvirtual |
Processes inputs (step 2 always called after processing the parameters) Delegate to processInputs32Bits or processInputs64Bits accordingly
|
inlineprotectedvirtual |
Processes inputs (step 2 always called after processing the parameters) for 32 bits
|
inlineprotectedvirtual |
Processes inputs (step 2 always called after processing the parameters) for 64 bits
|
overridevirtual |
Sends the given message to the peer.
Implements pongasoft::VST::IMessageProducer.
|
inlineprotectedvirtual |
|
override |
Switch the Plug-in on/off
|
override |
Restore the state (ex: after loading preset or project)
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |
|
private |