From: John Mandereau Date: Mon, 19 Mar 2007 13:59:02 +0000 (+0100) Subject: Merge branch 'master' into topic/master-translation X-Git-Tag: release/2.11.22-1~54 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=b399954087df9c660f8969969534b6a9cd539f8c;hp=34853a79db670af88aa1cd6c603ca0cf7fdd131f;p=lilypond.git Merge branch 'master' into topic/master-translation * 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. --- diff --git a/Documentation/user/basic-notation.itely b/Documentation/user/basic-notation.itely index 6f5c35ab5c..107f6f42ec 100644 --- a/Documentation/user/basic-notation.itely +++ b/Documentation/user/basic-notation.itely @@ -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}. diff --git a/input/lsr/chords/chord-name-exceptions.ly b/input/lsr/chords/chord-name-exceptions.ly index a958bc73c7..6f3b29a5ae 100644 --- a/input/lsr/chords/chord-name-exceptions.ly +++ b/input/lsr/chords/chord-name-exceptions.ly @@ -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 diff --git a/input/lsr/chords/chord-name-major7.ly b/input/lsr/chords/chord-name-major7.ly index cc17e60302..79fb505f04 100644 --- a/input/lsr/chords/chord-name-major7.ly +++ b/input/lsr/chords/chord-name-major7.ly @@ -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 { diff --git a/input/lsr/connecting/laissez-vibrer-ties.ly b/input/lsr/connecting/laissez-vibrer-ties.ly index 84b2545e31..89fe929c6f 100644 --- a/input/lsr/connecting/laissez-vibrer-ties.ly +++ b/input/lsr/connecting/laissez-vibrer-ties.ly @@ -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 { diff --git a/input/lsr/expressive/glissando.ly b/input/lsr/expressive/glissando.ly index ddefbc8937..ec92a4c229 100644 --- a/input/lsr/expressive/glissando.ly +++ b/input/lsr/expressive/glissando.ly @@ -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{ diff --git a/input/lsr/parts/rehearsal-mark-numbers.ly b/input/lsr/parts/rehearsal-mark-numbers.ly index df1d069103..b40f5ec0a6 100644 --- a/input/lsr/parts/rehearsal-mark-numbers.ly +++ b/input/lsr/parts/rehearsal-mark-numbers.ly @@ -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 { diff --git a/input/lsr/parts/tag-filter.ly b/input/lsr/parts/tag-filter.ly index f00ab5fe92..f96e466b66 100644 --- a/input/lsr/parts/tag-filter.ly +++ b/input/lsr/parts/tag-filter.ly @@ -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 { diff --git a/input/lsr/repeats/volta-multi-staff.ly b/input/lsr/repeats/volta-multi-staff.ly index c27a3a4bfd..a6f2e6ba0d 100644 --- a/input/lsr/repeats/volta-multi-staff.ly +++ b/input/lsr/repeats/volta-multi-staff.ly @@ -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 { diff --git a/input/lsr/spacing/alignment-vertical-spacing.ly b/input/lsr/spacing/alignment-vertical-spacing.ly index da4d015a6c..8c70b972ac 100644 --- a/input/lsr/spacing/alignment-vertical-spacing.ly +++ b/input/lsr/spacing/alignment-vertical-spacing.ly @@ -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) diff --git a/input/lsr/spacing/page-spacing.ly b/input/lsr/spacing/page-spacing.ly index 063dc97e5d..45d696ad5b 100644 --- a/input/lsr/spacing/page-spacing.ly +++ b/input/lsr/spacing/page-spacing.ly @@ -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) diff --git a/input/lsr/spacing/proportional-spacing.ly b/input/lsr/spacing/proportional-spacing.ly index 89ca4c14ea..a988868e58 100644 --- a/input/lsr/spacing/proportional-spacing.ly +++ b/input/lsr/spacing/proportional-spacing.ly @@ -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 { diff --git a/input/lsr/spacing/proportional-strict-grace-notes.ly b/input/lsr/spacing/proportional-strict-grace-notes.ly index 3e757d6234..7832d874c9 100644 --- a/input/lsr/spacing/proportional-strict-grace-notes.ly +++ b/input/lsr/spacing/proportional-strict-grace-notes.ly @@ -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 { diff --git a/input/lsr/spacing/proportional-strict-notespacing.ly b/input/lsr/spacing/proportional-strict-notespacing.ly index 3b791f5b0e..95bee319e5 100644 --- a/input/lsr/spacing/proportional-strict-notespacing.ly +++ b/input/lsr/spacing/proportional-strict-notespacing.ly @@ -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 { diff --git a/input/lsr/staff/staff-line-positions.ly b/input/lsr/staff/staff-line-positions.ly index 0518651155..3b57da87e2 100644 --- a/input/lsr/staff/staff-line-positions.ly +++ b/input/lsr/staff/staff-line-positions.ly @@ -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' { diff --git a/input/lsr/text/font-family-override.ly b/input/lsr/text/font-family-override.ly index e2a9e5c514..9059bd36c8 100644 --- a/input/lsr/text/font-family-override.ly +++ b/input/lsr/text/font-family-override.ly @@ -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 { diff --git a/input/lsr/vocal/ambitus.ly b/input/lsr/vocal/ambitus.ly index 2020f68326..30a8dd8840 100644 --- a/input/lsr/vocal/ambitus.ly +++ b/input/lsr/vocal/ambitus.ly @@ -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 { diff --git a/input/lsr/vocal/lyric-combine.ly b/input/lsr/vocal/lyric-combine.ly index e9c46d6310..c97b0f025a 100644 --- a/input/lsr/vocal/lyric-combine.ly +++ b/input/lsr/vocal/lyric-combine.ly @@ -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. " } << diff --git a/lily/skyline.cc b/lily/skyline.cc index 9da2606edb..e55ba3a663 100644 --- a/lily/skyline.cc +++ b/lily/skyline.cc @@ -174,6 +174,12 @@ void Skyline::internal_merge_skyline (list *s1, list *s2, list *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 *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 other_bld; list my_bld; + /* do the same filtering as in Skyline (vector 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_);