Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::gui::qquick::WaveformCanvasItem Class Reference

Generic base for hardware-accelerated waveform rendering. More...

#include <src/gui/qquick/waveform_canvas_item.h>

Inheritance diagram for zrythm::gui::qquick::WaveformCanvasItem:
Collaboration diagram for zrythm::gui::qquick::WaveformCanvasItem:

Signals

void waveformColorChanged ()
void outlineColorChanged ()

Public Member Functions

 WaveformCanvasItem (QQuickItem *parent=nullptr)
QCanvasPainterItemRenderer * createItemRenderer () const override
QColor waveformColor () const
void setWaveformColor (const QColor &color)
QColor outlineColor () const
void setOutlineColor (const QColor &color)
const juce::AudioSampleBuffer * audioBuffer () const
uint64_t bufferGeneration () const
 Monotonically increasing counter bumped on each buffer change.

Protected Member Functions

void notifyBufferChanged ()
 Bumps the generation counter and schedules a repaint.

Protected Attributes

juce::AudioSampleBuffer audio_buffer_

Properties

QColor waveformColor
QColor outlineColor

Detailed Description

Generic base for hardware-accelerated waveform rendering.

Owns the audio buffer storage and visual properties. Subclasses provide the buffer data by calling setAudioBuffer(). Not registered to QML — use a derived class for QML usage.

Definition at line 23 of file waveform_canvas_item.h.

Member Function Documentation

◆ audioBuffer()

const juce::AudioSampleBuffer * zrythm::gui::qquick::WaveformCanvasItem::audioBuffer ( ) const
inline

Definition at line 40 of file waveform_canvas_item.h.

◆ bufferGeneration()

uint64_t zrythm::gui::qquick::WaveformCanvasItem::bufferGeneration ( ) const
inline

Monotonically increasing counter bumped on each buffer change.

The renderer compares this against its own stored value to decide whether peak recomputation is needed — pure read-only access.

Definition at line 51 of file waveform_canvas_item.h.

◆ notifyBufferChanged()

void zrythm::gui::qquick::WaveformCanvasItem::notifyBufferChanged ( )
protected

Bumps the generation counter and schedules a repaint.

Call after writing directly into audio_buffer_.

◆ outlineColor()

QColor zrythm::gui::qquick::WaveformCanvasItem::outlineColor ( ) const
inline

Definition at line 37 of file waveform_canvas_item.h.

◆ waveformColor()

QColor zrythm::gui::qquick::WaveformCanvasItem::waveformColor ( ) const
inline

Definition at line 35 of file waveform_canvas_item.h.

Field Documentation

◆ audio_buffer_

juce::AudioSampleBuffer zrythm::gui::qquick::WaveformCanvasItem::audio_buffer_
protected

Definition at line 61 of file waveform_canvas_item.h.

Property Documentation

◆ outlineColor

QColor zrythm::gui::qquick::WaveformCanvasItem::outlineColor
readwrite

Definition at line 28 of file waveform_canvas_item.h.

◆ waveformColor

QColor zrythm::gui::qquick::WaveformCanvasItem::waveformColor
readwrite

Definition at line 27 of file waveform_canvas_item.h.


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