w3c / mnx

Music Notation CG next-generation music markup proposal.
179 stars 18 forks source link

Multi-Staff Time Signature #248

Open clnoel opened 3 years ago

clnoel commented 3 years ago

@notator says in https://github.com/w3c/mnx/issues/185#issuecomment-947598381 Multi-staff time-signatures are often used in large conducting scores and percussion parts. Time-sigs can simply become illegible if they are only the size of individual staves. Example: Schönberg's Pelleas und Melisande (score first printed in 1912).

image

This was originally in https://github.com/w3c/mnx/issues/185#issuecomment-948018127 as out-of-scope (D)

notator commented 3 years ago

See also Dorico's: Large Time Signatures

We could probably use Dorico's parameters for styling Large Time Signatures. I'd like to code these objects as <time-sig> elements inside <group-layout>, <staff-layout> or <system-layout> elements. Default would be one 4-gap high time-signature per staff, centred vertically on the staff. Apropos: I would also like to include a <style> element, like HTML's, in MNX files:

<mnx>
    // Is type="text/css" correct here?
    // All measurements are in (floating point) gaps (dimensionless numbers)
    <style type="text/css">

        .fullScore
        {
            width: 2280;
            height: 2765;
            margins: 148 145 148 356;
            gap=20
        }

        .largeGroupTimeSig
        {
            width: 2.75; // gaps
            height: 7.75; // gaps
            font-face: Arial;
            // etc other parameters ...
        }

        // other styles
    </style>

    // <global>, <parts>

    <group-layout id="groupLayout">
         <time-sig class="largeGroupTimeSig" />
         <staff-layout>...</staff-layout>
         <staff-layout>...</staff-layout>
          ...
    </group-layout>

    <system-layout id="sysLayout">
        <group-layout  layout="groupLayout"
    </system-layout>

    <score name="Full Score" class="fullScore">
        <page>
            <system layout="sysLayout" measure="1" />
            ...
        </page>
        ...
    </score>
    ...
</mnx>