]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/music-types.scm
* lily/musical-request.cc (music-duration-length,
[lilypond.git] / scm / music-types.scm
index c96ea36fddc739defcf80abf5b4149dc766600de..9c878669942979638d6f03ff98a24e7dceb1b72d 100644 (file)
@@ -1,6 +1,12 @@
 
 (define-public music-descriptions
   `(
+    (AbortEvent
+     . (
+       (internal-class-name . "Span_req")
+       (span-type . "abort")
+       (types . (general-music event abort-event))
+       ))
     (ArpeggioEvent 
      . (
        (internal-class-name .  "Arpeggio_req")
     (BassFigureEvent
      . (
        (internal-class-name . "Bass_figure_req")
+       (compress-procedure . ,music-duration-compress)
+       (length . ,music-duration-length) 
        (types . (general-music event rhythmic-event bass-figure-event))
-       ))  
+       ))
     (BreakEvent
      . (
        (internal-class-name . "Break_req")
      . (
        (internal-class-name . "Lyric_req")
        (types . (general-music rhythmic-event event))
-       )) 
+       ))
+    (LigatureEvent
+     . (
+       (internal-class-name . "Span_req")
+       (span-type . ligature)
+       (types . (general-music event span-event ligature-event))
+       ))
     (MarkEvent
      . (
        (internal-class-name . "Mark_req")
        ))
     (NoteEvent
      . (
-       (internal-class-name . "Note_req")
-       (types . (general-music event rhythmic-event melodic-event))
+       (internal-class-name . "Request")
+       (length . ,music-duration-length) 
+       (compress-procedure . ,music-duration-compress)
+       (types . (general-music event note-event rhythmic-event melodic-event))
        ))
     (PorrectusEvent
      . (
        )) 
     (RestEvent
      . (
-       (internal-class-name . "Rest_req")
-       (types . (general-music event rhythmic-event ))
+       (internal-class-name . "Request")
+       (length . ,music-duration-length)
+       (compress-procedure . ,music-duration-compress)
+       (types . (general-music event rhythmic-event rest-event))
        )) 
     (RhythmicEvent
      . (
        (internal-class-name . "Rhythmic_req")
+       (length . ,music-duration-length) 
+       (compress-procedure . ,music-duration-compress)
        (types . (general-music rhythmic-event  event))
        )) 
     (SequentialMusic
         (types . (general-music layout-instruction))
         (iterator-ctor . ,     Push_property_iterator::constructor)
         ))
-
      (RevertProperty
       . (
         (internal-class-name . "Music")
        (iterator-ctor . , Change_iterator::constructor)
        (types . (general-music translator-change-instruction))
        ))
-
     (TimeScaledMusic
      . (
        (internal-class-name . "Time_scaled_music")
        )) 
     (SkipEvent
      . (
-       (internal-class-name . "Skip_req")
-
-       (types . (general-music event rhythmic-event ))
+       (internal-class-name . "Request")
+       (types . (general-music event rhythmic-event skip-event))
        )) 
     (SpanEvent
      . (
        )) 
     (TieEvent
      . (
-       (internal-class-name . "Tie_req")
+       (internal-class-name . "Request")
        (types . (general-music tie-event event))
        ))
     ))
 
 
 
-(define music-name-to-property-table (make-vector 59))
+(define music-name-to-property-table (make-vector 59 '()))
+
 (map (lambda (x)
-       (hashq-set! music-name-to-property-table (car x) (cdr x))
+       (hashq-set! music-name-to-property-table (car x)
+                  (assoc-set! (cdr x) 'name (car x)))
        )
      music-descriptions)
 
+
+
 (define-public (make-music-by-name x)
   (if (not (symbol? x))
       (misc-error "Not a symbol: ~s" x))
   (let*
       (
        (props (hashq-ref music-name-to-property-table x '()))
-       (name (if (pair? props) (cdr (assoc 'internal-class-name props)) "Music"))
+       (name (if (pair? props)
+                (cdr (assoc 'internal-class-name props))
+                (misc-error "Can not find music object ~s" x)))
        )
-,
+
     (if (eq? props '())
        (ly-warn (format "Could not find music type `~a'" x)))  
     (ly-make-bare-music name props)
   ))
+