]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Sat, 10 May 2008 07:06:50 +0000 (09:06 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sat, 10 May 2008 07:06:50 +0000 (09:06 +0200)
* 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
  Fix 591.
  Fix 585.
  MusicXML: Use indentation in PostScript for better structuring
  Update from Neil in input/new
  @internalsref -> @rinternals update.
  Update from Francisco
  Test of LSR commenting-out.
  Policy updates.
  Update from Francisco.

37 files changed:
Documentation/user/macros.itexi
Documentation/user/simultaneous.itely
Documentation/user/staff.itely
input/new/adding-text-indications-to-metronome-marks.ly [deleted file]
input/new/broken-crescendo-hairpin.ly
input/new/clip-systems.ly
input/new/creating-simultaneous-rehearsal-marks.ly
input/new/display-bracket-with-only-one-staff-in-a-system.ly [new file with mode: 0644]
input/new/drawing-boxes-around-grobs.ly
input/new/drawing-circles-around-various-objects.ly
input/new/incipit.ly
input/new/letter-tablature-formatting.ly [deleted file]
input/new/line-arrows.ly
input/new/makam.ly
input/new/making-an-object-invisible-with-the-transparent-property.ly
input/new/markup-lines.ly
input/new/outputting-the-version-number.ly
input/new/page-label.ly
input/new/piano-template-with-centered-dynamics.ly
input/new/positioning-multi--measure-rests.ly
input/new/quoting-another-voice-with-transposition.ly
input/new/quoting-another-voice.ly
input/new/setting-hairpin-behavior-at-bar-lines.ly
input/new/table-of-contents.ly
input/new/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
input/new/using-the--tweak-command-to-tweak-individual-grobs.ly
input/new/utf-8.ly
input/new/volta-multi-staff.ly
lily/align-interface.cc
lily/rhythmic-column-engraver.cc
lily/separation-item.cc
scm/define-context-properties.scm
scm/define-grob-interfaces.scm
scm/define-grob-properties.scm
scm/define-markup-commands.scm
scm/documentation-generate.scm
scripts/musicxml2ly.py

index 0706c522395fb126c74c117f3516466b84c64461..599a89727699a02d2ebe6e622d3db102c021ccf2 100644 (file)
 
 @c   **** Links and references ****
 
-@c  TO BE DEPRECATED
-@c usage: @lsrdir{ancient,Ancient-notation}
-@macro lsrdir{SECTION,DIR}
-@ifhtml
-@uref{source/input/lsr/lilypond-snippets/\DIR\.html,\SECTION\}
-@end ifhtml
-@ifnothtml
-\DIR\
-@end ifnothtml
-@end macro
-
-
 @c  Definitions for references:
 @c     @rglos
 @c     @rlearning
 
 @ifset bigpage
 
-@c TO BE DEPRECATED
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference}
-@end macro
-
-
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary-big-page,Music Glossary}
 
 @ifclear bigpage
 
-@c  DEPRECATED
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
-@end macro
-
-
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @ifdocbook
 @c ***** DOCBOOK-XML *****
 
-@c  DEPRECATED
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
-@end macro
-
-
-
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @ifinfo
 @c **** INFO ****
 
-@c DEPRECATED
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@inforef{\TEXT\,,lilypond-internals,Internals Reference}
-@end macro
-
-
-
 @macro rglos{TEXT}
 @vindex \TEXT\
 @inforef{\TEXT\,,music-glossary,Music Glossary}
 @c **** TEX ****
 @iftex
 
-@c DEPRECATED
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@code{\TEXT\}
-@end macro
-
-
-
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary,Music Glossary}
index b625af91075b68d05fcd24e3831fcfa162df7254..399e86bd43521bfa0598bc1882d0770dae064d64 100644 (file)
@@ -293,46 +293,84 @@ different accidentals in the same chord.  In this case, it is
 recommended to use enharmonic transcription, or to use special
 cluster notation (see @ref{Clusters}).
 
-
 @node Automatic part combining
 @subsubsection Automatic part combining
+
 @cindex automatic part combining
 @cindex part combiner
 @cindex combining parts
+@funindex \partcombine
 
-Automatic part combining is used to merge two parts of music onto
-a staff.  It is aimed at typesetting orchestral scores.  When the
-two parts are identical for a period of time, only one is shown.
-In places where the two parts differ, they are typeset as separate
+Automatic part combining is used to merge two parts of music onto a
+staff.  It is aimed at typesetting orchestral scores.  When the two
+parts are identical for a period of time, only one is shown.  In
+places where the two parts differ, they are typeset as separate
 voices, and stem directions are set automatically.  Also, solo and
-@emph{a due} parts are identified and can be marked.
+@notation{a due} parts are identified and marked by default.
 
-The syntax for part combining is
+The syntax for part combining is:
 
 @example
 \partcombine @var{musicexpr1} @var{musicexpr2}
 @end example
 
+The following example demonstrates the basic functionality of the part
+combiner: putting parts on one staff and setting stem directions and
+polyphony.  The same variables are used for the independent
+parts and the combined staff.
+
+@lilypond[quote,verbatim,ragged-right]
+instrumentOne = \relative c' {
+  c4 d e f
+  R1
+  d'4 c b a
+  b4 g2 f4
+  e1
+}
 
-The following example demonstrates the basic functionality of the
-part combiner: putting parts on one staff, and setting stem
-directions and polyphony.
+instrumentTwo = \relative g' {
+  R1
+  g4 a b c
+  d c b a
+  g f( e) d
+  e1
+}
 
-@lilypond[quote,verbatim,ragged-right,fragment]
-\new Staff \partcombine
-  \relative g' { g g a( b) c c r r }
-  \relative g' { g g r4 r e e g g }
+<<
+  \new Staff \instrumentOne
+  \new Staff \instrumentTwo
+  \new Staff \partcombine \instrumentOne \instrumentTwo
+>>
 @end lilypond
 
-The first @code{g} appears only once, although it was specified
-twice (once in each part).  Stem, slur, and tie directions are set
-automatically, depending whether there is a solo or unisono.  The
-first part (with context called @code{one}) always gets up stems,
-and @q{Solo}, while the second (called @code{two}) always gets
-down stems and @q{Solo II}.
+The notes in the third measure appear only once, although they were
+specified in both parts.  Stem, slur, and tie directions are set
+automatically, depending whether there is a solo or unison.  When
+needed in polyphony situations, the first part (with context called
+@code{one}) always gets up stems, while the second (called @code{two})
+always gets down stems.  In solo situations, the parts get marked with
+@q{Solo} and @q{Solo II}, respectively.  The unisono (@notation{a due})
+parts are marked by default with the text @qq{a2}.
+
+Both arguments to @code{\partcombine} will be interpreted as
+@code{Voice} contexts.  If using relative octaves,
+@code{\relative} should be specified for both music expressions,
+i.e.,
+
+@example
+\partcombine
+  \relative @dots{} @var{musicexpr1}
+  \relative @dots{} @var{musicexpr2}
+@end example
 
-If you just want the merging parts, and not the textual markings,
-you may set the property @code{printPartCombineTexts} to false.
+@noindent
+A @code{\relative} section that is outside of @code{\partcombine}
+has no effect on the pitches of @var{musicexpr1} and
+@var{musicexpr2}.
+
+@snippets
+
+Parts may be merged without printing text:
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff <<
@@ -343,45 +381,33 @@ you may set the property @code{printPartCombineTexts} to false.
 >>
 @end lilypond
 
-To change the text that is printed for solos or merging, you may
-set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
-properties.
+The printed text may be changed:
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff <<
-  \set Score.soloText = #"ichi"
-  \set Score.soloIIText = #"ni"
-  \set Score.aDueText = #"tachi"
+  \set Score.soloText = #"girl"
+  \set Score.soloIIText = #"boy"
+  \set Score.aDueText = #"together"
   \partcombine
-    \relative g' { g4 g a( b) r }
-    \relative g' { g4 g r r f }
+    \relative g' { g4 g r r a2 g }
+    \relative g' { r4 r a( b) a2 g }
 >>
 @end lilypond
 
