]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Wed, 23 Dec 2009 16:22:45 +0000 (17:22 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Wed, 23 Dec 2009 16:22:45 +0000 (17:22 +0100)
12 files changed:
Documentation/GNUmakefile
Documentation/contributor/doc-work.itexi
Documentation/learning/common-notation.itely
Documentation/learning/tutorial.itely
Documentation/notation/spacing.itely
Documentation/web/download.itexi
lily/align-interface.cc
lily/tie-performer.cc
ly/paper-defaults-init.ly
make/doc-i18n-root-vars.make
po/nl.po
stepmake/stepmake/texinfo-vars.make

index fc923e872b307c1e3bebef7d53a90b83387e0183..a6abd2a842dac0c04615450ef26c112981e69bfe 100644 (file)
@@ -96,8 +96,8 @@ OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES)))
 
 ### Web site idiosyncrases
 
-$(outdir)/web/index.html: TEXI2HTML_SPLIT = $(WEB_TEXI2HTML_SPLIT)
-$(XREF_MAPS_DIR)/web.xref-map: XREF_MAP_FLAGS += --split=node
+# now all handled by the init file.
+
 
 ### bad hack for badly-integrated roadmap.
 $(outdir)/ROADMAP:
index a1225f2b904c1c828b12169f163438932ce3d0e4..5c4a9ef8f607328ccea9698ef05a6db0dcb16a7a 100644 (file)
@@ -623,6 +623,9 @@ B ... @@end itemize - for bulleted lists.
 @item
 @@var - Use for variables.
 
+@item
+@@version@{@} - Return the current LilyPond version string
+
 @item
 @@warning@{@} - produces a "Note: " box. Use for important messages.
 
index 102261a5422d0e8ac953dd8ae47aab3aa17b2c70..b18a6da5ead2d53ecc0cfe6549929961b6cad5ce 100644 (file)
@@ -1127,7 +1127,6 @@ introduction to the rest of the manual.
 
 @menu
 * Organizing pieces with variables::
-* Version number::
 * Adding titles::
 * Absolute note names::
 * After the tutorial::
@@ -1227,38 +1226,6 @@ places.  The following example uses the above variables:
 @end example
 
 
-@node Version number
-@subsection Version number
-
-@cindex versioning
-@cindex version
-@cindex version number
-@cindex upgrades
-@cindex future upgrades
-@cindex updating files
-@cindex files, updating
-
-@funindex \version
-@funindex version
-@funindex convert-ly
-
-The @code{\version} statement records the version of LilyPond that
-was used to write the file:
-
-@example
-\version @w{"@version{}"}
-@end example
-
-@noindent
-By convention, this is placed at the top of your LilyPond file.
-
-These annotations make future upgrades of LilyPond go more
-smoothly.  Changes in the syntax are handled with a special
-program, @command{convert-ly}, and it uses @code{\version} to
-determine what rules to apply.  For details, see
-@rprogram{Updating files with convert-ly}.
-
-
 @node Adding titles
 @subsection Adding titles
 
index fd35234de208e39e85052e31a6a556f5fc72f1b6..abbb984efc88dbdf0a1c98f48207970a0803851b 100644 (file)
@@ -49,6 +49,7 @@ PNG (for online use).  LilyPond input files are simple text files.
 This example shows a simple input file:
 
 @example
+\version "@w{@version{}}"
 @{
   c' e' g' e'
 @}
@@ -80,16 +81,9 @@ produce an error message.
 
 @subheading Producing output
 
-@c TODO: move index entries
 @cindex PDF file
 @cindex viewing music
 @cindex text editors
-@cindex running LilyPond under MacOS X
-@cindex MacOS X, running LilyPond
-@cindex running LilyPond under Windows
-@cindex Windows, running LilyPond
-@cindex running LilyPond under Unix
-@cindex Unix, running LilyPond
 
 The method of producing output depends on your operating system
 and the program(s) you use.
@@ -122,6 +116,8 @@ support for LilyPond.  For more information, see
 minute or two because all of the system fonts have to be analyzed
 first.  After this, LilyPond will be much faster!}
 
+@cindex running LilyPond under MacOS X
+@cindex MacOS X, running LilyPond
 
 @node MacOS X
 @subsection MacOS X
