From c40f3af6ba3037ff1b8495602becf3cb526ddd1c Mon Sep 17 00:00:00 2001 From: Nicolas Sceaux Date: Wed, 24 May 2006 13:18:13 +0000 Subject: [PATCH] * input/no-notation/display-lily-tests.ly: fix \applyOutput test. Add \break, \pageBreak, \pageTurn, etc, tests. * scm/define-music-display-methods.scm: display methods for breaks. Fix \applyOutput. --- ChangeLog | 8 ++++ input/no-notation/display-lily-tests.ly | 20 ++++---- scm/define-music-display-methods.scm | 64 +++++++++++++++---------- 3 files changed, 59 insertions(+), 33 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5678194420..9e51204f24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-05-24 Nicolas Sceaux + + * input/no-notation/display-lily-tests.ly: fix \applyOutput + test. Add \break, \pageBreak, \pageTurn, etc, tests. + + * scm/define-music-display-methods.scm: display methods for + breaks. Fix \applyOutput. + 2006-05-24 Han-Wen Nienhuys * Documentation/user/macros.itexi: comment out funindex expansion. diff --git a/input/no-notation/display-lily-tests.ly b/input/no-notation/display-lily-tests.ly index c7f4a03133..8c99abf835 100644 --- a/input/no-notation/display-lily-tests.ly +++ b/input/no-notation/display-lily-tests.ly @@ -1,4 +1,4 @@ -\version "2.7.39" +\version "2.9.5" #(use-modules (srfi srfi-13) (ice-9 format)) @@ -44,9 +44,8 @@ test = #(define-music-function (parser location result-info strings) (string? pa (make-music 'SequentialMusic 'elements (list (make-music 'EventChord - 'elements (list (make-music 'BreakEvent - 'page-penalty 0 - 'penalty -10001))) + 'elements (list (make-music 'LineBreakEvent + 'break-permission 'force))) (make-music 'EventChord 'elements (list (make-music 'SkipEvent 'duration (ly:make-duration 0 0 1 1)) @@ -75,7 +74,6 @@ test = #(define-music-function (parser location result-info strings) (string? pa \context { \Staff \override StaffSymbol #'line-count = #1 - %\remove "Staff_symbol_engraver" \remove "Time_signature_engraver" \remove "Clef_engraver" } @@ -85,6 +83,7 @@ test = #(define-music-function (parser location result-info strings) (string? pa } } { + \fatText %% Sequential music \test #"" ##[ { { a b } { c d } } #] % SequentialMusic \test #"" ##[ << { a b } { c d } >> #] % SimultaneousMusic @@ -134,8 +133,6 @@ test = #(define-music-function (parser location result-info strings) (string? pa \test #"" ##[ \lyricsto "foo" { bla bla } #] % LyricCombineMusic \test #"" ##[ { { c d } \addlyrics { bla bla } } #] - \test #"" ##[ \oldaddlyrics { c d } -\lyricmode { bla bla } #] % OldLyricCombineMusic %% Drums \test #"" ##[ \drums { hihat } #] @@ -179,6 +176,11 @@ test = #(define-music-function (parser location result-info strings) (string? pa \test #"" ##[ \~ #] % PesOrFlexaEvent \test #"" ##[ \break #] + \test #"" ##[ \noBreak #] + \test #"" ##[ \pageBreak #] + \test #"" ##[ \noPageBreak #] + \test #"" ##[ \pageTurn #] + \test #"" ##[ \noPageTurn #] %% Checks \test #"" ##[ \octave a' #] % RelativeOctaveCheck @@ -241,9 +243,9 @@ test = #(define-music-function (parser location result-info strings) (string? pa \test #"" ##[ \revert Beam #'thickness #] %% \applyOutput - \test #"" ##[ \applyOutput #(lambda (arg) ()) #] + \test #"" ##[ \applyOutput #'Foo #(lambda (arg) (list)) #] %% \applyContext - \test #"" ##[ \applyContext #(lambda (arg) ()) #] + \test #"" ##[ \applyContext #(lambda (arg) (list)) #] %% \partial \test #"" ##[ \partial 2 #] diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index f1264da406..ad1dbf3de7 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -585,22 +585,6 @@ Otherwise, return #f." (define-display-method BarCheck (check) (format #f "|~a" (new-line->lily-string))) -;; TODO: also display something when there is a penalty? -(define-display-method LineBreakEvent (br) - (if (eq? (ly:music-property br 'break-permission) 'forbid) - ("\\noBreak") - ("\\break"))) - -(define-display-method PageBreakEvent (br) - (if (eq? (ly:music-property br 'break-permission) 'forbid) - ("\\noPageBreak") - ("\\pageBreak"))) - -(define-display-method PageTurnEvent (br) - (if (eq? (ly:music-property br 'break-permission) 'forbid) - ("\\noPageTurn") - ("\\pageTurn"))) - (define-display-method PesOrFlexaEvent (expr) "\\~") @@ -994,8 +978,10 @@ Otherwise, return #f." ;;; (define-display-method ApplyOutputEvent (applyoutput) - (let ((proc (ly:music-property applyoutput 'procedure))) - (format #f "\\applyOutput #~a" + (let ((proc (ly:music-property applyoutput 'procedure)) + (ctx (ly:music-property applyoutput 'context-type))) + (format #f "\\applyOutput #'~a #~a" + ctx (or (procedure-name proc) (with-output-to-string (lambda () @@ -1051,6 +1037,42 @@ Otherwise, return #f." (ly:music-property expr 'quoted-music-name) (music->lily-string (ly:music-property expr 'element))))) +;;; +;;; Breaks +;;; +(define-display-method LineBreakEvent (expr) + (if (null? (ly:music-property expr 'break-permission)) + "\\noBreak" + "\\break")) + +(define-display-method PageBreakEvent (expr) + (if (null? (ly:music-property expr 'break-permission)) + "\\noPageBreak" + "\\pageBreak")) + +(define-display-method PageTurnEvent (expr) + (if (null? (ly:music-property expr 'break-permission)) + "\\noPageTurn" + "\\pageTurn")) + +(define-extra-display-method EventChord (expr) + (with-music-match (expr (music 'EventChord + elements ((music 'LineBreakEvent + break-permission 'force) + (music 'PageBreakEvent + break-permission 'force)))) + "\\pageBreak")) + +(define-extra-display-method EventChord (expr) + (with-music-match (expr (music 'EventChord + elements ((music 'LineBreakEvent + break-permission 'force) + (music 'PageBreakEvent + break-permission 'force) + (music 'PageTurnEvent + break-permission 'force)))) + "\\pageTurn")) + ;;; ;;; Lyrics ;;; @@ -1062,12 +1084,6 @@ Otherwise, return #f." (parameterize ((*explicit-mode* #f)) (music->lily-string (ly:music-property expr 'element))))) -(define-display-method OldLyricCombineMusic (expr) - (format #f "\\oldaddlyrics ~a~a~a" - (music->lily-string (first (ly:music-property expr 'elements))) - (new-line->lily-string) - (music->lily-string (second (ly:music-property expr 'elements))))) - ;; \addlyrics (define-extra-display-method SimultaneousMusic (expr) (with-music-match (expr (music 'SimultaneousMusic -- 2.39.5