-Both arguments to @code{\partcombine} will be interpreted as
-@rinternals{Voice} contexts.  If using relative octaves,
-@code{\relative} should be specified for both music expressions,
-i.e.,
-
-@example
-\partcombine
-  \relative @dots{} @var{musicexpr1}
-  \relative @dots{} @var{musicexpr2}
-@end example
-
-@noindent
-A @code{\relative} section that is outside of @code{\partcombine}
-has no effect on the pitches of @var{musicexpr1} and
-@var{musicexpr2}.
 
 @seealso
 
 Music Glossary:
-@rglos{a due}.
+@rglos{a due},
+@rglos{part}.
+
+Notation Reference:
+@ref{Writing parts}.
 
 Snippets:
 @rlsr{Simultaneous notes}.
 
+
 Internals Reference:
 @rinternals{PartCombineMusic},
 @rinternals{Voice}.
@@ -402,14 +428,21 @@ when the parts can be combined.  Consequently, if the arguments
 switch to differently named @rinternals{Voice} contexts, the
 events in those will be ignored.
 
+@c IIRC in users list someone pointed out more issues. FV
 
 @node Writing music in parallel
 @subsubsection Writing music in parallel
 
 @cindex Writing music in parallel
 @cindex Interleaved music
+@funindex parallelMusic
 
-Music for multiple parts can be interleaved:
+Music for multiple parts can be interleaved in input code.  The
+function @code{\parallelMusic} accepts a list with the names of a
+number of variables to be created, and a musical expression.  The
+content of alternate measures from the expression become the value of
+the respective variables, so you can use them afterwards to print the
+music.
 
 @lilypond[quote,fragment,verbatim]
 \parallelMusic #'(voiceA voiceB) {
@@ -419,12 +452,13 @@ Music for multiple parts can be interleaved:
   c'2                               c'2                         |
 }
 \new StaffGroup <<
-  \new Staff \new Voice \voiceA
-  \new Staff \new Voice \voiceB
+  \new Staff  \voiceA
+  \new Staff  \voiceB
 >>
 @end lilypond
 
-This works quite well for piano music.
+This works quite well for piano music.  This example maps four
+consecutive measures to four variables:
 
 @lilypond[quote,verbatim]
 global = { \key g \major  \time 2/4 }
