Vital
Loading...
Searching...
No Matches
ModulationMatrix Class Reference

The main modulation matrix component displaying multiple modulation rows and related controls. More...

#include <modulation_matrix.h>

Inheritance diagram for ModulationMatrix:
SynthSection ModulationViewport::Listener ModulationMatrixRow::Listener PresetSelector::Listener LineEditor::Listener SynthButton::ButtonListener

Classes

class  Listener
 Interface for objects that need to respond to modulation matrix scrolling events. More...
 

Public Types

enum  SortColumn {
  kNumber , kSource , kBipolar , kStereo ,
  kMorph , kAmount , kDestination , kNumColumns
}
 Columns available for sorting the modulation matrix rows. More...
 

Public Member Functions

 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.
 
- Public Member Functions inherited from SynthSection
 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
 
- Public Member Functions inherited from SynthButton::ButtonListener
virtual ~ButtonListener ()
 Virtual destructor.
 
- Public Member Functions inherited from ModulationViewport::Listener
virtual ~Listener ()=default
 
- Public Member Functions inherited from ModulationMatrixRow::Listener
virtual ~Listener ()=default
 
- Public Member Functions inherited from PresetSelector::Listener
virtual ~Listener ()
 Virtual destructor for proper cleanup.
 
virtual void textMouseUp (const MouseEvent &e)
 
- Public Member Functions inherited from LineEditor::Listener
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.
 

Static Public Member Functions

static String getMenuSourceDisplayName (const String &original)
 Returns a user-friendly display name for a given source string in menu context.
 
static String getUiSourceDisplayName (const String &original)
 Returns a display name suitable for the UI given a source string.
 

Static Public Attributes

static constexpr int kRowPadding = 1
 
static constexpr int kDefaultGridSizeX = 8
 
static constexpr int kDefaultGridSizeY = 1
 
- Static Public Attributes inherited from SynthSection
static constexpr int kDefaultPowerButtonOffset = 0
 
static constexpr float kPowerButtonPaddingPercent = 0.29f
 
static constexpr float kTransposeHeightPercent = 0.5f
 
static constexpr float kTuneHeightPercent = 0.4f
 
static constexpr float kJointModulationRadiusPercent = 0.1f
 
static constexpr float kJointModulationExtensionPercent = 0.6666f
 
static constexpr float kPitchLabelPercent = 0.33f
 
static constexpr float kJointLabelHeightPercent = 0.4f
 
static constexpr double kTransposeMouseSensitivity = 0.2
 
static constexpr float kJointLabelBorderRatioX = 0.05f
 
static constexpr int kDefaultBodyRounding = 4
 
static constexpr int kDefaultLabelHeight = 10
 
static constexpr int kDefaultLabelBackgroundHeight = 16
 
static constexpr int kDefaultLabelBackgroundWidth = 56
 
static constexpr int kDefaultLabelBackgroundRounding = 4
 
static constexpr int kDefaultPadding = 2
 
static constexpr int kDefaultPopupMenuWidth = 150
 
static constexpr int kDefaultDualPopupMenuWidth = 340
 
static constexpr int kDefaultStandardKnobSize = 32
 
static constexpr int kDefaultKnobThickness = 2
 
static constexpr float kDefaultKnobModulationAmountThickness = 2.0f
 
static constexpr int kDefaultKnobModulationMeterSize = 43
 
static constexpr int kDefaultKnobModulationMeterThickness = 4
 
static constexpr int kDefaultModulationButtonWidth = 64
 
static constexpr int kDefaultModFontSize = 10
 
static constexpr int kDefaultKnobSectionHeight = 64
 
static constexpr int kDefaultSliderWidth = 24
 
static constexpr int kDefaultTextWidth = 80
 
static constexpr int kDefaultTextHeight = 24
 
static constexpr int kDefaultWidgetMargin = 6
 
static constexpr float kDefaultWidgetFillFade = 0.3f
 
static constexpr float kDefaultWidgetLineWidth = 4.0f
 
