|
| | WaveSourceEditor (int size) |
| | Constructs a WaveSourceEditor with a given waveform size.
|
| |
| virtual | ~WaveSourceEditor () |
| | Destructor.
|
| |
| void | paintBackground (Graphics &g) override |
| | Paints the background of the waveform editor.
|
| |
| void | resized () override |
| | Adjusts layout and internal structures on component resize.
|
| |
| virtual void | init (OpenGlWrapper &open_gl) override |
| | Initializes the OpenGL objects for drawing.
|
| |
| virtual void | render (OpenGlWrapper &open_gl, bool animate) override |
| | Renders the waveform, grid lines, circles, and hover elements.
|
| |
| virtual void | destroy (OpenGlWrapper &open_gl) override |
| | Cleans up the OpenGL resources used by the editor.
|
| |
| void | mouseDown (const MouseEvent &e) override |
| | Handles a mouse down event to start editing or show the context menu.
|
| |
| void | mouseUp (const MouseEvent &e) override |
| | Handles a mouse up event to finalize editing and notify listeners.
|
| |
| void | mouseMove (const MouseEvent &e) override |
| | Handles a mouse move event to update the hover position.
|
| |
| void | mouseDrag (const MouseEvent &e) override |
| | Handles a mouse drag event to continuously update waveform samples.
|
| |
| void | mouseExit (const MouseEvent &e) override |
| | Handles a mouse exit event to clear the hover indication.
|
| |
| float | valueAt (int index) |
| | Retrieves the waveform sample value at a given index.
|
| |
| void | loadWaveform (float *waveform) |
| | Loads a complete waveform into the editor.
|
| |
| void | addListener (Listener *listener) |
| | Adds a listener to be notified of value changes.
|
| |
| void | setEditable (bool editable) |
| | Enables or disables editing of the waveform.
|
| |
| void | setGrid (int horizontal, int vertical) |
| | Defines a grid overlay for snapping points.
|
| |
| void | audioFileLoaded (const File &file) override |
| | Called when an audio file is dropped and loaded successfully.
|
| |
| void | fileDragEnter (const StringArray &files, int x, int y) override |
| | Called when dragging audio files enters the component.
|
| |
| void | fileDragExit (const StringArray &files) override |
| | Called when dragging audio files leaves the component.
|
| |
| void | clear () |
| | Clears the entire waveform to zero.
|
| |
| void | flipVertical () |
| | Flips the waveform vertically, inverting all sample values.
|
| |
| void | flipHorizontal () |
| | Flips the waveform horizontally, reversing its sample order.
|
| |
| | 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.
|
| |
| | AudioFileDropSource () |
| | Constructs an AudioFileDropSource and registers basic audio formats.
|
| |
| bool | isInterestedInFileDrag (const StringArray &files) override |
| | Checks if the drag operation includes exactly one file and if it matches supported audio formats.
|
| |
| void | filesDropped (const StringArray &files, int x, int y) override |
| | Called when files are dropped onto the component.
|
| |
| void | addListener (Listener *listener) |
| | Adds a listener to receive audio file load notifications.
|
| |
| String | getExtensions () |
| | Gets a wildcard pattern representing all supported audio formats.
|
| |
| AudioFormatManager & | formatManager () |
| | Provides access to the underlying AudioFormatManager.
|
| |
|
| 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.
|
| |
| AudioFormatManager | format_manager_ |
| | Manages and recognizes different audio file formats.
|
| |
A graphical editor for manipulating a single-cycle waveform's sample values.
The WaveSourceEditor displays a waveform as a line renderer and supports editing the waveform by clicking and dragging. It can snap points to a user-defined grid and provides optional context menu actions like clearing or flipping the waveform. It also supports drag-and-drop of audio files that are translated into waveform data.