- (make-music 'TimeSignatureMusic
- 'time-signature-arguments
- (list num den (if (null? rest) rest (car rest))))))
-
-(define-public (make-beam-rule-time-signature-set num den rest)
- "Implement settings for new time signature. Can be
-called from either make-time-signature-set (used by \time
-in parser) or set-time-signature (called from scheme code
-included in .ly file)."
-
- (let ((m (make-music 'ApplyContext)))
- (define (make-time-settings context)
- (let* ((fraction (cons num den))
- (time-signature-settings (ly:context-property context 'timeSignatureSettings))
- (my-base-fraction (base-fraction fraction time-signature-settings))
- (my-beat-structure (if (null? rest)
- (beat-structure my-base-fraction
- fraction
- time-signature-settings)
- (car rest)))
- (beaming-exception
- (beam-exceptions fraction time-signature-settings))
- (new-measure-length (ly:make-moment num den)))
- (ly:context-set-property! context 'timeSignatureFraction fraction)
- (ly:context-set-property!
- context 'baseMoment (fraction->moment my-base-fraction))
- (ly:context-set-property! context 'beatStructure my-beat-structure)
- (ly:context-set-property! context 'beamExceptions beaming-exception)
- (ly:context-set-property! context 'measureLength new-measure-length)))
- (set! (ly:music-property m 'procedure) make-time-settings)
- (descend-to-context
- (context-spec-music m 'Timing)
- 'Score)))
-
-
-(define-public (make-mark-set label)
- "Make the music for the \\mark command."
- (let* ((set (if (integer? label)
- (context-spec-music (make-property-set 'rehearsalMark label)
- 'Score)
- #f))
- (ev (make-music 'MarkEvent))
- (ch (make-event-chord (list ev))))
- (if set
- (make-sequential-music (list set ch))
- (begin
- (set! (ly:music-property ev 'label) label)
- ch))))