static constexpr float kDefaultWidgetFillCenter = 0.0f
 

Additional Inherited Members

- Protected Member Functions inherited from SynthSection
void setSliderHasHzAlternateDisplay (SynthSlider *slider)
 
void setSidewaysHeading (bool sideways)
 
void addToggleButton (ToggleButton *button, bool show)
 
void addButton (OpenGlToggleButton *button, bool show=true)
 
void addButton (OpenGlShapeButton *button, bool show=true)
 
void addSlider (SynthSlider *slider, bool show=true, bool listen=true)
 
void addOpenGlComponent (OpenGlComponent *open_gl_component, bool to_beginning=false)
 
void setActivator (SynthButton *activator)
 
void createOffOverlay ()
 
void setPresetSelector (PresetSelector *preset_selector, bool half=false)
 
void paintJointControlSliderBackground (Graphics &g, int x, int y, int width, int height)
 
void paintJointControlBackground (Graphics &g, int x, int y, int width, int height)
 
void paintJointControl (Graphics &g, int x, int y, int width, int height, const std::string &name)
 
void placeJointControls (int x, int y, int width, int height, SynthSlider *left, SynthSlider *right, Component *widget=nullptr)
 
void placeTempoControls (int x, int y, int width, int height, SynthSlider *tempo, SynthSlider *sync)
 
void placeRotaryOption (Component *option, SynthSlider *rotary)
 
void placeKnobsInArea (Rectangle< int > area, std::vector< Component * > knobs)
 
void lockCriticalSection ()
 
void unlockCriticalSection ()
 
Rectangle< int > getPresetBrowserBounds ()
 
int getTitleTextRight ()
 
Rectangle< int > getPowerButtonBounds ()
 
Rectangle< int > getTitleBounds ()
 
float getDisplayScale () const
 
virtual int getPixelMultiple () const
 
- Protected Attributes inherited from SynthSection
std::map< Skin::ValueId, float > value_lookup_
 
std::vector< SynthSection * > sub_sections_
 
std::vector< OpenGlComponent * > open_gl_components_
 
std::map< std::string, SynthSlider * > slider_lookup_
 
std::map< std::string, Button * > button_lookup_
 
std::map< std::string, ModulationButton * > modulation_buttons_
 
std::map< std::string, SynthSlider * > all_sliders_
 
std::map< std::string, ToggleButton * > all_buttons_
 
std::map< std::string, ModulationButton * > all_modulation_buttons_
 
const SynthSectionparent_
 
SynthButtonactivator_
 
PresetSelectorpreset_selector_
 
bool preset_selector_half_width_
 
std::unique_ptr< OffOverlayoff_overlay_
 
Skin::SectionOverride skin_override_
 
float size_ratio_
 
bool active_
 
bool sideways_heading_
 

Detailed Description

The main modulation matrix component displaying multiple modulation rows and related controls.

Member Enumeration Documentation

◆ SortColumn

Columns available for sorting the modulation matrix rows.

Enumerator
kNumber 
kSource 
kBipolar 
kStereo 
kMorph 
kAmount 
kDestination 
kNumColumns 

Constructor & Destructor Documentation

◆ ModulationMatrix()

ModulationMatrix::ModulationMatrix ( const vital::output_map & sources,
const vital::output_map & destinations )

Constructs a ModulationMatrix.

Parameters
sourcesA map of all available modulation sources.
destinationsA map of all available modulation destinations.

◆ ~ModulationMatrix()

ModulationMatrix::~ModulationMatrix ( )
virtual

Destructor.

Member Function Documentation

◆ addListener()

void ModulationMatrix::addListener ( Listener * listener)
inline

Adds a listener to the modulation matrix.

Parameters
listenerThe listener to add.

◆ buttonClicked()

void ModulationMatrix::buttonClicked ( Button * button)
overridevirtual

Handles button clicks.

Parameters
buttonThe clicked button.

Reimplemented from SynthSection.

◆ checkNumModulationsShown()

