|
| EqualizerResponse () |
| Constructs an EqualizerResponse component.
|
|
| ~EqualizerResponse () |
| Destructor.
|
|
void | initEq (const vital::output_map &mono_modulations) |
| Initializes the Equalizer response for a standard 3-band EQ using the provided outputs.
|
|
void | initReverb (const vital::output_map &mono_modulations) |
| Initializes the Equalizer response for a reverb's shelving EQ.
|
|
virtual void | init (OpenGlWrapper &open_gl) override |
| Initializes OpenGL resources.
|
|
virtual void | render (OpenGlWrapper &open_gl, bool animate) override |
| Renders the EQ response and control points.
|
|
virtual void | destroy (OpenGlWrapper &open_gl) override |
| Destroys OpenGL resources.
|
|
void | setControlPointBounds (float selected_x, float selected_y, float unselected_x1, float unselected_y1, float unselected_x2, float unselected_y2) |
| Sets the bounds for the control points (selected and unselected) in normalized coordinates.
|
|
void | drawControlPoints (OpenGlWrapper &open_gl) |
| Draws the control points (markers) for the EQ bands.
|
|
void | drawResponse (OpenGlWrapper &open_gl, int index) |
| Draws the response of the filters.
|
|
void | computeFilterCoefficients () |
| Computes the filter coefficients based on current slider values and states.
|
|
void | moveFilterSettings (Point< float > position) |
| Moves the currently selected filter's cutoff and gain based on a mouse drag position.
|
|
void | setLowSliders (SynthSlider *cutoff, SynthSlider *resonance, SynthSlider *gain) |
| Assigns the sliders for the low band.
|
|
void | setBandSliders (SynthSlider *cutoff, SynthSlider *resonance, SynthSlider *gain) |
| Assigns the sliders for the mid (band) band.
|
|
void | setHighSliders (SynthSlider *cutoff, SynthSlider *resonance, SynthSlider *gain) |
| Assigns the sliders for the high band.
|
|
void | setSelectedBand (int selected_band) |
| Sets the currently selected band.
|
|
Point< float > | getLowPosition () |
| Returns the current low band control point position in component coordinates.
|
|
Point< float > | getBandPosition () |
| Returns the current mid (band) control point position in component coordinates.
|
|
Point< float > | getHighPosition () |
| Returns the current high band control point position in component coordinates.
|
|
void | resized () override |
| Called when the component is resized.
|
|
void | paintBackground (Graphics &g) override |
| Paints the background and optionally draws frequency lines.
|
|
void | mouseWheelMove (const MouseEvent &e, const MouseWheelDetails &wheel) override |
| Handles mouse wheel movements for adjusting resonance if hovering over a band.
|
|
void | mouseDown (const MouseEvent &e) override |
| Handles mouse down events to select a band.
|
|
void | mouseDrag (const MouseEvent &e) override |
| Handles mouse drag events to adjust filter settings.
|
|
void | mouseUp (const MouseEvent &e) override |
| Handles mouse up events, finalizing any changes made during drag.
|
|
void | mouseExit (const MouseEvent &e) override |
| Handles mouse exit events to hide popups or reset state.
|
|
int | getHoveredBand (const MouseEvent &e) |
| Determines which band is currently hovered by the mouse.
|
|
void | setActive (bool active) |
| Sets the active state of the EQ visualization.
|
|
void | setHighPass (bool high_pass) |
| Configures the low band as a high-pass filter (or a shelf).
|
|
void | setNotch (bool notch) |
| Configures the mid band as a notch filter (or a shelf).
|
|
void | setLowPass (bool low_pass) |
| Configures the high band as a low-pass filter (or a shelf).
|
|
void | setDbBufferRatio (float ratio) |
| Sets the ratio of the dB range used as buffer.
|
|
void | setDrawFrequencyLines (bool draw_lines) |
| Sets whether to draw frequency grid lines in the background.
|
|
void | addListener (Listener *listener) |
| Adds a listener to be notified of band selections.
|
|
| OpenGlLineRenderer (int num_points, bool loop=false) |
| Constructs an OpenGlLineRenderer for a given number of points.
|
|
virtual | ~OpenGlLineRenderer () |
| Destructor.
|
|
force_inline void | setColor (Colour color) |
| Sets the line color.
|
|
force_inline void | setLineWidth (float width) |
| Sets the line width in pixels.
|
|
force_inline void | setBoost (float boost) |
| Sets a global boost value affecting line thickness.
|
|
force_inline float | boostLeftAt (int index) const |
| Gets the left-side boost at a given point index.
|
|
force_inline float | boostRightAt (int index) const |
| Gets the right-side boost at a given point index.
|
|
force_inline float | yAt (int index) const |
| Gets the y-coordinate of a point at a given index.
|
|
force_inline float | xAt (int index) const |
| Gets the x-coordinate of a point at a given index.
|
|
force_inline void | setBoostLeft (int index, float val) |
| Sets the left-side boost for a point, marking data as dirty.
|
|
force_inline void | setBoostRight (int index, float val) |
| Sets the right-side boost for a point, marking data as dirty.
|
|
force_inline void | setYAt (int index, float val) |
| Sets the y-coordinate of a point, marking data as dirty.
|
|
force_inline void | setXAt (int index, float val) |
| Sets the x-coordinate of a point, marking data as dirty.
|
|
void | setFillVertices (bool left) |
| Sets fill vertices according to the current line and boost data.
|
|
void | setLineVertices (bool left) |
| Sets line vertices according to the current line and boost data.
|
|
force_inline void | setFill (bool fill) |
| Enables or disables filling below the line.
|
|
force_inline void | setFillColor (Colour fill_color) |
| Sets a uniform fill color if only one color is needed.
|
|
force_inline void | setFillColors (Colour fill_color_from, Colour fill_color_to) |
| Sets a gradient fill from one color to another.
|
|
force_inline void | setFillCenter (float fill_center) |
| Sets the vertical center for the fill area.
|
|
force_inline void | setFit (bool fit) |
| Enables fitting the line inside the available area.
|
|
force_inline void | setBoostAmount (float boost_amount) |
| Sets the boost amount that affects line thickness.
|
|
force_inline void | setFillBoostAmount (float boost_amount) |
| Sets the boost amount that affects fill thickness.
|
|
force_inline void | setIndex (int index) |
| Sets an index used for custom behavior (e.g., multiple line sets).
|
|
void | boostLeftRange (float start, float end, int buffer_vertices, float min) |
| Boosts left-side range of the line.
|
|
void | boostRightRange (float start, float end, int buffer_vertices, float min) |
| Boosts right-side range of the line.
|
|
void | boostRange (float *boosts, float start, float end, int buffer_vertices, float min) |
| Boosts a range for the given boost array.
|
|
void | boostRange (vital::poly_float start, vital::poly_float end, int buffer_vertices, vital::poly_float min) |
| Boosts left and right arrays using poly_float parameters.
|
|
void | decayBoosts (vital::poly_float mult) |
| Decays all boosts by a multiplicative factor, allowing animated damping.
|
|
void | enableBackwardBoost (bool enable) |
| Enables backward boost calculation for symmetrical line deformation.
|
|
force_inline int | numPoints () const |
| Gets the number of points in the line.
|
|
force_inline Colour | color () const |
| Gets the current line color.
|
|
void | drawLines (OpenGlWrapper &open_gl, bool left) |
| Draws the line and optional fill using OpenGL.
|
|
bool | anyBoostValue () |
| Checks if any boost value is set.
|
|
| OpenGlComponent (String name="") |
| Constructs an OpenGlComponent.
|
|
virtual | ~OpenGlComponent () |
| Destructor.
|
|
virtual void | parentHierarchyChanged () override |
| Called when the component's parent hierarchy changes.
|
|
void | addRoundedCorners () |
| Adds rounded corners to the component's edges.
|
|
void | addBottomRoundedCorners () |
| Adds rounded corners only at the bottom of the component.
|
|
void | renderCorners (OpenGlWrapper &open_gl, bool animate, Colour color, float rounding) |
| Renders the corner shapes using the given color and rounding amount.
|
|
void | renderCorners (OpenGlWrapper &open_gl, bool animate) |
| Renders corners with default body color and rounding.
|
|
void | repaintBackground () |
| Requests a repaint of the component's background on the OpenGL layer.
|
|
Colour | getBodyColor () const |
| Retrieves the component's body color.
|
|
void | setParent (const SynthSection *parent) |
| Sets a pointer to the parent SynthSection for skin value lookups.
|
|
float | findValue (Skin::ValueId value_id) |
| Finds a float value from the skin associated with this component's parent.
|
|
void | setSkinValues (const Skin &skin) |
| Applies the skin overrides to this component's colors.
|
|
void | setSkinOverride (Skin::SectionOverride skin_override) |
| Sets a skin override to control the component's color scheme.
|
|
force_inline void | checkGlError () |
| Checks for and asserts that there are no OpenGL errors.
|
|
void | setBackgroundColor (const Colour &color) |
| Sets the background color of the component for painting operations.
|
|
|
static bool | setViewPort (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl) |
| Sets the OpenGL viewport to match a specified rectangle within a component.
|
|
static bool | setViewPort (Component *component, OpenGlWrapper &open_gl) |
| Convenience overload that sets the viewport for the entire component's local bounds.
|
|
static void | setScissor (Component *component, OpenGlWrapper &open_gl) |
| Sets the OpenGL scissor region to the entire component's local bounds.
|
|
static void | setScissorBounds (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl) |
| Sets the OpenGL scissor region to a specified rectangle within a component.
|
|
static std::unique_ptr< OpenGLShaderProgram::Uniform > | getUniform (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name) |
| Retrieves a uniform from the shader program if it exists.
|
|
static std::unique_ptr< OpenGLShaderProgram::Attribute > | getAttribute (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name) |
| Retrieves an attribute from the shader program if it exists.
|
|
static String | translateFragmentShader (const String &code) |
| Translates a fragment shader code snippet to be compatible with the current GL version.
|
|
static String | translateVertexShader (const String &code) |
| Translates a vertex shader code snippet to be compatible with the current GL version.
|
|
bool | setViewPort (OpenGlWrapper &open_gl) |
| Sets the viewport for this component using the current OpenGlWrapper.
|
|
std::unique_ptr< OpenGlCorners > | corners_ |
| Optional corners for rounded edges.
|
|
bool | only_bottom_corners_ |
| Flag to round only the bottom corners.
|
|
Colour | background_color_ |
| The background color of the component.
|
|
Colour | body_color_ |
| The body color of the component.
|
|
const SynthSection * | parent_ |
| Pointer to parent SynthSection for skin lookups.
|
|
Skin::SectionOverride | skin_override_ |
| Skin override for custom appearance.
|
|
const vital::StatusOutput * | num_voices_readout_ |
| StatusOutput for voice count lookups.
|
|
A visualization component for an equalizer or filter response curve.
The EqualizerResponse component displays the frequency response of a combination of low, band, and high filters (e.g., for an EQ or reverb shelving filters). It supports interactive control via mouse dragging of filter cutoff and gain points and includes adjustable parameters for scaling the dB range and switching filter styles.