A UI component displaying a list of presets with sorting, filtering, and favorite management.
More...
|
| PresetList () |
| Constructs a PresetList.
|
|
void | paintBackground (Graphics &g) override |
| Paints the background of the section. Calls paintContainer, heading, knobs, children.
|
|
void | paintBackgroundShadow (Graphics &g) override |
| Stub for painting background shadows. Overridden by subclasses if needed.
|
|
void | resized () override |
| Called when the component is resized. Arranges layout of child components.
|
|
void | setPresets (Array< File > presets) |
| Sets the array of presets to display.
|
|
void | mouseWheelMove (const MouseEvent &e, const MouseWheelDetails &wheel) override |
|
int | getRowFromPosition (float mouse_position) |
| Converts a mouse Y position into a row index.
|
|
int | getRowHeight () |
| Gets the row height in pixels.
|
|
void | mouseMove (const MouseEvent &e) override |
|
void | mouseExit (const MouseEvent &e) override |
|
void | respondToMenuCallback (int result) |
| Handles actions from the preset context menu.
|
|
void | menuClick (const MouseEvent &e) |
| Called on right-click to show a context menu.
|
|
void | leftClick (const MouseEvent &e) |
| Called on left-click to select, rename, or favorite a preset.
|
|
void | mouseDown (const MouseEvent &e) override |
|
void | textEditorReturnKeyPressed (TextEditor &text_editor) override |
|
void | textEditorFocusLost (TextEditor &text_editor) override |
|
void | textEditorEscapeKeyPressed (TextEditor &editor) override |
|
void | scrollBarMoved (ScrollBar *scroll_bar, double range_start) override |
|
void | setScrollBarRange () |
|
void | finishRename () |
| Finalizes a preset rename operation.
|
|
void | reloadPresets () |
| Reloads the currently displayed presets from disk.
|
|
void | shiftSelectedPreset (int indices) |
| Moves the selected preset up or down by a number of indices.
|
|
void | redoCache () |
| Updates the cached images for rows after sorting or filtering.
|
|
void | filter (String filter_string, const std::set< std::string > &styles) |
| Filters the displayed presets by name, author, and styles.
|
|
int | getSelectedIndex () |
| Gets the index of the currently selected preset.
|
|
int | getScrollableRange () |
| Gets the scrollable height of the presets.
|
|
void | initOpenGlComponents (OpenGlWrapper &open_gl) override |
| Initializes all OpenGL components in this section and sub-sections.
|
|
void | renderOpenGlComponents (OpenGlWrapper &open_gl, bool animate) override |
| Renders all OpenGL components in this section and sub-sections.
|
|
void | destroyOpenGlComponents (OpenGlWrapper &open_gl) override |
| Destroys all OpenGL components in this section and sub-sections.
|
|
void | addListener (Listener *listener) |
| Adds a listener for preset events.
|
|
void | setCurrentFolder (const File &folder) |
| Sets the current folder to display presets from.
|
|
| SynthSection (const String &name) |
| Constructs a SynthSection with a given name.
|
|
virtual | ~SynthSection ()=default |
|
void | setParent (const SynthSection *parent) |
| Sets the parent SynthSection.
|
|
float | findValue (Skin::ValueId value_id) const |
| Finds a value in the skin overrides or from the parent if not found locally.
|
|
virtual void | reset () |
| Resets the section and all sub-sections.
|
|
virtual void | paint (Graphics &g) override |
| Called when the component should paint itself.
|
|
virtual void | paintSidewaysHeadingText (Graphics &g) |
| Paints the section name heading text vertically if sideways_heading_ is true.
|
|
virtual void | paintHeadingText (Graphics &g) |
| Paints the heading text for this section, either sideways or horizontally.
|
|
virtual void | setSkinValues (const Skin &skin, bool top_level) |
| Sets skin values (colors, sizes) and applies them to sub-sections.
|
|
void | setSkinOverride (Skin::SectionOverride skin_override) |
|
virtual void | repaintBackground () |
| Requests a repaint of the background.
|
|
void | showPopupBrowser (SynthSection *owner, Rectangle< int > bounds, std::vector< File > directories, String extensions, std::string passthrough_name, std::string additional_folders_name) |
| Shows a file browser popup (e.g., for loading samples or wavetables).
|
|
void | updatePopupBrowser (SynthSection *owner) |
| Updates the currently visible popup browser if any.
|
|
void | showPopupSelector (Component *source, Point< int > position, const PopupItems &options, std::function< void(int)> callback, std::function< void()> cancel={ }) |
| Shows a popup selector with options.
|
|
void | showDualPopupSelector (Component *source, Point< int > position, int width, const PopupItems &options, std::function< void(int)> callback) |
| Shows a dual popup selector for hierarchical selection.
|
|
void | showPopupDisplay (Component *source, const std::string &text, BubbleComponent::BubblePlacement placement, bool primary) |
| Shows a brief popup display (like a tooltip).
|
|
void | hidePopupDisplay (bool primary) |
| Hides the currently shown popup display.
|
|
virtual void | loadFile (const File &file) |
| Loads a file (e.g., a sample or wavetable). Overridden by subclasses.
|
|
virtual File | getCurrentFile () |
| Gets the currently loaded file. Overridden by subclasses.
|
|
virtual std::string | getFileName () |
| Gets the name of the currently loaded file. Overridden by subclasses.
|
|
virtual std::string | getFileAuthor () |
| Gets the author metadata of the currently loaded file. Overridden by subclasses.
|
|
virtual void | paintContainer (Graphics &g) |
| Paints the container background, body, heading, etc.
|
|
virtual void | paintBody (Graphics &g, Rectangle< int > bounds) |
| Paints the body background within given bounds.
|
|
virtual void | paintBorder (Graphics &g, Rectangle< int > bounds) |
| Paints the border around given bounds.
|
|
virtual void | paintBody (Graphics &g) |
| Paints the section body background using the entire component area.
|
|
virtual void | paintBorder (Graphics &g) |
| Paints the border around the entire component.
|
|
int | getComponentShadowWidth () |
| Gets the width of shadow around components.
|
|
virtual void | paintTabShadow (Graphics &g) |
| Paints a tab-like shadow effect around the component.
|
|
void | paintTabShadow (Graphics &g, Rectangle< int > bounds) |
| Paints a tab shadow effect within specified bounds.
|
|
virtual void | setSizeRatio (float ratio) |
| Sets the size ratio for scaling UI elements.
|
|
void | paintKnobShadows (Graphics &g) |
| Paints knob shadows for all sliders.
|
|
Font | getLabelFont () |
| Gets a suitable font for label text.
|
|
void | setLabelFont (Graphics &g) |
| Sets the Graphics context font and color for labels.
|
|
void | drawLabelConnectionForComponents (Graphics &g, Component *left, Component *right) |
| Draws a rectangular connection between labels of two components.
|
|
void | drawLabelBackground (Graphics &g, Rectangle< int > bounds, bool text_component=false) |
| Draws a background for a label area.
|
|
void | drawLabelBackgroundForComponent (Graphics &g, Component *component) |
| Draws label background for a specific component.
|
|
Rectangle< int > | getDividedAreaBuffered (Rectangle< int > full_area, int num_sections, int section, int buffer) |
| Divides an area into equal sections with buffering, returns the specified section.
|
|
Rectangle< int > | getDividedAreaUnbuffered (Rectangle< int > full_area, int num_sections, int section, int buffer) |
| Divides an area into equal sections without extra buffering, returns the specified section.
|
|
Rectangle< int > | getLabelBackgroundBounds (Rectangle< int > bounds, bool text_component=false) |
| Gets the background bounds for a label.
|
|
Rectangle< int > | getLabelBackgroundBounds (Component *component, bool text_component=false) |
| Gets the label background bounds for a component.
|
|
void | drawLabel (Graphics &g, String text, Rectangle< int > component_bounds, bool text_component=false) |
| Draws a label text below a component.
|
|
void | drawLabelForComponent (Graphics &g, String text, Component *component, bool text_component=false) |
| Draws a label for a given component.
|
|
void | drawTextBelowComponent (Graphics &g, String text, Component *component, int space, int padding=0) |
| Draws text below a component with optional padding.
|
|
virtual void | paintChildrenShadows (Graphics &g) |
| Paints shadows for child sections.
|
|
void | paintChildrenBackgrounds (Graphics &g) |
| Paints the backgrounds for all child sections.
|
|
void | paintOpenGlChildrenBackgrounds (Graphics &g) |
| Paints the backgrounds for all OpenGL child components.
|
|
void | paintChildBackground (Graphics &g, SynthSection *child) |
| Paints a child's background specifically.
|
|
void | paintChildShadow (Graphics &g, SynthSection *child) |
| Paints a child's shadow specifically.
|
|
void | paintOpenGlBackground (Graphics &g, OpenGlComponent *child) |
| Paints the background of an OpenGlComponent child.
|
|
void | drawTextComponentBackground (Graphics &g, Rectangle< int > bounds, bool extend_to_label) |
| Draws a background for a text component area.
|
|
void | drawTempoDivider (Graphics &g, Component *sync) |
| Draws a divider line for tempo-related controls.
|
|
virtual void | sliderValueChanged (Slider *moved_slider) override |
| Called when a slider value changes. Updates the synth parameter accordingly.
|
|
virtual void | buttonClicked (Button *clicked_button) override |
| Called when a button is clicked. Updates the synth parameter accordingly.
|
|
virtual void | guiChanged (SynthButton *button) override |
| Called when a SynthButton state changes (GUI interaction).
|
|
std::map< std::string, SynthSlider * > | getAllSliders () |
| Gets all sliders registered in this section.
|
|
std::map< std::string, ToggleButton * > | getAllButtons () |
| Gets all toggle buttons registered in this section.
|
|
std::map< std::string, ModulationButton * > | getAllModulationButtons () |
| Gets all modulation buttons registered in this section.
|
|
virtual void | setActive (bool active) |
| Sets the active state of this section and sub-sections.
|
|
bool | isActive () const |
| Checks if the section is currently active.
|
|
virtual void | animate (bool animate) |
| Triggers animation state change in sub-sections if needed.
|
|
virtual void | setAllValues (vital::control_map &controls) |
| Sets values for all known parameters from a control map.
|
|
virtual void | setValue (const std::string &name, vital::mono_float value, NotificationType notification) |
| Sets a single parameter value for a known control.
|
|
void | addModulationButton (ModulationButton *button, bool show=true) |
| Adds a modulation button to this section.
|
|
void | addSubSection (SynthSection *section, bool show=true) |
| Adds a subsection (another SynthSection) as a child.
|
|
void | removeSubSection (SynthSection *section) |
| Removes a previously added subsection.
|
|
virtual void | setScrollWheelEnabled (bool enabled) |
| Enables or disables scroll wheel support for this section and sub-sections.
|
|
ToggleButton * | activator () const |
| Gets the activator toggle button if any.
|
|
void | setSkinValues (std::map< Skin::ValueId, float > values) |
| Sets custom skin values for this section.
|
|
void | setSkinValue (Skin::ValueId id, float value) |
| Sets a single skin value override.
|
|
float | getTitleWidth () |
|
float | getPadding () |
|
float | getPowerButtonOffset () const |
|
float | getKnobSectionHeight () |
|
float | getSliderWidth () |
|
float | getSliderOverlap () |
|
float | getSliderOverlapWithSpace () |
|
float | getTextComponentHeight () |
|
float | getStandardKnobSize () |
|
float | getTotalKnobHeight () |
|
float | getTextSectionYOffset () |
|
float | getModButtonWidth () |
|
float | getModFontSize () |
|
float | getWidgetMargin () |
|
float | getWidgetRounding () |
|
float | getSizeRatio () const |
|
int | getPopupWidth () const |
|
int | getDualPopupWidth () const |
|
virtual | ~ButtonListener () |
| Virtual destructor.
|
|
A UI component displaying a list of presets with sorting, filtering, and favorite management.
The PresetList shows presets in a table-like layout with columns for name, style, author, date, and a favorite star. Users can filter, sort, and rename presets, as well as toggle favorites and select presets.