Vital
|
A specialized TextSelector for selecting tuning systems or loading custom tuning files. More...
#include <master_controls_interface.h>
Public Types | |
enum | TuningStyle { kDefault , k7Limit , k5Limit , kPythagorean , kNumTunings } |
Enumerates the available tuning styles. More... | |
![]() | |
enum | MenuId { kCancel = 0 , kArmMidiLearn , kClearMidiLearn , kDefaultValue , kManualEntry , kClearModulations , kModulationList } |
Menu item IDs for the right-click popup menu. More... | |
Public Member Functions | |
TuningSelector (String name) | |
Constructs a TuningSelector with a given name. | |
virtual | ~TuningSelector () |
Destructor. | |
void | mouseDown (const MouseEvent &e) override |
Handles mouse down events, including showing a popup menu for selecting tunings. | |
void | valueChanged () override |
Called when the value of the selector changes. | |
void | parentHierarchyChanged () override |
Called when the component's parent hierarchy changes. | |
void | mouseWheelMove (const MouseEvent &, const MouseWheelDetails &wheel) override |
Ignores mouse wheel moves for this component. | |
void | setTuning (int tuning) |
Sets the current tuning style. | |
![]() | |
TextSelector (String name) | |
Constructs a TextSelector with the given name. | |
void | mouseUp (const MouseEvent &e) override |
bool | shouldShowPopup () override |
void | setLongStringLookup (const std::string *lookup) |
![]() | |
SynthSlider (String name) | |
virtual void | mouseDrag (const MouseEvent &e) override |
virtual void | mouseEnter (const MouseEvent &e) override |
virtual void | mouseExit (const MouseEvent &e) override |
virtual void | mouseDoubleClick (const MouseEvent &e) override |
virtual void | focusLost (FocusChangeType cause) override |
String | getRawTextFromValue (double value) |
String | getSliderTextFromValue (double value) |
String | getTextFromValue (double value) override |
double | getValueFromText (const String &text) override |
double | getAdjustedValue (double value) |
double | getValueFromAdjusted (double value) |
void | setValueFromAdjusted (double value) |
virtual double | snapValue (double attemptedValue, DragMode dragMode) override |
void | textEditorTextChanged (TextEditor &) override |
TextEditor::Listener overrides for handling text entry. | |
void | textEditorReturnKeyPressed (TextEditor &editor) override |
void | textEditorFocusLost (TextEditor &editor) override |
void | setSliderPositionFromText () |
Sets the slider position from the current text in the text editor. | |
void | showTextEntry () |
Shows the text entry box for manual value entry. | |
virtual void | drawShadow (Graphics &g) |
void | drawRotaryShadow (Graphics &g) |
void | snapToValue (bool snap, float value=0.0) |
void | setScalingType (vital::ValueDetails::ValueScale scaling_type) |
vital::ValueDetails::ValueScale | getScalingType () const |
void | setStringLookup (const std::string *lookup) |
void | setScrollEnabled (bool enabled) |
const std::string * | getStringLookup () const |
void | setUnits (const String &units) |
String | getUnits () const |
String | formatValue (float value) |
void | setDefaultRange () |
Sets the default parameter range based on the parameter details. | |
void | addSliderListener (SliderListener *listener) |
void | showPopup (bool primary) |
void | hidePopup (bool primary) |
void | setPopupPlacement (BubbleComponent::BubblePlacement placement) |
void | setModulationPlacement (BubbleComponent::BubblePlacement placement) |
BubbleComponent::BubblePlacement | getPopupPlacement () |
BubbleComponent::BubblePlacement | getModulationPlacement () |
void | notifyGuis () |
Notifies GUI listeners of a value change. | |
void | handlePopupResult (int result) |
void | setSensitivity (double sensitivity) |
double | getSensitivity () |
Rectangle< int > | getModulationMeterBounds () const |
bool | hasModulationArea () const |
Rectangle< int > | getModulationArea () const |
void | setModulationArea (Rectangle< int > area) |
bool | isModulationBipolar () const |
bool | isModulationStereo () const |
bool | isModulationBypassed () const |
void | setTextHeightPercentage (float percentage) |
float | getTextHeightPercentage () |
float | mouseHovering () const |
std::vector< vital::ModulationConnection * > | getConnections () |
void | setMouseWheelMovement (double movement) |
void | setMaxDisplayCharacters (int characters) |
void | setMaxDecimalPlaces (int decimal_places) |
void | setTextEntrySizePercent (float width_percent, float height_percent) |
void | setTextEntryWidthPercent (float percent) |
void | setShiftIndexAmount (int shift_amount) |
void | setShowPopupOnHover (bool show) |
void | setPopupPrefix (String prefix) |
void | setPopupSuffix (const juce::String &suffix) |
void | setKnobSizeScale (float scale) |
float | getKnobSizeScale () const override |
void | useSuffix (bool use) |
void | setExtraModulationTarget (Component *component) |
Component * | getExtraModulationTarget () |
void | setModulationBarRight (bool right) |
bool | isModulationBarRight () |
void | setDisplayMultiply (float multiply) |
void | setDisplayExponentialBase (float base) |
void | overrideValue (Skin::ValueId value_id, float value) |
float | findValue (Skin::ValueId value_id) const override |
void | setAlternateDisplay (Skin::ValueId id, float value, vital::ValueDetails details) |
vital::ValueDetails * | getDisplayDetails () |
OpenGlComponent * | getTextEditorComponent () |
![]() | |
OpenGlSlider (String name) | |
virtual void | resized () override |
Called when the component is resized. Updates colors and display values. | |
void | parentHierarchyChanged () override |
Called when the parent hierarchy changes. Used for retrieving parent sections. | |
void | paintToImage (bool paint) |
bool | isText () const |
bool | isTextOrCurve () const |
bool | isModulationKnob () const |
bool | isRotaryQuad () const |
bool | isHorizontalQuad () const |
bool | isVerticalQuad () const |
OpenGlComponent * | getImageComponent () |
OpenGlComponent * | getQuadComponent () |
void | setMaxArc (float arc) |
void | setModulationKnob () |
Marks this slider as a modulation knob. | |
void | setModulationAmount (float modulation) |
float | getModulationAmount () const |
bool | isBipolar () const |
bool | isActive () const |
void | setBipolar (bool bipolar=true) |
void | setActive (bool active=true) |
virtual Colour | getModColor () const |
virtual Colour | getBackgroundColor () const |
virtual Colour | getUnselectedColor () const |
virtual Colour | getSelectedColor () const |
virtual Colour | getThumbColor () const |
int | getLinearSliderWidth () |
void | setSliderDisplayValues () |
Sets the slider display values (positions, sizes) based on current style. | |
void | redoImage (bool skip_image=false) |
void | setColors () |
Updates internal colors based on the current skin and state. | |
void | setAlpha (float alpha, bool reset=false) |
void | setDrawWhenNotVisible (bool draw) |
SynthSection * | getSectionParent () |
Additional Inherited Members | |
![]() | |
static constexpr int | kDefaultFormatLength = 5 |
static constexpr int | kDefaultFormatDecimalPlaces = 5 |
static constexpr float | kDefaultTextEntryWidthPercent = 0.9f |
static constexpr float | kDefaultTextEntryHeightPercent = 0.35f |
static constexpr float | kModulationSensitivity = 0.003f |
static constexpr float | kTextEntryHeightPercent = 0.6f |
static constexpr float | kSlowDragMultiplier = 0.1f |
static constexpr float | kDefaultSensitivity = 1.0f |
static constexpr float | kDefaultTextHeightPercentage = 0.7f |
static constexpr float | kDefaultRotaryDragLength = 200.0f |
static constexpr float | kRotaryModulationControlPercent = 0.26f |
static constexpr float | kLinearWidthPercent = 0.26f |
static constexpr float | kLinearHandlePercent = 1.2f |
static constexpr float | kLinearModulationPercent = 0.1f |
![]() | |
static constexpr float | kRotaryAngle = 0.8f * vital::kPi |
The default rotary arc angle used for rotary sliders. | |
![]() | |
PopupItems | createPopupMenu () |
void | setRotaryTextEntryBounds () |
Sets bounds for text entry in rotary mode. | |
void | setLinearTextEntryBounds () |
Sets bounds for text entry in linear mode. | |
void | notifyModulationAmountChanged () |
Notifies listeners that modulation amount has changed. | |
void | notifyModulationRemoved () |
Notifies listeners that a modulation was removed. | |
void | notifyModulationsChanged () |
Notifies listeners that modulations changed. | |
![]() | |
const std::string * | long_lookup_ |
Optional alternate lookup table for longer strings. | |
![]() | |
bool | show_popup_on_hover_ |
String | popup_prefix_ |
String | popupSuffix_ |
bool | scroll_enabled_ |
bool | bipolar_modulation_ |
bool | stereo_modulation_ |
bool | bypass_modulation_ |
bool | modulation_bar_right_ |
Rectangle< int > | modulation_area_ |
bool | sensitive_mode_ |
bool | snap_to_value_ |
bool | hovering_ |
bool | has_parameter_assignment_ |
bool | use_suffix_ |
float | snap_value_ |
float | text_height_percentage_ |
float | knob_size_scale_ |
double | sensitivity_ |
BubbleComponent::BubblePlacement | popup_placement_ |
BubbleComponent::BubblePlacement | modulation_control_placement_ |
int | max_display_characters_ |
int | max_decimal_places_ |
int | shift_index_amount_ |
bool | shift_is_multiplicative_ |
double | mouse_wheel_index_movement_ |
float | text_entry_width_percent_ |
float | text_entry_height_percent_ |
std::map< Skin::ValueId, float > | value_lookup_ |
Point< int > | last_modulation_edit_position_ |
Point< int > | mouse_down_position_ |
vital::ValueDetails | details_ |
float | display_multiply_ |
float | display_exponential_base_ |
std::pair< Skin::ValueId, float > | alternate_display_setting_ |
vital::ValueDetails | alternate_details_ |
const std::string * | string_lookup_ |
Component * | extra_modulation_target_ |
SynthGuiInterface * | synth_interface_ |
std::unique_ptr< OpenGlTextEditor > | text_entry_ |
std::vector< SliderListener * > | slider_listeners_ |
![]() | |
SynthSection * | parent_ |
The parent SynthSection. | |
A specialized TextSelector for selecting tuning systems or loading custom tuning files.
TuningSelector provides a selection of predefined tuning scales (e.g., Just Intonation, Pythagorean) as well as the ability to load a custom .scl tuning file. It integrates closely with the synthesizer model to apply the selected tuning system.
TuningSelector::TuningSelector | ( | String | name | ) |
Constructs a TuningSelector with a given name.
name | The name of this tuning selector component. |
|
virtual |
Destructor.
|
overridevirtual |
Handles mouse down events, including showing a popup menu for selecting tunings.
e | The mouse event. |
Reimplemented from TextSelector.
|
inlineoverridevirtual |
Ignores mouse wheel moves for this component.
Reimplemented from SynthSlider.
|
overridevirtual |
Called when the component's parent hierarchy changes.
Ensures the displayed custom string matches the current tuning's name.
Reimplemented from SynthSlider.
void TuningSelector::setTuning | ( | int | tuning | ) |
Sets the current tuning style.
tuning | The tuning index to set. |
|
overridevirtual |
Called when the value of the selector changes.
Updates the synthesizer tuning if attached to a SynthGuiInterface.
Reimplemented from SynthSlider.