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

QML-visible canvas item that renders the tempo automation curve in the background of the tempo lane. More...

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

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

Signals

void tempoObjectManagerChanged ()
void tempoMapChanged ()
void pxPerTickChanged ()
void scrollXChanged ()
void scrollXPlusWidthChanged ()
void curveColorChanged ()
void selectionModelChanged ()
void dragActiveChanged ()
void dragDeltaPxChanged ()

Public Member Functions

 TempoCurveCanvasItem (QQuickItem *parent=nullptr)
QCanvasPainterItemRenderer * createItemRenderer () const override
structure::arrangement::TempoObjectManagertempoObjectManager () const
void setTempoObjectManager (structure::arrangement::TempoObjectManager *manager)
dsp::TempoMapWrappertempoMap () const
void setTempoMap (dsp::TempoMapWrapper *wrapper)
double baseBpm () const
 Base tempo at tick 0 from the bound tempo map (120 if unbound).
qreal pxPerTick () const
void setPxPerTick (qreal px)
qreal scrollX () const
void setScrollX (qreal x)
qreal scrollXPlusWidth () const
void setScrollXPlusWidth (qreal w)
QColor curveColor () const
void setCurveColor (const QColor &color)
QItemSelectionModel * selectionModel () const
void setSelectionModel (QItemSelectionModel *model)
bool dragActive () const
void setDragActive (bool active)
qreal dragDeltaPx () const
void setDragDeltaPx (qreal px)

Properties

zrythm::structure::arrangement::TempoObjectManagertempoObjectManager
zrythm::dsp::TempoMapWrappertempoMap
qreal pxPerTick
qreal scrollX
qreal scrollXPlusWidth
QColor curveColor
QItemSelectionModel * selectionModel
bool dragActive
qreal dragDeltaPx

Detailed Description

QML-visible canvas item that renders the tempo automation curve in the background of the tempo lane.

Draws the continuous tempo curve (constant steps and linear ramps) behind the tempo objects using the GPU-accelerated QCanvasPainter API. The data is read from the TempoObjectManager (the same objects rendered as pills), so the curve always matches what is shown and edited. The vertical range is the project-wide min/max of all tempo objects.

Definition at line 29 of file tempo_curve_canvas_item.h.

Member Function Documentation

◆ curveColor()

QColor zrythm::gui::qquick::TempoCurveCanvasItem::curveColor ( ) const
inline

Definition at line 65 of file tempo_curve_canvas_item.h.

◆ dragActive()

bool zrythm::gui::qquick::TempoCurveCanvasItem::dragActive ( ) const
inline

Definition at line 69 of file tempo_curve_canvas_item.h.

◆ dragDeltaPx()

qreal zrythm::gui::qquick::TempoCurveCanvasItem::dragDeltaPx ( ) const
inline

Definition at line 71 of file tempo_curve_canvas_item.h.

◆ pxPerTick()

qreal zrythm::gui::qquick::TempoCurveCanvasItem::pxPerTick ( ) const
inline

Definition at line 59 of file tempo_curve_canvas_item.h.

◆ scrollX()

qreal zrythm::gui::qquick::TempoCurveCanvasItem::scrollX ( ) const
inline

Definition at line 61 of file tempo_curve_canvas_item.h.

◆ scrollXPlusWidth()

qreal zrythm::gui::qquick::TempoCurveCanvasItem::scrollXPlusWidth ( ) const
inline

Definition at line 63 of file tempo_curve_canvas_item.h.

◆ selectionModel()

QItemSelectionModel * zrythm::gui::qquick::TempoCurveCanvasItem::selectionModel ( ) const
inline

Definition at line 67 of file tempo_curve_canvas_item.h.

◆ tempoMap()

dsp::TempoMapWrapper * zrythm::gui::qquick::TempoCurveCanvasItem::tempoMap ( ) const
inline

Definition at line 55 of file tempo_curve_canvas_item.h.

◆ tempoObjectManager()

structure::arrangement::TempoObjectManager * zrythm::gui::qquick::TempoCurveCanvasItem::tempoObjectManager ( ) const
inline

Definition at line 49 of file tempo_curve_canvas_item.h.

Property Documentation

◆ curveColor

QColor zrythm::gui::qquick::TempoCurveCanvasItem::curveColor
readwrite

Definition at line 39 of file tempo_curve_canvas_item.h.

◆ dragActive

bool zrythm::gui::qquick::TempoCurveCanvasItem::dragActive
readwrite

Definition at line 41 of file tempo_curve_canvas_item.h.

◆ dragDeltaPx

qreal zrythm::gui::qquick::TempoCurveCanvasItem::dragDeltaPx
readwrite

Definition at line 42 of file tempo_curve_canvas_item.h.

◆ pxPerTick

qreal zrythm::gui::qquick::TempoCurveCanvasItem::pxPerTick
readwrite

Definition at line 36 of file tempo_curve_canvas_item.h.

◆ scrollX

qreal zrythm::gui::qquick::TempoCurveCanvasItem::scrollX
readwrite

Definition at line 37 of file tempo_curve_canvas_item.h.

◆ scrollXPlusWidth

qreal zrythm::gui::qquick::TempoCurveCanvasItem::scrollXPlusWidth
readwrite

Definition at line 38 of file tempo_curve_canvas_item.h.

◆ selectionModel

QItemSelectionModel * zrythm::gui::qquick::TempoCurveCanvasItem::selectionModel
readwrite

Definition at line 40 of file tempo_curve_canvas_item.h.

◆ tempoMap

zrythm::dsp::TempoMapWrapper * zrythm::gui::qquick::TempoCurveCanvasItem::tempoMap
readwrite

Definition at line 35 of file tempo_curve_canvas_item.h.

◆ tempoObjectManager

zrythm::structure::arrangement::TempoObjectManager * zrythm::gui::qquick::TempoCurveCanvasItem::tempoObjectManager
readwrite

Definition at line 34 of file tempo_curve_canvas_item.h.


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