Vital
|
A button component that shows the current transpose quantization state and opens a callout to edit it. More...
#include <transpose_quantize.h>
Classes | |
class | Listener |
Interface for objects that want to be notified of quantization changes. More... | |
Public Member Functions | |
TransposeQuantizeButton () | |
Constructor. | |
void | paint (Graphics &g) override |
void | paintBackground (Graphics &g) override |
Overrides but does nothing for background painting. | |
void | resized () override |
Handles resizing to compute note layout. | |
void | mouseDown (const MouseEvent &e) override |
void | mouseEnter (const MouseEvent &e) override |
void | mouseExit (const MouseEvent &e) override |
void | quantizeUpdated () override |
Called when quantization updates occur in the callout. | |
int | getValue () |
void | setValue (int value) |
void | addQuantizeListener (Listener *listener) |
![]() | |
OpenGlImageComponent (String name="") | |
Constructs an OpenGlImageComponent. | |
virtual | ~OpenGlImageComponent ()=default |
Destructor. | |
virtual void | paintToImage (Graphics &g) |
Renders the associated component (or itself) into the provided Graphics context. | |
virtual void | init (OpenGlWrapper &open_gl) override |
Initializes any OpenGL resources for rendering this component. | |
virtual void | render (OpenGlWrapper &open_gl, bool animate) override |
Renders the image using OpenGL. | |
virtual void | destroy (OpenGlWrapper &open_gl) override |
Destroys OpenGL-related resources used by this component. | |
virtual void | redrawImage (bool force) |
Redraws the image if necessary, creating or updating the internal Image. | |
void | setComponent (Component *component) |
Sets the component to be drawn into the OpenGL image. If not set, uses this component. | |
void | setScissor (bool scissor) |
Enables or disables scissor testing when drawing the image. | |
void | setUseAlpha (bool use_alpha) |
Enables or disables alpha blending for the image. | |
void | setColor (Colour color) |
Sets a color tint for the image. | |
OpenGlImage & | image () |
Provides access to the underlying OpenGlImage. | |
void | setActive (bool active) |
Sets whether this component is active (rendered) or not. | |
void | setStatic (bool static_image) |
Sets whether the image should be treated as static (not redrawn unless forced). | |
void | paintEntireComponent (bool paint_entire_component) |
Controls whether paintToImage should paint the entire component hierarchy or just itself. | |
bool | isActive () const |
Checks if this component is currently active. | |
![]() | |
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. | |
![]() | |
virtual | ~Listener () |
Virtual destructor for proper cleanup. | |
Additional Inherited Members | |
![]() | |
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. | |
![]() | |
Component * | component_ |
The component being drawn into the image (if any). | |
bool | active_ |
Whether this component is active and should render. | |
bool | static_image_ |
Whether the image is static or updated on events. | |
bool | paint_entire_component_ |
If true, paint entire component hierarchy to image. | |
std::unique_ptr< Image > | draw_image_ |
The cached image that stores the drawn component. | |
OpenGlImage | image_ |
The OpenGlImage used to upload and draw the cached image. | |
![]() | |
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 button component that shows the current transpose quantization state and opens a callout to edit it.
The TransposeQuantizeButton displays a set of notes (like keys) and which ones are active in the quantization. When clicked, it launches a TransposeQuantizeCallOut for editing. It can notify its listeners about quantization changes.
TransposeQuantizeButton::TransposeQuantizeButton | ( | ) |
Constructor.
|
inline |
Adds a listener to be notified of quantization changes.
listener | The listener to add. |
int TransposeQuantizeButton::getValue | ( | ) |
Gets the current quantization value as a bitmask.
|
override |
Shows the callout for editing quantization when clicked.
e | The mouse event. |
|
override |
Handles mouse enter event for hover state.
e | The mouse event. |
|
override |
Handles mouse exit event for hover state.
e | The mouse event. |
|
override |
Paints the notes and their selection state.
g | The graphics context. |
|
inlineoverridevirtual |
Overrides but does nothing for background painting.
Reimplemented from OpenGlImageComponent.
|
overridevirtual |
Called when quantization updates occur in the callout.
Implements TransposeQuantizeCallOut::Listener.
|
overridevirtual |
Handles resizing to compute note layout.
Reimplemented from OpenGlComponent.
void TransposeQuantizeButton::setValue | ( | int | value | ) |
Sets the quantization value from a bitmask.
value | The new quantization state value. |