]> git.donarmstrong.com Git - lilypond.git/commitdiff
Defines some undefined grob properties, grob objects, and music properties.
authorMike Solomon <mike@apollinemike.com>
Thu, 24 Nov 2011 09:30:44 +0000 (10:30 +0100)
committerDavid Kastrup <dak@gnu.org>
Thu, 24 Nov 2011 10:33:26 +0000 (11:33 +0100)
Undefined properties as well as properties without interfaces may
cause memory leaks in LilyPond.  While this issue has to be investigated
further, defining these properties makes the code easier to read and may
lead to less memory leaks, which may in turn speed up batch processing
of .ly files (like the regtests).

lily/dot-column.cc
lily/grob.cc
lily/semi-tie-column.cc
lily/stem.cc
lily/tie-column.cc
scm/define-grob-properties.scm
scm/define-music-properties.scm

index 320f0e4051100a66dfc8f62a067fa9616252523b..c0c2986b0888757cd269e91635e6ea5da511a546 100644 (file)
@@ -230,5 +230,6 @@ ADD_INTERFACE (Dot_column,
                "dots "
                "positioning-done "
                "direction "
+               "note-collision "
               );
 
index 13dd9c7b393c0c7a5e6a009accb5d30d2a1e06da..567bd0015f4309d8c77f75933347b7d082d11d05 100644 (file)
@@ -786,6 +786,7 @@ ADD_INTERFACE (Grob,
                "extra-X-extent "
                "extra-Y-extent "
                "extra-offset "
+               "forced-spacing "
                "interfaces "
                "layer "
                "meta "
index c2910d5cd1b8772f127258dea214d338711fc979..b1008bb934d628c2660a7fdda09f094d8fd1374f 100644 (file)
@@ -37,6 +37,7 @@ ADD_INTERFACE (Semi_tie_column,
                "positioning-done "
                "head-direction "
                "tie-configuration "
+               "ties "
               );
 
 /*
index c217d0de15b4a53d9ab40f4af38e8a4b24030e65..7ef1b938426113110d16ce92fa07c94de5a4a1dd 100644 (file)
@@ -1095,6 +1095,7 @@ ADD_INTERFACE (Stem,
                "length "
                "length-fraction "
                "max-beam-connect "
+               "melody-spanner "
                "neutral-direction "
                "no-stem-extend "
                "note-heads "
index c73694d334e2f581f66727a1cfd012a26dac5033..3f0957d1cd86929c43b3fee1bfe3b5fcf67fd0d4 100644 (file)
@@ -122,5 +122,6 @@ ADD_INTERFACE (Tie_column,
                /* properties */
                "positioning-done "
                "tie-configuration "
+               "ties "
               );
 
