20 #include <base/source/timer.h> 21 #include <public.sdk/source/vst/vstaudioeffect.h> 29 using namespace Steinberg;
30 using namespace Steinberg::Vst;
40 explicit RTProcessor(Steinberg::FUID
const &iControllerUID);
47 virtual RTState *getRTState() = 0;
50 tresult PLUGIN_API initialize(FUnknown *context)
override;
53 tresult PLUGIN_API setActive(TBool state)
override;
56 tresult PLUGIN_API process(ProcessData &data)
override;
59 tresult PLUGIN_API canProcessSampleSize(int32 symbolicSampleSize)
override;
62 tresult PLUGIN_API setState(IBStream *state)
override;
65 tresult PLUGIN_API getState(IBStream *state)
override;
68 tresult PLUGIN_API notify(IMessage *message) SMTG_OVERRIDE;
83 virtual tresult processInputs(ProcessData &data);
107 void enableGUITimer(uint32 iUIFrameRateMs);
119 IPtr<IMessage> allocateMessage()
override;
122 tresult sendMessage(IPtr<IMessage> iMessage)
override;
136 (fProcessor->*fCallback)();
157 #ifdef JAMBA_DEBUG_LOGGING 158 int32 fSymbolicSampleSize = -1;
std::unique_ptr< AutoReleaseTimer > fGUIMessageTimer
Definition: RTProcessor.h:153
void(RTProcessor::*)() RTProcessorCallback
Definition: RTProcessor.h:125
void onTimer(Timer *timer) override
Definition: RTProcessor.h:134
Abstraction for allocating and sending a message.
Definition: MessageProducer.h:33
virtual tresult processInputs32Bits(ProcessData &data)
Processes inputs (step 2 always called after processing the parameters) for 32 bits.
Definition: RTProcessor.h:88
Base class from which the actual processor inherits from.
Definition: RTProcessor.h:37
virtual bool canProcess32Bits() const
Definition: RTProcessor.h:73
uint32 fGUITimerIntervalMs
Definition: RTProcessor.h:148
bool fActive
Definition: RTProcessor.h:155
Manages the state used by the processor: you add all the parameters that the state manages using the ...
Definition: RTState.h:43
virtual void onGUITimer()
Subclass will implement this method to respond to the GUI timer firing /////// WARNING !...
Definition: RTProcessor.h:101
std::unique_ptr< AutoReleaseTimer > fGUITimer
Definition: RTProcessor.h:149
RTProcessorCallback fCallback
Definition: RTProcessor.h:140
virtual tresult processInputs64Bits(ProcessData &data)
Processes inputs (step 2 always called after processing the parameters) for 64 bits.
Definition: RTProcessor.h:93
RTProcessor * fProcessor
Definition: RTProcessor.h:139
Definition: RTProcessor.h:128
virtual void sendPendingMessages()
Called (from a GUI timer) to send the messages to the GUI (JmbParam for the moment)
Definition: RTProcessor.h:111
uint32 fGUIMessageTimerIntervalMs
Definition: RTProcessor.h:115
virtual bool canProcess64Bits() const
Definition: RTProcessor.h:77
GUITimerCallback(RTProcessor *iProcessor, RTProcessorCallback iCallback)
Definition: RTProcessor.h:131