@@ -191,6 +187,8 @@ with the Mac Operating system and you have the PDF file generated
 from a previous compilation open, then any further compilations
 may fail to generate an update PDF until you close the original.
 
+@cindex running LilyPond under Windows
+@cindex Windows, running LilyPond
 
 @node Windows
 @subsection Windows
@@ -280,6 +278,8 @@ If you are viewing your file in a PDF viewer, then you must close the
 PDF if you wish to make a new compilation as it may fail to create
 the new PDF while it is still being viewed.
 
+@cindex running LilyPond under Unix
+@cindex Unix, running LilyPond
 
 @node Command-line
 @subsection Command-line
@@ -296,6 +296,7 @@ compiling a file.}
 Create a text file called @file{test.ly} and enter:
 
 @example
+\version "@w{@version{}}"
 @{
   c' e' g' e'
 @}
@@ -304,7 +305,7 @@ Create a text file called @file{test.ly} and enter:
 
 @subsubheading Step 2. Compile (with command-line)
 
-To process @file{test.ly}, proceed as follows:
+To process @file{test.ly}, type the following at the command prompt:
 
 @example
 lilypond test.ly
@@ -314,17 +315,15 @@ lilypond test.ly
 You will see something resembling:
 
 @example
-lilypond test.ly
 GNU LilyPond @version{}
 Processing `test.ly'
 Parsing...
 Interpreting music...
 Preprocessing graphical objects...
-Finding the ideal number of pages...
-Fitting music on 1 page...
+Solving 1 page-breaking chunks...[1: 1 pages]
 Drawing systems...
 Layout output to `test.ps'...
-Converting to `test.pdf'...
+Converting to `./test.pdf'...
 @end example
 
 @subsubheading Step 3. View output
@@ -622,13 +621,18 @@ Notation Reference: @ruser{Writing pitches},
 @cindex case sensitive
 @cindex whitespace insensitive
 @cindex expressions
+@cindex versioning
+@cindex version
+@cindex version number
 
+@funindex \version
 @funindex { ... }
 @funindex %
 @funindex %@{ ... %@}
 
 LilyPond input files are similar to source files in many common
-programming languages.  They are case sensitive, and white-space
+programming languages.  They contain a version statement,
+are case sensitive, and white-space
 is generally ignored.  Expressions are formed with curly braces
 @{ @}, and comments are denoted with @code{%} or
 @w{@code{%@{ ... %@}}}.
@@ -638,6 +642,27 @@ explain what all these terms mean:
 
 @itemize
 
+@item
+@strong{Version statement}:
+Every LilyPond file should contain a version statement.  A version
+statement is a line that describes the version of LilyPond for which
+the file was written, as in the following example:
+
+@example
+\version "@w{@version{}}"
+@end example
+
+By convention, the version statement is placed at the top of the
+LilyPond file.
+
+The version statement is important for at least two reasons.  First,
+it allows automatic updating of the input file as LilyPond syntax
+changes.  Second, it describes the version of LilyPond needed to
+compile the file.
+
+If the version statement is omitted from an input file, LilyPond will print
+a warning during the compilation of the file.
+
 @item
 @strong{Case sensitive}:
 it matters whether you enter a letter in lower case (e.g.
@@ -735,15 +760,15 @@ also introduces some useful interactive features available in the
 online version.
 
 @menu
-* Omitting braces::
+* Omitted material::
 * Clickable examples::
 * Keyboard navigation::
 * Overview of manuals::
 @end menu
 
 
-@node Omitting braces
-@subsection Omitting braces
+@node Omitted material
+@subsection Omitted material
 
 
 @cindex how to read the manual
@@ -779,6 +804,10 @@ documentation example and paste it inside a longer piece of your
 own.  Most people want to add material to an existing piece, so we
 format the manual this way.
 
+Also, remember that every LilyPond file should have a @code{@bs{}version}
+statement.  Because the examples in the manuals are snippets, not files,
+the @code{@bs{}version} statement is omitted.  But you should make a
+practice of including them in your files.
 
 @node Clickable examples
 @subsection Clickable examples
index f00b437bb29f076dbd53904337fcdbcf6854ba65..c19638d810180b59aedd4a68a25141c804a3f78e 100644 (file)
@@ -270,12 +270,6 @@ baseline of the last top-level markup) to the bottom of the
 printable area (ie. the top of the bottom margin).
 See @var{after-title-spacing}.
 