@@ -433,13 +467,13 @@ music = {
     % Bar 1 
     a'8 b'      c'' d''   |
     d'4         e'        |
-    c16 d e f   d e f g   |
+    c16 d e fis d e fis g |
     a,4         a,4       |
 
     % Bar 2
-    e''8 f''    g'' a''   |
-    f'4         g'        |
-    e16 f g a   f g a b   |
+    e''8 fis''  g'' a''   |
+    fis'4       g'        |
+    e16 fis g a fis g a b |
     a,4         a,4       |
 
     % Bar 3 ...
@@ -468,6 +502,9 @@ music = {
 
 @seealso
 
+Learning Manual:
+@rlearning{Organizing pieces with variables}
+
 Snippets:
 @rlsr{Simultaneous notes}.
 
index ea933dd957b4fb974b5dbd576f20ab34b2969647..074c395a767445a63d3f1764e9f9e991529a48af 100644 (file)
@@ -125,12 +125,12 @@ Notation Reference: @ref{Percussion staves},
 @ref{Mensural contexts}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{Staff}, @internalsref{DrumStaff},
-@internalsref{GregorianTranscriptionStaff}, @internalsref{RhythmicStaff},
-@internalsref{TabStaff}, @internalsref{MensuralStaff},
-@internalsref{VaticanaStaff}, @internalsref{StaffSymbol}.
+Internals Reference: @rinternals{Staff}, @rinternals{DrumStaff},
+@rinternals{GregorianTranscriptionStaff}, @rinternals{RhythmicStaff},
+@rinternals{TabStaff}, @rinternals{MensuralStaff},
+@rinternals{VaticanaStaff}, @rinternals{StaffSymbol}.
 
 
 
@@ -260,13 +260,13 @@ Music Glossary: @rglos{brace},
 @rglos{bracket}, @rglos{grand staff}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{Staff}, @internalsref{ChoirStaff},
-@internalsref{GrandStaff}, @internalsref{PianoStaff}, 
-@internalsref{StaffGroup}, @internalsref{systemStartDelimiter},
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-@internalsref{SystemStartBracket}, @internalsref{systemStartSquare}.
+Internals Reference: @rinternals{Staff}, @rinternals{ChoirStaff},
+@rinternals{GrandStaff}, @rinternals{PianoStaff}, 
+@rinternals{StaffGroup}, @rinternals{systemStartDelimiter},
+@rinternals{SystemStartBar}, @rinternals{SystemStartBrace},
+@rinternals{SystemStartBracket}, @rinternals{systemStartSquare}.
 
 
 @node Deeper nested staff groups
@@ -385,12 +385,12 @@ source code, for instructions how to set them see @ref{Instrument names}.
 @seealso
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{InnerChoirStaffGroup}, 
-@internalsref{InnerStaffGroup}, @internalsref{SystemStartBar}, 
-@internalsref{SystemStartBrace}, @internalsref{SystemStartBracket},
-@internalsref{systemStartDelimiterHierarchy}.
+Internals Reference: @rinternals{InnerChoirStaffGroup}, 
+@rinternals{InnerStaffGroup}, @rinternals{SystemStartBar}, 
+@rinternals{SystemStartBrace}, @rinternals{SystemStartBracket},
+@rinternals{systemStartDelimiterHierarchy}.
 
 
 
@@ -554,7 +554,7 @@ b b
 
 Glossary: @rglos{line}, @rglos{ledger line}, @rglos{staff}.
 
-Internals Reference: @internalsref{StaffSymbol}.
+Internals Reference: @rinternals{StaffSymbol}.
 
 @knownissues
 
@@ -640,9 +640,9 @@ with the @code{\skip} command.
 Music Glossary: @rglos{ossia}, @rglos{staff}, @rglos{Frenched staff}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{StaffSymbol}.
+Internals Reference: @rinternals{StaffSymbol}.
 
 
 @node Hiding staves
@@ -758,11 +758,11 @@ of which it is written.
 Notation Reference: @ref{Staff symbol}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{ChordNames},
-@internalsref{FiguredBass}, @internalsref{Lyrics},
-@internalsref{Staff}, @internalsref{VerticalAxisGroup}.
+Internals Reference: @rinternals{ChordNames},
+@rinternals{FiguredBass}, @rinternals{Lyrics},
+@rinternals{Staff}, @rinternals{VerticalAxisGroup}.
 
 @node Writing parts
 @subsection Writing parts
@@ -825,9 +825,9 @@ Music Glossary: @rglos{metronome}, @rglos{metronomic indication},
 Notation Reference: @ref{Formatting text}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{MetronomeMark}, @ref{MIDI
+Internals Reference: @rinternals{MetronomeMark}, @ref{MIDI
 output}.
 
 
@@ -945,10 +945,10 @@ c1 c c c \break
 Notation Reference: @ref{Modifying context plug-ins}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{InstrumentName},
-@internalsref{PianoStaff}, @internalsref{Staff}.
+Internals Reference: @rinternals{InstrumentName},
+@rinternals{PianoStaff}, @rinternals{Staff}.
 
 
 @node Quoting other voices
@@ -1068,9 +1068,9 @@ written entirely in lower-case letters: @code{\addquote}.
 Notation Reference: @ref{Instrument transpositions}.
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{QuoteMusic}, @internalsref{Voice}.
+Internals Reference: @rinternals{QuoteMusic}, @rinternals{Voice}.
 
 
 @node Formatting cue notes
@@ -1182,8 +1182,8 @@ cbsn = \relative c, {
 @seealso
 
 Snippets:
-@lsrdir{Staff,Staff-notation}.
+@rlsr{Staff notation}.
 
-Internals Reference: @internalsref{Voice}.
+Internals Reference: @rinternals{Voice}.
 
 
diff --git a/input/new/adding-text-indications-to-metronome-marks.ly b/input/new/adding-text-indications-to-metronome-marks.ly
deleted file mode 100644 (file)
index 59ce545..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-\version "2.11.45"
-\header {
-  lsrtags = "expressive-marks,tweaks-and-overrides"
-  texidoc = "
-Using Scheme code to override the stencil for @code{MetronomeMark}
-objects, this example allows the creation of metronome marks which include
-text directions.  The function @code{\movement} is called with three
-arguments: the text label, note duration, and beats per minute.
-"
-  doctitle = "Adding text indications to metronome marks"
-}
-
-#(define-markup-command (mvt layout props arg) (markup?)
-  (interpret-markup layout props
-     (markup #:huge #:bold arg)))
-
-#(define (string->duration duration-string)
-  "Parse the `duration-string', e.g. ''4..'' or ''breve.'', and return a duration object."
-  (let* ((length (string-length duration-string))
-         (dot-index (or (string-index duration-string #\.) length))
-         (len (substring duration-string 0 dot-index))
-         (dots (- length dot-index)))
-   (ly:make-duration (cond ((string=? len "breve") -1)
-                           ((string=? len "longa") -2)
-                           ((string=? len "maxima") -3)
-                           (else (log2 (string->number len))))
-                     dots 1 1)))
-
-movement = #(define-music-function (parser location text duration count music)
-                        (string? string? integer? ly:music?)
-   (define (format-movement-markup dur count context)
-     (markup #:mvt text #:hspace 1
-             #:concat ("(" #:general-align Y DOWN #:smaller #:note duration 1)
-             "="
-             #:concat ((number->string count) ")")))
-  #{
-    \set Score.metronomeMarkFormatter = #$format-movement-markup
-    \set Score.tempoWholesPerMinute = #$(ly:moment-mul (ly:make-moment count 1)
-                                         (ly:duration-length
-                                           (string->duration duration)))
-    \set Score.tempoUnitDuration = #$(string->duration duration)
-    \set Score.tempoUnitCount = $count
-    $music
-    \set Score.metronomeMarkFormatter = #format-metronome-markup
-  #})
-
-\layout { ragged-right = ##f }
-
-\relative c' { 
-  \time 3/4
-  \movement "Allegro" "2." #92
-  c2 e4
-  g2.
-  \movement "Moderato" "4" #104
-  f4 e d
-  \tempo 4 = 92
-  c2.
-}
index 484f07071d02b7c9aa34499d9e16150bb5eef2b6..8ff4fc42290e8c1671adfd90121cba37994f80c5 100644 (file)
@@ -5,38 +5,35 @@
   texidoc = "
 In order to make parts of a crescendo hairpin invisible, the following
 method is used: A white rectangle is drawn on top of the respective
-part of the crescendo hairpin, making it invisible. The rectangle is
+part of the crescendo hairpin, making it invisible.  The rectangle is
 defined as postscript code within a text markup.
 
 To fine-tune the position and size of the markup, the number
 preceding @code{setgray} in the postscript definition can be set to a
-value <1 making it grey. The two numbers before @code{scale} in the
-postscript code are responsible for the width and height of the
+value less than one, making it grey.  The two numbers before @code{scale}
+in the postscript code are responsible for the width and height of the
 rectangle, the two numbers before @code{translate} change the x- and
-y-origin of the rectangle. 
+y-origin of the rectangle.
 
 Make sure to put the hairpin in a lower layer than the text markup to
-actually draw the rectangle above the hairpin. 
+draw the rectangle over the hairpin.
 "
   doctitle = "Broken crescendo hairpin"
 }
 
-\score {
-  \relative c' {
-    << {
-      \dynamicUp
-      \override DynamicLineSpanner #'staff-padding = #4
-      r2 r16 c'8.\pp r4
-    } \\ {
-      \override DynamicLineSpanner #'layer = #0
-      des,2\mf\< ~
-      \override TextScript #'layer = #2
-      des16_\markup {
-        \postscript #"1.9 -8 translate 5 4 scale 1 setgray 0 0 moveto 0 1
+\relative c' {
+  << {
+    \dynamicUp
+    \override DynamicLineSpanner #'staff-padding = #4
+    r2 r16 c'8.\pp r4
+  } \\ {
+    \override DynamicLineSpanner #'layer = #0
+    des,2\mf\< ~
+    \override TextScript #'layer = #2
+    des16_\markup {
+      \postscript #"1.9 -8 translate 5 4 scale 1 setgray 0 0 moveto 0 1
         lineto 1 1 lineto 1 0 lineto 0 0 lineto fill"
-      }
-      r8. des4 ~ des16->\sff
-    } >>
-  }
-  \layout { ragged-right = ##t }
+    }
+    r8. des4 ~ des16->\sff
+  } >>
 }
index ad009a1a21d0fcac8ac7d19e0b12b4a2af6ffcd7..dcd51ce87e6c9c614d307915eaa39a81e1545ae6 100644 (file)
@@ -12,10 +12,18 @@ snippets page may not adequately show the results.
 The result will be files named
 @file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
 
-@itemize @bullet
-@item If system starts and ends are included, they include extents of the System grob, e.g., instrument names.
-@item Grace notes at the end point of the region are not included.
-@item Regions can span multiple systems. In this case, multiple EPS files are generated.
+@itemize
+@item
+If system starts and ends are included, they include extents of the
+System grob, e.g., instrument names.
+
+@item
+Grace notes at the end point of the region are not included.
+
+@item
+Regions can span multiple systems.  In this case, multiple EPS files
+are generated.
+
 @end itemize
 "
   doctitle = "Clip systems"
@@ -74,7 +82,9 @@ origScore = \score {
   \score {
     \lyrics {
       \markup { from-2.0.1-to-4.0.1-clip.eps }
-      \markup { \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps" (ly:parser-output-name parser)) }
+      \markup {
+        \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps"
+                            (ly:parser-output-name parser)) }
     }
   }
 }
index c6743d5abeb10911488c6c5aba27eb55b4b03789..ec5302cb829ace4c8217483af2e629e826e48724 100644 (file)
@@ -15,8 +15,6 @@ end of one system and the start of the following system.
 
 % Thanks to Risto Vääräniemi for this snippet
 
-\paper { ragged-right = ##t }
-
 {
   \key a \major
   \set Score.markFormatter = #format-mark-box-letters
@@ -36,5 +34,5 @@ end of one system and the start of the following system.
   \mark \markup { \box \bold "Intro" }
   d'1
   \mark \default
-  d'
+  d'1
 }
diff --git a/input/new/display-bracket-with-only-one-staff-in-a-system.ly b/input/new/display-bracket-with-only-one-staff-in-a-system.ly
new file mode 100644 (file)
index 0000000..690f371
--- /dev/null
@@ -0,0 +1,39 @@
+\version "2.11.38"
+\header {
+  lsrtags = "staff-notation,tweaks-and-overrides"
+  texidoc = "If there is only one staff in one of the staff types
+@code{ChoirStaff}, @code{InnerChoirStaff}, @code{InnerStaffGroup}
+or @code{StaffGroup}, the bracket and the starting bar line will not
+be displayed as standard behavior.  This can be changed by overriding
+the relevant properties, as demonstrated in this example.
+
+Note that in contexts such as @code{PianoStaff} and @code{GrandStaff}
+where the systems begin with a brace instead of a bracket, another
+property has to be set, as shown on the second system in the example.
+"
+  doctitle = "Display bracket with only one staff in a system"
+}
+
+\markup \column {
+  \score {
+    \new StaffGroup <<
+      % Must be lower than the actual number of staff lines
+      \override StaffGroup.SystemStartBracket #'collapse-height = #1
+      \override Score.SystemStartBar #'collapse-height = #1
+      \new Staff {
+        c'1
+      }
+    >>
+    \layout {}
+  }
+  \score {
+    \new PianoStaff <<
+      \override PianoStaff.SystemStartBrace #'collapse-height = #1
+      \override Score.SystemStartBar #'collapse-height = #1
+      \new Staff {
+        c'1
+      }
+    >>
+    \layout {}
+  }
+}
index 489a9bd8a6e825fa6ebf9f4c383f85351c31247e..25521bf7b52c59b61036beecea7dea2b250404bf 100644 (file)
@@ -1,23 +1,22 @@
 \version "2.11.23"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "tweaks-and-overrides"
   texidoc = "
 The @code{print-function} can be overridden to draw a box around an
-arbitrary grob.  
+arbitrary grob.
 "
   doctitle = "Drawing boxes around grobs"
 }
 
 \relative c'' {
-  \override TextScript  #'stencil =
-  #(make-stencil-boxer 0.1 0.3 ly:text-interface::print)
+  \override TextScript #'stencil =
+    #(make-stencil-boxer 0.1 0.3 ly:text-interface::print)
   c'4^"foo"
 
-  \override Stem  #'stencil =
-  #(make-stencil-boxer 0.05 0.25 ly:stem::print)
+  \override Stem #'stencil =
+    #(make-stencil-boxer 0.05 0.25 ly:stem::print)
   \override Score.RehearsalMark  #'stencil =
-  #(make-stencil-boxer 0.15 0.3 ly:text-interface::print)
+    #(make-stencil-boxer 0.15 0.3 ly:text-interface::print)
   b8
   
   \revert Stem #'stencil
index 0fcd4ffee3e488a34d614361e4fb725396568287..8b8a09ee2d69abae460acf9c1eea7d6940b8ae1d 100644 (file)
@@ -1,5 +1,4 @@
 \version "2.11.23"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "tweaks-and-overrides"
   texidoc = "
@@ -14,14 +13,14 @@ such as @code{#'thickness}, @code{#'circle-padding} or @code{#'font-size}.
   doctitle = "Drawing circles around various objects"
 }
 
-\relative c'{
-c1
-\set Score.markFormatter
-  = #(lambda (mark context)
+\relative c' {
+  c1
+  \set Score.markFormatter =
+    #(lambda (mark context)
              (make-circle-markup (format-mark-numbers mark context)))
-\mark \default
-c2 d^\markup{\circle \finger "2"}
-\override Score.BarNumber #'break-visibility = #all-visible
-\override Score.BarNumber  #'stencil
-  = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
+  \mark \default
+  c2 d^\markup { \circle \finger 2 }
+  \override Score.BarNumber #'break-visibility = #all-visible
+  \override Score.BarNumber  #'stencil =
+    #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
 }
index 8b0081d0b1e6da0d970abbcb0fefd49a81d3e87b..51d5cc54c08aa0112594f29043c7f106fc8896db 100644 (file)
@@ -51,7 +51,8 @@ global = {
   
   %make the staff lines invisible on staves
   \override Staff.BarLine #'transparent = ##t
-  \skip 1*8 % the actual music
+  % the actual music
+  \skip 1*8
 
   % let finis bar go through all staves
   \override Staff.BarLine #'transparent = ##f
@@ -67,7 +68,7 @@ discantusIncipit = <<
       \clef "neomensural-c1"
       \key f \major
       \time 2/2
-      c''1. 
+      c''1.
     }
   >>
   \new Lyrics \lyricsto discantusIncipit { IV- }
@@ -81,7 +82,8 @@ discantusNotes = {
     c'4 e'4.( d'8 c' b |
     a4) b a2 |
     b4.( c'8 d'4) c'4 |
-    \once \override NoteHead #'transparent = ##t c'1 |
+    \once \override NoteHead #'transparent = ##t
+    c'1 |
     b\breve |
   }
 }
@@ -103,7 +105,7 @@ altusIncipit = <<
       \clef "neomensural-c3"
       \key f \major
       \time 2/2
-      r1 f'1. 
+      r1 f'1.
     }
   >>
   \new Lyrics \lyricsto altusIncipit { IV- }
@@ -112,17 +114,20 @@ altusIncipit = <<
 altusNotes = {
   \transpose c' c'' {
     \clef "treble"
-    r2 g2. e4 fis g | % two bars
+    % two measures
+    r2 g2. e4 fis g |
     a2 g4 e |
     fis g4.( fis16 e fis4) |
     g1 |
-    \once \override NoteHead #'transparent = ##t g1 |
+    \once \override NoteHead #'transparent = ##t
+    g1 |
     g\breve |
   }
 }
 
 altusLyrics = \lyricmode {
-  Ju -- bi -- la -- te | % two bars
+  % two measures
+  Ju -- bi -- la -- te |
   De -- o, om -- |
   nis ter -- ra, |
   "..." |
@@ -151,14 +156,17 @@ tenorNotes = {
     R1 |
     R1 |
     R1 |
-    r2 d'2. d'4 b e' | % two bars
-    \once \override NoteHead #'transparent = ##t e'1 |
+    % two measures
+    r2 d'2. d'4 b e' |
+    \once \override NoteHead #'transparent = ##t
+    e'1 |
     d'\breve |
   }
 }
 
 tenorLyrics = \lyricmode {
-  Ju -- bi -- la -- te | % two bars
+  % two measures
+  Ju -- bi -- la -- te |
   "..." |
   -us. 
 }
@@ -186,7 +194,8 @@ bassusNotes = {
     R1 |
     R1 |
     g2. e4 |
-    \once \override NoteHead #'transparent = ##t e1 |
+    \once \override NoteHead #'transparent = ##t
+    e1 |
     g\breve |
   }
 }
@@ -194,28 +203,28 @@ bassusNotes = {
 bassusLyrics = \lyricmode {
   Ju -- bi- |
   "..." |
-  -us. 
+  -us.
 }
 
 \score {
   <<
     \new StaffGroup = choirStaff <<
       \new Voice = "discantusNotes" <<
-        \global 
+        \global
         \set Staff.instrumentName = "Discantus"
         \incipit \discantusIncipit
         \discantusNotes
       >>
       \new Lyrics = "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
       \new Voice = "altusNotes" <<
-        \global 
+        \global
         \set Staff.instrumentName = "Altus"
         \incipit \altusIncipit
         \altusNotes
       >>
       \new Lyrics = "altusLyrics" \lyricsto altusNotes { \altusLyrics }
       \new Voice = "tenorNotes" <<
-        \global 
+        \global
         \set Staff.instrumentName = "Tenor"
         \incipit \tenorIncipit
         \tenorNotes
@@ -227,30 +236,33 @@ bassusLyrics = \lyricmode {
         \bassusNotes
       >>
     >>
-    \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics } 
+    \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
     %% Keep the bass lyrics outside of the staff group to avoid bar lines
     %% between the lyrics.
   >>
   \layout {
     \context {
       \Score
-      %% no bars in staves
+      %% no bar lines in staves
       \override BarLine #'transparent = ##t
     }
-    %% the next three instructions keep the lyrics between the barlines
+    %% the next three instructions keep the lyrics between the bar lines
     \context {
-      \Lyrics 
+      \Lyrics
       \consists "Bar_engraver" 
       \override BarLine #'transparent = ##t
     } 
-    \context { \StaffGroup \consists "Separating_line_group_engraver" }
+    \context {
+      \StaffGroup
+      \consists "Separating_line_group_engraver"
+    }
     \context {
       \Voice
       %% no slurs
       \override Slur #'transparent = ##t
       %% Comment in the below "\remove" command to allow line
-      %% breaking also at those barlines where a note overlaps
-      %% into the next bar.  The command is commented out in this
+      %% breaking also at those bar lines where a note overlaps
+      %% into the next measure.  The command is commented out in this
       %% short example score, but especially for large scores, you
       %% will typically yield better line breaking and thus improve
       %% overall spacing if you comment in the following command.
diff --git a/input/new/letter-tablature-formatting.ly b/input/new/letter-tablature-formatting.ly
deleted file mode 100644 (file)
index 0fb7fd2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-\version "2.11.35"
-
-\header {
-  lsrtags = "fretted-strings"
-  texidoc = "
-You can format a tablature with letters instead of numbers - so that
-0->a, 1->b, 2->c, etc. 
-
-BROKEN IN 2.11, COMMENTED OUT."
-  doctitle = "Letter tablature formatting"
-}
-{ c'4 }
index dfef7c8f12ba3e8f19cc9143a6f9110c5e476107..9c50cec1ead78ab51942909b5078c642663569a9 100644 (file)
@@ -1,8 +1,8 @@
 \version "2.10.0"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "expressive-marks"
-  texidoc = "Arrows can be applied to text-spanners and line-spanners (such as the Glissando)"
+  texidoc = "Arrows can be applied to text-spanners and line-spanners
+(such as the Glissando)"
   doctitle = "Line arrows"
 }
 
@@ -21,6 +21,6 @@
   \override Glissando #'arrow-length = #0.5
   \override Glissando #'arrow-width = #0.25
   
-  a8\startTextSpan gis8 a4 b4\glissando
-  b,4 | g' c\stopTextSpan c
+  a8\startTextSpan gis a4 b\glissando b,
+  g'4 c\stopTextSpan c2
 }
index b62e93fd64f6ac3cca86d3b792a443b1d6a5b977..96447ff5898220e9a89cbcb599eca293e363fb0d 100644 (file)
@@ -2,10 +2,10 @@
 \header {
   lsrtags = "pitches"
   texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
-  microtonal alterations.  Consult the initialization file
-  @code{makam-init.ly} (in @code{/usr/share/lilypond/current/ly})
-  for details of pitch names and alterations.
-  "
+microtonal alterations.  Consult the initialization file
+@code{makam-init.ly} (in @code{/usr/share/lilypond/current/ly})
+for details of pitch names and alterations.
+"
   doctitle = "Makam"
 }
 
@@ -13,8 +13,8 @@
 \include "makam-init.ly"
 
 \relative c' {
-  \set Staff.keySignature =  #`((3 . ,BAKIYE) (6 . ,(- KOMA)))  
-  c cc db fk
-  gbm gfc gfb efk
-  fk db cc c
+  \set Staff.keySignature = #`((3 . ,BAKIYE) (6 . ,(- KOMA)))
+  c4 cc db fk
+  gbm4 gfc gfb efk
+  fk4 db cc c
 }
index 30fe17870f9056f1ae4fbc152120e5da45de22d6..801955d2db372bb7f83ea13ecd2c6bbff5beffd0 100644 (file)
@@ -1,5 +1,4 @@
 \version "2.11.23"
-\layout { ragged-right = ##t }
 \header {
   lsrtags = "rhythms,tweaks-and-overrides"
   texidoc = "
@@ -8,8 +7,7 @@ printed in \"invisible ink\": the object is not printed, but all its
 other behavior is retained.  The object still takes up space, it takes
 part in collisions, and slurs, ties and beams can be attached to it.
 
-
-The snippet demonstrates how to connect different voices using ties. 
+This snippet demonstrates how to connect different voices using ties.
 Normally, ties only connect two notes in the same voice.  By
 introducing a tie in a different voice, and blanking the first up-stem
 in that voice, the tie appears to cross voices.  To prevent the blanked stem's
@@ -26,8 +24,8 @@ flag from interfering with tie positioning, the stem is extended.
     b8 ~ b\noBeam
     \once \override Stem #'transparent = ##t
     \once \override Stem #'length = #8
-    g ~ g\noBeam
+    g8 ~ g\noBeam
   } \\ {
-    b g g e
+    b8 g g e
   } >>
 }
index 0595133a11686f76cc95e731bcd6035f87ea3051..26d0261e97e11fd7ee14867585182fb546bca5a5 100644 (file)
 #(set-default-paper-size "a6")
 
 #(define-markup-list-command (paragraph layout props args) (markup-list?)
-  (interpret-markup-list layout props 
+  (interpret-markup-list layout props
    (make-justified-lines-markup-list (cons (make-hspace-markup 2) args))))
 
-%% Candide, Voltaire
+% Candide, Voltaire
 \markuplines \override-lines #'(baseline-skip . 2.5) {
   \paragraph {
     Il y avait en Westphalie, dans le château de M. le baron de
index cfb274d0ecfd97b9ab9425faf87182526de1a4cb..67c63d2513b70d35943cad4a637e2dc8437559fb 100644 (file)
@@ -10,9 +10,11 @@ a score, or in a document generated with @code{lilypond-book}.
   doctitle = "Outputting the version number"
 }
 
-\score { \context Lyrics  {
-    \override Score.RehearsalMark  #'self-alignment-X = #LEFT
-    \mark #(ly:export (string-append "Processed with LilyPond version " (lilypond-version)))
+\score {
+  \context Lyrics {
+    \override Score.RehearsalMark #'self-alignment-X = #LEFT
+    \mark #(ly:export (string-append "Processed with LilyPond version "
+                       (lilypond-version)))
     s2
   }
 }
index 2af1ad1f1b3639cd2d36572f17aaca9b5e520ec1..5c76862641e4e210e7860639dd731b6f9f5649be 100644 (file)
@@ -1,9 +1,8 @@
 \version "2.11.26"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "spacing"
   texidoc = "Page labels may be placed inside music or at top-level,
-and refered to in markups."
+and referred to in markups."
   doctitle = "Page label"
 }
 
@@ -14,13 +13,13 @@ and refered to in markups."
    (markup #:fill-line (text #:page-ref label "8" "?"))))
 
 \book {
-  \markup \huge \fill-line { \null "Title Page" \null }
+  \markup \huge \fill-line { \null Title Page \null }
 
   \pageBreak
 
   \label #'toc
   \markup \column {
-    \large \fill-line { \null "Table of contents" \null }
+    \large \fill-line { \null Table of contents \null }
     \toc-line #'toc "Table of contents"
     \toc-line #'firstScore "First Score"
     \toc-line #'markA "Mark A"
@@ -33,14 +32,15 @@ and refered to in markups."
 
   \label #'firstScore
   \score {
-    { c'2 c'
-      \mark \markup { A (page \concat { \page-ref #'markA "0" "?" ) }} \label #'markA 
-      c' c'
+    {
+      c'2 c'
+      \mark \markup { A (page \concat { \page-ref #'markA "0" "?" ) } } \label #'markA
+      c'2 c'
       \pageBreak
       \mark "B" \label #'markB
-      d' d'
-      d' d'
-      \once \override Score . RehearsalMark #'break-visibility = #begin-of-line-invisible
+      d'2 d'
+      d'2 d'
+      \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
       \mark "C" \label #'markC
     }
     \header { piece = "First score" }
index 65c437c0db7aadca87bf8e3f4b62b48c770fcce3..063c0b33ca75dd81e25f1b8005726ae1e1bd08c3 100644 (file)
@@ -15,7 +15,7 @@ upper = \relative c'' {
   \key c \major
   \time 4/4
   
-  a b c d
+  a4 b c d
 }
 
 lower = \relative c {
@@ -27,12 +27,11 @@ lower = \relative c {
 }
 
 dynamics = {
-  s2\fff\> s4
-  s\!\pp
+  s2\fff\> s4 s\!\pp
 }
 
 pedal = {
-  s2\sustainDown s2\sustainUp
+  s2\sustainDown s\sustainUp
 }
 
 \score {
@@ -49,7 +48,8 @@ pedal = {
     \context {
       \type "Engraver_group"
       \name Dynamics
-      \alias Voice % So that \cresc works, for example.
+      % So that \cresc works, for example.
+      \alias Voice
       \consists "Output_property_engraver"
       
       \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
@@ -77,19 +77,8 @@ pedal = {
 }
 \score {
   \new PianoStaff <<
-    \new Staff = "upper" << \upper \dynamics >>
-    \new Staff = "lower" << \lower \dynamics >>
-    \new Dynamics = "pedal" \pedal
+    \new Staff = "upper" << \upper \dynamics \pedal >>
+    \new Staff = "lower" << \lower \dynamics \pedal >>
   >>
-  \midi {
-    \context {
-      \type "Performer_group"
-      \name Dynamics
-      \consists "Piano_pedal_performer"
-    }
-    \context {
-      \PianoStaff
-      \accepts Dynamics
-    }
-  }
+  \midi {}
 }
index 64d4f079949f3cfc62faefb256997710bc70b576..8db3d1f66e666b455e1f963c47a71b33f918dd25 100644 (file)
@@ -1,5 +1,4 @@
 \version "2.11.42"
-\layout { ragged-right = ##t }
 \header {
   lsrtags = "rhythms,tweaks-and-overrides"
   texidoc = "
index c2ba9850a7905742e99ed8038e5986181b78b0df..2f67b56eb5598a09897eaf4c99e0bc81a8a2a81e 100644 (file)
@@ -2,10 +2,11 @@
 \header {
   lsrtags = "pitches,staff-notation"
   texidoc = "Quotations take into account the transposition of both
-source and target. In this example, all instruments play sounding
-middle C; the target is an instrument in F. The target part may be
-transposed using @code{\\transpose}. In this case, all the pitches (including the
-quoted ones) are transposed."
+source and target.  In this example, all instruments play sounding
+middle C; the target is an instrument in F.  The target part may be
+transposed using @code{\\transpose}.  In this case, all the pitches
+(including the quoted ones) are transposed.
+"
   doctitle = "Quoting another voice with transposition"
 }
 
@@ -29,7 +30,7 @@ quoteTest = {
 }
 
 {
-  \set Staff.instrumentName = \markup \center-align { "Horn" "in F" }
+  \set Staff.instrumentName = \markup \center-align { Horn \line { in F } }
   \quoteTest
   \transpose c' d' << \quoteTest s4_"up a tone" >>
 }
index bac9ef3ea91df44064927769e6ff881f17d4f936..cfa4726f4213f8325f264551f0e7b10b58a7063e 100644 (file)
@@ -1,37 +1,40 @@
 \version "2.11.10"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "staff-notation"
   texidoc = "With @code{\\quote}, fragments of previously entered
-music may be quoted. @code{quotedEventTypes} will determines what
-things are quoted.  In this example, a 16th rest is not quoted, since
+music may be quoted.  @code{quotedEventTypes} will determines which
+items are quoted.  In this example, a 16th rest is not quoted, since
 @code{rest-event} is not in @code{quotedEventTypes}."
   doctitle = "Quoting another voice"
 }
 
 quoteMe = \relative c' { fis4 r16  a8.-> b4-\ff c }
 
-\addQuote quoteMe \quoteMe 
-original = \relative c'' { c8 d s2 es8 gis8 }
+\addQuote quoteMe \quoteMe
+original = \relative c'' {
+  c8 d s2
+  \once \override NoteColumn #'ignore-collision = ##t
+  es8 gis8
+}
 
 <<
-    \new Staff {
-       \set Staff.instrumentName = "quoteMe"
-       \quoteMe
-    }
-    \new Staff {
-       \set Staff.instrumentName = "orig"
-       \original
-    }
-    \new Staff \relative c'' <<
-       \set Staff.instrumentName = "orig+quote"        
-       \set Staff.quotedEventTypes = #'(note-event articulation-event)
-       \original
-       \new Voice {
-           s4
+  \new Staff {
+    \set Staff.instrumentName = "quoteMe"
+    \quoteMe
+  }
+  \new Staff {
+    \set Staff.instrumentName = "orig"
+    \original
+  }
+  \new Staff \relative c'' <<
+    \set Staff.instrumentName = "orig+quote"
+    \set Staff.quotedEventTypes = #'(note-event articulation-event)
+    \original
+    \new Voice {
+      s4
            \set fontSize = #-4
            \override Stem #'length-fraction = #(magstep -4)
            \quoteDuring #"quoteMe" { \skip 2. }
-       }
-    >>
+    }
+  >>
 >>
index 864f29184b79161cf5f89bc986453c52032423fa..6f53465a1120755daa3d48a50448a973c8274e8e 100644 (file)
@@ -3,7 +3,7 @@
   lsrtags = "expressive-marks"
   texidoc = "If the note which ends a hairpin falls on a downbeat,
 the hairpin stops at the bar line immediately preceding.  This behavior
-can be controlled by overriding the @code{'to-barline} property.
+can be controlled by overriding the @code{to-barline} property.
 "
   doctitle = "Setting hairpin behavior at bar lines"
 }
index 327cd0972d9935c2a27ec1674808d96fa2b4c581..559ea790524e4cc2c9c4c077838533e8b7f7a273 100644 (file)
@@ -1,9 +1,8 @@
 \version "2.11.26"
-\layout { ragged-right= ##t }
 \header {
   lsrtags = "paper-and-layout"
   texidoc = "A table of contents is included using
-@code{\\markuplines \\table-of-contents}. The TOC items are added with
+@code{\\markuplines \\table-of-contents}.  The TOC items are added with
 the @code{\\tocItem} command."
   doctitle = "Table of contents"
 }
@@ -13,19 +12,18 @@ the @code{\\tocItem} command."
 \book {
   \markuplines \table-of-contents
   \pageBreak
-
-  \tocItem \markup "The first score"
+  \tocItem \markup { The first score }
   \score {
-    { 
+    {
       c'1 \pageBreak
-      \mark "A" \tocItem \markup "Mark A"
-      d'
+      \mark "A" \tocItem \markup { Mark A }
+      d'1
     }
   }
   \pageBreak
-  \tocItem \markup "The second score"
+  \tocItem \markup { The second score }
   \score {
-    { e' }
+    { e'1 }
     \header { piece = "Second score" }
   }
 }
index 5414de61f3833631ca026675f66ecf3058ac8369..dd5c7b5f430ba723dfef7b5bab73509102bfb533 100644 (file)
@@ -1,9 +1,9 @@
 \version "2.11.33"
 \header {
   lsrtags = "pitches"
-  texidoc = "This example uses some Scheme code to enforce enharmonic modifications for
-notes in order to have the minimum number of accidentals. In this
-case, the following rules apply:
+  texidoc = "This example uses some Scheme code to enforce enharmonic
+modifications for notes in order to have the minimum number of
+accidentals.  In this case, the following rules apply:
 
 @itemize
 @item
@@ -30,7 +30,7 @@ In this manner, the most natural enharmonic notes are chosen.
 
 #(define  (naturalize-pitch p)
   (let* ((o (ly:pitch-octave p))
-         (a (* 4 (ly:pitch-alteration p))) 
+         (a (* 4 (ly:pitch-alteration p)))
     ; alteration, a, in quarter tone steps, for historical reasons
          (n (ly:pitch-notename p)))
     (cond
@@ -43,8 +43,8 @@ In this manner, the most natural enharmonic notes are chosen.
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
-    (if (< n 0) (begin (set!  o (- o 1)) (set! n (+ n 7))))
-    (if (> n 6) (begin (set!  o (+ o 1)) (set! n (- n 7))))
+    (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
+    (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
     (ly:make-pitch o n (/ a 4))))
 
 #(define (naturalize music)
@@ -79,5 +79,5 @@ music =  \relative c' { c4 d e g }
     \transpose c deses \music
     \naturalizeMusic \transpose c deses \music
   }
-  \layout { ragged-right = ##t }
+  \layout {}
 }
index 6573543ea8362219f65c9968fa643bf4177368b2..5b5d3650d2ff6b031ad54a84b2eb006d096aa271 100644 (file)
@@ -3,18 +3,19 @@
 \header {
   lsrtags = "tweaks-and-overrides"
   texidoc = "
-With the @code{\tweak} command, you can tune every grob directly. Here
+With the @code{\\tweak} command, every grob can be tuned directly.  Here
 are some examples of available tweaks.
 "
   doctitle = "Using the @code{\tweak} command to tweak individual grobs"
 }
 
-{
+\relative c' {
+  \time 2/4
   \set fingeringOrientations = #'(right)
   <
-    \tweak #'font-size #3  c
+    \tweak #'font-size #3 c
     \tweak #'color #red  d-\tweak #'font-size #8 -4
-    \tweak #'style #'cross  g
-    \tweak #'duration-log # a
-  >4
+    \tweak #'style #'cross g
+    \tweak #'duration-log #2 a
+  >2
 }
index 8425157065c208b6d177ab6ed33f35f0faaae552..84622caab174ea103383d8e11763a7057a917ad7 100644 (file)
@@ -9,21 +9,21 @@ You may have to install additional fonts.
 Red Hat Fedora
 
     taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
-        ttfonts-zh_CN fonts-ja fonts-hebrew 
+   ttfonts-zh_CN fonts-ja fonts-hebrew 
 
 Debian GNU/Linux
 
    apt-get install emacs-intl-fonts xfonts-intl-.* \
-       ttf-kochi-gothic ttf-kochi-mincho \
-       xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi 
+  ttf-kochi-gothic ttf-kochi-mincho \
+  xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi 
 %} 
 
 \header {
   lsrtags = "text"
   texidoc = "Various scripts may be used for texts (like titles and
-lyrics) introduced by entering them in UTF-8 encoding, and using a
-Pango based backend.  Depending on the fonts installed, this fragment
-will render Bulgarian (Cyrillic), Hebrew, Japanese and Portuguese.
+lyrics) by entering them in UTF-8 encoding, and using a Pango based
+backend.  Depending on the fonts installed, this fragment will
+render Bulgarian (Cyrillic), Hebrew, Japanese and Portuguese.
 "
   doctitle = "UTF-8"
 }
@@ -35,28 +35,27 @@ bulgarian = \lyricmode {
   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
 }
 
-hebrew = \lyricmode { 
+hebrew = \lyricmode {
   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
 }
 
-japanese = \lyricmode {  
+japanese = \lyricmode {
   いろはにほへど ちりぬるを
   わがよたれぞ  つねならむ
   うゐのおくや  まけふこえて
-  あさきゆめみじ ゑひもせず 
+  あさきゆめみじ ゑひもせず
 }
 
 % "a legal song to you"
-portuguese = \lyricmode { 
+portuguese = \lyricmode {
   à vo -- cê uma can -- ção legal
 }
 
-\paper {
-  ragged-right = ##t
-}
-
-\relative  { 
-  c2 d e f g f e
+\relative  {
+  c2 d
+  e2 f
+  g2 f
+  e1
 }
 \addlyrics { \bulgarian }
 \addlyrics { \hebrew }
index e04c46fd0db55abac32b4b489d8ae2f881616655..4db5dc42ef54161eb90487536a63eece5603f998 100644 (file)
@@ -2,23 +2,30 @@
 \layout { ragged-right= ##t }
 \header {
   lsrtags = "repeats,staff-notation"
-  texidoc = "By adding @code{Volta_engraver}, repeat brackets
-can be put over staves other than the topmost one in a score."
+  texidoc = "By adding the @code{Volta_engraver} to the relevant
+staff, volte can be put over staves other than the topmost
+one in a score."
   doctitle = "Volta multi-staff"
 }
 
-vmus = \relative c'' {
-  \repeat volta 2 c1 \alternative { d e } 
+% LSR: this is a test which should get automatically
+% LSR: removed from input/lsr/    -gp
+voltaMusic = \relative c'' {
+  \repeat volta 2
+    c1 
+    \alternative { 
+    d e
+   } 
 } 
 
 <<
   \new StaffGroup <<
-    \context Staff \vmus
-    \new Staff \vmus
+    \context Staff \voltaMusic
+    \new Staff \voltaMusic
   >>
   \new StaffGroup <<
-    \new Staff \with { \consists Volta_engraver }
-      \vmus
-    \new Staff \vmus
+    \new Staff \with { \consists "Volta_engraver" }
+      \voltaMusic
+    \new Staff \voltaMusic
   >>
 >>
index 057e233f443d6522ddf4bddc5d74b7a515881dde..92c405391dfeb1d00465c629e034fcef8c49365a 100644 (file)
@@ -91,37 +91,13 @@ get_skylines (Grob *me,
              bool pure, int start, int end,
              vector<Skyline_pair> *const ret)
 {
-  /* each child's skyline was calculated according to the common refpoint of its
-     elements. Here we need all the skylines to be positioned with respect to
-     a single refpoint, so we need the common refpoint of the common refpoints
-     of the elements of the children */
-  vector<Grob*> child_refpoints;
-  for (vsize i = 0; i < elements->size (); i++)
-    {
-      Grob *elt = (*elements)[i];
-      Grob *child_common = unsmob_grob ((a == Y_AXIS)
-                                       ? elt->get_object ("X-common")
-                                       : elt->get_object ("Y-common"));
-      
-      if (!child_common)
-       {
-         extract_grob_set (elt, "elements", child_elts);
-         child_common = common_refpoint_of_array (child_elts, elt, other_axis (a));
-       }
-      
-      child_refpoints.push_back (child_common);
-    }
-
-  Grob *other_common = common_refpoint_of_array (child_refpoints, me, other_axis (a));
+  Grob *other_common = common_refpoint_of_array (*elements, me, other_axis (a));
   
   for (vsize i = elements->size (); i--;)
     {
       Grob *g = (*elements)[i];
       Skyline_pair skylines;
 
-      /* each skyline is calculated relative to (potentially) a different other_axis
-        coordinate. In order to compare the skylines effectively, we need to shift them
-        to some absolute reference point */
       if (!pure)
        {
          Skyline_pair *skys = Skyline_pair::unsmob (g->get_property (a == Y_AXIS
@@ -147,7 +123,10 @@ get_skylines (Grob *me,
                skylines.insert (b, 0, other_axis (a));
            }
 
-         Real offset = child_refpoints[i]->relative_coordinate (other_common, other_axis (a));
+         /* This skyline was calculated relative to the grob g. In order to compare it to
+            skylines belonging to other grobs, we need to shift it so that it is relative
+            to the common reference. */
+         Real offset = g->relative_coordinate (other_common, other_axis (a));
          skylines.shift (offset);
        }
       else
@@ -403,7 +382,7 @@ ADD_INTERFACE (Align_interface,
               "Order grobs from top to bottom, left to right, right to left"
               " or bottom to top.  For vertical alignments of staves, the"
               " @code{break-system-details} of the left"
-              " @internalsref{NonMusicalPaperColumn} may be set to tune"
+              " @rinternals{NonMusicalPaperColumn} may be set to tune"
               " vertical spacing.  Set @code{alignment-extra-space} to add"
               " extra space for staves.  Set"
               " @code{fixed-alignment-extra-space} to force staves in"
index 4fef353a4638cc1a0133a3f13fe98bcfa10a5f60..4196f7a7691ce263cc931831f4b039e754281d03 100644 (file)
@@ -92,10 +92,7 @@ Rhythmic_column_engraver::process_acknowledged ()
        }
 
       if (arpeggio_)
-       {
-         Pointer_group_interface::add_grob (note_column_, ly_symbol2scm ("elements"), arpeggio_);
-         note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
-       }
+       note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
     }
 }
 
index a567f3c6bd50c336e56773b14209efeb2d81eb45..2e46c597719bff580a14187c317561cd7d4e4f1b 100644 (file)
@@ -11,6 +11,7 @@
 #include "accidental-placement.hh"
 #include "axis-group-interface.hh"
 #include "lookup.hh"
+#include "note-column.hh"
 #include "note-head.hh"
 #include "paper-column.hh"
 #include "pointer-group-interface.hh"
@@ -101,7 +102,18 @@ Separation_item::boxes (Grob *me, Grob *left)
   if (left)
     elts = Accidental_placement::get_relevant_accidentals (read_only_elts, left);
   else
-    elts = read_only_elts;
+    {
+      elts = read_only_elts;
+
+      /* This is a special-case for NoteColumn: we want to include arpeggio in its
+        skyline (so spacing takes it into account) but we don't want to include it
+        in the NoteColumn's extent because some spanners (eg. Hairpin) bound themselves
+        on the NoteColumn and we don't want them to include arpeggios in their bounds.
+      */
+      if (Grob *a = Note_column::arpeggio (me)) {
+       elts.push_back (a);
+      }
+    }
 
   Grob *ycommon = common_refpoint_of_array (elts, me, Y_AXIS);
   
index f656942b1630e769a87b4f549201e2271bc7b56c..357a3e02f4239aca187a74f55f2a3bdde71576f7 100644 (file)
@@ -53,8 +53,8 @@ used.  Each rule consists of
 
 @item context
 In which context is the rule applied.  For example, if @var{context}
-is @internalsref{Score} then all staves share accidentals, and if
-@var{context} is @internalsref{Staff} then all voices in the same staff
+is @rinternals{Score} then all staves share accidentals, and if
+@var{context} is @rinternals{Staff} then all voices in the same staff
 share accidentals, but staves do not.
 
 @item octavation
@@ -173,8 +173,8 @@ non-hairpin decrescendo, i.e., @samp{dim.}.")
      (defaultBarType ,string? "Set the default type of bar line.  See
 @code{whichBar} for information on available bar types.
 
-This variable is read by @internalsref{Timing_translator} at
-@internalsref{Score} level.")
+This variable is read by @rinternals{Timing_translator} at
+@rinternals{Score} level.")
      (doubleSlurs ,boolean? "If set, two slurs are created for every
 slurred note, one above and one below the chord.")
      (drumPitchTable ,hash-table? "A table mapping percussion
@@ -242,7 +242,7 @@ string selector for tablature notation.")
      (ignoreBarChecks ,boolean? "Ignore bar checks.")
      (ignoreFiguredBassRest ,boolean? "Don't swallow rest events.")
      (ignoreMelismata ,boolean? "Ignore melismata for this
-@internalsref{Lyrics} line.")
+@rinternals{Lyrics} line.")
      (implicitBassFigures ,list? "A list of bass figures that are not
 printed as numbers, but only as extender lines.")
      (implicitTimeSignatureVisibility ,vector? "break visibility for
@@ -396,7 +396,7 @@ voice @q{two} when part-combining.")
      (soloText ,string? "The text for the start of a solo when
 part-combining.")
      (squashedPosition ,integer? "Vertical position of squashing for
-@internalsref{Pitch_squash_engraver}.")
+@rinternals{Pitch_squash_engraver}.")
      (staffLineLayoutFunction ,procedure? "Layout of staff lines,
 @code{traditional}, or @code{semitone}.")
      (stanza ,markup? "Stanza @q{number} to print before the start of a
@@ -487,7 +487,7 @@ Example:
 
 @noindent
 This will create a start-repeat bar in this staff only.  Valid values
-are described in @internalsref{bar-line-interface}.")
+are described in @rinternals{bar-line-interface}.")
      )))
 
 
index fb6088abf58c4d42fc724121bde4369397f4c37b..8be7c3e0983d0e0de742e37b8a3bb75062013b41 100644 (file)
@@ -184,5 +184,5 @@ with @code{breakable=##t}."
 (ly:add-interface
  'vertically-spaceable-interface
  "Objects that should be kept at constant vertical distances.  Typically:
-@internalsref{VerticalAxisGroup} objects of @internalsref{Staff} contexts."
+@rinternals{VerticalAxisGroup} objects of @rinternals{Staff} contexts."
  '())
index a533278fb539fba74a3e01d7003ffdf482fd4e40..bb2f289e905bfb09478d39c3de27e2198b174667 100644 (file)
@@ -229,7 +229,7 @@ smaller, @code{+1} is bigger.  Each step of@tie{}1 is approximately
 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 @internalsref{note-collision-interface}.")
+note.  This is used by @rinternals{note-collision-interface}.")
      (forced ,boolean? "Manually forced accidental.")
      (fraction ,number-pair? "Numerator and denominator of a time
 signature object.")
@@ -257,7 +257,7 @@ semitie?")
 slur, the closer it is to this height.")
      (horizontal-shift ,integer? "An integer that identifies ranking
 of @code{NoteColumn}s for horizontal shifting.  This is used by
-@internalsref{note-collision-interface}.")
+@rinternals{note-collision-interface}.")
      (horizontal-skylines ,ly:skyline-pair? "Two skylines, one to the
 left and one to the right of this grob.")
 
@@ -339,7 +339,7 @@ directions (i.e., voice 1 &@tie{}2).")
 collisions, even if they have different note heads.  The
 smaller of the two heads is rendered invisible.  This is used in
 polyphonic guitar notation.  The value of this setting is used by
-@internalsref{note-collision-interface}.
+@rinternals{note-collision-interface}.
 
 @code{merge-differently-headed} only applies to opposing stem
 directions (i.e., voice 1 &@tie{}2).")
@@ -454,7 +454,7 @@ values shorten the text-spanner, while negative values lengthen it.")
      (shortest-duration-space ,ly:dimension? "Start with this much
 space for the shortest duration.  This is expressed in
 @code{spacing-increment} as unit.  See also
-@internalsref{spacing-spanner-interface}.")
+@rinternals{spacing-spanner-interface}.")
      (shortest-playing-duration ,ly:moment? "The duration of the
 shortest playing here.")
      (shortest-starter-duration ,ly:moment? "The duration of the
@@ -481,7 +481,7 @@ clef change followed by a barline, for example, this means that we will
 try to space the non-musical column as though the clef is not there.")
      (spacing-increment ,number? "Add this much space for a doubled
 duration.  Typically, the width of a note head.  See also
-@internalsref{spacing-spanner-interface}.")
+@rinternals{spacing-spanner-interface}.")
      (springs-and-rods ,boolean? "Dummy variable for triggering
 spacing routines.")
      (stacking-dir ,ly:dir? "Stack objects in which direction?")
index 1dcd5fd7dc9c7f3be2982c70a37e496031746a5a..d4d11a38ddfc2c3c52970a906eecc1c6460577b4 100644 (file)
@@ -996,8 +996,8 @@ returns an empty markup."
 @cindex overriding properties within text markup
 
 Add the first argument in to the property list.  Properties may be
-any sort of property supported by @internalsref{font-interface} and
-@internalsref{text-interface}, for example
+any sort of property supported by @rinternals{font-interface} and
+@rinternals{text-interface}, for example
 
 @example
 \\override #'(font-family . married) \"bla\"
index 874b3abbe641f1116a8888d90c908952b514be36..94dbf27a240f4fae79c912ab5d88db4c113117fb 100644 (file)
 @end iftex
 
 
-@macro internalsref{NAME}
+@macro rinternals{NAME}
 @ref{\\NAME\\}
 @end macro
 
index 6346b5e419424e4936aa054a5d295ae71cc39e55..5b2a59ccb6234ace564191e3cbe59c6ac4523341 100644 (file)
@@ -55,24 +55,23 @@ additional_definitions = {
             '(-0.1 . 0.1) '(0.1 . 1)))
         0.7 X))))""",
   "eyeglasses": """eyeglassesps = #"0.15 setlinewidth
-% 255 0 0 setrgbcolor
--0.9 0 translate
-1.1 1.1 scale
-1.2 0.7 moveto
-0.7 0.7 0.5 0 361 arc
-stroke
-2.20 0.70 0.50 0 361 arc
-stroke
-1.45 0.85 0.30 0 180 arc
-stroke
-0.20 0.70 moveto
-0.80 2.00 lineto
-0.92 2.26 1.30 2.40 1.15 1.70 curveto
-stroke
-2.70 0.70 moveto
-3.30 2.00 lineto
-3.42 2.26 3.80 2.40 3.65 1.70 curveto
-stroke"
+      -0.9 0 translate
+      1.1 1.1 scale
+      1.2 0.7 moveto
+      0.7 0.7 0.5 0 361 arc
+      stroke
+      2.20 0.70 0.50 0 361 arc
+      stroke
+      1.45 0.85 0.30 0 180 arc
+      stroke
+      0.20 0.70 moveto
+      0.80 2.00 lineto
+      0.92 2.26 1.30 2.40 1.15 1.70 curveto
+      stroke
+      2.70 0.70 moveto
+      3.30 2.00 lineto
+      3.42 2.26 3.80 2.40 3.65 1.70 curveto
+      stroke"
 eyeglasses =  \markup { \with-dimensions #'(0 . 4.4) #'(0 . 2.5) \postscript #eyeglassesps }"""
 }