Skip to content

GuitarPrometheus::Render::LaidOutNote

GuitarPrometheus::Render::LaidOutNote

One laid-out note (or rest), positioned in the staff’s coordinate system. More…

#include <LayoutEngine.h>

Public Attributes

Name
intmidiPitch
Resolved MIDI pitch (key-signature-aware). 0 for rests.
intstartTick
Absolute tick offset from the start of the part.
intdurationTicks
Tick count of this note’s engraved duration.
floatxPx
Horizontal centre of the notehead within the laid-out score.
floatyPx
Vertical centre of the notehead.
boolstemUp
True when stem points up (pitch < B4); false otherwise.
intbeamGroup
-1 = unbeamed; otherwise the index of the beam this note belongs to.
boolisRest
MusicModels::NoteValuebaseValue
Used for notehead style (filled / hollow / doubled).
MusicModels::Accidentalaccidental
Explicit accidental glyph to render (None = omit).
intdiatonicStep
Staff position relative to B4 (for ledger lines).

Detailed Description

struct GuitarPrometheus::Render::LaidOutNote;

One laid-out note (or rest), positioned in the staff’s coordinate system.

yPx is the centre of the notehead on the staff. For rests, yPx is the rest glyph’s vertical anchor (typically the middle line of the staff). beamGroup ties together contiguous beamable notes inside one beat — the renderer uses the group id to draw beam strokes between adjacent notes that share it.

F11.3 will extend this with tie / slur / articulation references; the basic shape stays the same.

Public Attributes Documentation

variable midiPitch

int midiPitch = 0;

Resolved MIDI pitch (key-signature-aware). 0 for rests.

variable startTick

int startTick = 0;

Absolute tick offset from the start of the part.

variable durationTicks

int durationTicks = 0;

Tick count of this note’s engraved duration.

variable xPx

float xPx = 0.f;

Horizontal centre of the notehead within the laid-out score.

variable yPx

float yPx = 0.f;

Vertical centre of the notehead.

variable stemUp

bool stemUp = true;

True when stem points up (pitch < B4); false otherwise.

variable beamGroup

int beamGroup = -1;

-1 = unbeamed; otherwise the index of the beam this note belongs to.

variable isRest

bool isRest = false;

variable baseValue

MusicModels::NoteValue baseValue = MusicModels::Quarter;

Used for notehead style (filled / hollow / doubled).

variable accidental

MusicModels::Accidental accidental = MusicModels::Accidental::None;

Explicit accidental glyph to render (None = omit).

variable diatonicStep

int diatonicStep = 0;

Staff position relative to B4 (for ledger lines).


Updated on 2026-05-29 at 07:39:52 +0000