The main modulation matrix component displaying multiple modulation rows and related controls.
More...
|
| ModulationMatrix (const vital::output_map &sources, const vital::output_map &destinations) |
| Constructs a ModulationMatrix.
|
|
virtual | ~ModulationMatrix () |
| Destructor.
|
|
void | paintBackground (Graphics &g) override |
| Paints the background of the modulation matrix.
|
|
void | paintBackgroundShadow (Graphics &g) override |
| Paints background shadows for the matrix sections.
|
|
void | paintScrollableBackground () |
| Paints the portion of the matrix that scrolls, i.e., the rows.
|
|
void | resized () override |
| Handles resizing of the component.
|
|
void | setMeterBounds () |
| Sets the meter bounds for each modulation row.
|
|
void | setVisible (bool should_be_visible) override |
| Sets visibility of this component, and updates modulations if visible.
|
|
void | setRowPositions () |
| Positions rows within the viewport.
|
|
void | parentHierarchyChanged () override |
| Called when this component's parent hierarchy changes, used to initialize rows and connections.
|
|
void | sliderValueChanged (Slider *changed_slider) override |
| Handles slider value changes.
|
|
void | buttonClicked (Button *button) override |
| Handles button clicks.
|
|
void | setAllValues (vital::control_map &controls) override |
| Sets all parameter values from a control map.
|
|
void | initOpenGlComponents (OpenGlWrapper &open_gl) override |
| Initializes OpenGL components.
|
|
void | renderOpenGlComponents (OpenGlWrapper &open_gl, bool animate) override |
| Renders OpenGL components, including animated elements.
|
|
void | destroyOpenGlComponents (OpenGlWrapper &open_gl) override |
| Destroys OpenGL components.
|
|
void | prevClicked () override |
| Called when 'previous' is clicked on the preset selector.
|
|
void | nextClicked () override |
| Called when 'next' is clicked on the preset selector.
|
|
void | textMouseDown (const MouseEvent &e) override |
| Handles mouse down events on text components (for loading browser).
|
|
void | setPhase (float phase) override |
| Sets the LFO phase (no-op in this class).
|
|
void | lineEditorScrolled (const MouseEvent &e, const MouseWheelDetails &wheel) override |
| Handles line editor scrolling for pattern or grid adjustments.
|
|
void | togglePaintMode (bool enabled, bool temporary_switch) override |
| Toggles paint mode for the line editors.
|
|
void | importLfo () override |
| Imports an LFO file to the current line editor.
|
|
void | exportLfo () override |
| Exports the current LFO to a file.
|
|
void | fileLoaded () override |
| Called when a file is loaded.
|
|
void | loadFile (const File &file) override |
| Loads a specific file (LFO configuration).
|
|
File | getCurrentFile () override |
| Gets the currently loaded file.
|
|
void | scrollBarMoved (ScrollBar *scroll_bar, double range_start) override |
| Called when the scroll bar moves.
|
|
void | setScrollBarRange () |
| Sets the range of the scroll bar based on the current rows.
|
|
void | updateModulations () |
| Updates the displayed modulations when changes occur.
|
|
void | updateModulationValue (int index) |
| Updates the modulation value for a given index.
|
|
void | checkNumModulationsShown () |
| Ensures the correct number of modulation rows is displayed based on connectivity.
|
|
void | addListener (Listener *listener) |
| Adds a listener to the modulation matrix.
|
|
void | startScroll () override |
| Called when scrolling starts (from ModulationViewport::Listener).
|
|
void | endScroll () override |
| Called when scrolling ends (from ModulationViewport::Listener).
|
|
void | modulationScrolled (int position) override |
| Called when the modulation viewport is scrolled (from ModulationViewport::Listener).
|
|
void | rowSelected (ModulationMatrixRow *selected_row) override |
| Called when a modulation row is selected (from ModulationMatrixRow::Listener).
|
|
void | mouseDown (const MouseEvent &e) override |
| Handles mouse down events for sorting column selection.
|
|
| 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 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 | 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 | 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.
|
|
virtual | ~Listener ()=default |
|
virtual | ~Listener ()=default |
|
virtual | ~Listener () |
| Virtual destructor for proper cleanup.
|
|
virtual void | textMouseUp (const MouseEvent &e) |
|
virtual | ~Listener () |
|
virtual void | pointChanged (int index, Point< float > position, bool mouse_up) |
| Called when a point's position changes.
|
|
virtual void | powersChanged (bool mouse_up) |
| Called when the curve powers have changed.
|
|
virtual void | pointAdded (int index, Point< float > position) |
| Called when a point is added to the curve.
|
|
virtual void | pointRemoved (int index) |
| Called when a point is removed from the curve.
|
|
virtual void | pointsAdded (int index, int num_points_added) |
| Called when multiple points are added at once.
|
|
virtual void | pointsRemoved (int index, int num_points_removed) |
| Called when multiple points are removed at once.
|
|