-@item foot-separation
-@funindex foot-separation
-
-Distance between the bottom-most music system and the page
-footer.  Default: @code{4\mm}.
-
 @item top-title-spacing
 @funindex top-title-spacing
 
@@ -1522,26 +1516,6 @@ a number (@code{#f}, for example) will cause that line to be treated
 like a staff.  Conversely, setting @var{staff-affinity} for a staff will
 cause it to be treated like a non-staff.
 
-@c FIXME: is it possible to have @example inside @warning?
-@c @warning{ Adjacent non-staff lines should have non-increasing
-@c @var{staff-affinity} from top-to-bottom.  For example, the behavior of
-@c @example
-@c <<
-@c   \new Staff c
-@c   \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
-@c   \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #UP @}
-@c   \new Staff c
-@c >>
-@c @end example
-@c is undefined.
-@c }
-
-@warning{A non-staff line at the bottom of a system should have
-@var{staff-affinity} set to @code{UP}.  Similarly, a non-staff
-line at the top of a system should have @var{staff-affinity} set
-to @code{DOWN}.
-}
-
 Non-staff lines admit three properties to control their spacing.  Each
 of the these properties is an alist of the same format as
 @var{next-staff-spacing}, above.
@@ -1598,58 +1572,49 @@ Internals Reference:
 @rinternals{VerticalAlignment},
 @rinternals{Axis_group_engraver}.
 
-
-@node Vertical spacing between systems
-@subsection Vertical spacing between systems
-
-Space between systems are controlled by four @code{\paper} variables,
-
+@knownissues
+Adjacent non-staff lines should have non-increasing
+@var{staff-affinity} from top-to-bottom.  For example, the behavior of
 @example
-\paper @{
-  between-system-space = 1.5\cm
-  between-system-padding = #1
-  ragged-bottom=##f
-  ragged-last-bottom=##f
-@}
+<<
+  \new Staff c
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #DOWN @}
+  \new Lyrics \with @{ \override VerticalAxisGroup #'staff-affinity = #UP @}
+  \new Staff c
+>>
 @end example
+is undefined.
 
-When only a couple of flat systems are placed on a page, the resulting
-vertical spacing may be non-elegant: one system at the top of the page,
-and the other at the bottom, with a huge gap between them.  To avoid this
-situation, the space added between the systems can be limited.  This
-feature is activated by setting to @code{#t} the
-@code{page-limit-inter-system-space} variable in the @code{\paper}
-block.  The paper variable @code{page-limit-inter-system-space-factor}
-determines how much the space can be increased: for instance, the value
-@code{1.3} means that the space can be 30% larger than what it would be
-on a ragged-bottom page.
-
-In the following example, if the inter system space were not limited,
-the second system of page 1 would be placed at the page bottom.  By
-activating the space limitation, the second system is placed closer to
-the first one.  By setting @code{page-limit-inter-system-space-factor} to
-@code{1}, the spacing would the same as on a ragged-bottom page, like
-the last one.
+A non-staff line at the bottom of a system should have
+@var{staff-affinity} set to @code{UP}.  Similarly, a non-staff
+line at the top of a system should have @var{staff-affinity} set
+to @code{DOWN}.
 
-@lilypond[verbatim]
-#(set-default-paper-size "a6")
-\book {
-  \paper {
-    page-limit-inter-system-space = ##t
-    page-limit-inter-system-space-factor = 1.3
-
-    oddFooterMarkup = \markup "page bottom"
-    evenFooterMarkup = \markup "page bottom"
-    oddHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-    evenHeaderMarkup = \markup \fill-line {
-      "page top" \fromproperty #'page:page-number-string }
-  }
-  \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
-                { s1*2 \pageBreak } >>
-}
-@end lilypond
+@node Vertical spacing between systems
+@subsection Vertical spacing between systems
 
+The mechanisms that control spacing between systems are similar to those
+that control spacing between staves within a system (see
+@ref{Vertical spacing inside a system}).  The main difference is that
+the variables to control spacing between systems are set in the
+@code{\paper} block, rather than as grob properties.  These paper block
+variables are @var{between-system-spacing},
+@var{between-scores-system-spacing}, @var{after-title-spacing},
+@var{before-title-spacing}, @var{between-title-spacing},
+@var{top-system-spacing}, @var{top-system-spacing},
+@var{top-title-spacing} and @var{bottom-system-spacing}.  Note that
+these variables ignore non-staff lines.  For example,
+@var{between-system-spacing} controls the spacing from the middle staff
+line of the bottom staff from one system to the middle staff line of the
+top staff of the next system, whether or not there are lyrics below the
+upper system.  See @ref{Vertical dimensions} for a description of each
+of these variables.
+
+There are two more @code{\paper} block variables that affect vertical
+spacing: if @var{ragged-bottom} is set to @code{##t} then no pages will
+be stretched (which means that neither the space between systems nor the
+space within systems will be stretched). If @var{ragged-last-bottom}
+is set to @code{##t} then the last page will not be stretched.
 
 @seealso
 Snippets:
@@ -1671,14 +1636,12 @@ It is possible to approach vertical spacing in a different way using
 vertical positions on the page.
 
 @code{NonMusicalPaperColumn #'line-break-system-details} accepts an associative
-list of five different settings:
+list of three different settings:
 
 @itemize
 @item @code{X-offset}
 @item @code{Y-offset}
-@item @code{alignment-offsets}
-@item @code{alignment-extra-space}
-@item @code{fixed-alignment-extra-space}
+@item @code{alignment-distances}
 @end itemize
 
 Grob overrides, including the overrides for @code{NonMusicalPaperColumn}
@@ -1709,11 +1672,11 @@ example @code{NonMusicalPaperColumn} overrides with the special
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
 
 \overrideProperty NonMusicalPaperColumn
-  #'line-break-system-details #'((alignment-offsets . (0 -15)))
+  #'line-break-system-details #'((alignment-distances . (15)))
 
 \overrideProperty NonMusicalPaperColumn
   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
-                                 (alignment-offsets . (0 -15)))
+                                 (alignment-distances . (15)))
 @end example
 
 To understand how each of these different settings work, we begin
@@ -1789,8 +1752,8 @@ too, that the @code{Y-offset} property here determines the exact vertical
 position on the page at which each new system will render.
 
 Now that we have set the vertical startpoint of each system
-explicitly, we can also set the vertical startpoint of each staff
-within each system manually.  We do this using the @code{alignment-offsets}
+explicitly, we can also set the vertical distances between staves
+within each system manually.  We do this using the @code{alignment-distances}
 subproperty of @code{line-break-system-details}.
 
 @lilypond[quote]
@@ -1803,15 +1766,15 @@ subproperty of @code{line-break-system-details}.
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 20)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -15)))
+                                           (alignment-distances . (15)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1830,8 +1793,8 @@ Note that here we assign two different values to the
 @code{line-break-system-details} attribute alist accepts many
 additional spacing parameters (including, for example, a corresponding
 @code{X-offset} pair), we need only set the @code{Y-offset} and
-@code{alignment-offsets} pairs to control the vertical startpoint of
-every system and every staff.  Finally, note that @code{alignment-offsets}
+@code{alignment-distances} pairs to control the vertical startpoint of
+every system and every staff.  Finally, note that @code{alignment-distances}
 specifies the vertical positioning of staves but not of staff groups.
 
 @lilypond[quote]
@@ -1844,15 +1807,15 @@ specifies the vertical positioning of staves but not of staff groups.
         \new Voice {
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 0)
-                                           (alignment-offsets . (0 -30 -40)))
+                                           (alignment-distances . (30 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 60)
-                                           (alignment-offsets . (0 -10 -20)))
+                                           (alignment-distances . (10 10)))
           s1*5 \break
           \overrideProperty #"Score.NonMusicalPaperColumn"
             #'line-break-system-details #'((Y-offset . 100)
-                                           (alignment-offsets . (0 -10 -40)))
+                                           (alignment-distances . (10 30)))
           s1*5 \break
         }
         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
