A step pad lets you step through the values of a parameter by click dragging vertically or horizontally with the mouse.
More...
|
void | draw (CDrawContext *iContext) override |
|
virtual void | drawHeldPad (CDrawContext *iContext) |
|
virtual void | drawReleasedPad (CDrawContext *iContext) |
|
EPositiveDirection | getDirection () const |
| Defines the direction in which the mouse needs to be dragged in order to increase the value. More...
|
|
CColor const & | getDisabledColor () const |
| When no image is provided and the control is disabled, this color is used instead. More...
|
|
double | getDragFactor () const |
| Defines how many pixels the mouse needs to move to go through the range of values. More...
|
|
CColor const & | getHeldColor () const |
| When no image is provided, the "released" color is the back color. More...
|
|
BitmapPtr | getImage () const |
| The image to use to draw the pad. More...
|
|
bool | getImageHasDisabledState () const |
| Flag to determine whether the image contains a disabled state (3 frames) or not (2 frames) More...
|
|
bool | getInverse () const |
| Inverses the meaning of "held" and "released" in regards to drawing the view/image. More...
|
|
double | getShiftDragFactor () const |
| Defines how many pixels the mouse needs to move to go through the range of values when shift is being held. More...
|
|
int32 | getShiftStepIncrement () const |
| Value by which this pad will increment (positive) or decrement (negative) the parameter when the shift key modifier is being held. More...
|
|
int32 | getStepIncrement () const |
| Value by which this pad will increment (positive) or decrement (negative) the parameter. More...
|
|
bool | getWrap () const |
| Defines what happens when the value reaches its end of range after being incremented (resp. More...
|
|
bool | isHeld () const |
|
CMouseEventResult | onMouseCancel () override |
|
CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons) override |
|
CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons) override |
|
CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons) override |
|
void | setDirection (EPositiveDirection iDirection) |
| Attribute positive-direction . More...
|
|
void | setDisabledColor (CColor const &iColor) |
| attribute disabled-color More...
|
|
void | setDragFactor (double iDragFactor) |
| Attribute drag-factor . More...
|
|
void | setHeldColor (CColor const &iColor) |
| attribute held-color More...
|
|
void | setImage (BitmapPtr iImage) |
| Attribute pad-image . More...
|
|
void | setImageHasDisabledState (bool iValue) |
| Attribute button-image . More...
|
|
void | setInverse (bool iInverse) |
| Attribute inverse . More...
|
|
void | setShiftDragFactor (double iShiftDragFactor) |
| Attribute shift-drag-factor . More...
|
|
void | setShiftStepIncrement (int32 iStepIncrement) |
| Attribute shift-step-increment . More...
|
|
void | setStepIncrement (int32 iStepIncrement) |
| Attribute step-increment . More...
|
|
void | setWrap (bool iFlag) |
| Attribute wrap . More...
|
|
| StepPadView (const CRect &iSize) |
|
| CustomDiscreteControlView (const CRect &iSize) |
|
int32 | getStepCount () const |
| The number of steps of the managed discrete parameter as specified by this view. More...
|
|
void | setStepCount (int32 iStepCount) |
|
int32 | getControlValue () const |
| Returns the value of the managed parameter (properly typed) More...
|
|
void | registerParameters () override |
| Registers the optional parameter using getControlTag() as its id. More...
|
|
virtual void | setControlValue (int32 const &iControlValue) |
| Sets the value of the managed parameter to the provided value. More...
|
|
| TCustomControlView (const CRect &iSize) |
|
| CustomControlView (const CRect &iSize) |
|
ParamID | getControlTag () const |
| Id of the parameter that this view manages. More...
|
|
virtual void | setControlTag (ParamID iTag) |
|
void | afterApplyAttributes () override |
| Handles the lifecycle behavior getting triggered once all the attributes have been set (which usually happens after the XML file (uidesc) has been read/processed, or when you modify attributes in the VSTGUI Editor). More...
|
|
| CustomView (const CRect &iSize) |
|
| CustomView (const CustomView &c)=delete |
|
void | draw (CDrawContext *iContext) override |
| The basic draw method which will erase the background with the back color. More...
|
|
virtual void | drawBackColor (CDrawContext *iContext) |
| Draws the back color (if not set to transparent) More...
|
|
void | drawStyleChanged () |
| Called when the draw style is changed (simply marks the view dirty) More...
|
|
CColor const & | getBackColor () const |
| The back color (background) for the view. More...
|
|
TagID | getCustomViewTag () const |
| The tag associated to this custom view. More...
|
|
bool | getEditorMode () const |
| A flag whose purpose is to render/log information during development when the flag is set to true . More...
|
|
void | markDirty () |
| Marks this view dirty which will (at the appropriate time in the rendering lifecycle) trigger a call to draw() More...
|
|
void | onParameterChange (ParamID iParamID) override |
| Callback when a parameter changes. More...
|
|
void | setBackColor (CColor const &iColor) |
|
void | setCustomViewTag (TagID iTag) |
|
void | setEditorMode (bool iEditorMode) |
|
virtual void | initState (GUIState *iGUIState) |
| Called during initialization. More...
|
|
void | invokeAll () |
| Invoke all (currently) registered callbacks and onParameterChange() (if registered). More...
|
|
IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback) |
| Registers a callback for the "base" param for the most generic use case. More...
|
|
IGUIParam | registerBaseCallback (ParamID iParamID, Parameters::ChangeCallback1< IGUIParam > iChangeCallback, bool iInvokeCallback) |
| Registers a callback for the "base" param for the most generic use case. More...
|
|
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 gives access to the string representation of the param. More...
|
|
GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion). More...
|
|
GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion). More...
|
|
template<typename T > |
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 in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
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 in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
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 in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
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 in state-aware views via fParams->fMyParam ). More...
|
|
template<typename T > |
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 (accessible in state-aware views via fState->fMyParam ). More...
|
|
template<typename T > |
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 (accessible in state-aware views via fState->fMyParam ). More...
|
|
template<typename T > |
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. More...
|
|
template<typename T > |
GUIJmbParam< T > | registerJmbCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Registers a callback for the Jmb param by its id and return the wrapper to the param. More...
|
|
template<typename T > |
GUIJmbParam< T > | registerJmbParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers the Jmb param by its id and return the wrapper to the param. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIOptionalParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
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. More...
|
|
GUIOptionalParam< int32 > | registerOptionalDiscreteCallback (ParamID iParamID, int32 iStepCount, Parameters::ChangeCallback1< GUIOptionalParam< int32 >> iChangeCallback, bool iInvokeCallback=false) |
| Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIOptionalParam< int32 > | registerOptionalDiscreteParam (ParamID iParamID, int32 iStepCount, bool iSubscribeToChanges=true) |
| Registers an optional discrete parameter which handles Vst, Jmb or no parameter at all. More...
|
|
template<typename T > |
GUIOptionalParam< T > | registerOptionalParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers an optional parameter which handles Vst, Jmb or no parameter at all. More...
|
|
GUIRawVstParam | registerParam (RawVstParam const &iParamDef, bool iSubscribeToChanges=true) |
| Registers a raw parameter (no conversion). More...
|
|
template<typename T > |
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 views via fParams->fMyParam ). More...
|
|
template<typename T > |
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 views via fParams->fMyParam ). More...
|
|
template<typename T > |
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-aware views via fState->fMyParam ). More...
|
|
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. More...
|
|
GUIRawVstParam | registerRawVstCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIRawVstParam > iChangeCallback, bool iInvokeCallback=false) |
| Registers a raw parameter (no conversion) The callback will be invoked when the parameter changes. More...
|
|
GUIRawVstParam | registerRawVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Registers a raw parameter (no conversion) onParameterChange() will be called on changes (if iSubscribeToChanges is set to true ). More...
|
|
GUIVstParam< bool > | registerVstBooleanParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
template<typename T > |
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 parameter changes. More...
|
|
template<typename T > |
GUIVstParam< T > | registerVstCallback (ParamID iParamID, Parameters::ChangeCallback1< GUIVstParam< T >> iChangeCallback, bool iInvokeCallback=false) |
| Register a callback for a Vst parameter simply given its id The callback will be invoked when the parameter changes. More...
|
|
template<typename T > |
GUIVstParam< T > | registerVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
| Register a Vst parameter simply given its id onParameterChange() will be called on changes (if iSubscribeToChanges is set to true ). More...
|
|
GUIVstParam< Percent > | registerVstPercentParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
void | unregisterAll () |
| Unregisters all parameters. More...
|
|
bool | unregisterParam (ParamID iParamID) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
GUIRawVstParam | unregisterParam (GUIRawVstParam const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
template<typename T > |
GUIVstParam< T > | unregisterParam (GUIVstParam< T > const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
template<typename T > |
GUIJmbParam< T > | unregisterParam (GUIJmbParam< T > const &iParam) |
| Removes the registration of the provided param (closing the connection/stopping to listen) More...
|
|
virtual | ~ParamAware () |
|
A step pad lets you step through the values of a parameter by click dragging vertically or horizontally with the mouse.
This control behaves very similarly to a knob with the difference that the visual representation is like a button (held or released).
This view works for any parameter (both Vst and Jmb) that is (or can be interpreted as) a discrete parameter.
In addition to the attributes exposed by CustomDiscreteControlView
, this class exposes the following attributes:
Attribute | Description |
step-increment | Value by which this pad will increment (positive) or decrement (negative) the parameter. |
shift-step-increment | Value by which this pad will increment (positive) or decrement (negative) the parameter when the shift key modifier is being held. This allows to have bigger steps (or smaller steps) when shift is used. |
drag-factor | Defines how many pixels the mouse needs to move to go through the range of values. The bigger this number the "slower" the value will change.
- Note
- Due to
step-increment , the size of the range is actually (number of steps / increment). For example with 50 steps and an increment of 5, this represent 10 values, so if drag-factor is set to its default (100 pixels), the mouse will have to move 10 pixels to result in a value change.
|
shift-drag-factor | Defines how many pixels the mouse needs to move to go through the range of values when shift is being held. The bigger this number the "slower" the value will change.
- See also
getDragFactor for an example of the meaning of this value
|
held-color | When no image is provided, the "released" color is the back color. - Returns
- Color to use when the pad is held and no image is provided
|
disabled-color | When no image is provided and the control is disabled, this color is used instead. |
pad-image | The image to use to draw the pad. If pad-image-has-disabled-state is true then the image should contain the following 3 frames (each is of size image height / 3):
y | frame |
0 | the pad in its disabled state |
1 * image height / 3 | the pad in its "released" state |
2 * image height / 3 | the pad in its "held" state |
Example of a 3 frame image:
If pad-image-has-disabled-state is false then the image should contain the following 2 frames (each is of size image height / 2):
y | frame |
0 | the pad in its "released" state |
image height / 2 | the button in its "held" state |
Example of a 2 frame image:
|
pad-image-has-disabled-state | Flag to determine whether the image contains a disabled state (3 frames) or not (2 frames) - See also
getImage() for details on the impact of this flag on the image
|
inverse | Inverses the meaning of "held" and "released" in regards to drawing the view/image. - Note
- This attribute does not affect the positive direction. Simply change the positive direction if you want to reverse the positive direction.
|
wrap | Defines what happens when the value reaches its end of range after being incremented (resp. decremented). When set to true it will wrap around, otherwise it will remain at its max (resp. min) |
positive-direction | Defines the direction in which the mouse needs to be dragged in order to increase the value. The opposite direction will decrease.
up means that when the mouse is clicked on the pad, then dragged up (vertically), the value of the underlying parameter will increase and if dragged down (it will decrease).
down means that when the mouse is clicked on the pad, then dragged down (vertically), the value of the underlying parameter will increase and if dragged up (it will decrease).
right means that when the mouse is clicked on the pad, then dragged right (horizontally), the value of the underlying parameter will increase and if dragged left (it will decrease).
left means that when the mouse is clicked on the pad, then dragged left (horizontally), the value of the underlying parameter will increase and if dragged right (it will decrease).
|
- Note
- This control can be particularly useful to stack on top of a simple
ParamDisplayView
which offers no control on its own, thus adding behavior to the view. For example, the released image can be fully transparent, thus showing the ParamDisplayView
and the held image semi-transparent so that the other view is still visible. Typical use case would be to provide a space efficient way to modify a parameter while showing its value (without requiring a knob or step buttons).
- See also
- CustomDiscreteControlView for details on discrete parameters and the usage of
step-count