ScoreScript Language wiki

Source arrangements and output views

Choose the axis you actually want to change

Source organization, musical reuse, and printed layout are separate choices. A measures-first file can print a full score or one player's pages. A parts-first file can do both as well. Neither arrangement means “Score Page” or “Parts Page.”

ChoiceFormsHow to change itImportant boundary
Music organizationParts-first; measures-firstarrange=parts or arrange=measuresReorganizes code, not selected output
Source groupingSystem or rehearsal groupsarrange=systems or arrange=rehearsalsUses existing musical/layout boundaries; may decline unsupported structure
Repeated musicWritten-out parts; shared reader heads and named returnsconsolidate; supported expand operationsActual reuse is not whitespace compression
Musical settingsHeader maps; in-place settingsmaps=top or maps=inlineMeter/key/tempo/transpose, not system/page cuts
HeadingsLabel maps; inline headingslabels=top or labels=inlineKeep heading identity and address
Exercise organizationExercise index; exercise containersexercises=top or exercises=inlineDifferent from naming a reusable music span
Book organizationSection index; section containerssections=top or sections=inlineBook sections are not instrument sections
Engraved breaksInline cuts; addressed maps/layout blockAuthor in the correct scope; formatter chooses compact projectionNo general maps=inline break switch
Duration spellingNumeric; letter valuesdurations=numbers or durations=letters4G and qG mean the same duration
Key presentationOpen key; signature; inferred choicekey=open, key=signature, or key=autoReview the selected signature; this is not transposition
Chromatic pitch spellingAuthored spelling; directional chromatic spellingchromaticChanges enharmonic notation; inspect the musical context
Octave spellingRelative contour; explicit digitsCurrent formatter uses its built-in relative ladder`octaves=minimalexplicit` is reserved, not an available switch
Code spacingAligned/readable; compactAlignment/compact selectors and presetsA source newline is not a printed system break
Output selectionCombined score; extracted partSelect output part/configurationDoes not require changing source orientation
Pitch viewConcert; written/transposedSelect the output pitch viewNot the same operation as rewriting musical pitches
Paper and engravingNamed score/part page configurationsOptional .layouts.json and host layout controlsSettings refine the selected view; source cuts still apply

Text cleanup and linting are separate operations, not alternate music arrangements. strip-comments and strip-dev-text deliberately remove text; jargon-lint is advisory. Do not treat cleanup as lossless preservation of everything an author wrote. The standalone named-spans menu entry is still reserved even though consolidate already creates named spans inside shared heads.

These are supported choices, not a promise that every combination is transformable. Check the native option reference for this build's availability, and read normalization for prerequisites, refusal conditions, and comment handling.

Scope is a separate decision

Fact belongs toPlace it inDo not confuse it with
Whole scoreScore-level setting or layout mapA full-score-only page configuration; global source cuts also affect parts
One playerThat part's body, or its row inside a measure blockEvery player in an instrument section
Shared passageShared reader head and addressed bodyA detached variable that occupies no measures
One voiceThat voice's musicA setting inherited by unrelated voices
One musical timeIts addressed measure or inline pointThe physical text line containing it
One printed viewThe selected score/part layout configurationChanging the underlying music

For paired parts-first and measures-first break examples, see page and system layout. For instrument sections, per-reader registers, and named exercise returns, see shared passages.

Preview normalization before applying it

In Studio builds with the Normalize menu, choose the native options, preview the source changes, then apply them when the result is what you want. Optional normalization on save repeats the selected rewrite; it is not merely a display filter. Use the host's layout/view controls when you only want a different printed score or part page.

From the CLI, inspect the result without overwriting your file:

scorescript format piece.scorescript --normalize arrange=measures,maps=inline
scorescript format piece.scorescript --normalize arrange=parts,consolidate

Add --write only when you want to replace the source. Review diagnostics and the diff, then check and render the result. Host controls depend on the installed host version; the website's native menu is not proof that an older application already exposes every option.