@@ -1869,10 +1832,11 @@ specifies the vertical positioning of staves but not of staff groups.
 Some points to consider:
 
 @itemize
-@item When using @code{alignment-offsets}, lyrics count as a staff.
+@item When using @code{alignment-distances}, lyrics and other non-staff lines
+do not count as a staff.
 
 @item The units of the numbers passed to @code{X-offset},
-@code{Y-offset} and @code{alignment-offsets} are interpreted as multiples
+@code{Y-offset} and @code{alignment-distances} are interpreted as multiples
 of the distance between adjacent staff lines.  Positive values move staves
 and lyrics up, negative values move staves and lyrics down.
 
index 625d04963f851eb7cfb15f0f5dd2d18141b4a1a2..5382c20f532601e6ad22f4c0ea5ab1be0acc8193 100644 (file)
@@ -198,8 +198,8 @@ upgrade to these versions.
 
 @item
 @sourceimage{logo-fedora,,,}
-@uref{http://koji.fedoraproject.org/koji/packageinfo?packageID=2447
-Fedora: LilyPond 2.12.0}
+@uref{http://koji.fedoraproject.org/koji/packageinfo?packageID=2447,
+Fedora: LilyPond 2.12.2}
 
 @item
 @sourceimage{logo-ubuntu,,,}
