|
Gin
|
Complete parameter control combining rotary slider, value readout, and modulation. More...
#include <gin_knob.h>
Public Member Functions | |
| Knob (Parameter *parameter, bool fromCentre=false) | |
| ~Knob () override | |
| void | setDisplayName (const juce::String &) |
| void | setLiveValuesCallback (std::function< juce::Array< float >()> cb) |
| PluginSlider & | getSlider () |
| Readout & | getReadout () |
| void | paint (juce::Graphics &g) override |
| void | resized () override |
| void | parentHierarchyChanged () override |
| void | mouseEnter (const juce::MouseEvent &e) override |
| void | mouseDown (const juce::MouseEvent &e) override |
| void | mouseDrag (const juce::MouseEvent &e) override |
| bool | isInterestedInDragSource (const SourceDetails &dragSourceDetails) override |
| void | itemDragEnter (const SourceDetails &dragSourceDetails) override |
| void | itemDragExit (const SourceDetails &dragSourceDetails) override |
| void | itemDropped (const SourceDetails &dragSourceDetails) override |
| bool | allowClicksOn (const juce::Component &c) override |
| Public Member Functions inherited from ParamComponent | |
| ParamComponent (Parameter *parameter) | |
| ~ParamComponent () override | |
| juce::String | getUid () |
| void | setTooltip (const juce::String &newTooltip) override |
Protected Member Functions | |
| void | timerCallback () override |
| void | learnSourceChanged (ModSrcId) override |
| void | modMatrixChanged () override |
| void | showModMenu () |
Protected Attributes | |
| juce::Label | name |
| Readout | value |
| PluginSlider | knob |
| bool | learning = false |
| float | modDepth = 0.0f |
| bool | dragOver = false |
| gin::CoalescedTimer | modTimer |
| gin::CoalescedTimer | shiftTimer |
| juce::Array< float > | modValues |
| std::function< juce::Array< float >()> | liveValuesCallback |
| gin::ModulationDepthSlider | modDepthSlider |
| Protected Attributes inherited from ParamComponent | |
| Parameter * | parameter = nullptr |
Additional Inherited Members | |
| Public Types inherited from ParamComponent | |
| using | Ptr = ParamComponent* |
Complete parameter control combining rotary slider, value readout, and modulation.
Knob provides a full-featured parameter UI component that combines a rotary slider (PluginSlider), a text value display (Readout), and visual modulation feedback. It supports drag-and-drop modulation assignment, modulation depth adjustment, and real-time display of modulation values.
Key Features:
Interaction:
The knob automatically connects to the ModMatrix to display active modulations and allows users to assign, adjust, and remove modulation sources visually.
Usage:
| Knob::Knob | ( | Parameter * | parameter, |
| bool | fromCentre = false ) |
References ParamComponent::parameter.
|
override |
| void Knob::setDisplayName | ( | const juce::String & | ) |
| void Knob::setLiveValuesCallback | ( | std::function< juce::Array< float >()> | cb | ) |
References liveValuesCallback, and modMatrixChanged().
| PluginSlider & Knob::getSlider | ( | ) |
References knob.
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
override |
|
overridevirtual |
Reimplemented from ParamComponent.
References modDepthSlider.
|
overrideprotected |
|
overrideprotectedvirtual |
Reimplemented from IModMatrix::Listener.
|
overrideprotectedvirtual |
Reimplemented from IModMatrix::Listener.
Referenced by setLiveValuesCallback().
|
protected |
|
protected |
|
protected |
Referenced by getReadout().
|
protected |
Referenced by getSlider().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by setLiveValuesCallback().
|
protected |
Referenced by allowClicksOn().