index e71848e422130ac09f4fd825682d4aef1bd7773e..0c6527af21f2c289b02e6819fe178aabd55ec148 100644 (file)
@@ -303,6 +303,8 @@ larger.  Fractional values are allowed.")
      (force-hshift ,number? "This specifies a manual shift for notes
 in collisions.  The unit is the note head width of the first voice
 note.  This is used by @rinternals{note-collision-interface}.")
+     (forced-spacing ,number? "Spacing forced between grobs, used in
+various ligature engravers.")
      (fraction ,fraction? "Numerator and denominator of a time
 signature object.")
      (french-beaming ,boolean? "Use French beaming style for this
@@ -1057,6 +1059,8 @@ empty in a particular staff, then that staff is erased.")
      (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish
 for this column.")
 
+     (melody-spanner ,ly:grob? "The @code{MelodyItem} object for a stem.")
+
      (normal-stems ,ly:grob-array? "An array of visible stems.")
      (note-columns ,ly:grob-array? "An array of @code{NoteColumn} grobs.")
      (note-head ,ly:grob? "A single note head.")
@@ -1099,6 +1103,7 @@ results, use @code{LEFT} and @code{RIGHT}.")
      (stems ,ly:grob-array? "An array of stem objects.")
 
      (tie ,ly:grob? "A pointer to a @code{Tie} object.")
+     (ties ,ly:grob-array? "A grob array of @code{Tie} objects.")
      (tremolo-flag ,ly:grob? "The tremolo object on a stem.")
      (tuplet-number ,ly:grob? "The number for a bracket.")
      (tuplets ,ly:grob-array? "An array of smaller tuplet brackets.")
@@ -1143,6 +1148,9 @@ entries @code{name} and @code{interfaces}.")
      (minimum-distances ,list? "A list of rods that have the format
 @code{(@var{obj} . @var{dist})}.")
 
+     (note-collision ,ly:grob? "The @code{NoteCollision} object of a
+dot column.")
+
      (positioning-done ,boolean? "Used to signal that a positioning element
 did its job.  This ensures that a positioning is only done once.")
      (pure-Y-extent ,number-pair? "The estimated height of a system.")
index a6b910c7db6c60527c3ffeaef8bff2792696f211..8911239473dd3cbf7977843d5bf87d4a6cf726df 100644 (file)
@@ -60,8 +60,10 @@ TODO: Use SpanEvents?")
 cautionary accidental.")
      (change-to-id ,string? "Name of the context to change to.")
      (change-to-type ,symbol? "Type of the context to change to.")
+     (class ,symbol? "The class name of an event class.")
      (compress-procedure ,procedure? "Compress this music expression.
 Arg@tie{}1: the music, arg@tie{}2: factor.")
+     (context ,ly:context? "The context to which an event is sent.")
      (context-id ,string? "Name of context.")
      (context-type ,symbol?  "Type of context.")
      (create-new ,boolean? "Create a fresh context.")
@@ -84,6 +86,7 @@ simultaneous music, or the alternatives of repeated music.")
 a sequential iterator.  Takes a single music parameter.")
      (error-found ,boolean?
                  "If true, a parsing error was found in this expression.")
+     (events ,list? "A list of events contained in this event.")
 
      (figure ,integer? "A bass figure.")
      (footnote-text ,markup? "Text to appear in a footnote.")
@@ -96,6 +99,7 @@ always be printed on this note.")
 property, e.g., @code{(beamed-lengths details)}.")
      (grob-value ,scheme? "The value of the grob property to set.")
 
+     (id ,symbol? "The ID of an event.")
      (input-tag ,scheme? "Arbitrary marker to relate input and output.")
      (inversion ,boolean? "If set, this chord note is inverted.")
      (iterator-ctor ,procedure? "Function to construct a
@@ -111,6 +115,9 @@ This property can only be defined as initializer in
 whether to allow, forbid or force a line break.")
 
      (metronome-count ,number-or-pair? "How many beats in a minute?")
+     (moment ,ly:moment? "The moment at which an event happens.")
+     (music-cause ,ly:music? "The music object that is the cause of
+an event.")
 
      (name ,symbol? "Name of this music object.")
      (no-continuation ,boolean? "If set, disallow continuation lines.")
@@ -119,6 +126,8 @@ whether to allow, forbid or force a line break.")
      (octavation ,integer? "This pitch was octavated by how many octaves?
 For chord inversions, this is negative.")
      (once ,boolean? "Apply this operation only during one time step?")
+     (ops ,scheme? "The operations to apply during the creation of a
+context.")
      (origin ,ly:input-location? "Where was this piece of music defined?")
      (original-chord ,ly:music? "Original chord of a repeated chord.
 Used by repeated chords in \\relative mode, to determine the first note octave")
@@ -146,6 +155,7 @@ on some grob property.")
 It must take a single argument, being the context.")
      (property-operations ,list? "Do these operations for instantiating
 the context.")
+     (property-path ,symbol? "The path of a property.")
 
      (quoted-context-id ,string? "The ID of the context to direct quotes to,
 e.g., @code{cue}.")