74 tresult
setValue(ParamValue
const &iValue)
override;
80 bool updateValue(ParamValue
const &iValue)
override;
109 std::shared_ptr<RawVstParamDef> iParamDef);
145 return parameterInfo->stepCount;
165 return Steinberg::String(s);
179 bool update(ParamValue
const &iValue)
override
181 auto const previousValue =
getValue();
182 if(previousValue != iValue)
194 inline tresult
setValue(ParamValue
const &iValue)
override
211 std::unique_ptr<EditorType>
edit()
override
271 using Editor = std::unique_ptr<EditorType>;
276 fPtr{std::move(iPtr)}
349 [[deprecated(
"Since 4.1.0 - use operator* or .value() instead (ex: if(*param) {...} or if(param.value()) {...}")]]
350 inline operator ParamValue()
const { DCHECK_F(
exists());
return fPtr->getValue(); }
370 std::shared_ptr<GUIRawVstParameter>
fPtr;
Implements all the various equality and relational operators for the type T which is assumed to encap...
Definition Operators.h:56
Editor edit(ParamValue const &iValue)
Shortcut to create an editor and set the value to it.
Definition GUIRawVstParameter.h:343
GUIRawVstParam(std::shared_ptr< GUIRawVstParameter > iPtr=nullptr)
Definition GUIRawVstParameter.h:275
int32 getStepCount() const
Definition GUIRawVstParameter.h:321
ParamValue ParamType
Definition GUIRawVstParameter.h:269
GUIRawVstParam & operator=(GUIRawVstParam const &iOther)=default
Assignment operator: fMyParam = registerParam(...);.
std::string toUTF8String(int32 iPrecision) const
Returns the current value of the parameter as a string (which is properly UTF-8 encoded).
Definition GUIRawVstParameter.h:357
ParamValue value() const
Synonym to getValue().
Definition GUIRawVstParameter.h:294
bool update(ParamValue const &iValue)
Update the parameter with a value.
Definition GUIRawVstParameter.h:301
void toString(String128 oString)
Populates the oString with a string representation of this parameter.
Definition GUIRawVstParameter.h:326
ParamID getParamID() const
Definition GUIRawVstParameter.h:286
std::unique_ptr< FObjectCx > connect(Parameters::ChangeCallback iChangeCallback) const
Definition GUIRawVstParameter.h:367
ParamValue operator*() const
allow writing *param to access the underlying value (or in other words, *param is the same param....
Definition GUIRawVstParameter.h:346
bool exists() const
Definition GUIRawVstParameter.h:283
std::unique_ptr< FObjectCx > connect(Parameters::IChangeListener *iChangeListener) const
Definition GUIRawVstParameter.h:362
tresult copyValueFrom(GUIRawVstParam const &iParam)
Shortcut to copy the value from another param to this one.
Definition GUIRawVstParameter.h:316
GUIRawVstParam & operator=(ParamValue const &iValue)
Allow to write param = 0.5.
Definition GUIRawVstParameter.h:353
tresult setValue(ParamValue const &iValue)
Sets the value of this parameter.
Definition GUIRawVstParameter.h:307
tresult resetToDefault()
Resets the param to its default value.
Definition GUIRawVstParameter.h:311
std::unique_ptr< EditorType > Editor
Definition GUIRawVstParameter.h:271
GUIRawVstParameter::EditorType EditorType
Definition GUIRawVstParameter.h:270
Editor edit()
Definition GUIRawVstParameter.h:336
std::shared_ptr< GUIRawVstParameter > fPtr
Definition GUIRawVstParameter.h:370
Steinberg::String toString()
Returns a string representation of this parameter.
Definition GUIRawVstParameter.h:331
ParamValue getValue() const
Definition GUIRawVstParameter.h:291
Wrapper to edit a single parameter.
Definition GUIRawVstParameter.h:61
tresult commit() override
Commits all the changes applied to the parameter.
Definition GUIRawVstParameter.cpp:69
ParamID fParamID
Definition GUIRawVstParameter.h:98
Editor & operator=(Editor const &)=delete
tresult rollback() override
Call this if you want to revert to the original value of the parameter (when the editor is created).
Definition GUIRawVstParameter.cpp:83
bool fIsEditing
Definition GUIRawVstParameter.h:102
Editor(ParamID iParamID, VstParametersSPtr iVstParameters)
Definition GUIRawVstParameter.cpp:27
ParamValue fInitialParamValue
Definition GUIRawVstParameter.h:101
~Editor() override
Technically the destructor must only call rollback(), but due to the fact that it is a virtual method...
Definition GUIRawVstParameter.h:65
VstParametersSPtr fVstParameters
Definition GUIRawVstParameter.h:99
tresult setValue(ParamValue const &iValue) override
Change the value of the parameter.
Definition GUIRawVstParameter.cpp:40
bool updateValue(ParamValue const &iValue) override
Change the value of the parameter.
Definition GUIRawVstParameter.cpp:55
Editor(Editor const &)=delete
ITGUIParameter< ParamValue >::ITEditor EditorType
Definition GUIRawVstParameter.h:44
std::string toUTF8String(int32 iPrecision) const override
Returns the current value of the parameter as a string (which is properly UTF-8 encoded).
Definition GUIRawVstParameter.h:169
ParamID fParamID
Definition GUIRawVstParameter.h:254
int32 getStepCount() const override
Definition GUIRawVstParameter.h:141
bool update(ParamValue const &iValue) override
Update the parameter with a value.
Definition GUIRawVstParameter.h:179
ParamValue ParamType
Definition GUIRawVstParameter.h:43
ParamID getParamID() const override
Each parameter has a unique ID returned by this method.
Definition GUIRawVstParameter.h:118
std::shared_ptr< GUIDiscreteParameter > asDiscreteParameter(int32 iStepCount) override
This implementation will adapt this parameter to be interpreted as a discrete parameter.
Definition GUIRawVstParameter.cpp:145
tresult resetToDefault() override
Resets the parameter to its default value.
Definition GUIRawVstParameter.h:203
std::shared_ptr< RawVstParamDef > fParamDef
Definition GUIRawVstParameter.h:256
void toString(String128 oString)
Populates the oString with a string representation of this parameter.
Definition GUIRawVstParameter.h:153
VstParametersSPtr fVstParameters
Definition GUIRawVstParameter.h:255
GUIRawVstParameter(ParamID iParamID, VstParametersSPtr iVstParameters, std::shared_ptr< RawVstParamDef > iParamDef)
Definition GUIRawVstParameter.cpp:98
std::unique_ptr< EditorType > edit() override
Definition GUIRawVstParameter.h:211
std::unique_ptr< FObjectCx > connect(Parameters::ChangeCallback iChangeCallback) const override
Definition GUIRawVstParameter.h:232
tresult accessValue(ValueAccessor const &iGetter) const override
API to access the underlying value.
Definition GUIRawVstParameter.h:124
std::unique_ptr< FObjectCx > connect(Parameters::IChangeListener *iChangeListener) const override
Definition GUIRawVstParameter.h:224
std::shared_ptr< GUIVstParameter< T > > asVstParameter()
Converts to a typed parameter.
Definition GUIVstParameter.h:429
tresult setValue(ParamValue const &iValue) override
Sets the value of this parameter.
Definition GUIRawVstParameter.h:194
~GUIRawVstParameter()=default
Steinberg::String toString()
Returns a string representation of this parameter.
Definition GUIRawVstParameter.h:161
ParamValue getValue() const
Definition GUIRawVstParameter.h:133
This class wraps a GUIRawVstParameter to deal with any type T.
Definition GUIVstParameter.h:34
Defines the API for the editor which can be obtained by calling ITGUIParameter::edit().
Definition IGUIParameter.h:238
virtual tresult commit(ParamType const &iValue)
Shortcut method which calls setValue(ParamType const &) followed by commit().
Definition IGUIParameter.h:264
Represents a gui parameter with its underlying backing type T (aka ParamType).
Definition IGUIParameter.h:172
std::function< void(ParamValue const &)> ValueAccessor
Definition IGUIParameter.h:183
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::shared_ptr< VstParameters > VstParametersSPtr
Definition VstParameters.h:96
std::unique_ptr< GUIRawVstParameter::EditorType > GUIRawVstParamEditor
Definition GUIRawVstParameter.h:376