21#include <vstgui/lib/cview.h>
90 bool iInvokeCallback);
100 bool iInvokeCallback);
116 bool iSubscribeToChanges =
true);
129 bool iInvokeCallback =
false);
142 bool iInvokeCallback =
false);
159 bool iSubscribeToChanges =
true);
173 bool iInvokeCallback =
false);
187 bool iInvokeCallback =
false);
209 bool iInvokeCallback =
false);
219 bool iInvokeCallback =
false);
240 bool iInvokeCallback =
false) {
250 bool iInvokeCallback =
false) {
259 [[deprecated(
"Since 4.0.0 - use registerVstParam<bool> directly")]]
263 [[deprecated(
"Since 4.0.0 - use registerVstParam<Percent> directly")]]
288 bool iInvokeCallback =
false);
299 bool iInvokeCallback =
false);
325 bool iInvokeCallback =
false) {
345 bool iInvokeCallback =
false) {
371 bool iInvokeCallback =
false);
382 bool iInvokeCallback =
false);
408 bool iInvokeCallback =
false) {
428 bool iInvokeCallback =
false) {
456 bool iInvokeCallback =
false) {
475 bool iInvokeCallback =
false) {
512 [[deprecated(
"Since 4.0.0 - If you need this kind of granularity, maintain your own connections")]]
520 [[deprecated(
"Since 4.0.0 - If you need this kind of granularity, maintain your own connections")]]
529 [[deprecated(
"Since 4.0.0 - If you need this kind of granularity, maintain your own connections")]]
538 [[deprecated(
"Since 4.0.0 - If you need this kind of granularity, maintain your own connections")]]
561template<
typename TView>
565 static_assert(std::is_convertible<TView *, VSTGUI::CView*>::value,
"TView must be a subclass of CView");
606 bool iInvokeCallback =
false)
608 auto callback = [view = this->
fView, cb2 = std::move(iChangeCallback)] (
GUIVstParam<T> &iParam) {
632 bool iInvokeCallback =
false)
634 auto callback = [view = this->
fView, cb2 = std::move(iChangeCallback)] (
GUIJmbParam<T> &iParam) {
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition GUIJmbParameter.h:497
ParamID getParamID() const
Definition GUIJmbParameter.h:515
Represents an optional parameter (Jmb, Vst or no param at all).
Definition GUIOptionalParam.h:50
Maintains the connections established between parameters and its listeners/callbacks.
Definition GUIParamCxMgr.h:33
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition GUIRawVstParameter.h:267
This is the main class that the plugin should use as it exposes only the necessary methods of the par...
Definition GUIVstParameter.h:280
Wrapper instance returned by ParamAware::registerBaseParam() methods.
Definition IGUIParameter.h:403
This class is inherited by classes who want to be aware of parameters and be notified when they chang...
Definition ParamAware.h:65
GUIRawVstParam registerRawVstParam(ParamID iParamID, bool iSubscribeToChanges=true)
Registers a raw parameter (no conversion) onParameterChange() will be called on changes (if iSubscrib...
Definition ParamAware.cpp:45
virtual void initState(GUIState *iGUIState)
Called during initialization.
Definition ParamAware.cpp:37
virtual void registerParameters()
Subclasses should override this method to register each parameter.
Definition ParamAware.h:498
GUIRawVstParam unregisterParam(GUIRawVstParam const &iParam)
Removes the registration of the provided param (closing the connection/stopping to listen).
Definition ParamAware.h:521
GUIJmbParam< T > registerCallback(JmbParam< T > const &iParamDef, Parameters::ChangeCallback1< GUIJmbParam< T > > iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Jmb param simply by using its description (accessible ...
Definition ParamAware.h:426
IGUIParam registerBaseParam(ParamID iParamID, bool iSubscribeToChanges=true)
Registers the "base" param for the most generic use case but as a result is fairly limited and mainly...
Definition ParamAware.cpp:163
GUIRawVstParam registerCallback(RawVstParam const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Registers a raw parameter (no conversion).
Definition ParamAware.h:238
GUIVstParam< T > registerVstParam(ParamID iParamID, bool iSubscribeToChanges=true)
Register a Vst parameter simply given its id onParameterChange() will be called on changes (if iSubsc...
Definition ParamAware.hpp:77
void onParameterChange(ParamID iParamID) override
This is the callback that should be implemented to handle parameter changes.
Definition ParamAware.h:544
GUIOptionalParam< T > registerOptionalParam(ParamID iParamID, bool iSubscribeToChanges=true)
Registers an optional parameter which handles Vst, Jmb or no parameter at all.
Definition ParamAware.hpp:31
GUIRawVstParam registerRawVstCallback(ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Registers a raw parameter (no conversion) The callback will be invoked when the parameter changes.
Definition ParamAware.cpp:56
GUIVstParam< Percent > registerVstPercentParam(ParamID iParamID, bool iSubscribeToChanges=true)
Definition ParamAware.cpp:90
GUIVstParam< T > unregisterParam(GUIVstParam< T > const &iParam)
Removes the registration of the provided param (closing the connection/stopping to listen).
Definition ParamAware.h:530
GUIOptionalParam< int32 > registerOptionalDiscreteParam(ParamID iParamID, int32 iStepCount, bool iSubscribeToChanges=true)
Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all.
Definition ParamAware.cpp:116
GUIJmbParam< T > registerParam(JmbParam< T > const &iParamDef, bool iSubscribeToChanges=true)
Convenient call to register a Jmb param simply by using its description (accessible in state-aware vi...
Definition ParamAware.h:395
GUIJmbParam< T > registerCallback(GUIJmbParam< T > &iParam, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Jmb param simply by using the param from the state (ac...
Definition ParamAware.h:454
GUIRawVstParam registerParam(RawVstParam const &iParamDef, bool iSubscribeToChanges=true)
Registers a raw parameter (no conversion).
Definition ParamAware.h:230
GUIJmbParam< T > unregisterParam(GUIJmbParam< T > const &iParam)
Removes the registration of the provided param (closing the connection/stopping to listen).
Definition ParamAware.h:539
void invokeAll()
Invoke all (currently) registered callbacks and onParameterChange() (if registered).
Definition ParamAware.cpp:107
virtual ~ParamAware()
Definition ParamAware.cpp:29
std::unique_ptr< GUIParamCxMgr > fParamCxMgr
Definition ParamAware.h:552
void unregisterAll()
Unregisters all parameters.
Definition ParamAware.cpp:98
GUIVstParam< T > registerVstCallback(ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Register a callback for a Vst parameter simply given its id The callback will be invoked when the par...
Definition ParamAware.hpp:89
GUIJmbParam< T > registerJmbCallback(ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Registers a callback for the Jmb param by its id and return the wrapper to the param.
Definition ParamAware.hpp:129
GUIVstParam< T > registerParam(VstParam< T > const &iParamDef, bool iSubscribeToChanges=true)
Convenient call to register a Vst param simply by using its description (accessible in state-aware vi...
Definition ParamAware.h:312
GUIJmbParam< T > registerJmbParam(ParamID iParamID, bool iSubscribeToChanges=true)
Registers the Jmb param by its id and return the wrapper to the param.
Definition ParamAware.hpp:117
bool unregisterParam(ParamID iParamID)
Removes the registration of the provided param (closing the connection/stopping to listen).
Definition ParamAware.h:513
IGUIParam registerBaseCallback(ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
Registers a callback for the "base" param for the most generic use case.
Definition ParamAware.cpp:174
GUIOptionalParam< int32 > registerOptionalDiscreteCallback(ParamID iParamID, int32 iStepCount, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all.
Definition ParamAware.cpp:131
GUIVstParam< bool > registerVstBooleanParam(ParamID iParamID, bool iSubscribeToChanges=true)
Definition ParamAware.cpp:82
GUIJmbParam< T > registerCallback(JmbParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Jmb param simply by using its description (accessible ...
Definition ParamAware.h:406
GUIVstParam< T > registerCallback(VstParam< T > const &iParamDef, Parameters::ChangeCallback1< GUIVstParam< T > > iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Vst param simply by using its description (accessible ...
Definition ParamAware.h:343
GUIJmbParam< T > registerCallback(GUIJmbParam< T > &iParam, Parameters::ChangeCallback1< GUIJmbParam< T > > iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Jmb param simply by using the param from the state (ac...
Definition ParamAware.h:473
GUIVstParam< T > registerCallback(VstParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Convenient call to register a callback for the Vst param simply by using its description (accessible ...
Definition ParamAware.h:323
GUIOptionalParam< T > registerOptionalCallback(ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false)
Registers an optional parameter which handles Vst, Jmb or no parameter at all.
Definition ParamAware.hpp:45
GUIJmbParam< T > registerParam(GUIJmbParam< T > &iParam, bool iSubscribeToChanges=true)
Convenient call to register a Jmb param simply by using the param from the state (accessible in state...
Definition ParamAware.h:443
GUIRawVstParam registerCallback(RawVstParam const &iParamDef, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false)
Registers a raw parameter (no conversion).
Definition ParamAware.h:248
void onParameterChange(ParamID iParamID) override
This implementation simply delegates to the listener registered by registerListener().
Definition ParamAware.h:644
std::function< void(TView *, ParamID)> ChangeListener
Definition ParamAware.h:572
GUIJmbParam< T > registerCallback(GUIJmbParam< T > &iParam, Parameters::ChangeCallback2< TView, GUIJmbParam< T > > iChangeCallback, bool iInvokeCallback=false)
Register a callback for the Jmb parameter.
Definition ParamAware.h:630
GUIVstParam< T > registerCallback(VstParam< T > const &iParamDef, Parameters::ChangeCallback2< TView, GUIVstParam< T > > iChangeCallback, bool iInvokeCallback=false)
Register a callback for the Vst parameter.
Definition ParamAware.h:604
ChangeListener fListener
Definition ParamAware.h:652
void registerListener(ChangeListener iListener)
Registers a listener invoked when a parameter changes.
Definition ParamAware.h:584
TView * fView
Definition ParamAware.h:651
ParamAwareView(TView *iView)
Definition ParamAware.h:575
Interface to implement to receive parameter changes.
Definition Parameters.h:45
std::function< void()> ChangeCallback
A callback that will be invoked for changes.
Definition Parameters.h:56
std::function< void(Param &)> ChangeCallback1
A callback which will be invoked for changes with the param as an argument.
Definition Parameters.h:62
std::function< void(TView *, Param &)> ChangeCallback2
A callback which will be invoked for changes with the view and param as arguments.
Definition Parameters.h:68
Definition DrawContext.cpp:25
std::shared_ptr< JmbParamDef< T > > JmbParam
Definition ParamDef.h:522
std::shared_ptr< VstParamDef< T > > VstParam
Definition ParamDef.h:509
std::shared_ptr< RawVstParamDef > RawVstParam
Definition ParamDef.h:510