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

A button component that shows the current transpose quantization state and opens a callout to edit it. More...

#include <transpose_quantize.h>

Inheritance diagram for TransposeQuantizeButton:
OpenGlImageComponent TransposeQuantizeCallOut::Listener OpenGlComponent

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)
 
- Public Member Functions inherited from OpenGlImageComponent
 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.
 
OpenGlImageimage ()
 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.
 
- Public Member Functions inherited from OpenGlComponent
 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.
 
- Public Member Functions inherited from TransposeQuantizeCallOut::Listener
virtual ~Listener ()
 Virtual destructor for proper cleanup.
 

Additional Inherited Members

- Static Public Member Functions inherited from OpenGlComponent
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.
 
- Protected Member Functions inherited from OpenGlComponent
bool setViewPort (OpenGlWrapper &open_gl)
 Sets the viewport for this component using the current OpenGlWrapper.
 
- Protected Attributes inherited from OpenGlImageComponent
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.
 
- Protected Attributes inherited from OpenGlComponent
std::unique_ptr< OpenGlCornerscorners_
 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 SynthSectionparent_
 Pointer to parent SynthSection for skin lookups.
 
Skin::SectionOverride skin_override_
 Skin override for custom appearance.
 
const vital::StatusOutputnum_voices_readout_
 StatusOutput for voice count lookups.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TransposeQuantizeButton()

TransposeQuantizeButton::TransposeQuantizeButton ( )

Constructor.

Member Function Documentation

◆ addQuantizeListener()

void TransposeQuantizeButton::addQuantizeListener ( Listener * listener)
inline

Adds a listener to be notified of quantization changes.

Parameters
listenerThe listener to add.

◆ getValue()

int TransposeQuantizeButton::getValue ( )

Gets the current quantization value as a bitmask.

Returns
The quantization state value.

◆ mouseDown()

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

Shows the callout for editing quantization when clicked.

Parameters
eThe mouse event.

◆ mouseEnter()

void TransposeQuantizeButton::mouseEnter ( const MouseEvent & e)
override

Handles mouse enter event for hover state.

Parameters
eThe mouse event.

◆ mouseExit()

void TransposeQuantizeButton::mouseExit ( const MouseEvent & e)
override

Handles mouse exit event for hover state.

Parameters
eThe mouse event.

◆ paint()

void TransposeQuantizeButton::paint ( Graphics & g)
override

Paints the notes and their selection state.

Parameters
gThe graphics context.

◆ paintBackground()

void TransposeQuantizeButton::paintBackground ( Graphics & g)
inlineoverridevirtual

Overrides but does nothing for background painting.

Reimplemented from OpenGlImageComponent.

◆ quantizeUpdated()

void TransposeQuantizeButton::quantizeUpdated ( )
overridevirtual

Called when quantization updates occur in the callout.

Implements TransposeQuantizeCallOut::Listener.

◆ resized()

void TransposeQuantizeButton::resized ( )
overridevirtual

Handles resizing to compute note layout.

Reimplemented from OpenGlComponent.

◆ setValue()

void TransposeQuantizeButton::setValue ( int value)

Sets the quantization value from a bitmask.

Parameters
valueThe new quantization state value.

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