]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/regression/scheme-text-spanner.ly
Run scripts/auxiliar/update-with-convert-ly.sh
[lilypond.git] / input / regression / scheme-text-spanner.ly
index c0204d55c71865f3c35ae69d28387916725b9adf..a83bec87aa74c642c8e21e115aefeb1307ee4667 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.15.31"
+\version "2.16.0"
 
 \header {
   texidoc = "Use @code{define-event-class}, scheme engraver methods,
@@ -6,11 +6,27 @@ and grob creation methods to create a fully functional text spanner
 in scheme."
 }
 
-#(define-event-class 'scheme-text-span-event
-   '(scheme-text-span-event
-     span-event
-     music-event
-     StreamEvent))
+#(define my-grob-descriptions '())
+
+#(define my-event-classes (ly:make-context-mod))
+
+defineEventClass =
+#(define-void-function (parser location class parent)
+   (symbol? symbol?)
+   (ly:add-context-mod
+    my-event-classes
+    `(apply
+      ,(lambda (context class parent)
+        (ly:context-set-property!
+         context
+         'EventClasses
+         (event-class-cons
+          class
+          parent
+          (ly:context-property context 'EventClasses '()))))
+      ,class ,parent)))
+
+\defineEventClass #'scheme-text-span-event #'span-event
 
 #(define (add-grob-definition grob-name grob-entry)
    (let* ((meta-entry   (assoc-get 'meta grob-entry))
@@ -33,9 +49,9 @@ in scheme."
      (set! meta-entry (assoc-set! meta-entry 'interfaces
                                   ifaces-entry))
      (set! grob-entry (assoc-set! grob-entry 'meta meta-entry))
-     (set! all-grob-descriptions
+     (set! my-grob-descriptions
            (cons (cons grob-name grob-entry)
-                 all-grob-descriptions))))
+                 my-grob-descriptions))))
 
 #(add-grob-definition
   'SchemeTextSpanner
@@ -181,7 +197,8 @@ schemeTextSpannerEnd =
 \layout {
   \context {
     \Global
-    \grobdescriptions #all-grob-descriptions
+    \grobdescriptions #my-grob-descriptions
+    #my-event-classes
   }
   \context {
     \Voice