Music XML
ci / checks (push) Successful in 42m24s

This commit is contained in:
khodowany
2026-09-10 22:01:18 -05:00
parent ea4e0bbba1
commit f84717990b
47 changed files with 16739 additions and 8391 deletions
+10
View File
@@ -18,6 +18,10 @@ enum class score_accidental_mark {
FLAT,
NATURAL,
SHARP,
DOUBLE_FLAT,
DOUBLE_SHARP,
TRIPLE_FLAT,
TRIPLE_SHARP,
};
enum class score_layout_item_kind {
@@ -48,6 +52,8 @@ enum class score_layout_item_role {
TIE,
TUPLET,
TUPLET_BRACKET,
OCTAVE_SHIFT,
TREMOLO,
TITLE,
COMPOSER,
PART,
@@ -71,6 +77,7 @@ struct score_layout_item {
std::float32_t staff_spacing{};
std::int32_t codepoint{};
std::int32_t text_scale{};
std::float32_t text_size_multiplier{1.0F};
std::size_t system_index{std::numeric_limits<std::size_t>::max()};
std::size_t measure_index{std::numeric_limits<std::size_t>::max()};
std::size_t note_index{std::numeric_limits<std::size_t>::max()};
@@ -86,6 +93,8 @@ struct score_page_layout {
struct score_system_range {
std::size_t first_measure{};
std::size_t measure_count{};
std::size_t first_note{};
std::size_t note_count{std::numeric_limits<std::size_t>::max()};
};
constexpr auto score_measures_per_system = std::size_t{4};
@@ -95,6 +104,7 @@ auto notated_accidentals_for_measure(vamp_zero::score_measure const& measure, st
auto score_system_ranges(vamp_zero::score_document const& score) -> std::vector<vamp_zero::score_system_range>;
auto score_page_count(vamp_zero::score_document const& score) -> std::size_t;
auto layout_score_page(luma::rect bounds, vamp_zero::score_document const& score, std::size_t page_index) -> vamp_zero::score_page_layout;
auto draw_score_layout(luma::draw_context& context, vamp_zero::score_page_layout const& layout) -> void;
auto draw_score_page(luma::draw_context& context, luma::rect bounds, vamp_zero::score_document const& score, std::size_t page_index) -> void;
}