@@ -218,7 +218,7 @@ Debian: LilyPond 2.12.2}
 
 @item
 @sourceimage{logo-suse,,,}
-@uref{http://download.opensuse.org/repositories/openSUSE:/Factory:/Contrib/standard/
+@uref{http://download.opensuse.org/repositories/openSUSE:/Factory:/Contrib/standard/,
 openSUSE: LilyPond 2.12.2}
 
 @end itemize
index db8dea4a90e73c0bcb682a63efc78074a079a5c6..f090cfd1e037b224e68d083f8ba578b210ff63b2 100644 (file)
@@ -330,10 +330,7 @@ ADD_INTERFACE (Align_interface,
               " or bottom to top.  For vertical alignments of staves, the"
               " @code{break-system-details} of the left"
               " @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"
-              " @code{PianoStaff}s further apart.",
+              " vertical spacing.",
               
               /* properties */
               "align-dir "
index e6cb44de8f317a8fbe56a7e24e95d98354bceaa4..502cf2e750d47ca1dfa5956cef4a702fcc9682a3 100644 (file)
 #include "context.hh"
 #include "stream-event.hh"
 #include "translator.icc"
-// #include "international.hh"
-#include <deque>
+#include <list>
 
-struct Head_event_tuple
+struct Head_audio_event_tuple
 {
   Audio_element_info head_;
-  Moment moment_;
-  Head_event_tuple () { }
-  Head_event_tuple (Audio_element_info h, Moment m)
+  // The end moment of the note, so we can calculate a skip and check whether
+  // the note still goes on
+  Moment end_moment_;
+  Head_audio_event_tuple () {}
+  Head_audio_event_tuple (Audio_element_info h, Moment m)
   {
     head_ = h;
-    moment_ = m;
+    end_moment_ = m;
   }
 };
 
@@ -42,14 +43,9 @@ struct Head_event_tuple
 class Tie_performer : public Performer
 {
   Stream_event *event_;
-  // We don't really need a deque here. A vector would suffice. However,
-  // for some strange reason, using vectors always leads to memory 
-  // corruption in the STL templates! (i.e. after the first
-  // now_heads_.push_back (inf_mom), the now_heads_.size() will be 
-  // something like 3303820998 :(
-  deque<Head_event_tuple> now_heads_;
-  deque<Head_event_tuple> now_tied_heads_;
-  deque<Head_event_tuple> heads_to_tie_;
+  list<Head_audio_event_tuple> now_heads_;
+  list<Head_audio_event_tuple> now_tied_heads_; // new tied notes
+  list<Head_audio_event_tuple> heads_to_tie_; // heads waiting for closing tie
 
 protected:
   void stop_translation_timestep ();
@@ -85,21 +81,24 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf)
 {
   if (Audio_note *an = dynamic_cast<Audio_note *> (inf.elem_))
     {
-//       message (_f ("acknowledge_audio_element, Size of now_heads_=%d", now_heads_.size ()));
-      Head_event_tuple inf_mom (inf, now_mom ());
+      // for each tied note, store the info and its end moment, so we can
+      // later on check whether (1) the note is still ongoing and (2) how
+      // long the skip is with tieWaitForNote
+      Head_audio_event_tuple inf_mom (inf, now_mom () + an->length_mom_);
       if (an->tie_event_)
         now_tied_heads_.push_back (inf_mom);
       else
         now_heads_.push_back (inf_mom);
 
-//       message (_f ("acknowledge_audio_element, added, Size of now_heads_=%d", now_heads_.size ()));
       // Find a previous note that ties to the current note. If it exists, 
       // remove it from the heads_to_tie vector and create the tie
-      deque<Head_event_tuple>::iterator it;
+      list<Head_audio_event_tuple>::iterator it;
       bool found = false;
       Stream_event *right_mus = inf.event_;
-      for ( it = heads_to_tie_.begin() ; (!found) && (it < heads_to_tie_.end()); it++ )
-        {
+        for (it = heads_to_tie_.begin ();
+             !found && (it != heads_to_tie_.end());
+             it++)
+       {
          Audio_element_info et = (*it).head_;
          Audio_note *th = dynamic_cast<Audio_note *> (et.elem_);
          Stream_event *left_mus = et.event_;
@@ -109,7 +108,8 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf)
                              left_mus->get_property ("pitch")))
            {
              found = true;
-             Moment skip = now_mom() - (*it).moment_ - th->length_mom_;
+             // (*it).moment_ already stores the end of the tied note!
+             Moment skip = now_mom() - (*it).end_moment_;
              an->tie_to (th, skip);
              // this invalidates the iterator, we are leaving the loop anyway
              heads_to_tie_.erase (it);
@@ -125,24 +125,35 @@ Tie_performer::start_translation_timestep ()
                            ly_bool2scm (heads_to_tie_.size ()));
 }
 
+// a predicate implemented as a class, used to delete all tied notes with end
+// moment in the past:
+class end_moment_passed
+{
+protected:
+  Moment now;
+public:
+  end_moment_passed (Moment mom) : now (mom) {}
+  bool operator() (const Head_audio_event_tuple &value) {
+    return (value.end_moment_ <= now);
+  }
+};
+
 void
 Tie_performer::stop_translation_timestep ()
 {
-  // We might have dangling open ties like c~ d. Close them, unless we have
-  // tieWaitForNote set...
+  // We might have dangling open ties like c~ d. Close them, unless the first
+  // note is still ongoing or we have we have tieWaitForNote set...
   if (!to_boolean (get_property ("tieWaitForNote")))
     {
-      heads_to_tie_.clear ();
+      heads_to_tie_.remove_if (end_moment_passed (now_mom ()));
     }
 
+  // Append now_heads_ and now_tied_heads to heads_to_tie_ for the next time step
   if (event_)
     {
-      for (vsize i = now_heads_.size (); i--;)
-        heads_to_tie_.push_back (now_heads_[i]);
+      heads_to_tie_.splice (heads_to_tie_.end (), now_heads_);
     }
-
-  for (vsize i = now_tied_heads_.size (); i--;)
-    heads_to_tie_.push_back (now_tied_heads_[i]);
+  heads_to_tie_.splice (heads_to_tie_.end (), now_tied_heads_);
 
   event_ = 0;
   now_heads_.clear ();
index 1f5d70f37af4fb79643e14c0df11e7fb0f5366c8..791724a34cb1bbed75004266bf19928b52bf8ce7 100644 (file)
   blank-after-score-page-force = 2
   blank-page-force = 5
 
-  %%
-  %% To limit space between systems on a page with a lot of space left
-  %%
-  page-limit-inter-system-space = ##f
-  page-limit-inter-system-space-factor = 1.4
-
   #(define font-defaults
     '((font-family . feta) (font-encoding . fetaMusic)))
 
index cd047d780c7679269256edfa4622f7c98494cca5..c79f961d14b0b8a8864d4524426236ca7f4157b4 100644 (file)
@@ -54,14 +54,7 @@ endif
 
 TEXI2HTML_INIT = --init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init
 
-DOC_TEXI2HTML_SPLIT = --prefix=index --split=section
-WEB_TEXI2HTML_SPLIT = --prefix=index --split=node --node-files
-TEXI2HTML_SPLIT = $(DOC_TEXI2HTML_SPLIT)
-
-$(top-build-dir)/Documentation/$(outdir)/web/index.$(ISOLANG).html:\
-       TEXI2HTML_SPLIT := $(WEB_TEXI2HTML_SPLIT)
-$(XREF_MAPS_DIR)/web.$(ISOLANG).xref-map:\
-       XREF_MAP_FLAGS += --split=node
+TEXI2HTML_SPLIT = --prefix=index --split=section
 
 TEXI2HTML_INCLUDES += --I=. --I=$(src-dir) --I=$(outdir) $(DOCUMENTATION_INCLUDES) --I=$(XREF_MAPS_DIR)
 TEXI2HTML_FLAGS += $(TEXI2HTML_INCLUDES) $(TEXI2HTML_LANG) $(TEXI2HTML_INIT) 
index cfef07f792110065f411743617adcf96171b757c..93c5b5e1cd275406afe5ce051d21d09c179ad6a6 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -124,7 +124,7 @@ msgid ""
 "version taken from the \\version command, to the current LilyPond version."
 msgstr ""
 "Actualiseer LilyPond invoer naar nieuwere versie.  Standaard, actualiseer\n"
-"vanaf versie uit de \\versie uitdrukking, naar de huidige LilyPond versie."
+"vanaf versie uit het \\version commando, naar de huidige LilyPond versie."
 
 #: convert-ly.py:34 lilypond-book.py:59
 msgid "Examples:"
@@ -223,8 +223,7 @@ msgid "show warranty and copyright"
 msgstr "toon garantie en auteursrechten"
 
 #: lilypond-book.py:57
-msgid ""
-"Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
+msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr ""
 "Verwerk LilyPond snippers in hybride HTML, LaTeX, texinfo of DocBook "
 "document."
@@ -252,8 +251,7 @@ msgid "pipe snippets through FILTER [convert-ly -n -]"
 msgstr "pijp snippers door FILTER [convert-ly -n -]"
 
 #: lilypond-book.py:120
-msgid ""
-"use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
+msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
 "gebruik uitvoerformat FORMAT (texi [standaard], texi-html, latex, html, "
 "docbook)"
@@ -340,7 +338,7 @@ msgstr "`%s' gefaald (%d)"
 
 #: lilypond-book.py:1400
 msgid "The error log is as follows:"
-msgstr "De foutlog is als volgend:"
+msgstr "De foutlog is als volgt:"
 
 #: lilypond-book.py:1472
 msgid "cannot find \\begin{document} in LaTeX document"
@@ -478,7 +476,7 @@ msgstr "sta tuplet lengtes DUUR*NOEM/TEL toe"
 
 #: midi2ly.py:891
 msgid "treat every text as a lyric"
-msgstr "behandel elke tekst als liedtekts"
+msgstr "behandel elke tekst als liedtekst"
 
 #: midi2ly.py:894
 msgid "Examples"
@@ -568,8 +566,7 @@ msgstr "herstellingsteken vorm niet gevonden"
 
 #: align-interface.cc:322
 msgid "tried to get a translation for something that is no child of mine"
-msgstr ""
-"probeerde een verplaatsing te verkrijgen voor iets wat geen kind van mij is"
+msgstr "probeerde een verplaatsing te verkrijgen voor iets wat geen kind van mij is"
 
 #: all-font-metrics.cc:143
 #, c-format
@@ -644,7 +641,7 @@ msgstr "verwijderen van waardestreep zonder stokken"
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr ""
 "geen werkbare initiële configuratie gevonden: kan wellicht geen goede "
-"waardestreephelling kunnen vinden"
+"waardestreephelling vinden"
 
 #: break-alignment-interface.cc:195
 #, c-format
@@ -749,7 +746,7 @@ msgstr "custode `%s' niet gevonden"
 
 #: dispatcher.cc:71
 msgid "Event class should be a symbol"
-msgstr "Gebeurtenis klasse zou hoort een symbool te zijn"
+msgstr "Gebeurtenis klasse hoort een symbool te zijn"
 
 #: dispatcher.cc:78
 #, c-format
@@ -818,7 +815,7 @@ msgstr "Oneindig of nan gevonden in uitvoer.  Vervangen door 0.0"
 
 #: glissando-engraver.cc:94
 msgid "unterminated glissando"
-msgstr "onbeëindigde glissando"
+msgstr "onbeëindigd glissando"
 
 #: global-context-scheme.cc:87 global-context-scheme.cc:105
 msgid "no music found in score"
@@ -1256,7 +1253,7 @@ msgstr "kan groep id niet veranderen in: %d: %s"
 #: main.cc:342
 #, c-format
 msgid "cannot change user id to: %d: %s"
-msgstr "kan kan gebruiker id niet veranderen in: %d: %s"
+msgstr "kan gebruiker id niet veranderen in: %d: %s"
 
 #: main.cc:348
 #, c-format
@@ -1295,7 +1292,7 @@ msgstr "prieminterval binnen ligatuur -> overslaan"
 
 #: mensural-ligature-engraver.cc:150
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
-msgstr "mensural ligature: lengte geen van Mx, L, S -> overslaan"
+msgstr "mensurale ligatuur: lengte geen van Mx, L, S -> overslaan"
 
 #: mensural-ligature-engraver.cc:198
 msgid "semibrevis must be followed by another one -> skipping"
@@ -1364,11 +1361,11 @@ msgstr "transponering met %s maakt voorteken groter dan dubbel"
 
 #: new-fingering-engraver.cc:96
 msgid "cannot add text scripts to individual note heads"
-msgstr "can tekstscripts niet toevoegen aan individuele notenbolletjes"
+msgstr "kan tekstscripts niet toevoegen aan individuele notenbolletjes"
 
 #: new-fingering-engraver.cc:239
 msgid "no placement found for fingerings"
-msgstr "geen plaatsing gevonden voor vingers"
+msgstr "geen plaatsing gevonden voor vingerzetting"
 
 #: new-fingering-engraver.cc:240
 msgid "placing below"
@@ -1394,7 +1391,7 @@ msgstr "NootGebeurtenis zonder toonhoogte"
 #: open-type-font.cc:33
 #, c-format
 msgid "cannot allocate %lu bytes"
-msgstr "kan geen %lu bytes alloceren"
+msgstr "kan geen %lu bytes toewijzen"
 
 #: open-type-font.cc:37
 #, c-format
@@ -1646,7 +1643,7 @@ msgstr "Onbekend verhuizingscommando %s"
 
 #: rest-collision.cc:145
 msgid "cannot resolve rest collision: rest direction not set"
-msgstr "kan rust bosting niet oplossen: richting van de rust is niet gezet"
+msgstr "kan rust botsing niet oplossen: richting van de rust is niet gezet"
 
 #: rest-collision.cc:159 rest-collision.cc:204
 msgid "too many colliding rests"
@@ -1849,8 +1846,7 @@ msgstr ""
 #: vaticana-ligature-engraver.cc:714
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
-msgstr ""
-"Vaticana_ligature_engraver: instelling `spacing-increment = %f': ptr=%ul"
+msgstr "Vaticana_ligature_engraver: instelling `spacing-increment = %f': ptr=%ul"
 
 #: vaticana-ligature.cc:84
 msgid "flexa-height undefined; assuming 0"
@@ -2263,9 +2259,7 @@ msgstr "Ongeldig argument in positie ~A.  Verwacht: ~A, gevonden: ~S."
 
 #: music-functions.scm:228
 msgid "More alternatives than repeats.  Junking excess alternatives"
-msgstr ""
-"Meer alternatieven dan herhalingen.  Verschroten van overtollige "
-"alternatieven"
+msgstr "Meer alternatieven dan herhalingen.  Verschroten van overtollige alternatieven"
 
 #: music-functions.scm:250
 #, scheme-format
@@ -2295,7 +2289,7 @@ msgstr "onbekende toevallig teken stijl: ~S"
 
 #: output-ps.scm:276
 msgid "utf-8-string encountered in PS backend"
-msgstr "utf-8-string tegengekomen in in PS achtereinde"
+msgstr "utf-8-string tegengekomen in in PS backend"
 
 #: output-svg.scm:42
 #, scheme-format
index 0e52898b6055e3b9626e2112c2ebe26d4f67bfb4..28253e5225a13c206aa82fdc235f286466b24932 100644 (file)
@@ -29,9 +29,7 @@ endif
 
 TEXI2HTML_INIT = --init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init
 
-DOC_TEXI2HTML_SPLIT = --prefix=index --split=section
-WEB_TEXI2HTML_SPLIT = --prefix=index --split=node --node-files
-TEXI2HTML_SPLIT = $(DOC_TEXI2HTML_SPLIT)
+TEXI2HTML_SPLIT = --prefix=index --split=section
 
 TEXI2HTML_INCLUDES += --I=$(src-dir) --I=$(outdir) $(DOCUMENTATION_INCLUDES) --I=$(XREF_MAPS_DIR)
 TEXI2HTML_FLAGS += $(TEXI2HTML_INCLUDES) $(TEXI2HTML_INIT) $(TEXI2HTML_LANG)