initial-development #5

Merged
fragmented merged 3 commits from initial-development into mainline 2026-05-20 08:06:35 +00:00
Owner
No description provided.
doxybook2 v1.5.0 crashes on ThemeColourIds with
"Type 0 not recognised" because the JUCE-style hex enum
values (0x80001000u cast to int) trip an unhandled case in
its Enums.cpp:331. The IDs are internal — exclude them from
the Doxygen XML so doxybook never sees the offending file.

GCC 13 on the Ubuntu runner also flagged two real bugs that
clang on macOS lets slide:

- MidiWriter.cpp: `char indexBuf[8]` was one byte short for
  `%02d` on a 32-bit int (worst case 11 chars + NUL). Widen
  to 12.
- ProfileStore.cpp: switch from the deprecated
  `ZipFile::Builder::addEntry(InputStream*, ...)` overload
  to the `std::unique_ptr` variant. The builder owned the
  stream either way; the explicit transfer keeps
  -Wdeprecated-declarations quiet on GCC.
Doxygen on the Ubuntu runner flagged several comment-block
issues that weren't visible from Apple Clang. None affect
behaviour — they only matter for the generated API
reference.

- Wrap MusicXML element references (`<fifths>`, `<mode>`,
  `<divisions>`) in backticks so Doxygen stops trying to
  parse them as inline XML tags.
- Split the conjoined `KeySignature` ctor doc block into one
  block per overload. The default ctor was getting the
  `@param fifths / @param mode` doc despite taking no args,
  and `KeySignature(int, Mode)` had no doc at all.
- Engraving constructor: add @param entries for the
  parameters Phases 16-22 introduced (techniques,
  articulations, dynamicChange, pickDirection, bendCurve).
- MidiWriter::writePerTrack / writeMerged: document the
  events / score / outputDir / outputFile params.
- ProfileEditorPanel: document the constructor's
  `controller` param.
Refresh docs through Phase 24
Some checks failed
Publish Documentation / publish (push) Failing after 2m9s
90d2d85d2a
Factual drift since the Phase 21 doc pass — JUCE version
bumped, json-schema-validator dropped, default branch
renamed, librsvg added as a build prereq, and a handful of
Phase 22-24 features that never made it into the live docs.

Version + dependency drift:
- JUCE 8.0.4 -> 8.0.13 in README, PROJECT_CONTEXT, building.md.
- Drop json-schema-validator from building.md (removed in
  Phase 19; was still listed as a fetched dep).
- Add `rsvg-convert` (librsvg) as a build-time prerequisite
  in building.md + building-windows.md. The icon pipeline
  invokes it at configure time.
- api-reference/README.md: branch trigger reference fixed
  from `main` to `mainline`.

Status:
- README: "Phases 1-19 complete" -> "Phases 1-24 complete"
  with the new capabilities listed.
- PROJECT_CONTEXT status table: documentation row marked
  complete; new rows for technique enrichment, GP project
  round-trip, hardening + maintenance.

Coverage gaps (Phase 22-24 features now mentioned in live docs):
- customer/native-import.md: AutoSlide row in the technique
  table.
- architecture/overview.md: AutoSlide slide-flag bit, the
  256-level XML depth guard, the BendCurve / BendPoint
  model, OctaveCorrectionMode + inferOctaveOffset, and the
  Phase 23 importMemory project round-trip.
- development/releases.md: new "Convenience output" section
  documenting the release/ symlink dir, plus pointers to
  scripts/clean.sh and scripts/generate-icons.sh.
fragmented merged commit 90d2d85d2a into mainline 2026-05-20 08:06:35 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tools/guitar-prometheus!5
No description provided.