X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fmusic-functions.scm;h=29194e3326b4745a73b41641282b59553a2c04e8;hb=fe1eb832e9e1e92e2bf98c33011465658192f033;hp=5159d13b7a4cc8e0dbc0d25ac25df0ce8671e3ff;hpb=67e5b815e53730fb5ad90c37109aad610f13394c;p=lilypond.git diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 5159d13b7a..29194e3326 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -215,7 +215,7 @@ i.e. this is not an override" )) (define direction-polyphonic-grobs - '(Tie Slur Script TextScript Stem Dots DotColumn)) + '(Tie Rest Slur Script TextScript Stem Dots DotColumn)) (define-public (make-voice-props-set n) (make-sequential-music @@ -283,8 +283,8 @@ i.e. this is not an override" )) -(define-public (make-nonevent-skip dur) - (let* ((m (make-music-by-name 'NonEventSkip))) +(define-public (make-skip-music dur) + (let* ((m (make-music-by-name 'SkipMusic))) (ly:set-mus-property! m 'duration dur) m )) @@ -296,24 +296,18 @@ i.e. this is not an override" (let* ( (start (make-music-by-name 'MultiMeasureRestEvent)) - (stop (make-music-by-name 'MultiMeasureRestEvent)) - (skip ( make-music-by-name 'SkipEvent)) (ch (make-music-by-name 'BarCheck)) (ch2 (make-music-by-name 'BarCheck)) - (seq (make-music-by-name 'MultiMeasureRestMusicGroup)) + (seq (make-music-by-name 'MultiMeasureRestMusicGroup)) ) (map (lambda (x) (ly:set-mus-property! x 'origin location)) - (list start stop skip ch ch2 seq)) - (ly:set-mus-property! start 'span-direction START) - (ly:set-mus-property! stop 'span-direction STOP) - (ly:set-mus-property! skip 'duration duration) + (list start ch ch2 seq)) + (ly:set-mus-property! start 'duration duration) (ly:set-mus-property! seq 'elements (list ch (make-event-chord (list start)) - (make-event-chord (list skip)) - (make-event-chord (list stop)) ch2 )) @@ -436,6 +430,27 @@ Rest can contain a list of beat groupings (context-spec-music (make-sequential-music basic) 'Timing))) +(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-by-name 'MarkEvent)) + (ch (make-event-chord (list ev))) + ) + + + (if set + (make-sequential-music (list set ch)) + (begin + (ly:set-mus-property! ev 'label label) + ch)))) + + + (define-public (set-time-signature num den . rest) (ly:export (apply make-time-signature-set `(,num ,den . ,rest)))) @@ -486,7 +501,6 @@ Rest can contain a list of beat groupings ;;; splitting chords into voices. - (define (voicify-list lst number) "Make a list of Musics. @@ -502,7 +516,7 @@ Rest can contain a list of beat groupings (make-simultaneous-music (car lst)))) 'Voice (number->string number)) - (voicify-list (cdr lst) (+ number 1)) + (voicify-list (cdr lst) (1+ number)) )) ) @@ -533,7 +547,7 @@ Rest can contain a list of beat groupings (if (and (equal? (ly:music-name m) "Simultaneous_music") (reduce (lambda (x y ) (or x y)) #f (map music-separator? es))) - (voicify-chord m) + (set! m (context-spec-music (voicify-chord m) 'Staff)) ) m @@ -759,14 +773,16 @@ Rest can contain a list of beat groupings (let* ((meta (ly:get-grob-property grob 'meta)) (nm (if (pair? meta) (cdr (assoc 'name meta)) "nonexistant")) - (cb (ly:get-grob-property grob 'molecule-callback))) + (cb (ly:get-grob-property grob 'print-function))) (if (equal? nm object-name) (begin - (ly:set-grob-property! grob 'molecule-callback Balloon_interface::brew_molecule) + (ly:set-grob-property! grob 'print-function Balloon_interface::print) (ly:set-grob-property! grob 'balloon-original-callback cb) (ly:set-grob-property! grob 'balloon-text text) (ly:set-grob-property! grob 'balloon-text-offset off) (ly:set-grob-property! grob 'balloon-text-props '((font-family . roman))) )))) + +