void ModulationMatrix::checkNumModulationsShown ( )

Ensures the correct number of modulation rows is displayed based on connectivity.

◆ destroyOpenGlComponents()

void ModulationMatrix::destroyOpenGlComponents ( OpenGlWrapper & open_gl)
overridevirtual

Destroys OpenGL components.

Parameters
open_glThe OpenGL wrapper.

Reimplemented from SynthSection.

◆ endScroll()

void ModulationMatrix::endScroll ( )
inlineoverridevirtual

Called when scrolling ends (from ModulationViewport::Listener).

Implements ModulationViewport::Listener.

◆ exportLfo()

void ModulationMatrix::exportLfo ( )
overridevirtual

Exports the current LFO to a file.

Implements LineEditor::Listener.

◆ fileLoaded()

void ModulationMatrix::fileLoaded ( )
overridevirtual

Called when a file is loaded.

Implements LineEditor::Listener.

◆ getCurrentFile()

File ModulationMatrix::getCurrentFile ( )
inlineoverridevirtual

Gets the currently loaded file.

Returns
The current file.

Reimplemented from SynthSection.

◆ getMenuSourceDisplayName()

String ModulationMatrix::getMenuSourceDisplayName ( const String & original)
static

Returns a user-friendly display name for a given source string in menu context.

Parameters
originalThe original source string.
Returns
A transformed user-friendly display name.

◆ getUiSourceDisplayName()

String ModulationMatrix::getUiSourceDisplayName ( const String & original)
static

Returns a display name suitable for the UI given a source string.

Parameters
originalThe original source string.
Returns
A transformed UI display name.

◆ importLfo()

void ModulationMatrix::importLfo ( )
overridevirtual

Imports an LFO file to the current line editor.

Implements LineEditor::Listener.

◆ initOpenGlComponents()

void ModulationMatrix::initOpenGlComponents ( OpenGlWrapper & open_gl)
overridevirtual

Initializes OpenGL components.

Parameters
open_glThe OpenGL wrapper.

Reimplemented from SynthSection.

◆ lineEditorScrolled()

void ModulationMatrix::lineEditorScrolled ( const MouseEvent & e,
const MouseWheelDetails & wheel )
overridevirtual

Handles line editor scrolling for pattern or grid adjustments.

Parameters
eThe mouse event.
wheelThe wheel details.

Implements LineEditor::Listener.

◆ loadFile()

void ModulationMatrix::loadFile ( const File & file)
overridevirtual

Loads a specific file (LFO configuration).

Parameters
fileThe file to load.

Reimplemented from SynthSection.

◆ modulationScrolled()

void ModulationMatrix::modulationScrolled ( int position)
inlineoverridevirtual

Called when the modulation viewport is scrolled (from ModulationViewport::Listener).

Parameters
positionThe new scroll position.

Implements ModulationViewport::Listener.

◆ mouseDown()

void ModulationMatrix::mouseDown ( const MouseEvent & e)
override

Handles mouse down events for sorting column selection.

Parameters
eThe mouse event.

◆ nextClicked()

void ModulationMatrix::nextClicked ( )
overridevirtual

Called when 'next' is clicked on the preset selector.

Implements PresetSelector::Listener.

◆ paintBackground()

void ModulationMatrix::paintBackground ( Graphics & g)
overridevirtual

Paints the background of the modulation matrix.

Parameters
gThe graphics context.

Reimplemented from SynthSection.

◆ paintBackgroundShadow()

void ModulationMatrix::paintBackgroundShadow ( Graphics & g)
overridevirtual

Paints background shadows for the matrix sections.

Parameters
gThe graphics context.

Reimplemented from SynthSection.

◆ paintScrollableBackground()

void ModulationMatrix::paintScrollableBackground ( )

Paints the portion of the matrix that scrolls, i.e., the rows.

◆ parentHierarchyChanged()

void ModulationMatrix::parentHierarchyChanged ( )
override

Called when this component's parent hierarchy changes, used to initialize rows and connections.

