21#include <base/source/timer.h>
22#include <public.sdk/source/vst/vstaudioeffect.h>
30using namespace Steinberg;
31using namespace Steinberg::Vst;
41 explicit RTProcessor(Steinberg::FUID
const &iControllerUID);
51 tresult PLUGIN_API
initialize(FUnknown *context)
override;
54 tresult PLUGIN_API
setActive(TBool state)
override;
57 tresult PLUGIN_API
process(ProcessData &data)
override;
63 tresult PLUGIN_API
setState(IBStream *state)
override;
66 tresult PLUGIN_API
getState(IBStream *state)
override;
69 tresult PLUGIN_API
notify(IMessage *message) SMTG_OVERRIDE;
123 tresult
sendMessage(IPtr<IMessage> iMessage)
override;
158#ifdef JAMBA_DEBUG_LOGGING
159 int32 fSymbolicSampleSize = -1;
Abstraction for allocating and sending a message.
Definition MessageProducer.h:35
Definition RTProcessor.h:130
void onTimer(Timer *timer) override
Definition RTProcessor.h:135
RTProcessor * fProcessor
Definition RTProcessor.h:140
GUITimerCallback(RTProcessor *iProcessor, RTProcessorCallback iCallback)
Definition RTProcessor.h:132
RTProcessorCallback fCallback
Definition RTProcessor.h:141
tresult PLUGIN_API setState(IBStream *state) override
Restore the state (ex: after loading preset or project).
Definition RTProcessor.cpp:167
tresult PLUGIN_API process(ProcessData &data) override
Here we go...the process call.
Definition RTProcessor.cpp:87
GUITimerCallback fGUIMessageTimerCallback
Definition RTProcessor.h:153
tresult PLUGIN_API initialize(FUnknown *context) override
Called at first after constructor (setup input/output).
Definition RTProcessor.cpp:191
virtual void sendPendingMessages()
Called (from a GUI timer) to send the messages to the GUI (JmbParam for the moment).
Definition RTProcessor.h:112
std::unique_ptr< AutoReleaseTimer > fGUITimer
Definition RTProcessor.h:150
bool fActive
Definition RTProcessor.h:156
tresult PLUGIN_API getState(IBStream *state) override
Called to save the state (before saving a preset or project).
Definition RTProcessor.cpp:179
std::unique_ptr< AutoReleaseTimer > fGUIMessageTimer
Definition RTProcessor.h:154
virtual RTState * getRTState()=0
Subclasses must implement this method to return the state.
virtual void onGUITimer()
Subclass will implement this method to respond to the GUI timer firing /////// WARNING !
Definition RTProcessor.h:102
tresult PLUGIN_API notify(IMessage *message) SMTG_OVERRIDE
Called to handle a message (coming from GUI).
Definition RTProcessor.cpp:74
uint32 fGUITimerIntervalMs
Definition RTProcessor.h:149
tresult PLUGIN_API setActive(TBool state) override
Switch the Plug-in on/off.
Definition RTProcessor.cpp:42
tresult PLUGIN_API canProcessSampleSize(int32 symbolicSampleSize) override
Asks if a given sample size is supported see SymbolicSampleSizes.
Definition RTProcessor.cpp:144
RTProcessor(Steinberg::FUID const &iControllerUID)
Definition RTProcessor.cpp:28
virtual tresult processInputs32Bits(ProcessData &data)
Processes inputs (step 2 always called after processing the parameters) for 32 bits.
Definition RTProcessor.h:89
virtual bool canProcess32Bits() const
Definition RTProcessor.h:74
virtual bool canProcess64Bits() const
Definition RTProcessor.h:78
virtual tresult processInputs(ProcessData &data)
Processes inputs (step 2 always called after processing the parameters) Delegate to processInputs32Bi...
Definition RTProcessor.cpp:112
void(RTProcessor::*)() RTProcessorCallback
Definition RTProcessor.h:126
~RTProcessor() override=default
IPtr< IMessage > allocateMessage() override
Allocates a message instance.
Definition RTProcessor.cpp:204
GUITimerCallback fGUITimerCallback
Definition RTProcessor.h:148
void enableGUITimer(uint32 iUIFrameRateMs)
Call this method to enable the GUI timer (onGUITimer will be called at the specified frequency) Shoul...
Definition RTProcessor.cpp:159
virtual tresult processInputs64Bits(ProcessData &data)
Processes inputs (step 2 always called after processing the parameters) for 64 bits.
Definition RTProcessor.h:94
uint32 fGUIMessageTimerIntervalMs
Definition RTProcessor.h:116
tresult sendMessage(IPtr< IMessage > iMessage) override
Sends the given message to the peer.
Definition RTProcessor.cpp:212
Manages the state used by the processor: you add all the parameters that the state manages using the ...
Definition RTState.h:46
virtual tresult sendPendingMessages(IMessageProducer *iMessageProducer)
Called (from a GUI timer) to send the messages to the GUI (JmbParam for the moment).
Definition RTState.cpp:334
Definition RTJmbInParameter.h:26