You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
release v4.7.5-engine.6
Views: a loaded score can now be engraved as a part, on a phone-sized page,
in concert pitch or transposed - still by MuseScore, only with other
settings. ScoreView needs this to show a singer their own part instead of
dimming the others, to give a phone larger notes than a shrunken A4 page,
and to transpose the notation along with the sound. Until now the engine
offered the score exactly as the file engraves it and nothing else.
The pieces were already there: the loader reads stored excerpts with
their style and lays them out with the main score; only the C ABI refused
every excerpt id. setExcerptId() now selects a stored excerpt,
generateExcerpts(partIds) makes one holding exactly the given parts, and
applyView() sets a page format (105 x 186 mm portrait or landscape, line
and page breaks removed, section breaks kept, empty staves hidden),
concert pitch, or a transposition by interval spelled as MuseScore's
dialog does (src/view/intervalmap.h, unit-tested).
A view keeps the main score's time axis: excerpts share its repeat list
and tempo map. savePositions(false, true) numbers measures as the main
score does, each taking the box of whatever the view draws at that tick,
so a part's multimeasure rest stands for every measure it covers.
viewMapping() maps the view back - baseElid gives the main score's
segment number at the same tick, staffMap the main score's staff - taken
before any edit, since a view of the full score edits the main score
itself. MIDI stays the main score's; an excerpt's MIDI is refused.
Metadata gains "excerpts" (stored parts with their part ids) and
"hasTransposingParts". It no longer dereferences a null playback channel
for an excerpt part (Part::midiProgram), which crashed the metadata of a
stored two-part excerpt.
The native CLI takes the same as --excerpt, --part, --view and --mapping.
The corpus gate is unchanged for the full score (no regressions over 570
scores); the two new metadata keys are allowed like the earlier additions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HR7wyuvffSuWkRYxv9D5kL