]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.9 release/1.3.9
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Dec 1999 11:55:55 +0000 (12:55 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Dec 1999 11:55:55 +0000 (12:55 +0100)
28 files changed:
CHANGES
Documentation/topdocs/index.tely
Documentation/user/properties.itely
TODO
VERSION
lily/dimension-cache.cc
lily/dynamic-engraver.cc
lily/grace-align-item.cc
lily/include/dimension-cache.hh
lily/include/grace-align-item.hh
lily/include/local-key-item.hh
lily/include/score-element.hh
lily/include/staff-sym-engraver.hh
lily/include/staff-symbol-referencer.hh
lily/local-key-item.cc
lily/lookup.cc
lily/note-head-side.cc
lily/score-element.cc
lily/script-engraver.cc
lily/script.cc
lily/staff-side.cc
lily/staff-sym-engraver.cc
lily/staff-symbol-referencer.cc
lily/time-signature-engraver.cc
ly/params.ly
make/out/lilypond.lsm
make/out/lilypond.spec
scm/generic-property.scm

diff --git a/CHANGES b/CHANGES
index 37b136440f3b0e5d50a23b00a5aba1b2e9275529..dcf9175885615a8a0defb5ce51bc520dedaaf5e0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,11 @@
+pl 8.hwn2
+       - staff-support for Crescendi.
+       - padding for accidentals.
+       - cascading offset callbacks
+
 pl 8.hwn1
        - note-head-side 
-       - 
+       - naming Staff_sidify -> Side_position_interface
 
 
 
index dc1e42e5ffcc2d5bc630d93ea9d1052168365f05..4f137441ae553d5c3205154a11a9311f9ec758c8 100644 (file)
@@ -64,17 +64,6 @@ project.  The webpages for the stable version reside at GNU.
 has the development pages.
 @end itemize
 
-@ignore
-@unnumberedsec NEWS
-    
-
-This is what the latest version brings:
-@example 
-
-top_of_NEWS
-@end example 
-@end ignore
 
 @unnumberedsec Download
 
@@ -92,7 +81,6 @@ binary RPMs:  @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/}
 @item Debian binary @uref{ftp://ftp.debian.org/pub/debian/dists/unstable/main/binary-i386/tex} 
 @item Windows NT:  @uref{http://home.austin.rr.com/jbr/jeff/lilypond/} 
 @item i386 RPM: @uref{http://linux.umbc.edu/software/lilypond/rpms/} 
-@item i386 RPM: @uref{ftp://ftp.freshmeat.net/pub/rpms/lilypond/} 
 @item Windows NT: @uref{http://home.austin.rr.com/jbr/jeff/lilypond/}
 @end itemize
 
index f5ead31c6cbde6ef79972d06998017ace1e39e14..76f89acb850a259bc31bec029c90b720ab421774 100644 (file)
@@ -1,9 +1,16 @@
 @node Properties, , , Reference Manual
 
+Properties are Scheme values, so they have a type.  The type of a
+property is listed in parentheses after the property name.
+
+@macro propertytype{t}
+ (/t/)
+@end macro
+
 @cindex properties!Lyrics
 
 @table @samp
-  @item @code{textStyle}@indexcode{textStyle}  
+  @item @code{textStyle}@indexcode{textStyle} @propertytype{string}
     Set the font for lyrics.  The available font choices are
     @code{roman}, @code{italic}, @code{bold}, @code{large}, @code{Large},
     @code{typewriter}, and @code{finger}.  The @code{finger} font can
@@ -18,7 +25,7 @@
 @cindex properties!Thread
 
 @table @samp
-  @item @code{noteheadStyle}@indexcode{noteheadStyle}  
+  @item @code{noteheadStyle}@indexcode{noteheadStyle} @propertytype{string}
     Selects type of note head.  Choices are @code{cross},
     @code{diamond}, @code{harmonic}, @code{transparent}, and @code{""}. 
     They are shown in that order below.
@@ -53,7 +60,7 @@
 
  
 @table @samp  
-  @item @code{stemStyle}@indexcode{stemStyle}  
+  @item @code{stemStyle}@indexcode{stemStyle} @propertytype{string}
     By default set to @code{"grace"} meaning that all unbeamed 
     notes with flags are typeset with a slash through the flag. 
     Setting to @code{""} gives standard flags.
 @cindex properties!Voice
 
 @table @samp  
-  @item @code{abbrev}@indexcode{abbrev}  
+  @item @code{abbrev}@indexcode{abbrev} @propertytype{integer}
     Set length for tremolo to be used if no length is explicitly
     specified. 
 
   @item @code{articulationScriptPadding}@indexcode{articulationScriptPadding}
-     
     Determines the extra space added between articulation marks, such
     as staccato, tenuto, trill, up/down bow or fermata, and the
     closest staff line or note.
 
-  @item @code{articulationScriptVerticalDirection}
+  @item @code{articulationScriptVerticalDirection} @propertytype{direction}
     @indexcode{articulationScriptVerticalDirection}  
     Determines the location of articulation marks.  Set to @code{\up}
     to print marks above the staff; set to @code{\down} to print marks
@@ -93,7 +99,7 @@
     Specifies when automatically generated beams can start.  See
     section XREF-autobeam [FIXME].
 
-  @item @code{beamquantisation}@indexcode{beamquantisation}  
+  @item @code{beamQuantisation}@indexcode{beamQuantisation} @propertytype{symbol}
     Set to @code{\none} for no quantization.  Set to @code{\normal} to
     quantize position and slope.  Set to @code{\traditional} to avoid
     wedges.  These three settings are available via
     @code{\beamposnormal}@keyindex{beamposnormal}, and
     @code{\beampostraditional}@keyindex{beampostraditional}.
 
-  @item @code{beamslopedamping}@indexcode{beamslopedamping}  
+  @item @code{beamSlopeDamping}@indexcode{beamSlopeDamping} @propertytype{number}
     Set to @code{\none} for undamped beams.  Set to @code{\normal} for
     damped beams.  Set to @code{\infinity} for beams with zero slope. 
     The identifiers
     @code{\beamslopezero}@keyindex{beamslopezero} each set the
     corresponding value.
 
-  @item @code{dynamicDirection}@indexcode{dynamicDirection}  
+  @item @code{dynamicDirection}@indexcode{dynamicDirection} @propertytype{direction}
     Determines location of dynamic marks.  Set to @code{\up} to print
     marks above the staff; set to @code{\down} to print marks below
     the staff.
 
-  @item @code{dynamicStyle}@indexcode{dynamicStyle}  
+  @item @code{dynamicStyle}@indexcode{dynamicStyle} @propertytype{string}
     Set the text style for dynamics.  
 
-  @item @code{fontSize}@indexcode{fontSize}  
+  @item @code{fontSize}@indexcode{fontSize} @propertytype{number}
     Can be used to select smaller font sizes for music.  The normal
     font size is 0, and the two smaller sizes are -1
     and -2.
@@ -201,41 +207,36 @@ the note.
     Determines the extra space added between the mark and the closest
     staff line or note.
 
-  @item @code{markDirection}@indexcode{markDirection}  
+  @item @code{markDirection}@indexcode{markDirection} @propertytype{direction}
     Determines if marks should be printed above or below the staff.
     Set to @code{\up} to print marks above the staff; set to
     @code{\down} to print marks below the staff.
 
-  @item @code{midiInstrument}@indexcode{midiInstrument}  
+  @item @code{midiInstrument}@indexcode{midiInstrument} @propertytype{string}
     Sets the instrument for MIDI output.  If this property is not set
     then LilyPond will use the @code{instrument} property.  This must
     be set to one of the strings on the list of MIDI instruments that
     appears in section XREF-midilist [FIXME].  If you use a string which
     is not listed, LilyPond will silently substitute piano.
 
-  @item @code{oldTieBehavior}@indexcode{oldTieBehavior}  
-    Set to 1 in order to get old tie behavior where ties would
-    connect unequal pitches.  This property is deprecated, and its
-    use is not recommended.
-
-  @item @code{restStyle}@indexcode{restStyle}  
+  @item @code{restStyle}@indexcode{restStyle} @propertytype{string}
     Change the layout of rests shorter than quarter notes. 
     Currently, the standard layout @code{""} and mensural notation
     @code{"mensural"} are available. Mensural rests of duration
     32 or shorter are not available.
     
-  @item @code{scriptHorizontal}@indexcode{scriptHorizontal}  
+  @item @code{scriptHorizontal}@indexcode{scriptHorizontal} @propertytype{boolean}
     Put scripts left or right of note heads.  Support for this is
     limited.  Accidentals will collide with scripts.
     
-  @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection}  
+  @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection} @propertytype{direction}
     Set to @code{\free} for free choice of slur direction, set to
     @code{\up} to force slurs up, set to @code{\down} to force slurs
     down.  The shorthands @code{\slurup}@keyindex{slurup},
     @code{\slurdown}@keyindex{slurdown}, and
     @code{\slurboth}@keyindex{slurboth} are available.
 
-  @item @code{slurDash}@indexcode{slurDash}  
+  @item @code{slurDash}@indexcode{slurDash} @propertytype{number}
     Set to 0 for normal slurs, 1 for dotted slurs, and a
     larger value for dashed slurs.  Identifiers
     @code{\slurnormal}@keyindex{slurnormal} and
@@ -246,30 +247,29 @@ the note.
     Set length of stems.  Unit is `@code{interline}/2', so
     @code{stemLength} defaults to 7.
 
-  @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount}  
+  @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount} @propertytype{integer}
     Specify the number of beams to draw on the left side of the next
     note.  Overrides automatic beaming.  The value is only used once,
     and then it is erased.
 
-  @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount}  
+  @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount} @propertytype{integer}
     Specify the number of beams to draw on the right side of the next
     note.  Overrides automatic beaming.  The value is only used once,
     and then it is erased.
-  @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection}  
+  @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection} @propertytype{direction}
     Set to @code{\free} for free choice of tie direction, set to
     @code{\up} to force ties up, set to @code{\down} to force ties
     down.
 
-  @item @code{transposing}@indexcode{transposing}  
+  @item @code{transposing}@indexcode{transposing} @propertytype{integer}
     Transpose the MIDI output.  Set this property to the number of
     half-steps to transpose by.
 
-  
-  @item @code{textEmptyDimension}@indexcode{textEmptyDimension}  
+  @item @code{textEmptyDimension}@indexcode{textEmptyDimension} @propertytype{boolean}
     If set to 1 then text placed above or below the staff is
     assumed to have zero width.
   
-  @item @code{textStyle}@indexcode{textStyle}  
+  @item @code{textStyle}@indexcode{textStyle} @propertytype{string}
     Set the text style for superscripts and subscripts.  See above
     for list of text styles.
 
@@ -277,7 +277,7 @@ the note.
     Determines the extra space added between superscripted resp.
     subscripted text and the closest staff line or note.
 
-  @item @code{verticalDirection}@indexcode{verticalDirection}  
+  @item @code{verticalDirection}@indexcode{verticalDirection} @propertytype{direction}
     Determines the direction of stems, subscripts, beams, slurs, and
     ties.  Set to @code{\down} to force them down, @code{\up} to force
     them up, or @code{\free} to let LilyPond decide.  This can be used
@@ -287,12 +287,12 @@ the note.
     property.
     
 
-  @item @code{tupletDirection}@indexcode{tupletDirection}  
+  @item @code{tupletDirection}@indexcode{tupletDirection} @propertytype{direction}
     Determines the direction of triplets and other tuplets.  Set to
     @code{\down} to force them below the staff, @code{\up} to force
     them above, or @code{\free} to let LilyPond decide.
 
-  @item @code{tupletVisibility}@indexcode{tupletVisibility}  
+  @item @code{tupletVisibility}@indexcode{tupletVisibility}  (number) [FIXME]
     Determines whether tuplets of notes are labelled.  Setting
     to 0 shows nothing; setting to 1 shows a number;
     setting to 2 shows a number and a bracket if there is no
@@ -308,22 +308,17 @@ the note.
 
 @table @samp
  
-  @item @code{barNonAuto}@indexcode{barNonAuto}  
+  @item @code{barNonAuto}@indexcode{barNonAuto} @propertytype{boolean}
     If set to 1 then bar lines will not be printed
     automatically; they must be explicitly created with @code{\bar}
     keywords.  Unlike with the @code{\cadenza} keyword, measures are
     still counted.  Bar generation will resume according to that
     count if this property is set to zero.
 
-  @item @code{barNumberDirection}@indexcode{barNumberDirection}  
+  @item @code{barNumberDirection}@indexcode{barNumberDirection} @propertytype{direction}
     Set to @code{\up} or @code{\down} to put bar numbers above or below
     the staff.
 
-  @item @code{barNumberHangOnClef}@indexcode{barNumberHangOnClef}  
-    Set to 1 to cause bar numbers to appear above or below the
-    clef instead of on the bar line.  This property is deprecated. 
-    Do not use.
-
   @item @code{barNumberScriptPadding}@indexcode{barNumberScriptPadding}  
     Sets extra space between the bar number and the bar it labels.
 
@@ -331,45 +326,41 @@ the note.
     Specify the height of the bar lines if it should be different
     than the staff height.
 
-  @item @code{barAtLineStart}@indexcode{barAtLineStart}  
+  @item @code{barAtLineStart}@indexcode{barAtLineStart} @propertytype{boolean}
     Set to 1 to produce a bar line after the clef at the start
     of each line (but not at the beginning of the music).
 
-  @item @code{clefStyle}@indexcode{clefStyle}  
+  @item @code{clefStyle}@indexcode{clefStyle} @propertytype{string}
     Determines how clefs are typeset.  If set to @code{transparent},
     the clefs are not printed at all, if set to
     @code{fullSizeChanges}, clef changes in the middle of a line are
     typeset with a full size clef.  By default, clef changes are
     typeset in smaller size.
 
-  @item @code{createKeyOnClefChange}@indexcode{createKeyOnClefChange}  
+  @item @code{createKeyOnClefChange}@indexcode{createKeyOnClefChange} @propertytype{boolean}
     Set to a nonempty string if you want key signatures to be printed
     when the clef changes.  Set to the empty string if you do not
     want key signatures printed.
 
-  @item @code{createInitdefaultClef}@indexcode{createInitdefaultClef}  
-    Specify whether clefs are created on default?  (Doesn't seem to
-    do anything.)
+  @item @code{createInitdefaultClef}@indexcode{createInitdefaultClef} @propertytype{boolean}
+    Specify whether clefs are created on default? @propertytype{Doesn't seem to
+    do anything.}
 
-  @item @code{defaultClef}@indexcode{defaultClef}  
+  @item @code{defaultClef}@indexcode{defaultClef} @propertytype{string}
     Determines the default clef.  See @code{\clef} keyword.
 
-  @item @code{markHangOnClef}@indexcode{markHangOnClef}  
-    Set to 1 to cause marks to appear by clefs instead of by bar
-    lines.  Deprecated, use is not recommended.
-
-  @item @code{marginDirection}@indexcode{marginDirection}  
+  @item @code{marginDirection}@indexcode{marginDirection} @propertytype{direction}
     Set to @code{\left} or @code{\right} to specify location of
     marginal scripts.
 
   @item @code{marginScriptPadding}@indexcode{marginScriptPadding}  
     Specify extra space for marginal scripts.
 
-  @item @code{forgetAccidentals}@indexcode{forgetAccidentals}  
+  @item @code{forgetAccidentals}@indexcode{forgetAccidentals} @propertytype{boolean}
     Causes accidentals to be printed at every note instead of
     remembered for the duration of a measure.
 
-  @item @code{noResetKey}@indexcode{noResetKey}  
+  @item @code{noResetKey}@indexcode{noResetKey} @propertytype{boolean}
     Do not reset the key at the start of a measure.  Accidentals will
     be printed only once and are in effect until overridden, possibly
     many measures later.
@@ -377,24 +368,22 @@ the note.
   @item @code{staffLineLeading}@indexcode{staffLineLeading}  
     Specifies the distance (in points) between lines of the staff.
 
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines}  
+  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines} @propertytype{integer}
     Specifies the number of staff lines.  The default is 5.
 
   @item @code{postBreakPadding}@indexcode{postBreakPadding}  
     Extra space in points to be added after the clef, time signature
     and key signature on the staff.  Deprecated, do not use.
 
-  @item @code{noVoltaBraces}@indexcode{noVoltaBraces}  
+  @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @propertytype{boolean}
     Set to true to suppress the printing of brackets over alternate
     endings specified by the command @code{\alternative}.
 
-  @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines}  
-    Sets the number of lines that the staff has.
  
-  @item @code{barAlways}@indexcode{barAlways}  
+  @item @code{barAlways}@indexcode{barAlways} @propertytype{boolean}
     If set to 1 a bar line is drawn after each note.
 
-  @item @code{defaultBarType}@indexcode{defaultBarType}  
+  @item @code{defaultBarType}@indexcode{defaultBarType} @propertytype{string}
     Sets the default type of bar line. See Section XREF-barlines [FIXME] 
     for a list of available bar types.
 
@@ -409,7 +398,7 @@ the note.
     @code{midiInstrument} property is not set, then @code{instrument}
     is used to determine the instrument for MIDI output.
 
-  @item @code{keyOctaviation}@indexcode{keyOctaviation}  
+  @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean}
     If set to 1, then keys are the same in all octaves.  If set
     to 0 then the key signature for different octaves can be
     different and is specified independently:
@@ -421,7 +410,7 @@ the note.
     The default value is 1.  Can be set to zero with
     @code{\specialkey} or reset to 1 with @code{\normalkey}.
 
-  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle}  
+  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{string}
     Changes the default two-digit layout for time signatures.  The
     following values are recognized:
 
@@ -485,7 +474,7 @@ the note.
     
 @end mudela
 
-  @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration}  
+  @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration} @propertytype{moment}
     Set to an integer to control the size of the brackets printed by
     @code{\alternative}.  The integer specifies the number of whole
     notes duration to use for the brackets.  It is rounded to the
@@ -515,7 +504,7 @@ the note.
 @cindex properties!Score
 
 @table @samp
-  @item @code{skipBars}@indexcode{skipBars}  
+  @item @code{skipBars}@indexcode{skipBars} @propertytype{boolean}
     Set to 1 to skip the empty bars that are produced by
     multimeasure notes and rests.  These bars will not appear on the
     printed output.  Set to zero (the default) to expand multimeasure
@@ -537,7 +526,7 @@ r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3
 @cindex properties!ChordNamesVoice
 
 @table @samp
-  @item @code{chordInversion}@indexcode{chordInversion}  
+  @item @code{chordInversion}@indexcode{chordInversion} @propertytype{boolean}
     Determines whether LilyPond should look for chord inversions when
     translating from notes to chord names.  Set to 1 to find
     inversions.  The default is 0 which does not look for
diff --git a/TODO b/TODO
index a3a4e28c8240c04cb4f6818b3c9633057056f7df..48be8ed92c40cafe3ba2b4e9b4ea069641fa8cba 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,9 +9,11 @@ Most of the items are marked in the code as well
 Grep -i for TODO, FIXME and ugh/ugr/urg.  
 
 .* TODO
-. * agressive type-checking for SCM stuff. 
+. * use hash tabs iso. alist_ for elt property?
+. * agressive type-checking for SCM stuff.
+
 . * TODO^2:
-.   *make  a TODO.texi, like http://www.gnu.org/software/guile/ideas.html
+.  make  a TODO.texi, like http://www.gnu.org/software/guile/ideas.html
 .  * make this file understandable for 3rd parties.
 . * \accepts -> \acceptedby 
 . * context in embedded SCM errors.
@@ -34,7 +36,6 @@ it's some sort of a numerical (truncation/roundoff) problem.
 John
 . * fix #'margin-shape;  setting indent to 0 with \shape fails
 . * Fixed size staff/system heights;
-. * 
 . * ly2dvi : don't repeat opus if same. 
 . * hara kiri _8 clef. 
 . * junk -M ? 
@@ -443,13 +444,8 @@ hesitate to ask.
 .  * account for rhythmic position in measure
 .  * etc.
 
-. * Output class, handles : (smallish)
-.  * help text /(c) notice?
-.  * version line
-.  * warning /errors/progress
-.  * abort on error/warning; exit status
-.  * quiet/ignore-version options
-.  * logfile output
+
+. * logfile output?
 
 . * PS 
 .  * speed up PS code.
diff --git a/VERSION b/VERSION
index 0430cf942d1de9e1e36fb2118bee79fcd9900a12..9c66264a28428ff52db8a955a0d08a6484521b9e 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=8
-MY_PATCH_LEVEL=uu1
+PATCH_LEVEL=9
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 5899d4474a6afb7ee89c80023f5272b75dfbf7ad..b7cf04207ab51be2a3d77eaf46161421b7608f9a 100644 (file)
@@ -18,7 +18,7 @@ Dimension_cache::Dimension_cache (Dimension_cache const &d)
   basic_offset_ = d.basic_offset_;
   extra_offset_ = d.extra_offset_;
   off_valid_b_ = d.off_valid_b_;
-  off_callback_l_ = d.off_callback_l_;
+  off_callbacks_ = d.off_callbacks_;
 }
 
 Dimension_cache::Dimension_cache ()
@@ -40,7 +40,6 @@ Dimension_cache::init()
   valid_b_ = false;
   empty_b_ = false;
   off_valid_b_ = false;
-  off_callback_l_ =0;
 }
 
 
@@ -62,13 +61,13 @@ Dimension_cache::set_offset (Real x)
     
    */
   
-  basic_offset_ = x;
+  extra_offset_ = x;
 }
 
 void
 Dimension_cache::translate (Real x)
 {
-  basic_offset_ += x;
+  extra_offset_ += x;
 }
 
 Real
@@ -100,11 +99,14 @@ Dimension_cache::axis () const
 Real
 Dimension_cache::get_offset () const
 {
-  if (!off_valid_b_ && off_callback_l_ )
+  if (!off_valid_b_)
     {
       Dimension_cache *d = (Dimension_cache*) this;
+
+      d->basic_offset_ =0.0;
       d->off_valid_b_ = true;
-      d->basic_offset_ = (*off_callback_l_) (d);
+      for (int i=0; i < off_callbacks_.size (); i++)
+       d->basic_offset_ += (*off_callbacks_[i]) (d);
     }
 
   return basic_offset_ + extra_offset_;
@@ -166,8 +168,4 @@ Dimension_cache::set_callback (Dim_cache_callback c)
   callback_l_ =c;
 }
 
-void
-Dimension_cache::set_offset_callback (Offset_cache_callback c)
-{
-  off_callback_l_ =c;
-}
+
index 408fde144e29bf9eeb674b211d578b8bc14160c4..d112945de175acaaaf6d153bb617dbce43db965b 100644 (file)
@@ -113,6 +113,8 @@ Dynamic_engraver::do_process_requests()
          text_p_->set_elt_property ("style", gh_str02scm ("dynamic"));
          text_p_->set_elt_property ("script-priority",
                                     gh_int2scm (100));
+         text_p_->set_elt_property ("staff-support", SCM_BOOL_T);
+         
          Side_position_interface (text_p_).set_axis (Y_AXIS);
 
          
@@ -134,7 +136,6 @@ Dynamic_engraver::do_process_requests()
          if (isdir_b (prop) && to_dir (prop))
            text_p_->set_elt_property ("direction", prop);
 
-
          prop = get_property ("dynamicPadding", 0);
          if (gh_number_p(prop))
            {
@@ -165,6 +166,8 @@ Dynamic_engraver::do_process_requests()
              assert (!new_cresc_p);
              new_cresc_p  = new Crescendo;
              new_cresc_p->grow_dir_ = (span_l->span_type_str_ == "crescendo")  ? BIGGER : SMALLER;
+             new_cresc_p->set_elt_property ("staff-support", SCM_BOOL_T);
+
 
              Side_position_interface (new_cresc_p).set_axis (Y_AXIS);
              announce_element (Score_element_info (new_cresc_p, span_l));
@@ -177,6 +180,8 @@ Dynamic_engraver::do_process_requests()
       if (cresc_p_)
        {
          ::warning (_ ("Too many crescendi here"));
+
+
          typeset_element (cresc_p_);
 
          cresc_p_ = 0;
@@ -223,7 +228,6 @@ Dynamic_engraver::typeset_all ()
   if (to_end_cresc_p_)
     {
       to_end_cresc_p_->set_bounds(RIGHT,get_staff_info().musical_pcol_l ());
-
       typeset_element (to_end_cresc_p_);
 
       to_end_cresc_p_ =0;
index 3ffb02c42df1a8f01180400222a9f2c3c36ada9c..ed1989cd9b817fde2c5187d134f3d6ab3307b810 100644 (file)
@@ -34,12 +34,7 @@ Grace_align_item::do_pre_processing ()
   translate_axis (-0.5* nhw, X_AXIS); // ugh.
 }
 
-void
-Grace_align_item::do_substitute_element_pointer (Score_element*o, Score_element*n)
-{
-  Axis_align_item::do_substitute_element_pointer (o,n);
-  Note_head_side::do_substitute_element_pointer( o,n);
-}
+
 void
 Grace_align_item::do_add_processing ()
 {
index e63ffc9ee2561f0e567cd3ea928a96ec7fc33b78..fc23932284e3b78a5d001024c8eb2ecb3c84231a 100644 (file)
@@ -46,7 +46,7 @@ class Dimension_cache
 
   void init ();
 public:
-  Offset_cache_callback off_callback_l_;
+  Array<Offset_cache_callback> off_callbacks_;
   
   Axis axis () const;
   Real get_offset () const;
index e12dbeead239251087f5e7a0860659350e7a4e45..9780c3f8187ff48bb169e4bc13b3ea1f8a6f764a 100644 (file)
@@ -20,7 +20,6 @@ public:
   Grace_align_item ();
 protected:
   virtual void do_add_processing ();
-  virtual void do_substitute_element_pointer (Score_element*,Score_element*);
   virtual void do_pre_processing ();
 };
 #endif /* GRACE_ALIGN_ITEM_HH */
index 96de7a8569427b5fb20bdfd198bbd08134dc9d24..e10468474a7fdfe281ff45a4ec2c56300d0b0c5f 100644 (file)
@@ -50,7 +50,6 @@ public:
   void add_pitch (Musical_pitch, bool cautionary, bool natural);
 protected:
   virtual void do_pre_processing();
-  virtual void do_substitute_element_pointer (Score_element*,Score_element*);
   virtual Molecule* do_brew_molecule_p() const;
 };
 #endif // LOCALKEYITEM_HH
index 79a3daca6c5da198e6d3ababd5a271cab2195d47..2f770ba431dd479eb3abd6fb9f86e9fa93437098 100644 (file)
@@ -101,7 +101,8 @@ public:
      #funcptr# is the function to call to update this element.
    */
   void calculate_dependencies (int final, int busy, Score_element_method_pointer funcptr);
-  static SCM handle_broken_smobs (SCM, Line_of_score*);
+
+  static SCM handle_broken_smobs (SCM, SCM criterion);
 
   virtual Score_element *find_broken_piece (Line_of_score*) const;
 protected:
index 3c016b07df97a9a869650d92a34c6a331464ebf0..18d2efceabdc8597f466eb1d1ed8d52f9aebacc5 100644 (file)
@@ -7,8 +7,8 @@
 */
 
 
-#ifndef STAFF_SYM_GRAV_HH
-#define STAFF_SYM_GRAV_HH
+#ifndef STAFF_SYMBOL_GRAV_HH
+#define STAFF_SYMBOL_GRAV_HH
 #include "engraver.hh"
 #include "moment.hh"
 
@@ -29,4 +29,4 @@ protected:
   virtual void do_creation_processing();
        
 };
-#endif // STAFF_SYM_GRAV_HH
+#endif // STAFF_SYMBOL_GRAV_HH
index 2dc8ae8c00d3ff5f1d3b75e4612888d29befe4aa..f90fe8c1e33cf9df15eb1c2425644ff7b2ce66a6 100644 (file)
@@ -1,5 +1,5 @@
 /*   
-  staff-sym-referencer.hh -- declare Staff_sym_referencer
+  staff-sym-referencer.hh -- declare staff_symbol_referencer
   
   source file of the GNU LilyPond music typesetter
   
@@ -7,8 +7,8 @@
   
  */
 
-#ifndef STAFF_SYM_REFERENCER_HH
-#define STAFF_SYM_REFERENCER_HH
+#ifndef STAFF_SYMBOL_REFERENCER_HH
+#define STAFF_SYMBOL_REFERENCER_HH
 
 #include "score-element.hh"
 
  */
 class Staff_symbol_referencer : public virtual Score_element
 {
-  int position_i_;
+  Real position_f_;
+  
 protected:
-  Staff_symbol * staff_sym_l_;
+  Staff_symbol * staff_symbol_l_;
 
 public:
   Staff_symbol_referencer ();
-  void set_position (int);
+  void set_position (Real);
   
   void set_staff_symbol (Staff_symbol*);
   /**
@@ -39,7 +40,8 @@ public:
   virtual void do_substitute_element_pointer (Score_element*,Score_element*);
   virtual void do_pre_processing ();
   virtual Real position_f () const;
+
 };
 
-#endif /* STAFF_SYM_REFERENCER_HH */
+#endif /* STAFF_SYMBOL_REFERENCER_HH */
 
index ec0d2a4c1bbd03566f5869e7a171dfd2953e1ab2..a8823c59c930f63d1d88f3b0856f8cb5d4e8ff13 100644 (file)
@@ -110,18 +110,26 @@ Local_key_item::do_brew_molecule_p() const
   
  if (accidental_arr_.size()) 
     {
-      Box b(Interval (0, 0.6 * note_distance), Interval (0,0));
-      Molecule m (lookup_l ()->fill (b));
-      output->add_at_edge (X_AXIS, RIGHT, m, 0);
+      Drul_array<SCM> pads;
+
+      /*
+       Use a cons?
+       */
+      pads[RIGHT] = get_elt_property ("right-padding");
+      pads[LEFT] = get_elt_property ("left-padding");
+
+      Direction d = LEFT;
+      do {
+       if (!gh_number_p (pads[d]))
+         continue;
+
+       Box b(Interval (0, gh_scm2double (pads[d]) * note_distance),
+             Interval (0,0));
+       Molecule m (lookup_l ()->fill (b));
+       output->add_at_edge (X_AXIS, d, m, 0);
+      } while ( flip (&d)!= LEFT);
     }
 
   return output;
 }
 
-void
-Local_key_item::do_substitute_element_pointer (Score_element *o, Score_element*n)
-{
-  Note_head_side::do_substitute_element_pointer (o,n);
-  Staff_symbol_referencer::do_substitute_element_pointer (o,n);
-  
-}
index 35bdc323a3883c39e9e3a3d7f8123725dbb4f4b5..7f98f45965b1e7e33f48f72c155b898a0ee10b92 100644 (file)
@@ -448,18 +448,6 @@ Molecule
 Lookup::staff_brace (Real y, int staff_size) const
 {
   Molecule m;
-  /*
-    (define (pianobrace y staffht)
-    (let* ((step 1.0)
-    (minht (* 2 staffht))
-    (maxht (* 7 minht))
-    )
-    (string-append
-    (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))) 0)
-    (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
-    )
-    )
-  */
 
   Real step  = 1.0;
   int minht  = 2 * staff_size;
index d5d154ac0d7a6b995e1c9b149c8de8d179f9ccd4..1406da12a6aa0fdda9241628702be8e426a7666a 100644 (file)
@@ -14,7 +14,6 @@ Note_head_side::add_support (Item*head_l)
 {
   Side_position_interface s (this);
   s.add_support (head_l);
-  add_dependency (head_l);
 }
 
 
index b65a66ca9dc7009471951f58e7b739771dc26404..b87027a0c8dc7c08f22a91fbbaa493211172297a 100644 (file)
@@ -60,6 +60,10 @@ Score_element::Score_element (Score_element const&s)
   self_scm_ = SCM_EOL;
   used_b_ = true;
   original_l_ =(Score_element*) &s;
+
+  /*
+    should protect because smobify_self () might trigger GC.
+   */
   element_property_alist_ = scm_protect_object (scm_list_copy (s.element_property_alist_));
   dependency_arr_ = s.dependency_arr_;
   output_p_ =0;
@@ -207,13 +211,14 @@ Score_element::add_processing()
     return;
   status_i_ ++;
 
-  /*
+#if 0
+    /*
     UGH. UGH. UGH.
    */
   if (get_elt_property ("self-alignment-X") != SCM_UNDEFINED
       && !dim_cache_[X_AXIS]->off_callback_l_)
     {
-      dim_cache_[X_AXIS]->set_offset_callback (Side_position_interface::self_alignment);
+      dim_cache_[X_AXIS]->off_callbacks_.push (Side_position_interface::self_alignment);
     }
   
   if (get_elt_property ("self-alignment-Y") != SCM_UNDEFINED
@@ -222,6 +227,7 @@ Score_element::add_processing()
     {
       dim_cache_[Y_AXIS]->set_offset_callback (Side_position_interface::self_alignment);
     }
+#endif
   
   do_add_processing();
 }
@@ -245,8 +251,6 @@ Score_element::calculate_dependencies (int final, int busy,
   for (int i=0; i < extra.size(); i++)
     extra[i]->calculate_dependencies (final, busy, funcptr);
   
-  invalidate_cache (X_AXIS);
-  invalidate_cache (Y_AXIS);
   (this->*funcptr)();
   status_i_= final;
 }
@@ -358,28 +362,46 @@ Score_element::substitute_dependency (Score_element* old, Score_element* new_l)
 
 
 /**
-   Do break substitution, and return new value.
- */
-SCM 
-Score_element::handle_broken_smobs (SCM s, Line_of_score * line)
+      Do break substitution in S, using CRITERION. Return new value.
+         CRITERION is either a SMOB pointer to the desired line, or a number
+        representing the break direction.  */
+SCM
+Score_element::handle_broken_smobs (SCM s, SCM criterion)
 {
   if (SMOB_IS_TYPE_B (Score_element, s))
     {
       Score_element *sc = SMOB_TO_TYPE (Score_element, s);
-      if (sc->line_l () != line)
+
+      if (gh_number_p (criterion))
        {
-         sc= sc->find_broken_piece (line);
+         Item * i = dynamic_cast<Item*> (sc);
+         Direction d = to_dir (criterion);
+         if (i && i->break_status_dir () != d)
+           {
+             Item *br = i->find_broken_piece (d);
+             return  (br) ? br->self_scm_ : SCM_UNDEFINED;
+           }
        }
+      else
+       {
+         Score_element * ln = SMOB_TO_TYPE (Score_element, criterion);
+         Line_of_score * line = dynamic_cast<Line_of_score*> (ln);
+         Score_element * br =0;
+         if (sc->line_l () != line)
+           {
+             br = sc->find_broken_piece (line);
+             return  (br) ?  br->self_scm_ : SCM_UNDEFINED;
+           }
 
-      return  sc ? sc->self_scm_ : SCM_UNDEFINED;
+       }
     }
   else if (gh_pair_p (s))
     {
       /*
        UGH! breaks on circular lists.
-       */
-      gh_set_car_x (s, handle_broken_smobs (gh_car (s), line));
-      gh_set_cdr_x (s, handle_broken_smobs (gh_cdr (s), line));
+      */
+      gh_set_car_x (s, handle_broken_smobs (gh_car (s), criterion));
+      gh_set_cdr_x (s, handle_broken_smobs (gh_cdr (s), criterion));
     }
   return s;
 }
@@ -391,7 +413,8 @@ Score_element::handle_broken_dependencies()
   if (!line)
     return;
 
-  element_property_alist_ = handle_broken_smobs (element_property_alist_, line);
+  element_property_alist_ = handle_broken_smobs (element_property_alist_,
+                                                line->self_scm_);
 
   Link_array<Score_element> new_deps;
 
@@ -418,8 +441,12 @@ Score_element::handle_broken_dependencies()
 void
 Score_element::handle_prebroken_dependencies()
 {
-  element_property_alist_
-    = handle_broken_smobs (element_property_alist_, line_l ());
+  if (Item*i =dynamic_cast<Item*> (this))
+    {
+      element_property_alist_
+       = handle_broken_smobs (element_property_alist_,
+                              gh_int2scm (i->break_status_dir ()));
+    }
 
   Link_array<Score_element> old_arr, new_arr;
   
index b96f3b046529ffaf72bc2b69baf488f309047c9a..a959550a7719af26c8f4adbbdac54ccb29a6cf78 100644 (file)
@@ -75,13 +75,14 @@ Script_engraver::do_process_requests()
        stafy.set_direction (l->get_direction ());
 
       SCM axisprop = get_property ("scriptHorizontal",0);
-      if (gh_boolean_p (axisprop) && gh_scm2bool (axisprop))
+      bool xaxis = gh_boolean_p (axisprop) && gh_scm2bool (axisprop);
+      if (xaxis)
        stafy.set_axis (X_AXIS);
       else
        stafy.set_axis (Y_AXIS);
       
-      if (follow_staff && !gh_boolean_p (axisprop) && gh_scm2bool (axisprop))
-       p->set_elt_property ("no-staff-support", SCM_BOOL_T);
+      if (!follow_staff && ! xaxis)
+       p->set_elt_property ("staff-support", SCM_BOOL_T);
 
       p->set_elt_property ("script-priority", priority);
   
index a0636017532ea5dd9ebf9b56f0ba65e7f1506e90..f523de37bb310d151545aedb4d5bbf50bfc8d997 100644 (file)
@@ -7,11 +7,6 @@
   
  */
 
-/*
-
-  TODO: Quantisation support (staccato dots between stafflines)
-
-*/
 #include "debug.hh"
 #include "script.hh"
 #include "lookup.hh"
@@ -58,17 +53,8 @@ Script::do_post_processing ()
 {
   Direction d =  Side_position_interface (this).get_direction ();
   Molecule m (get_molecule(d));
-
-  /*
-    UGH UGH UGH
-   */
-#if 0
-  if (staff_side_l_->get_elt_property ("no-staff-support") == SCM_UNDEFINED) 
-    translate_axis (- m.dim_[Y_AXIS][Direction (-d)], Y_AXIS);
-#endif
 }
 
-
 Molecule*
 Script::do_brew_molecule_p () const
 {
index c511b6fb1aa4f36ea40d76ad69a86d751f442816..bea519b2dd5d2427d12c0d4d90400ada382bf8d8 100644 (file)
@@ -140,7 +140,7 @@ Side_position_interface::aligned_side (Dimension_cache const *c)
   Score_element * me = dynamic_cast<Score_element*> (c->element_l ());
   Side_position_interface s(me);
   Direction d = s.get_direction ();
-  Axis ax = s.get_axis ();
+  Axis ax = c->axis ();
   Real o = side_position (c);
 
   Interval iv =  me->extent (ax);
@@ -156,6 +156,35 @@ Side_position_interface::aligned_side (Dimension_cache const *c)
   return o;
 }
 
+#if 0
+
+/*
+  need cascading off callbacks for this.
+ */
+Side_position_interface::quantised_side (Dimension_cache const *c)
+{
+  Score_element * me = dynamic_cast<Score_element*> (c->element_l ());
+  Side_position_interface s(me);
+  Direction d = s.get_direction ();
+  Axis ax = c->axis ();
+  Real o = side_position (c);
+  Staff_symbol_referencer * st = dynamic_cast (me);
+
+  if (st && ax == Y_AXIS)
+    {
+      st->translate_axis (o, Y_AXIS);
+      st->set_position ();
+
+      st->lines_i ();
+      st->quantise_to_next_line (d);
+      st->translate_axis (o, -Y_AXIS);
+    }
+
+  return o;
+}
+#endif
+  
+
 
 void
 Side_position_interface::set_axis (Axis a)
@@ -165,21 +194,21 @@ Side_position_interface::set_axis (Axis a)
     elt_l_->set_elt_property ("side-support" ,SCM_EOL);
 
   Axis other = Axis ((a +1)%2);
-  elt_l_->dim_cache_[a]->set_offset_callback (aligned_side);
-  elt_l_->dim_cache_[other]->set_offset_callback (0);  
+  elt_l_->dim_cache_[a]->off_callbacks_.push (aligned_side);
 }
 
 
 Axis
 Side_position_interface::get_axis () const
 {
-  Offset_cache_callback c = elt_l_->dim_cache_[X_AXIS]->off_callback_l_ ;
-  if (c == side_position
-      || c == aligned_side
-      ) // UGH.
-    return X_AXIS;
-  else
-    return Y_AXIS;  
+  Dimension_cache * c =  elt_l_->dim_cache_[X_AXIS];
+  for (int i=0 ; i < c->off_callbacks_.size();i ++)
+    if (c->off_callbacks_[i] == side_position
+       ||c->off_callbacks_[i] == aligned_side)
+      return X_AXIS;
+
+  
+  return Y_AXIS;
 }
 
 void
@@ -197,5 +226,6 @@ Side_position_interface::is_staff_side_b () const
 bool
 Side_position_interface::supported_b () const
 {
-  return elt_l_->get_elt_property ("side-support") != SCM_EOL;
+  SCM s =elt_l_->get_elt_property  ("side-support"); 
+  return s != SCM_UNDEFINED && s != SCM_EOL;
 }
index 188cdc48ac4c4e77573e3394e1758e3c1eec9154..695d1099997b187860d8478940f1d87cd00ab27d 100644 (file)
@@ -12,6 +12,7 @@
 #include "paper-column.hh"
 #include "staff-symbol-referencer.hh"
 #include "paper-def.hh"
+#include "staff-side.hh"
 
 Staff_symbol_engraver::~Staff_symbol_engraver()
 {
@@ -61,6 +62,14 @@ Staff_symbol_engraver::acknowledge_element (Score_element_info s)
     {
       st->set_staff_symbol (span_p_);      
     }
+  
+  SCM ss =s.elem_l_->remove_elt_property ("staff-support");
+  if (gh_boolean_p (ss) && gh_scm2bool (ss))
+    {
+      Side_position_interface si (s.elem_l_);
+      if (si.is_staff_side_b ())
+       si.add_support (span_p_);
+    }
 }
 
 
index 4a0a5b7558866846c8ceebd4b84005c5ed6f38be..22b29af5397857dab5258a1f9dd9daaf2d13aeb7 100644 (file)
 
 Staff_symbol_referencer::Staff_symbol_referencer ()
 {
-  staff_sym_l_ =0;
-  position_i_ =0;
+  staff_symbol_l_ =0;
+  position_f_ =0;
 }
 
 void
-Staff_symbol_referencer::do_substitute_element_pointer (Score_element *o, Score_element*n)
+Staff_symbol_referencer::do_substitute_element_pointer (Score_element *o,
+                                                       Score_element*n)
 {
-  if (staff_sym_l_ == o)
+  if (staff_symbol_l_ == o)
     {
-      staff_sym_l_ = dynamic_cast<Staff_symbol*> (n);
+      staff_symbol_l_ = dynamic_cast<Staff_symbol*> (n);
     }
 }
 
 int
 Staff_symbol_referencer::lines_i () const
 {
-  return (staff_sym_l_) ?  staff_sym_l_->no_lines_i_ : 5;
+  return (staff_symbol_l_) ?  staff_symbol_l_->no_lines_i_ : 5;
 }
 
 void
 Staff_symbol_referencer::set_staff_symbol (Staff_symbol*s)
 {
-  staff_sym_l_ =s;
+  staff_symbol_l_ =s;
   add_dependency (s);
 }
 
 Staff_symbol*
 Staff_symbol_referencer::staff_symbol_l () const
 {
-  return staff_sym_l_;
+  return staff_symbol_l_;
 }
 
 Real
 Staff_symbol_referencer::staff_line_leading_f () const
 {
-  if (staff_sym_l_)
-    return  staff_sym_l_->staff_line_leading_f_;
+  if (staff_symbol_l_)
+    return  staff_symbol_l_->staff_line_leading_f_;
   else if (pscore_l_ && paper_l ())
     paper_l ()->get_var ("interline");
  
@@ -61,11 +62,11 @@ Staff_symbol_referencer::staff_line_leading_f () const
 Real
 Staff_symbol_referencer::position_f () const
 {
-  Real p = position_i_;
-  if (staff_sym_l_ )
+  Real p = position_f_;
+  if (staff_symbol_l_ )
     {
-      Graphical_element * c = common_refpoint (staff_sym_l_, Y_AXIS);
-      Real y = relative_coordinate (c, Y_AXIS) - staff_sym_l_->relative_coordinate (c, Y_AXIS);
+      Graphical_element * c = common_refpoint (staff_symbol_l_, Y_AXIS);
+      Real y = relative_coordinate (c, Y_AXIS) - staff_symbol_l_->relative_coordinate (c, Y_AXIS);
 
       p += 2.0 * y / staff_line_leading_f ();
     }
@@ -74,22 +75,26 @@ Staff_symbol_referencer::position_f () const
 
 
 
+/*
+  should use offset callback!
+ */
 void
 Staff_symbol_referencer::do_pre_processing ()
 {
-  translate_axis (position_i_ * staff_line_leading_f () /2.0, Y_AXIS);
-  position_i_ =0;
+  translate_axis (position_f_ * staff_line_leading_f () /2.0, Y_AXIS);
+  position_f_ =0;
 }
 
 
 void
-Staff_symbol_referencer::set_position (int p)
+Staff_symbol_referencer::set_position (Real p)
 {
   Real halfspace =  staff_line_leading_f ()* 0.5;
   
   translate_axis (- halfspace * position_f (), Y_AXIS);
-  if (staff_sym_l_)
+  if (staff_symbol_l_)
     translate_axis (halfspace * p, Y_AXIS);
   else
-    position_i_ =   p;
+    position_f_ =   p;
 }
+
index 2eabe72fe4ed22f6335b51e2726277d0f7977935..bba35fe2b1d9421f1f3ea7cd4ab034eb03a210e7 100644 (file)
@@ -54,11 +54,6 @@ Time_signature_engraver::do_pre_move_processing()
 {
   if (time_signature_p_) 
     {
-      SCM sigstyle = get_property ("timeSignatureStyle", 0);
-      if (gh_string_p (sigstyle))
-        {
-          time_signature_p_->set_elt_property ("style", sigstyle);
-        }
       typeset_element (time_signature_p_);
       time_signature_p_ =0;
     }
index 581520e325229b2976cf0a9d8ea3780a0e2b3675..61ac19f2dc3eb33ba66ac5206c5f2ad08370248a 100644 (file)
@@ -306,3 +306,7 @@ Wordwrap =0.0;
 
 #'margin-shape = #'()
 
+
+% 
+#'Local_key_item::left-padding = #'0.2
+#'Local_key_item::right-padding = #'0.4
index 03cd87789880b945bf9194e41de6511a718c40ff..9663028c13c29d8357f12276dd3fcb6a375eefbe 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.8
-Entered-date: 24NOV99
+Version: 1.3.9
+Entered-date: 02DEC99
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.8.tar.gz 
+       1000k lilypond-1.3.9.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.8.tar.gz 
+       1000k lilypond-1.3.9.tar.gz 
 Copying-policy: GPL
 End
index 8ce3122e2e505db77ddf532490237d8c3960f2dc..51cb9ffde081b94a2f60236396d9d01209e9d80b 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.8
+Version: 1.3.9
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.8.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.9.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # get Packager from (undocumented?) ~/.rpmmacros!
index 48b92431a6216d22b04fdb396dcfe1721d3cc794..867d71e6248bb46e579dcde3a834254228f08dca 100644 (file)
@@ -2,7 +2,7 @@
 (define generic-beam-properties
   (cons "Beam"
        (list
-        (list 'beamslopedamping number? 'damping)
+        (list 'beamSlopeDamping number? 'damping)
         (list 'autoKneeGap number? 'auto-knee-gap)
         (list 'autoInterstaffKneeGap number? 'auto-interstaff-knee-gap)
         (list 'beamQuantisation symbol? 'slope-quantisation)
 (define generic-timesig-properties
   (cons "Time_signature"
        (list
-        (list 'timeSignatureStyle string? 'sigstyle))))
+        (list 'timeSignatureStyle string? 'style))))
 
 (define generic-voice-properties
   (list