33 namespace Debug {
class ParamDisplay; }
36 using namespace Utils;
75 virtual tresult init();
84 virtual bool beforeProcessing();
89 virtual bool applyParameterChanges(IParameterChanges &inputParameterChanges);
97 virtual int32 getParamUpdateSampleOffset(ProcessData &iData, ParamID iParamID)
const;
103 virtual void afterProcessing();
109 virtual tresult readNewState(IBStreamer &iStreamer);
115 virtual tresult writeLatestState(IBStreamer &oStreamer);
128 tresult handleMessage(
Message const &iMessage)
override;
141 std::map<ParamID, std::unique_ptr<RTRawVstParameter>> fVstParameters{};
144 std::map<ParamID, std::unique_ptr<IRTJmbOutParameter>> fOutboundMessagingParameters{};
147 std::map<ParamID, std::unique_ptr<IRTJmbInParameter>> fInboundMessagingParameters{};
150 std::vector<ParamID> fAllRegistrationOrder{};
157 tresult addRawParameter(std::unique_ptr<RTRawVstParameter> iParameter);
160 tresult addOutboundMessagingParameter(std::unique_ptr<IRTJmbOutParameter> iParameter);
163 tresult addInboundMessagingParameter(std::unique_ptr<IRTJmbInParameter> iParameter);
176 virtual bool resetPreviousValues();
193 void computeLatestState();
217 std::unique_ptr<RTRawVstParameter> rtParam{rawPtr};
218 addRawParameter(std::move(rtParam));
230 std::unique_ptr<IRTJmbOutParameter> rtParam{rawPtr};
231 addOutboundMessagingParameter(std::move(rtParam));
243 std::unique_ptr<IRTJmbInParameter> rtParam{rawPtr};
244 addInboundMessagingParameter(std::move(rtParam));
245 fMessageHandler.registerHandler(iParamDef->fParamID, rawPtr);
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition: RTJmbOutParameter.h:172
Templated class for RT Jamba parameter.
Definition: RTJmbOutParameter.h:71
This is the class which maintains all the registered parameters.
Definition: Parameters.h:37
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition: RTParameter.h:190
This is the lock free version of the AtomicValue.
Definition: Concurrent.h:317
RTJmbOutParam< T > addJmbOut(JmbParam< T > iParamDef)
This method should be called to add an rt outbound jmb parameter.
Definition: RTState.h:226
Abstraction for allocating and sending a message.
Definition: MessageProducer.h:33
This helper class is used to display the parameters (vst/jmb) WARNING: this class is allocating memor...
Definition: ParamDisplay.h:33
virtual void afterReadNewState(NormalizedState const *iState)
Gives a chance to subclasses to tweak and/or display the state after being read.
Definition: RTState.h:185
Simple wrapper class with better api.
Definition: Messaging.h:42
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition: RTJmbInParameter.h:142
Interface defining a message handler.
Definition: MessageHandler.h:30
std::shared_ptr< RawVstParamDef > RawVstParam
Definition: ParamDef.h:457
Manages the state used by the processor: you add all the parameters that the state manages using the ...
Definition: RTState.h:43
Used to communicate the state between the UI and the RT and read/write to stream.
Definition: NormalizedState.h:38
virtual void beforeWriteNewState(NormalizedState const *iState)
Gives a chance to subclasses to tweak and/or display the state before being written.
Definition: RTState.h:189
bool isMessagingEnabled() const
Definition: RTState.h:119
std::vector< ParamID > const & getAllRegistrationOrder() const
Definition: RTState.h:131
Templated class for RT Jamba Inbound parameter.
Definition: RTJmbInParameter.h:72
RTRawVstParam add(RawVstParam iParamDef)
This method is called for each parameter managed by RTState.
Definition: RTState.cpp:37
Concurrent::LockFree::AtomicValue< NormalizedState > fLatestState
Definition: RTState.h:202
Simple implementation of IMessageHandler which will delegate the message handling based on MessageID.
Definition: MessageHandler.h:39
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition: RTParameter.h:270
Parameters const & fPluginParameters
Definition: RTState.h:138
RTJmbInParam< T > addJmbIn(JmbParam< T > iParamDef)
This method should be called to add an rt inbound jmb parameter.
Definition: RTState.h:239
The typed version.
Definition: RTParameter.h:91
Concurrent::LockFree::SingleElementQueue< NormalizedState > fStateUpdate
Definition: RTState.h:198
This is the lock free version of the SingleElementQueue.
Definition: Concurrent.h:148