GuitarPrometheus::Render
GuitarPrometheus::Render
Namespaces
| Name |
|---|
| GuitarPrometheus::Render::Smufl SMuFL (Standard Music Font Layout) codepoint constants for the glyphs the renderer paints. |
Classes
| Name | |
|---|---|
| struct | GuitarPrometheus::Render::LaidOutArticulation One articulation glyph (staccato dot, accent wedge, …) anchored above or below a notehead. |
| struct | GuitarPrometheus::Render::LaidOutDynamic A dynamic marking ( mf, f, …) anchored below the staff at the position of the note that carries the change. |
| struct | GuitarPrometheus::Render::LaidOutKeySigAccidental One accidental glyph in the key signature, placed after the clef at the start of the system. |
| struct | GuitarPrometheus::Render::LaidOutLedgerLine A ledger line segment drawn above or below the staff for notes outside the five staff lines. |
| struct | GuitarPrometheus::Render::LaidOutMeasure One laid-out measure. |
| struct | GuitarPrometheus::Render::LaidOutNote One laid-out note (or rest), positioned in the staff’s coordinate system. |
| struct | GuitarPrometheus::Render::LaidOutScore Result of laying out a single part as a horizontally-running system. |
| struct | GuitarPrometheus::Render::LaidOutSlur A laid-out slur connecting two notes (which may differ in pitch and may cross measures). |
| struct | GuitarPrometheus::Render::LaidOutSystem A multi-part system: every part of score laid out and stacked vertically with bracket grouping. |
| struct | GuitarPrometheus::Render::LaidOutTie One laid-out measure. |
| struct | GuitarPrometheus::Render::LayoutSettings Tunable knobs for the layout engine. |
| class | GuitarPrometheus::Render::SvgScoreRenderer Emits an SVG string from a laid-out score, compatible with juce::Drawable::createFromSVG(). |
Functions
| Name | |
|---|---|
| LaidOutScore | layoutPart(const SongStructure::Score & score, std::size_t partIndex, const LayoutSettings & settings) Lay out one part of score as a sequence of [LaidOutMeasure]()s. |
| LaidOutSystem | layoutScore(const SongStructure::Score & score, const LayoutSettings & settings) Lay out every part of score as a vertically-stacked system. |
Functions Documentation
function layoutPart
LaidOutScore layoutPart( const SongStructure::Score & score, std::size_t partIndex, const LayoutSettings & settings)Lay out one part of score as a sequence of [LaidOutMeasure]()s.
Pure function — no JUCE dependencies, no global state. The same input always produces the same output. Called from the render panel on every theme / size change, and from the unit tests directly.
Treble clef centred on B4 (MIDI 71). Stem direction: down for pitch ≥ B4, up otherwise. Beam grouping: contiguous notes of value < Quarter inside the same beat (where “beat” = numerator-th of the measure for time signatures with denominator ≤ 4, eighth-pair-grouped for 6/8 and other compound meters).
partIndex must be a valid index into score.getParts(). An out-of-range index returns an empty [LaidOutScore](/api-reference/classes/structguitarprometheus_1_1render_1_1laidoutscore/) with both dimensions zero.
function layoutScore
LaidOutSystem layoutScore( const SongStructure::Score & score, const LayoutSettings & settings)Lay out every part of score as a vertically-stacked system.
Uses layoutPart per part and stacks them with topMarginPx of vertical separation between systems. The bracket-group heuristic groups contiguous parts whose MIDI channels match or whose names share the first whitespace-delimited word (e.g. "Guitar 1" + "Guitar 2"). Empty input returns an empty [LaidOutSystem](/api-reference/classes/structguitarprometheus_1_1render_1_1laidoutsystem/).
Updated on 2026-05-29 at 07:39:52 +0000