From 53fb9f882a6300f96447084c9a53d882786cd734 Mon Sep 17 00:00:00 2001 From: Carl Sorensen Date: Fri, 13 Aug 2010 17:23:39 -0600 Subject: [PATCH] Fix merge errors from previous patch --- scm/define-music-callbacks.scm | 11 +++---- scm/define-music-display-methods.scm | 48 ++++------------------------ scm/define-music-properties.scm | 2 +- scm/music-functions.scm | 41 ++++-------------------- 4 files changed, 18 insertions(+), 84 deletions(-) diff --git a/scm/define-music-callbacks.scm b/scm/define-music-callbacks.scm index fbb8278904..a691c0066d 100644 --- a/scm/define-music-callbacks.scm +++ b/scm/define-music-callbacks.scm @@ -54,10 +54,9 @@ to be used by the sequential-iterator" (define (make-time-signature-set music) "Set context properties for a time signature." - (let* ((arguments (ly:music-property music 'time-signature-arguments)) - (num (car arguments)) - (den (cadr arguments)) - (rest (caddr arguments)) + (let* ((num (ly:music-property music 'numerator)) + (den (ly:music-property music 'denominator)) + (structure (ly:music-property music 'beat-structure)) (fraction (cons num den))) (list (descend-to-context (context-spec-music @@ -68,11 +67,11 @@ to be used by the sequential-iterator" (my-base-fraction (base-fraction fraction time-signature-settings)) (my-beat-structure - (if (null? rest) + (if (null? structure) (beat-structure my-base-fraction fraction time-signature-settings) - rest)) + structure)) (beaming-exception (beam-exceptions fraction time-signature-settings)) (new-measure-length (ly:make-moment num den))) diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index ec044217dc..03df67ab82 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -884,18 +884,17 @@ Otherwise, return #f." (new-line->lily-string)))) (define-display-method TimeSignatureMusic (expr parser) - (let* ((arguments (ly:music-property expr 'time-signature-arguments)) - (num (car arguments)) - (den (cadr arguments)) - (rest (caddr arguments))) - (if (null? rest) + (let* ((num (ly:music-property expr 'numerator)) + (den (ly:music-property expr 'denominator)) + (structure (ly:music-property expr 'beat-structure))) + (if (null? structure) (format #f "\\time ~a/~a~a" num den (new-line->lily-string)) (format #f - "#(set-time-signature ~a ~a ~a)~a" - num den rest + "#(set-time-signature ~a ~a '~a)~a" + num den structure (new-line->lily-string))))) ;;; \melisma and \melismaEnd @@ -1002,41 +1001,6 @@ Otherwise, return #f." (new-line->lily-string)) #f)))) -;;; \time -;(define-extra-display-method ContextSpeccedMusic (expr parser) -; "If `expr' is a time signature set, return \"\\time ...\". -;Otherwise, return #f. Note: default grouping is not available." -; (with-music-match -; (expr (music -; 'ContextSpeccedMusic -; element (music -; 'ContextSpeccedMusic -; context-type 'Timing -; element (music -; 'SequentialMusic -; elements ?elts)))) -; (and -; (> (length ?elts) 2) -; (with-music-match ((cadr ?elts) -; (music 'PropertySet -; symbol 'baseMoment)) -; #t) -; (with-music-match ((caddr ?elts) -; (music 'PropertySet -; symbol 'measureLength)) -; #t) -; (with-music-match ((car ?elts) -; (music 'PropertySet -; value ?num+den -; symbol 'timeSignatureFraction)) -; (if (eq? (length ?elts) 3) -; (format -; #f "\\time ~a/~a~a" -; (car ?num+den) (cdr ?num+den) (new-line->lily-string)) -; (format -; #f "#(set-time-signature ~a ~a '())~a" -; (car ?num+den) (cdr ?num+den) (new-line->lily-string))))))) - ;;; \bar (define-extra-display-method ContextSpeccedMusic (expr parser) "If `expr' is a bar, return \"\\bar ...\". diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm index 9f0b538cda..ebd48794ba 100644 --- a/scm/define-music-properties.scm +++ b/scm/define-music-properties.scm @@ -43,6 +43,7 @@ this @code{\\lyricsto} section.") (back-slashed number).") (bass ,boolean? "Set if this note is a bass note in a chord.") + (beat-structure ,list? "A beatStructure to be used in autobeaming.") (bracket-start ,boolean? "Start a bracket here. TODO: Use SpanEvents?") @@ -170,7 +171,6 @@ a @code{StringNumberEvent}.") in a part.") (tempo-unit ,ly:duration? "The unit for the metronome count.") (text ,markup? "Markup expression to be printed.") - (time-signature-arguments ,list? "The arguments to a time-signature call.") (to-relative-callback ,procedure? "How to transform a piece of music to relative pitches.") (tonic ,ly:pitch? "Base of the scale.") diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 5dfc7c3bcc..1dfa6bc0ac 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -495,8 +495,9 @@ i.e. this is not an override" (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) @@ -505,39 +506,9 @@ If @var{rest} is present, it is used to set @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." -- 2.39.2