◆ prevClicked()

void ModulationMatrix::prevClicked ( )
overridevirtual

Called when 'previous' is clicked on the preset selector.

Implements PresetSelector::Listener.

◆ renderOpenGlComponents()

void ModulationMatrix::renderOpenGlComponents ( OpenGlWrapper & open_gl,
bool animate )
overridevirtual

Renders OpenGL components, including animated elements.

Parameters
open_glThe OpenGL wrapper.
animateWhether to animate components.

Reimplemented from SynthSection.

◆ resized()

void ModulationMatrix::resized ( )
overridevirtual

Handles resizing of the component.

Reimplemented from SynthSection.

◆ rowSelected()

void ModulationMatrix::rowSelected ( ModulationMatrixRow * selected_row)
overridevirtual

Called when a modulation row is selected (from ModulationMatrixRow::Listener).

Parameters
selected_rowThe row that was selected.

Implements ModulationMatrixRow::Listener.

◆ scrollBarMoved()

void ModulationMatrix::scrollBarMoved ( ScrollBar * scroll_bar,
double range_start )
override

Called when the scroll bar moves.

Parameters
scroll_barThe scroll bar.
range_startThe start of the new visible range.

◆ setAllValues()

void ModulationMatrix::setAllValues ( vital::control_map & controls)
overridevirtual

Sets all parameter values from a control map.

Parameters
controlsThe map of controls to set.

Reimplemented from SynthSection.

◆ setMeterBounds()

void ModulationMatrix::setMeterBounds ( )

Sets the meter bounds for each modulation row.

◆ setPhase()

void ModulationMatrix::setPhase ( float phase)
inlineoverridevirtual

Sets the LFO phase (no-op in this class).

Parameters
phaseThe new phase.

Implements LineEditor::Listener.

◆ setRowPositions()

void ModulationMatrix::setRowPositions ( )

Positions rows within the viewport.

◆ setScrollBarRange()

void ModulationMatrix::setScrollBarRange ( )

Sets the range of the scroll bar based on the current rows.

◆ setVisible()

void ModulationMatrix::setVisible ( bool should_be_visible)
inlineoverride

Sets visibility of this component, and updates modulations if visible.

Parameters
should_be_visibleTrue if should be visible.

◆ sliderValueChanged()

void ModulationMatrix::sliderValueChanged ( Slider * changed_slider)
overridevirtual

Handles slider value changes.

Parameters
changed_sliderThe slider that changed.

Reimplemented from SynthSection.

◆ startScroll()

void ModulationMatrix::startScroll ( )
inlineoverridevirtual

Called when scrolling starts (from ModulationViewport::Listener).

Implements ModulationViewport::Listener.

◆ textMouseDown()

void ModulationMatrix::textMouseDown ( const MouseEvent & e)
overridevirtual

Handles mouse down events on text components (for loading browser).

Parameters
eThe mouse event.

Reimplemented from PresetSelector::Listener.

◆ togglePaintMode()

void ModulationMatrix::togglePaintMode ( bool enabled,
bool temporary_switch )
overridevirtual

Toggles paint mode for the line editors.

Parameters
enabledTrue if paint mode is enabled.
temporary_switchTrue if the switch is temporary.

Implements LineEditor::Listener.

◆ updateModulations()

void ModulationMatrix::updateModulations ( )

Updates the displayed modulations when changes occur.

◆ updateModulationValue()

void ModulationMatrix::updateModulationValue ( int index)

Updates the modulation value for a given index.

Parameters
indexThe row index to update.

Member Data Documentation

◆ kDefaultGridSizeX

int ModulationMatrix::kDefaultGridSizeX = 8
staticconstexpr

Default grid sizes for line editor.

◆ kDefaultGridSizeY

int ModulationMatrix::kDefaultGridSizeY = 1
staticconstexpr

◆ kRowPadding

int ModulationMatrix::kRowPadding = 1
staticconstexpr

Padding in rows between each modulation row.


The documentation for this class was generated from the following files: