(define-public (make-time-signature-set num den)
"Set properties for time signature NUM/DEN."
(make-music 'TimeSignatureMusic
- 'time-signature-arguments
- (list num den '())))
+ 'numerator num
+ 'denominator den
+ 'beat-structure '()))
;;; Used for calls that include beat-grouping setting
(define-public (set-time-signature num den . rest)
@code{beatStructure}."
(ly:export
(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)))
-
+ 'numerator num
+ 'denominator den
+ 'beat-structure (if (null? rest) rest (car rest)))))
(define-public (make-mark-set label)
"Make the music for the \\mark command."