]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/regression/footnote-auto-numbering.ly
Rerun scripts/auxiliar/update-with-convert-ly.sh
[lilypond.git] / input / regression / footnote-auto-numbering.ly
index 3c0b410956082d0ec5d38d124c942d6e14c37123..9520780fce00ac550d38beb8053d3e2dc2078a2f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.15.7"
+\version "2.17.6"
 \header {
   texidoc = "This is an example of automatic footnote numbering
 where the number is not reset on each page.  It uses the default
@@ -7,6 +7,21 @@ footnotes.
 "
 }
 
+#(define (make-footnote-numbering-assertion-function n)
+  (lambda (x)
+    (if (not (= n x))
+      (ly:error (_ "Expecting number ~a, got ~a") n x))))
+
+#(define (simultaneous-footnote-numbering-assertion-function x y)
+  (lambda (grob)
+    (let ((n (if (grob::has-interface (ly:grob-parent grob Y)
+                                      'beam-interface)
+                 x
+                 y)))
+      (lambda (x)
+        (if (not (= n x))
+          (ly:error (_ "Expecting number ~a, got ~a") n x))))))
+
 \paper {
   reset-footnotes-on-new-page = ##f
 }
@@ -15,29 +30,35 @@ footnotes.
 \book {
 
 \markup {
-  a \footnote b c
-  \footnote d e
-  \footnote f g
+  a \auto-footnote b c
+  \auto-footnote d e
+  \auto-footnote f g
 }
 
 \markup { h i }
 
 \relative c' {
-\autoFootnoteGrob #'NoteHead #'(1 . -1) \markup { j }
-a b c d }
+  \once \override FootnoteItem.numbering-assertion-function =
+    #(lambda (grob) (make-footnote-numbering-assertion-function 3))
+  \footnote #'(1 . -1) \markup { j } NoteHead
+  a b c d
+}
 
 \pageBreak
 
-\markup { k \footnote l m }
+\markup { k \auto-footnote l m }
 
 \relative c' { a1 }
 
 \relative c' {
   d4 e
-  < f  a-\autoFootnote #'(1 . -1) \markup { n } c >
-  \autoFootnoteGrob #'Beam #'(1 . 1) \markup { o }
-  \autoFootnoteGrob #'Hairpin #'(1 . 1) \markup { p }
-  a8\< [ b c d ] a4 b c |
+  \once \override FootnoteItem.numbering-assertion-function =
+    #(lambda (grob) (make-footnote-numbering-assertion-function 5))
+  < f \footnote #'(1 . -1) \markup { n } a c >
+  \once \override FootnoteSpanner.numbering-assertion-function =
+    #(simultaneous-footnote-numbering-assertion-function 6 7)
+  a8-\footnote #'(1 . 1) \markup { p } \<
+  -\footnote #'(1 . 1) \markup { o } [ b c d ] a4 b c |
   d a b c |
   d a b c |
   d a b c\f |