]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into topic/master-translation
authorJohn Mandereau <john.mandereau@gmail.com>
Mon, 19 Mar 2007 13:59:02 +0000 (14:59 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Mon, 19 Mar 2007 13:59:02 +0000 (14:59 +0100)
* master:
  Ensure that skylines always have at least one building in them.
  Update from LSR.
  Small fix from mailist.
  Small fix from website.
  Update from mailist.

18 files changed:
Documentation/user/basic-notation.itely
input/lsr/chords/chord-name-exceptions.ly
input/lsr/chords/chord-name-major7.ly
input/lsr/connecting/laissez-vibrer-ties.ly
input/lsr/expressive/glissando.ly
input/lsr/parts/rehearsal-mark-numbers.ly
input/lsr/parts/tag-filter.ly
input/lsr/repeats/volta-multi-staff.ly
input/lsr/spacing/alignment-vertical-spacing.ly
input/lsr/spacing/page-spacing.ly
input/lsr/spacing/proportional-spacing.ly
input/lsr/spacing/proportional-strict-grace-notes.ly
input/lsr/spacing/proportional-strict-notespacing.ly
input/lsr/staff/staff-line-positions.ly
input/lsr/text/font-family-override.ly
input/lsr/vocal/ambitus.ly
input/lsr/vocal/lyric-combine.ly
lily/skyline.cc

index 6f5c35ab5c568fcd1bd25dd1e7ce98b0d79431cc..107f6f42ec83ee528d62c5453fc25bbea6b189e0 100644 (file)
@@ -762,6 +762,49 @@ To avoid printing tuplet numbers, use
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
 @end lilypond
 
+Use the @code{\tweak} function to override nested tuplets beginning at the
+same music moment.  In this example, @code{\tweak} specifies fraction
+text for the
+outer @code{TupletNumber} and denominator text for the @code{TupletNumber}
+of the first of the three inner tuplets.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+  \tweak #'text #tuplet-number::calc-fraction-text
+  \times 4/3 {
+     \tweak #'text #tuplet-number::calc-denominator-text
+     \times 2/3 { c'8[ c'8 c'8] }
+     \times 2/3 { c'8[ c'8 c'8] }
+     \times 2/3 { c'8[ c'8 c'8] }
+  }
+}
+@end lilypond
+
+Here @code{\tweak} and @code{\override} work together to specify
+@code{TupletBracket} direction.  The first @code{\tweak} positions
+the @code{TupletBracket} of the outer
+tuplet above the staff.  The second @code{\tweak} positions the
+@code{TupletBracket} of the first of the three inner tuplets below the
+staff.  Note that this pair of @code{\tweak} functions affects only
+the outer tuplet and the first of the three inner tuplets because only
+those two tuplets begin at the same music moment.  We use @code{\override}
+in the usual way to position the @code{TupletBrackets} of
+the second and third of the inner tuplets below the staff.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+  \tweak #'text #tuplet-number::calc-fraction-text
+  \tweak #'direction #up
+  \times 4/3 {
+     \tweak #'direction #down
+     \times 2/3 { c'8[ c'8 c'8] }
+     \override TupletBracket #'direction = #down
+     \times 2/3 { c'8[ c'8 c'8] }
+     \times 2/3 { c'8[ c'8 c'8] }
+  }
+}
+@end lilypond
+
 Tuplet brackets can be made to run to prefatory matter or
 the next note
 
@@ -2311,7 +2354,8 @@ behavior can be changed by setting @code{breakable}.
 @refbugs
 
 Kneed beams are inserted automatically when a large gap is detected
-between the note heads.  This behavior can be tuned through the object.
+between the note heads.  This behavior can be tuned through the
+@code{auto-knee-gap} object.
 
 Automatically kneed cross-staff beams cannot be used together with
 hidden staves.  See @ref{Hiding staves}.
index a958bc73c7130ebc9474cc172042c03deff2b350..6f3b29a5ae69cd1117a8827007e9d97cf26be3f9 100644 (file)
@@ -2,7 +2,7 @@
 
 \header { texidoc = "
 The property @code{chordNameExceptions} can used to store a list of
-special notations for specific chords.
+special notations for specific chords. 
 " }
 
 % 7sus4 denoted with ^7 wahh
index cc17e603023dba65116bd4ecab84485da516a6a2..79fb505f04a98bb75fb5a136059aa234191749d4 100644 (file)
@@ -1,7 +1,7 @@
 \version "2.10.12"
 
 \header { texidoc = "
-The layout of the major 7 can be tuned with @code{majorSevenSymbol}
+The layout of the major 7 can be tuned with @code{majorSevenSymbol} 
 " }
 
 \chords {
index 84b2545e3104cf28109b1068bcda78ac1c642aa9..89fe929c6f69e44145da73e6c34e99703a92eeeb 100644 (file)
@@ -1,9 +1,9 @@
 \version "2.10.12"
 
 \header { texidoc = "
-l.v. ties should avoid dots and staff lines, similar to normal ties. 
-They have fixed size. Their formatting can be tuned with
- @{tie-configuration@}
+Laissez vibrer ties should avoid dots and staff lines, similar to
+normal ties.  They have fixed size. Their formatting can be tuned with
+@code{tie-configuration} 
 " }
 
 \paper {
index ddefbc893773e94f4ec6042efc3239dc0d5b44ff..ec92a4c229c2cf41cc571375cd53990740b08efa 100644 (file)
@@ -4,8 +4,9 @@
 Between notes, there may be simple glissando lines.  Here, the first
 two glissandi are not consecutive.
 
+
 The engraver does no time-keeping, so it involves some trickery to get
-<< @{ s8 s8 s4 @} @{ c4 \gliss d4 @} >> working correctly.
+@code{>} working correctly. 
 " }
 
 \layout{
index df1d06910310dcb83a9b57e27debb69d0073daaa..b40f5ec0a646107953be7fb570576c7449f01486 100644 (file)
@@ -1,9 +1,12 @@
 \version "2.10.12"
 
 \header { texidoc = "
-Marks can be printed as numbers.   By setting @{markFormatter@} we may
-choose a different style of mark printing. Also, marks can be specified
-manually, with a markup argument.
+Marks can be printed as numbers.
+  
+
+By setting @code{markFormatter} we may choose a different style of mark
+printing. Also, marks can be specified manually, with a markup
+argument. 
 " }
 
 \paper {
index f00ab5fe92f41a2c044e3cb61eaccb220f0e24fa..f96e466b6611582aca50049071a7c8332717d265 100644 (file)
@@ -1,12 +1,12 @@
 \version "2.10.12"
 
 \header { texidoc = "
-The @{\tag@} command marks music expressions with a name. These tagged
-expressions can be filtered out later. This mechanism can be used to
-make different versions of the same music. In this example, the top
-stave displays the music expression with all tags included. The bottom
-two staves are filtered: the part has cue notes and fingerings, but the
-score has not.
+The @code{\tag} command marks music expressions with a name. These
+tagged expressions can be filtered out later. This mechanism can be
+used to make different versions of the same music. In this example, the
+top stave displays the music expression with all tags included. The
+bottom two staves are filtered: the part has cue notes and fingerings,
+but the score has not. 
 " }
 
 \layout {
index c27a3a4bfddae8a6c3ae8afe15d1c61954f2240f..a6f2e6ba0d18909bd51a21b6b753036205abc42b 100644 (file)
@@ -1,8 +1,8 @@
 \version "2.10.12"
 
 \header { texidoc = "
-By setting @{voltaOnThisStaff@}, repeats can be put also over other
-staves than the topmost one in a score.
+By setting @code{voltaOnThisStaff}, repeat brackets can be put over
+staves other than the topmost one in a score. 
 " }
 
 \layout {
index da4d015a6c347809be2e266c92b65383db09e880..8c70b972acb545e7f331f6286fc76f744a343197 100644 (file)
@@ -1,15 +1,18 @@
 \version "2.10.12"
 
 \header { texidoc = "
-By setting properties in @{NonMusicalPaperColumn@}, vertical spacing of
-alignments can be adjusted per system.
+By setting properties in @code{NonMusicalPaperColumn}, vertical spacing
+of alignments can be adjusted per system.
 
-By setting @{alignment-extra-space@} or @{fixed-alignment-extra-space@}
-an individual system may be stretched vertically.
 
-For technical reasons, @{overrideProperty@} has to be used for setting
-properties on individual object. @{override@} in a @{\context@} block
-may still be used for global overrides
+By setting @code{alignment-extra-space} or
+@code{fixed-alignment-extra-space} an individual system may be
+stretched vertically.
+
+
+For technical reasons, @code{overrideProperty} has to be used for
+setting properties on individual objects. @code{override} in a
+@code{\context} block may still be used for global overrides. 
 " }
 
 #(set-global-staff-size 13)
index 063dc97e5db4e84272b8770b6cdaad21941f36ed..45d696ad5b68945020332a5c2586f01b013d009f 100644 (file)
@@ -1,15 +1,17 @@
 \version "2.10.12"
 
 \header { texidoc = "
-By setting properties in @{NonMusicalPaperColumn@}, vertical spacing of
-page layout can be adjusted.
+By setting properties in @code{NonMusicalPaperColumn}, vertical spacing
+of page layout can be adjusted.
 
-For technical reasons, @{overrideProperty@} has to be used for setting
-properties on individual object. @{\override@} may still be used for
-global overrides.
 
-By setting @{annotate-spacing@}, we can see the effect of each
-property.
+For technical reasons, @code{overrideProperty} has to be used for
+setting properties on individual objects. @code{\override} may still be
+used for global overrides.
+
+
+By setting @code{annotate-spacing}, we can see the effect of each
+property. 
 " }
 
 #(set-global-staff-size 11)
index 89ca4c14ea3abb10d24cd9d9e0743987c3700d4d..a988868e584d45d29e1ae8488c01a7127aec0ce5 100644 (file)
@@ -2,8 +2,8 @@
 
 \header { texidoc = "
 Proportional notation can be created by setting
-@{proportionalNotationDuration@}. Notes will be spaced proportional to
-the distance for the given duration.
+@code{proportionalNotationDuration}. Notes will be spaced proportional
+to the distance for the given duration. 
 " }
 
 \paper {
index 3e757d62340327de65b01d9008cb0fa6a4601059..7832d874c9415b54726c51e9d9851ff5c2d6186c 100644 (file)
@@ -1,8 +1,8 @@
 \version "2.10.12"
 
 \header { texidoc = "
-With @{strict-note-spacing@} spacing for grace notes (even multiple
-ones), is floating as well.
+With @code{strict-note-spacing} spacing for grace notes (even multiple
+ones) is floating as well. 
 " }
 
 \paper {
index 3b791f5b0e3be462d1d0d98d9ac7b8e7daf763b1..95bee319e5aea430e551ddbd98b092a9e3f42fc8 100644 (file)
@@ -1,10 +1,10 @@
 \version "2.10.12"
 
 \header { texidoc = "
-If @{strict-note-spacing@} is set, then spacing of notes is not
-influenced by bars and clefs half-way on the system.  Rather, they are
-put just before the note that occurs at the same time.  This may cause
-collisions.
+If @code{strict-note-spacing} is set spacing of notes is not influenced
+by bars or clefs part way along the system. Rather, they are put just
+before the note that occurs at the same time. This may cause
+collisions. 
 " }
 
 \paper {
index 0518651155eb4c32f8691743ec63689bc5035804..3b57da87e2fc2f52e55283b5232f0fe6c37d34cb 100644 (file)
@@ -2,7 +2,7 @@
 
 \header { texidoc = "
 The vertical positions of staff lines may be specified individually, by
-setting the @{line-positions@} property of the StaffSymbol.
+setting the @code{line-positions} property of the StaffSymbol. 
 " }
 
 \new Staff \relative c' {
index e2a9e5c514b30656f1b559e7424ebaaa54541cd8..9059bd36c8d4e330d6122b0403be75e423c47a94 100644 (file)
@@ -2,7 +2,7 @@
 
 \header { texidoc = "
 The default font families for text can be overridden with
-@{make-pango-font-tree@}
+@code{make-pango-font-tree}. 
 " }
 
 \paper {
index 2020f68326e9ed829915b268282c5c391755330a..30a8dd88407b5cc1634e5037fa611f09674f5f50 100644 (file)
@@ -3,8 +3,9 @@
 \header { texidoc = "
 Ambituses indicate pitch ranges for voices.
 
+
 Accidentals only show up if they're not part of key signature. 
-@{AmbitusNoteHead@} grobs also have ledger lines.
+@code{AmbitusNoteHead} grobs also have ledger lines. 
 " }
 
 \layout {
index e9c46d63104adb4c634f55145e9864b56205a3a4..c97b0f025ad09e78d9a9acb962b9cc4854058a53 100644 (file)
@@ -1,9 +1,9 @@
 \version "2.10.12"
 
 \header { texidoc = "
-With the @{\lyricsto@} mechanism, individual lyric lines can be
+With the @code{\lyricsto} mechanism, individual lyric lines can be
 associated with one melody line. For each lyric line, they can be tuned
-whether to follow melismata or not.
+whether to follow melismata or not. 
 " }
 
 <<
index 9da2606edbed49bc5354ec777f7cb02a0099890e..e55ba3a6637024de8e0a9fb36b28e53298d2098f 100644 (file)
@@ -174,6 +174,12 @@ void
 Skyline::internal_merge_skyline (list<Building> *s1, list<Building> *s2,
                                 list<Building> *const result)
 {
+  if (s1->empty () || s2->empty ())
+    {
+      programming_error ("tried to merge an empty skyline");
+      return;
+    }
+
   Real x = -infinity_f;
   while (!s1->empty ())
     {
@@ -332,7 +338,7 @@ Skyline::internal_build_skyline (list<Box> *boxes, Real horizon_padding, Axis ho
 Skyline::Skyline ()
 {
   sky_ = UP;
-  empty_skyline (&buildings_);  
+  empty_skyline (&buildings_);
 }
 
 Skyline::Skyline (Skyline const &src)
@@ -403,6 +409,12 @@ Skyline::insert (Box const &b, Real horizon_padding, Axis a)
   list<Building> other_bld;
   list<Building> my_bld;
 
+  /* do the same filtering as in Skyline (vector<Box> const&, etc.) */
+  Interval iv = b[a];
+  iv.widen (horizon_padding);
+  if (iv.length () <= EPS || b[other_axis (a)].is_empty ())
+    return;
+
   my_bld.splice (my_bld.begin (), buildings_);
   single_skyline (Building (b, horizon_padding, a, sky_), b[a][LEFT], horizon_padding, &other_bld);
   internal_merge_skyline (&other_bld, &my_bld, &buildings_);