Rhythm improvements (LilyPond Changes)

### Rhythm improvements

- The `\time` command now supports complex meters which previously required `\compoundMeter`, though it requires a slightly different syntax. The `\compoundMeter` command has been renamed to `\timeAbbrev`.

  >     {
  >       \time #'((2 2 2 3) . 8)
  >       \repeat unfold 9 c'8
  >     }

- The new `\submeasureBarsOn` command enables automatic bar lines between the components of strictly alternating time signatures (not shown), or where specified by setting the new `submeasureStructure` context property or grouping the beats in the optional argument to the `\time` command.

  >     {
  >       \submeasureBarsOn
  >       \time #'((3 4) (3 4) (4 3 4)) 25/16
  >       \repeat unfold 25 c'16
  >     }

- The new `\polymetric` command simplifies notating polymeter with aligned measures by setting scaled metric properties in contexts other than `Timing`.

  >     <<
  >       \new Staff {
  >         \scaleDurations 4/6 {
  >           \context Staff \polymetric \time 6,6,6 18/16
  >           \repeat unfold 18 c'16
  >         }
  >       }
  >       \new Staff {
  >         \time 3/4
  >         c'4 4 4
  >       }
  >     >>

- The default auto-beaming settings for 2/8 time have been changed to allow beaming the full measure.
- `\enablePolymeter` has been renamed to `\enablePerStaffTiming` to avoid confusion because it is recommended in only a subset of polymetric use cases.
- The `TimeSignature.time-signature` property replaces the old `fraction` property. The new property is more general and can be overridden, which allows certain tricks without overriding the `stencil` property.

  >     {
  >       \once \override Timing.TimeSignature.time-signature = #'(-1 . 12)
  >       R1
  >     }

- The `\time` command now accepts a rational number in the numerator. The `TimeSignature` grob and `\compound-meter` markup function have new properties that control the style of fractional parts.

- The `\time` command now accepts a rational number in the denominator to support time signatures with a beat longer than a whole note.

  >     {
  >       \override Timing.TimeSignature.denominator-style = #'note
  >       \time #'(4 . 1/2)
  >       e'\breve f' g' a'
  >     }

- The `TimeSignature` grob and `\compound-meter` markup function now support number-over-note time signatures via `denominator-style` and related properties.

  >     {
  >       \override Timing.TimeSignature.style = #'numbered
  >       \override Timing.TimeSignature.denominator-style = #'note
  >       \once \override Timing.TimeSignature.time-signature = #'(2 . 8/3)
  >       \time 6/8
  >       r4. g'8 8 8
  >     }

- `\slashedGrace` now prints slashed beams.

  >     {
  >       \slashedGrace { d'16 e' d' } c'1
  >       \slashedGrace { d16 e'' d' } c'1
  >     }

  Use `beam::slashed-stencil` to slash arbitrary beams. Set `details.slash-side` to `RIGHT` to print the slash at the right side of the beam.

  >     {
  >       \override Beam.stencil = #beam::slashed-stencil
  >       \cadenzaOn
  >       c'16^[ a' c'']
  >       c''^[ a' c']
  >       c'_[ a' c'']
  >       c''_[ a' c']
  >       \override Beam.details.slash-side = #RIGHT
  >       c'16^[ a' c'']
  >       c''^[ a' c']
  >       c'_[ a' c'']
  >       c''_[ a' c']
  >     }

  Use the `over-beam-height`, `slash-slope`, `slash-side`, `slash-stem-fraction`, `slash-thickness`, and `slash-X-positions` subproperties of the `details` property to customize the appearance of the slash.

- It is now possible to right-align different types of bar lines.

  >     \new StaffGroup
  >       <<
  >         \new Staff { \textMark "default" b1 }
  >         \new Staff { b1 \section }
  >       >>

  >     \new StaffGroup
  >       <<
  >         \new Staff
  >           { \textMark "right-aligned" b1 }
  >         \new Staff
  >           { b1
  >             \override StaffGroup.BarLine.right-justified = ##t
  >             \section }
  >       >>

- Bar checks (`|`) now implicitly create contexts. The developers deem this unlikely to impact real-world scores. Please report a bug if you find a problem without an obvious workaround.
- The new `span-all-note-heads` option may be used to make tuplet brackets span all note heads (not just the stems) as recommended by Gould and Ross.

- Automatic beam subdivision has been reworked. Previously, many imperfections could be found in the results of automatic subdivision of many complex beaming patterns due to overreliance of the value of `beatBase`. Now, LilyPond can correctly subdivide most beaming patterns and no longer uses the value of `beatBase` to limit beam subdivision. Simply setting `subdivideBeams` to `#t` now automatically subdivides all intervals by default. Three new properties have been introduced to tune automatic beam subdivision: `beamMinimumSubdivision`, `beamMaximumSubdivision` and `respectIncompleteBeams`. `beamMinimumSubdivision` limits subdivision intervals the same way as how `beatBase` previously did (reducing frequency of subdivided beams). `beamMaximumSubdivision` limits the number of beamlets removed at subdivisions in general. `respectIncompleteBeams` limits the number of beamlets at subdivisions where the remaining length would not complete the metric value of the subdivision. Setting `beamMinimumSubdivision` to the value of `beatBase` at all times, even when `beatBase` implicitly changes, preserves old behavior.
- New ‘stacked’ flag glyphs are available. All flag elements of a flag glyph have the same width but are vertically more compact.

  Use `\flagStyleStacked` to access them; with `\flagStyleDefault` you can switch back to the standard flag style.

- The `TimeSignature` style `'single-digit` has been renamed to `'single-number`.

#### LilyPond Changes v2.26.0 (stable-branch).

- Major changes in LilyPond
  - Notes for source compilation and packagers
- New for musical notation
  - Pitches improvements
  - Rhythm improvements
  - Expressive mark improvements
  - Repeat improvements
  - Editorial annotation improvements
  - Text and font improvements
- New for specialist notation
- Miscellaneous improvements