]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-event-classes.scm
*** empty log message ***
[lilypond.git] / scm / define-event-classes.scm
index c7f28846dde79b59e3e29eb0f6cef005c8145751..808fcf716c00c7d21d355a97ea664040655adcbc 100644 (file)
     (music-event . (arpeggio-event breathing-event extender-event span-event
       rhythmic-event dynamic-event break-event percent-event
       key-change-event string-number-event tie-event part-combine-event
-      metronome-change-event beam-forbid-event script-event
+      beam-forbid-event script-event
       tremolo-event bend-after-event fingering-event glissando-event
       harmonic-event hyphen-event laissez-vibrer-event mark-event
       multi-measure-text-event note-grouping-event
       pes-or-flexa-event repeat-tie-event spacing-section-event
       layout-instruction-event))
+    (layout-instruction-event . (apply-output-event))
     (script-event . (articulation-event text-script-event))
-    (part-combine-event . (solo1-event solo2-event unisono-event))
+    (part-combine-event . (solo-one-event solo-two-event unisono-event))
     (break-event . (line-break-event page-break-event page-turn-event))
     (dynamic-event . (absolute-dynamic-event))
     (span-event . (span-dynamic-event beam-event ligature-event
@@ -41,7 +42,7 @@
     ))
 
 ;; Maps event-class to a list of ancestors (inclusive)
-(define ancestor-lookup (make-hash-table))
+(define ancestor-lookup (make-hash-table 11))
 
 ;; Each class will be defined as
 ;; (class parent grandparent .. )
 (define-public (ly:make-event-class leaf)
  (hashq-ref ancestor-lookup leaf))
 
+(define-public (ly:in-event-class? ev cl)
+  "Does event @var{ev} belong to event class @var{cl}?"
+  (memq cl (ly:make-event-class (ly:event-property ev 'class))))
+
 ;; does this exist in guile already?
 (define (map-tree f t)
   (cond
@@ -79,7 +84,7 @@
 ;; directly. Avoids printing a warning.
 (define unlistened-music-event-classes
   '(harmonic-event line-break-event page-break-event page-turn-event
-                  solo1-event solo2-event skip-event unisono-event))
+                  solo-one-event solo-two-event skip-event unisono-event))
 
 ;; produce neater representation of music event tree.
 ;; TODO: switch to this representation for the event-classes list?
    ((pair? e) (cons (simplify (car e))
                    (simplify (cdr e))))
    ((ly:stream-event? e)
-    (list 'unquote `(make-stream-event ,(simplify (Stream_event::dump e)))))
+    (list 'unquote (list 'make-stream-event (simplify (Stream_event::dump e)))))
    ((ly:music? e)
     (list 'unquote (music->make-music e)))
    ((ly:moment? e)