]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into translation
authorJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 15 Nov 2015 13:01:31 +0000 (14:01 +0100)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 15 Nov 2015 13:01:31 +0000 (14:01 +0100)
46 files changed:
Documentation/changes.tely
Documentation/fr/notation/rhythms.itely
Documentation/notation/fretted-strings.itely
Documentation/notation/pitches.itely
Documentation/notation/rhythms.itely
Documentation/snippets/arranging-separate-lyrics-on-a-single-line.ly [new file with mode: 0644]
Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly
Documentation/snippets/new/using-the-whiteout-property.ly
Documentation/snippets/orchestra,-choir-and-piano-template.ly
Documentation/snippets/paper-and-layout.snippet-list
Documentation/snippets/using-the-whiteout-property.ly
Documentation/snippets/vocal-music.snippet-list
Documentation/usage/running.itely
Documentation/web/news-front.itexi
Documentation/web/news.itexi
VERSION
input/regression/markup-syntax.ly
input/regression/tablature-micro-tone.ly [new file with mode: 0644]
input/regression/whiteout-lower-layers.ly
input/regression/whiteout.ly
lily/beam.cc
lily/context-scheme.cc
lily/grob.cc
lily/include/lily-guile.hh
lily/lily-guile.cc
lily/lily-imports.cc
lily/stem.cc
lily/tuplet-number.cc
ly/Welcome-to-LilyPond-MacOS.ly
ly/Welcome_to_LilyPond.ly
ly/engraver-init.ly
po/ca.po
po/lilypond.pot
po/nl.po
python/convertrules.py
scm/define-grob-properties.scm
scm/define-grobs.scm
scm/define-markup-commands.scm
scm/fret-diagrams.scm
scm/lily-library.scm
scm/music-functions.scm
scm/output-lib.scm
scm/predefined-fretboards.scm
scm/stencil.scm
scm/tablature.scm
scm/translation-functions.scm

index f6af535df5f58c030c7eb33ea2c025524098c123..75a5a06f30ac07b03b24490c113457f0ef6528d4 100644 (file)
@@ -61,6 +61,52 @@ which scares away people.
 
 @end ignore
 
+@item
+@code{TabStaff} is now able to print micro-tones for bendings etc.
+@lilypond[quote,verbatim]
+\layout {
+  \context {
+    \Score
+    noteToFretFunction = #(determine-frets #t)
+  }
+}
+
+mus = \relative { c'4 cih d dih }
+
+<<
+  \new Staff << \clef "G_8" \mus >>
+  \new TabStaff \mus
+>>
+@end lilypond
+
+@item
+A new style of whiteout that approximates the contours of a glyph's
+outline is now available using @code{whiteout-style}.  The shape of the
+white background is produced from multiple displaced copies of the
+glyph.  The @code{thickness} of both the new @code{outline} style and
+the default @code{box} style, as a multiple of staff-line thickness, can
+be customized.
+@lilypond[verbatim,quote]
+\markup {
+  \combine
+    \filled-box #'(-1 . 15) #'(-3 . 4) #1
+    \override #'(thickness . 2)
+    \whiteout whiteout-box
+}
+\markup {
+  \combine
+    \filled-box #'(-1 . 18) #'(-3 . 4) #1
+    \override #'(style . outline)
+    \override #'(thickness . 3)
+    \whiteout whiteout-outline
+}
+\relative {
+  \override Staff.Clef.whiteout-style = #'outline
+  \override Staff.Clef.whiteout = 3
+  g'1
+}
+@end lilypond
+
 @item
 All of @code{\override}, @code{\revert}, @code{\set}, and
 @code{\unset} now work with the @code{\once} prefix for making
@@ -136,18 +182,6 @@ With those particular definitions, LilyPond will try to recognize
 legacy use of @code{parser} and @code{location} arguments,
 providing backwards-compatible semantics for some time.
 
-@item
-The @code{whiteout} grob property and @code{\whiteout} markup command
-now create a white background built from multiple displaced copies of
-the glyph in order to approximate the contours of its outline.
-The previous rounded box white background can be achieved with the
-new @code{whiteout-box} grob property and @code{\whiteout-box} markup
-command.  Setting the @code{whiteout} property to a number now sets
-the thickness of the white outline as a multiple of staff-line
-thickness.  Similarly, overriding the @code{thickness} property of
-the @code{\whiteout} markup command sets the thickness of the white
-outline it produces.
-
 @item
 In the "english" notename language, the long notenames for pitches
 with accidentals now contain a hyphen for better readability.  You
index 7c6db70b9ee9f35bfd7d0779b5cfda47820e7747..958ec1effc058dc0dac3ffea2914533307bf3805 100644 (file)
@@ -604,7 +604,7 @@ plus amples détails à ce sujet, reportez vous au chapitre
 @ref{Liaisons d'articulation}.
 
 Dans le cas où une liaison est recouverte par d'autres éléments de la
-portée, une adaptation des propriétés @var{whiteout-box} et @var{layer}
+portée, une adaptation des propriétés @var{whiteout} et @var{layer}
 permet d'obtenir une meilleure lisibilité.
 
 @lilypond[verbatim,quote,ragged-right]
index 3e0a52ae4017b565715353c7fa374c054b054077..d6a97470af0ebf0cf260bc1e06c6f0dbcfb0c2bb 100644 (file)
@@ -713,6 +713,44 @@ A modern tab clef can also be used.
 
 The modern tab clef supports tablatures from 4 to 7 strings.
 
+@cindex micro-tones, tab
+@cindex quarter-tones, tab
+@cindex tab micro-tones
+@cindex tab quarter-tones
+
+@code{TabStaff} may support micro-tones like quarter-tones, which
+can be played using bendings.
+@code{noteToFretFunction = #(determine-frets #t)} needs to be set in
+Score-context.  However, micro-tones are not supperted in @code{FretBoards}.
+
+@lilypond[quote,ragged-right,verbatim]
+\layout {
+  \context {
+    \Score
+    noteToFretFunction = #(determine-frets #t)
+  }
+}
+
+custom-tuning = \stringTuning <e, a, d ges beh eeh'>
+
+mus = \relative {
+  eeses'4
+  eeseh
+  ees
+  eeh
+  e
+  eih
+  eis
+  eisih
+  eisis
+}
+
+<<
+  \new Staff << \clef "G_8" \mus >>
+  \new TabStaff \with { stringTunings = \custom-tuning } \mus
+>>
+@end lilypond
+
 @seealso
 Notation Reference:
 @ref{Absolute octave entry},
index d9f4dbb9adca5149e67365c4c006067503338cd5..647d0a1a36584b9ee40c0fe4b48faffc7cee90e3 100644 (file)
@@ -182,7 +182,7 @@ Writing @code{\relative gis''' @{ gis @dots{} @}} makes it easy to
 determine the absolute pitch of the first note inside.
 
 @item no explicit starting pitch
-The form @code{\relative @{ gis''' @dots{} @}}) serves
+The form @code{\relative @{ gis''' @dots{} @}} serves
 as a compact version of the previous option: the first note
 inside is written in absolute pitch itself.  (This happens to be
 equivalent to choosing @code{f} as the reference pitch.)
index 78e0433690fbe15c5a67b2c31300312518494dd0..9f0adb7741f002a7b8371061f08366fc66889d58 100644 (file)
@@ -578,7 +578,7 @@ Dash pattern definitions for ties have the same structure as dash
 pattern definitions for slurs. For more information about complex dash
 patterns, see @ref{Slurs}.
 
-Override @var{whiteout-box} and @var{layer} layout properties of objects
+Override @var{whiteout} and @var{layer} layout properties of objects
 that should cause a gap in ties.
 
 @lilypond[verbatim,quote,ragged-right]
diff --git a/Documentation/snippets/arranging-separate-lyrics-on-a-single-line.ly b/Documentation/snippets/arranging-separate-lyrics-on-a-single-line.ly
new file mode 100644 (file)
index 0000000..9458e21
--- /dev/null
@@ -0,0 +1,73 @@
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.di.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
+\version "2.18.0"
+
+\header {
+  lsrtags = "paper-and-layout, vocal-music"
+
+  texidoc = "
+Sometimes you may want to put lyrics for different performers on a
+single line: where there is rapidly alternating text, for example.
+This snippet shows how this can be done with @code{\\override
+VerticalAxisGroup #'nonstaff-nonstaff-spacing #'minimum-distance =
+##f}.
+
+"
+  doctitle = "Arranging separate lyrics on a single line"
+} % begin verbatim
+
+\layout {
+  \context {
+    \Lyrics
+    \override VerticalAxisGroup #'nonstaff-nonstaff-spacing
+       #'minimum-distance = ##f
+  }
+}
+
+aliceSings = \markup { \smallCaps "Alice" }
+eveSings = \markup { \smallCaps "Eve" }
+
+<<
+  \new Staff <<
+    \new Voice = "alice" {
+      f'4^\aliceSings g' r2 |
+      s1 |
+      f'4^\aliceSings g' r2 |
+      s1 | \break
+      % ...
+
+      \voiceOne
+      s2 a'8^\aliceSings a' b'4 |
+      \oneVoice
+      g'1
+    }
+    \new Voice = "eve" {
+      s1 |
+      a'2^\eveSings g' |
+      s1 |
+      a'2^\eveSings g'
+      % ...
+
+      \voiceTwo
+      f'4^\eveSings a'8 g' f'4 e' |
+      \oneVoice
+      s1
+    }
+  >>
+  \new Lyrics \lyricsto "alice" {
+    may -- be
+    sec -- ond
+    % ...
+    Shut up, you fool!
+  }
+  \new Lyrics \lyricsto "eve" {
+    that the
+    words are
+    % ...
+    …and then I was like–
+  }
+>>
index e45a731d09e68a976266a828411ade0885fc5a8f..c7379c3b297c010fafe9b18e5bb1728dd2d21a71 100644 (file)
@@ -4,18 +4,18 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.19.22"
+\version "2.19.32"
 
 \header {
   lsrtags = "editorial-annotations, really-cool, text"
 
   texidoc = "
-The @code{\\whiteout-box} command underlays a markup with a white box.
+The @code{\\whiteout} command underlays a markup with a white box.
 Since staff lines are in a lower layer than most other grobs, this
 white box will not overlap any other grob.
 
 "
-  doctitle = "Blanking staff lines using the \\whiteout-box command"
+  doctitle = "Blanking staff lines using the \\whiteout command"
 } % begin verbatim
 
 \layout {
@@ -24,5 +24,5 @@ white box will not overlap any other grob.
 
 \relative c' {
   \override TextScript.extra-offset = #'(2 . 4)
-  c2-\markup { \whiteout-box \pad-markup #0.5 "middle C" } c
+  c2-\markup { \whiteout \pad-markup #0.5 "middle C" } c
 }
index 8289bab8b89779ca72e22431d265c88d55daedd5..07c2b7288b256626ff8e0e1f7a5456679e46be71 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.22"
+\version "2.19.32"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks"
@@ -13,7 +13,7 @@ background.
 
 In this example the collision of the tie with the time signature is
 improved by masking out the part of the tie that crosses the time
-signature by setting the @code{whiteout-box} property of
+signature by setting the @code{whiteout} property of
 @code{TimeSignature}. To do this @code{TimeSignature} is moved to a
 layer above @code{Tie}, which is left in the default layer of 1, and
 @code{StaffSymbol} is moved to a layer above @code{TimeSignature} so it
@@ -27,7 +27,7 @@ is not masked.
   \override Score.StaffSymbol.layer = #4
   \override Staff.TimeSignature.layer = #3
   b'2 b'~
-  \once \override Staff.TimeSignature.whiteout-box = ##t
+  \once \override Staff.TimeSignature.whiteout = ##t
   \time 3/4
   b' r4
 }
index 6bc546d353850e09267f107b884fbdbdda645293..e3b6eff96372d43b43449a4326853c5b619dc94c 100644 (file)
@@ -21,6 +21,7 @@ music for transposing instruments at concert pitch.
 
 #(set-global-staff-size 17)
 \paper {
+  paper-height = 10\cm
   indent = 3.0\cm  % space for instrumentName
   short-indent = 1.5\cm  % space for shortInstrumentName
 }
index e99215262aa0187781b6c640b75fd5faa22a7f01..8bae8889e1c46841af728e3ea79976628c3a6296 100644 (file)
@@ -1,4 +1,5 @@
 aligning-and-centering-instrument-names.ly
+arranging-separate-lyrics-on-a-single-line.ly
 book-parts.ly
 changing-the-staff-size.ly
 clip-systems.ly
index 1e520ddfe12a0cb4f01c6bd474cdc0501b160614..f5210b7ed76d86a8f4971127101421df2728ced1 100644 (file)
@@ -5,7 +5,7 @@
 %
 % This file is in the public domain.
 %% Note: this file works from version 2.19.22
-\version "2.19.22"
+\version "2.19.32"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks"
@@ -35,7 +35,7 @@ is not masked.
   \override Score.StaffSymbol.layer = #4
   \override Staff.TimeSignature.layer = #3
   b'2 b'~
-  \once \override Staff.TimeSignature.whiteout-box = ##t
+  \once \override Staff.TimeSignature.whiteout = ##t
   \time 3/4
   b' r4
 }
index 2a8cf237555955ce19079f38cee753b191faa0b6..fd9f3f3cd6419b1c3ba10e22f1321968eb4def8a 100644 (file)
@@ -7,6 +7,7 @@ ambitus-with-multiple-voices.ly
 ambitus.ly
 ancient-notation-template----modern-transcription-of-gregorian-music.ly
 anglican-psalm-template.ly
+arranging-separate-lyrics-on-a-single-line.ly
 changing-stanza-fonts.ly
 chant-or-psalms-notation.ly
 forcing-hyphens-to-be-shown.ly
index f072d3648e74734f5a3815706702c9e07beb6995..3f13f7c17d1c78f106879a9bce7777a9956a7099 100644 (file)
@@ -411,8 +411,10 @@ Show the warranty with which GNU LilyPond comes.  (It comes with
 
 @table @code
 
-@item -d@var{[option-name]}=@var{[value]},--define-default=@var{[option-name]}=@var{[value]}
-This sets the equivalent internal Scheme function to @var{value}.
+@item -d@var{[option-name]}=@var{[value]},
+--define-default=@var{[option-name]}=@var{[value]}
+This sets the equivalent internal Scheme function to @var{value}.  For
+example;
 
 @example
 -dbackend=svg
@@ -420,7 +422,7 @@ This sets the equivalent internal Scheme function to @var{value}.
 
 If a @var{value} is not supplied, then the default value is used.  The
 prefix @code{no-} may be added to @var{option-name} to switch @q{off} an
-option, e.g.
+option.  For example;
 
 @cindex point and click, command line
 
@@ -445,53 +447,56 @@ default values:
 
 @item @code{anti-alias-factor}
 @tab @code{1}
-@tab Render at higher resolution (using given factor) and scale down
-result to prevent @q{jaggies} in @code{PNG} images.
+@tab Render at a higher resolution (using the given factor) and scale
+down the result to prevent @q{jaggies} in @code{PNG} images.
 
 @item @code{aux-files}
 @tab @code{#t}
-@tab Create @code{.tex}, @code{.texi}, @code{.count} files in the
-@code{EPS} backend.
+@tab Create @code{.tex}, @code{.texi} and @code{.count} files when used
+with the @code{eps} backend option.
 
 @item @code{backend}
 @tab @code{ps}
-@tab Select backend.  Postscript files (default) include @code{TTF},
-@code{Type1} and @code{OTF} fonts.  No subsetting of these fonts is
-done.  Using @q{oriental} character sets can lead to very large files.
+@tab This is the default setting.  Postscript files (default) include
+@code{TTF}, @code{Type1} and @code{OTF} fonts.  No @q{subsetting} of
+these fonts is done.  Be aware that using @q{oriental} character sets
+can lead to very large file sizes.
 
 @item
 @tab @code{eps}
-@tab Encapsulated PostScript.  This dumps every page (system) as a
-separate @file{EPS} file, without fonts, and as one collated @file{EPS}
-file with all pages (systems) including fonts.  Used as default by
-@command{lilypond-book}.
+@tab Used as default by the @command{lilypond-book} command.  This dumps
+every page as both a single file with all pages and fonts included and
+as separate encapsulated postscipt files for each page but without fonts
+included.
 
 @item
 @tab @code{null}
-@tab Do not output a printed score; has the same effect as
+@tab Do not output a printed score.  This the same effect as
 @code{-dno-print-pages}.
 
 @item
 @tab @code{scm}
-@tab Dump of the raw, internal Scheme-based drawing commands.
+@tab This dumps out the raw, internal Scheme-based drawing commands.
 
 @item
 @tab @code{svg}
 @tab Scalable Vector Graphics.
-This creates a single SVG file for every page of output.
-Font information is not embedded so the SVG viewer will require
-the fonts be available for optimal rendering.
-It is recommended that you do not use @q{font aliases}
-or @q{font lists} in case your SVG viewer is not able to handle them.
-Also see the @code{svg-woff} option.
+A single SVG file is created for every page of output.  Apart from
+LilyPond's own music glyphs, no other font information will be included.
+Any SVG viewer will therefore require the fonts be available to it for
+the proper rendering of both text and lyrics.  It is recommended to not
+to use font @q{aliases} or @q{lists} in case the SVG viewer is unable to
+handle them.  When using @emph{Web Open Font Format} (WOFF) files the
+additional @code{--svg-woff} switch is required.
 @end multitable
 
 @noindent
-@strong{Note for svg backend:}
-LilyPond's default fonts (@code{LilyPond Serif}, @code{LilyPond Sans Serif}
-and @code{LilyPond Monospace}) are just @emph{local} font aliases;
-so when using the @code{svg} backend command it is required that
-you explicitly set the default fonts;
+@strong{Note for backend svg output:}
+LilyPond's default fonts (@code{LilyPond Serif},
+@code{LilyPond Sans Serif} and @code{LilyPond Monospace}) are just
+@emph{local} font aliases.  Therefore, when using the backend @code{svg}
+command you must explicitly define the default fonts in your source
+file;
 
 @quotation
 @verbatim
@@ -773,12 +778,13 @@ size increases in PDF files.
 
 @item @code{svg-woff}
 @tab @code{#f}
-@tab Use woff font files in SVG backend.
-By using the woff file properly,
-you do not have to install the fonts which are used by SVG files
-to SVG viewer environment.
-However, LilyPond does not contain woff font file for text.
-woff font file is required.
+@tab This option is required when using Web Open Font Format (WOFF) font
+files with the backend @code{svg} command.  A single SVG file is created
+for every page of output.  Apart from LilyPond's own music glyphs, no
+other font information will be included.  Any SVG viewer will therefore
+require the fonts be available to it for the proper rendering of both
+text and lyrics.  It is also recommended not to use any font @q{aliases}
+or @q{lists} in case the SVG viewer cannot handle them.
 
 @item @code{trace-memory-frequency}
 @tab @code{#f}
index ee9ada70d3de7e96df0db4e37a0fea79676fff41..4eee2ae88ee836a743713bd79856a2ebca23a8c2 100644 (file)
@@ -9,10 +9,10 @@
 @c used for news about the upcoming release; see CG 10.2
 
 @newsItem
-@subheading LilyPond 2.19.29 released  @emph{October 18, 2015}
+@subheading LilyPond 2.19.31 released  @emph{November 8, 2015}
 
 We are happy to announce the release of LilyPond
-2.19.29.  This release includes a number of enhancements, and contains some
+2.19.31.  This release includes a number of enhancements, and contains some
 work in progress.  You will have access to the very latest features, but
 some may be incomplete, and you may encounter bugs and crashes.  If you
 require a stable version of Lilypond, we recommend using the 2.18
index 92c7373a6288cd7c2500ac2b91c80bdd5957ed9d..33bc8794f07ce790cd2bfdb2fc69f2746aedde79 100644 (file)
@@ -26,6 +26,30 @@ NOTE:
   * don't duplicate entries from news-front.itexi
 @end ignore
 
+@newsItem
+@subheading LilyPond 2.19.30 released  @emph{October 25, 2015}
+
+We are happy to announce the release of LilyPond
+2.19.30.  This release includes a number of enhancements, and contains some
+work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you
+require a stable version of Lilypond, we recommend using the 2.18
+version.
+
+@newsEnd
+
+@newsItem
+@subheading LilyPond 2.19.29 released  @emph{October 18, 2015}
+
+We are happy to announce the release of LilyPond
+2.19.29.  This release includes a number of enhancements, and contains some
+work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you
+require a stable version of Lilypond, we recommend using the 2.18
+version.
+
+@newsEnd
+
 @newsItem
 @subheading LilyPond 2.19.28 released  @emph{September 27, 2015}
 
diff --git a/VERSION b/VERSION
index 37842d14c81ce2f06593891f3f92153956d34f9c..a22e11bac1b95fece1859e1a43f5e575f70911b1 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=19
-PATCH_LEVEL=30
+PATCH_LEVEL=32
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.18.2
-VERSION_DEVEL=2.19.29
+VERSION_DEVEL=2.19.31
index 484b9a5afe27252a8f46148f71b76d2cf2f31780..1350a2447c1f64fad390fb3368c6af9134b259e5 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.22"
+\version "2.19.32"
 
 \header {
   texidoc = "Demo of markup texts, using LilyPond syntax."
@@ -41,7 +41,6 @@
       \super "2"
       " "
       \raise #3.0 \whiteout white-out
-      \raise #3.0 \whiteout-box white-out-box
       \circle \dynamic p
       \with-color #green Green
       \dynamic sfzp
diff --git a/input/regression/tablature-micro-tone.ly b/input/regression/tablature-micro-tone.ly
new file mode 100644 (file)
index 0000000..ff02d79
--- /dev/null
@@ -0,0 +1,42 @@
+\version "2.19.31"
+
+\header {
+  texidoc = "The @code{TabStaff} will print micro-tones as mixed numbers of
+fret-number and a fraction.
+@code{noteToFretFunction = #(my-determine-frets #t)} needs to be set in Score.
+@code{FretBoards} will print those micro-tones only if they can be found in the
+chosen settings for @code{stringTunings}, otherwise a warning (surpressed here)
+will be printed and an empty @code{FretBoard} returned.  Which should be the
+case here for the first pitch: @code{gih}"
+}
+
+#(ly:set-option 'warning-as-error #f)
+#(ly:expect-warning (_ "No string for pitch ~a (given frets ~a)") #{ gih #} '())
+
+\layout {
+  \context {
+    \Score
+    noteToFretFunction = #(determine-frets #t)
+  }
+}
+
+custom-tuning = \stringTuning <e, a, d ges beh eeh'>
+
+mus = \relative {
+  gih4
+  eeses'
+  eeseh
+  ees
+  eeh
+  e
+  eih
+  eis
+  eisih
+  eisis
+}
+
+<<
+  \new Staff << \clef "G_8" \mus >>
+  \new FretBoards \with { stringTunings = \custom-tuning } \mus
+  \new TabStaff \with { stringTunings = \custom-tuning } \mus
+>>
index c6a70d50a36fa54c6a2c575514df0107e962b73d..8549cbc783cde5c2ded54ea5550cc04749ca04ab 100644 (file)
@@ -1,8 +1,7 @@
-\version "2.19.22"
+\version "2.19.32"
 
 \header { texidoc = "If the 'whiteout property of a
-grob is set to a number or #t, or if the 'whiteout-box
-property is set to #t, that part of all objects
+grob is set to a number or #t, that part of all objects
 in lower layers which falls under the extent of
 the grob's whiteout area is whited out.  Here the
 TimeSignature whites out the Tie but not the StaffSymbol.
@@ -14,7 +13,7 @@ TimeSignature whites out the Tie but not the StaffSymbol.
   \override Staff.StaffSymbol.layer = #4
   \once \override Tie.layer = #2
   b'2.~
-  \once \override Staff.TimeSignature.whiteout = #3
+  \once \override Staff.TimeSignature.whiteout = ##t
   \once \override Staff.TimeSignature.layer = #3
   \time 5/4
   b4
@@ -25,7 +24,8 @@ TimeSignature whites out the Tie but not the StaffSymbol.
   \override Staff.StaffSymbol.layer = #4
   \once \override Tie.layer = #2
   b'2.~
-  \once \override Staff.TimeSignature.whiteout-box = ##t
+  \once \override Staff.TimeSignature.whiteout-style = #'outline
+  \once \override Staff.TimeSignature.whiteout = #3
   \once \override Staff.TimeSignature.layer = #3
   \time 5/4
   b4
index b141aa077eaf8eb7bcc58ce84858c9ae1679b035..7e10de9727be00498a693859cd563d77fe025808 100644 (file)
@@ -1,11 +1,12 @@
 \header {
 
   texidoc = "The whiteout command underlays a white background under a
-markup that approximates the outline of the markup.  The whiteout-box
-command underlays a rounded white box under a markup. "
+markup.  The shape is determined by @code{whiteout-style}. The default
+is @code{box} which produces a white rectangle.  @code{outline}
+approximates the outline of the markup."
 
 }
-\version "2.19.22"
+\version "2.19.32"
 
 \paper
 {
@@ -16,5 +17,16 @@ command underlays a rounded white box under a markup. "
   \override TextScript.layer = #'2
   \override TextScript.extra-offset = #'(2 . 4)
   c''4-\markup { \whiteout foo } c
-  c4-\markup { \whiteout-box \pad-markup #0.5 foo } c
+  c-\markup { \whiteout \pad-markup #0.5 foo } c
+  c-\markup {
+    \override #'(thickness . 2)
+    \whiteout foo
+  }
+  c
+  c-\markup {
+    \override #'(thickness . 3)
+    \override #'(whiteout-style . outline)
+    \whiteout foo
+  }
+  c
 }
index 206f6e9f4dfb4ff9f5a442f19596f80e17cef7e9..906483ed43c6500f87fd77c208b1913c95010d67 100644 (file)
@@ -259,7 +259,7 @@ position_with_maximal_common_beams (SCM left_beaming, SCM right_beaming,
       for (SCM s = scm_car (right_beaming); scm_is_pair (s); s = scm_cdr (s))
         {
           int k = -right_dir * scm_to_int (scm_car (s)) + i;
-          if (scm_is_true (scm_c_memq (scm_from_int (k), left_beaming)))
+          if (scm_is_true (ly_memv (scm_from_int (k), left_beaming)))
             count++;
         }
 
@@ -1006,7 +1006,7 @@ where_are_the_whole_beams (SCM beaming)
 
   for (SCM s = scm_car (beaming); scm_is_pair (s); s = scm_cdr (s))
     {
-      if (scm_is_true (scm_c_memq (scm_car (s), scm_cdr (beaming))))
+      if (scm_is_true (ly_memv (scm_car (s), scm_cdr (beaming))))
 
         l.add_point (scm_to_int (scm_car (s)));
     }
index 169d0b7b3d66ade4fd6d437e3434714c214b57df..feda0f607eab62fffb45c2d770277b12114e814d 100644 (file)
@@ -76,7 +76,7 @@ LY_DEFINE (ly_context_grob_definition, "ly:context-grob-definition",
 
 LY_DEFINE (ly_context_pushpop_property, "ly:context-pushpop-property",
            3, 1, 0, (SCM context, SCM grob, SCM eltprop, SCM val),
-           "Do a single @code{\\override} or @code{\\revert} operation"
+           "Do @code{\\temporary \\override} or @code{\\revert} operation"
            " in @var{context}.  The grob definition @var{grob} is extended"
            " with @var{eltprop} (if @var{val} is specified) or reverted"
            " (if unspecified).")
index 2f1bd8aa9f52c463c274fa28ab6fe2fc60227d03..7ce89d50158ff737e2e702609c1f7750422b84d6 100644 (file)
@@ -146,25 +146,15 @@ Grob::get_print_stencil () const
       /* whiteout background and larger file sizes with \pointAndClickOn. */
       /* A grob has to be visible, otherwise the whiteout property has no effect. */
       /* Calls the scheme procedure stencil-whiteout in scm/stencils.scm */
-      if (!transparent && (scm_is_number (get_property("whiteout"))
+      if (!transparent && (scm_is_number (get_property ("whiteout"))
                            || to_boolean (get_property ("whiteout"))))
         {
-          Real thickness = robust_scm2double (get_property("whiteout"), 3.0)
-               * layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
+          Real line_thickness = layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
           retval = *unsmob<Stencil>
             (Lily::stencil_whiteout (retval.smobbed_copy (),
-                                     scm_from_double (thickness)));
-        }
-
-      /* Calls the scheme procedure stencil-whiteout-box in scm/stencils.scm */
-      if (!transparent && (scm_is_number (get_property("whiteout-box"))
-                           || to_boolean (get_property ("whiteout-box"))))
-        {
-          Real thickness = robust_scm2double (get_property("whiteout-box"), 0.0)
-               * layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
-          retval = *unsmob<Stencil>
-            (Lily::stencil_whiteout_box (retval.smobbed_copy (),
-                                     scm_from_double (thickness)));
+                                     get_property ("whiteout-style"),
+                                     get_property ("whiteout"),
+                                     scm_from_double (line_thickness)));
         }
 
       if (transparent)
@@ -843,7 +833,7 @@ ADD_INTERFACE (Grob,
                "transparent "
                "vertical-skylines "
                "whiteout "
-               "whiteout-box "
+               "whiteout-style "
               );
 
 /****************************************************************
index 34578511b8388700b38f7c4bacfe02605ded908f..d1ca0424bb3e0df24d958260bedc89f462cf02aa 100644 (file)
@@ -63,6 +63,7 @@ SCM ly_assoc_cdr (SCM key, SCM alist);
 SCM ly_assoc_get (SCM key, SCM alist, SCM default_value, SCM strict_checking = SCM_BOOL_F);
 Interval ly_scm2interval (SCM);
 Drul_array<Real> ly_scm2realdrul (SCM);
+SCM ly_memv (SCM, SCM);
 Slice int_list_to_slice (SCM l);
 SCM ly_interval2scm (Drul_array<Real>);
 char *ly_scm2str0 (SCM str);
index bde39214b39faff40af98548533a3ed7a6bb716b..f37380f024fc4b65fc9b368564c26dd3dd4a3190 100644 (file)
@@ -529,6 +529,18 @@ display_list (SCM s)
   return SCM_UNSPECIFIED;
 }
 
+// Needed as complement to int_list_to_slice since scm_c_memq refuses
+// to work with dotted lists.
+
+SCM
+ly_memv (SCM v, SCM l)
+{
+  for (; scm_is_pair (l); l = scm_cdr (l))
+    if (scm_is_true (scm_eqv_p (v, scm_car (l))))
+      return l;
+  return SCM_BOOL_F;
+}
+
 Slice
 int_list_to_slice (SCM l)
 {
index 04f0f7e57fbf732a9248dc1e13ff09fd05848ec2..a62216e0849988f632c98d50d502cf1b7fe23b6e 100644 (file)
@@ -92,7 +92,6 @@ namespace Lily {
   Variable scorify_music ("scorify-music");
   Variable span_bar_notify_grobs_of_my_existence ("span-bar::notify-grobs-of-my-existence");
   Variable stencil_whiteout ("stencil-whiteout");
-  Variable stencil_whiteout_box ("stencil-whiteout-box");
   Variable symbol_list_p ("symbol-list?");
   Variable tremolo_get_music_list ("tremolo::get-music-list");
   Variable type_name ("type-name");
index 9cb84f57faa424b38df02d44e3086e06d6714629..f0335c58d2efe34bf06ce608a651f8f272c5f67f 100644 (file)
@@ -91,7 +91,7 @@ Stem::get_beaming (Grob *me, Direction d)
 
   SCM lst = index_get_cell (pair, d);
 
-  int len = scm_ilength (lst);
+  int len = scm_ilength (lst); // -1 for dotted lists!
   return max (len, 0);
 }
 
index 4d879ade4c46b37fb143339358a592b11e76971d..99e61b2ff55162d549bbf72b084029e071611df8 100644 (file)
@@ -336,7 +336,7 @@ count_beams_not_touching_stem (SCM beaming)
 
   for (SCM s = scm_car (beaming); scm_is_pair (s); s = scm_cdr (s))
     {
-      if (scm_is_true (scm_c_memq (scm_car (s), scm_cdr (beaming))))
+      if (scm_is_true (ly_memv (scm_car (s), scm_cdr (beaming))))
         ++count;
     }
 
index ba8365731ca67206e84f03d41962287591700a67..13d8314b17b33c961554abc7b1f40f36a17d8f52 100644 (file)
@@ -23,7 +23,7 @@ That's it.  For more information, visit http://lilypond.org .
 
 %}
 
-\version "2.19.29"  % necessary for upgrading to future LilyPond versions.
+\version "2.19.31"  % necessary for upgrading to future LilyPond versions.
 
 \header{
   title = "A scale in LilyPond"
index c8cfa03b6b9f6f318809a993e92d5a451ad986d8..310afe149ffbaa23e6658d053349af9466e106b7 100644 (file)
@@ -32,7 +32,7 @@ Good luck with LilyPond!  Happy engraving.
 
 %}
 
-\version "2.19.29"  % necessary for upgrading to future LilyPond versions.
+\version "2.19.31"  % necessary for upgrading to future LilyPond versions.
 
 \header{
   title = "A scale in LilyPond"
index 62559ca40fb6df178f3ab3b9d18954e6ad50769f..eade287f1a52fda7c182909dd459074e6a9ce5a6 100644 (file)
@@ -620,7 +620,8 @@ automatically when an output definition (a @code{\\score} or
   \accepts "TabStaff"
   \accepts "VaticanaStaff"
 
-  noteToFretFunction = #determine-frets
+  %% (determine-frets #t) would support micro-tones
+  noteToFretFunction = #(determine-frets)
   predefinedDiagramTable = ##f
   soloText = #"Solo"
   soloIIText = #"Solo II"
index 8ddbf8b70cac12ec1be64d24da63e11c82700d48..89819f371d52882e5b09f9fcca22863f3164d9e6 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
 # typesetter - gravador
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond-2.19.16\n"
+"Project-Id-Version: lilypond-2.19.26\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2015-02-28 14:31+0000\n"
-"PO-Revision-Date: 2015-03-08 18:10+0100\n"
+"POT-Creation-Date: 2015-08-27 10:48+0100\n"
+"PO-Revision-Date: 2015-11-11 22:27+0100\n"
 "Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "Language: ca\n"
@@ -183,7 +183,7 @@ msgstr "\\textstyle obsolet, nova sintaxi \\key"
 
 #: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
 #: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
-#: convertrules.py:3151 convertrules.py:3385 convertrules.py:3697
+#: convertrules.py:3151 convertrules.py:3388 convertrules.py:3700
 msgid "bump version for release"
 msgstr "fixa la versió per al llançament"
 
@@ -604,7 +604,7 @@ msgstr "Elimineu oldaddlyrics"
 #: convertrules.py:2820
 msgid ""
 "oldaddlyrics is no longer supported. \n"
-"         Use addlyrics or lyrsicsto instead.\n"
+"         Use addlyrics or lyricsto instead.\n"
 msgstr ""
 "oldaddlyrics ha deixat d'estar suportat. \n"
 "         Useu en canvi addlyrics o lyrsicsto.\n"
@@ -851,15 +851,15 @@ msgstr "Ara es gestiona consistent-broken-slope mitjançant crida de retorn de p
 msgid "input/regression/beam-broken-classic.ly shows how broken beams are now handled.\n"
 msgstr "input/regression/beam-broken-classic.ly mostra com es gestionen ara les barres dividides.\n"
 
-#: convertrules.py:3369
+#: convertrules.py:3372
 msgid "beamExceptions controls whole-measure beaming."
 msgstr "beamExceptions controla el barrat de compassos complets."
 
-#: convertrules.py:3606
+#: convertrules.py:3609
 msgid "Flag.transparent and Flag.color inherit from Stem"
 msgstr "Flag.transparent i Flag.color s'han heredat de Stem"
 
-#: convertrules.py:3672
+#: convertrules.py:3675
 msgid "Staff-padding now controls the distance to the baseline, not the nearest point."
 msgstr "Staff-padding ara controla la distància de la base, no el punt més proper."
 
@@ -965,12 +965,12 @@ msgstr "S'ha proporcionat una tonalitat d'alteració d'octava per a una alteraci
 msgid "Unable to find instrument for ID=%s\n"
 msgstr "No es pot trobar l'instrument per a l'ID=%s\n"
 
-#: abc2ly.py:1386 convert-ly.py:85 lilypond-book.py:122 midi2ly.py:1044
+#: abc2ly.py:1389 convert-ly.py:85 lilypond-book.py:122 midi2ly.py:1044
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr "%s [OPCIÓ]... FITXER"
 
-#: abc2ly.py:1387
+#: abc2ly.py:1390
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
@@ -979,29 +979,29 @@ msgstr ""
 "abc2ly converteix el fitxer de música ABC\n"
 "(veure %s) a input LilyPond.\n"
 
-#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
+#: abc2ly.py:1398 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:184
 msgid "show version number and exit"
 msgstr "mostra el número de versió i surt"
 
-#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
+#: abc2ly.py:1401 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:163
 msgid "show this help and exit"
 msgstr "mostra aquesta ajuda i surt"
 
-#: abc2ly.py:1401 etf2ly.py:1209 midi2ly.py:1071
+#: abc2ly.py:1404 etf2ly.py:1209 midi2ly.py:1071
 msgid "write output to FILE"
 msgstr "escriu el resultat a FITXER"
 
-#: abc2ly.py:1404
+#: abc2ly.py:1407
 msgid "be strict about success"
 msgstr "sigues estricte sobre l'èxit"
 
-#: abc2ly.py:1407
+#: abc2ly.py:1410
 msgid "preserve ABC's notion of beams"
 msgstr "preserva la noció ABC per a les barres"
 
-#: abc2ly.py:1410
+#: abc2ly.py:1413
 msgid "suppress progress messages"
 msgstr "suprimeix els missatges de progrés"
 
@@ -1009,8 +1009,8 @@ msgstr "suprimeix els missatges de progrés"
 #. "Report bugs in English via %s",
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
-#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:317
+#: abc2ly.py:1416 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:318
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr "Informeu dels errors en anglès via %s"
@@ -1061,7 +1061,7 @@ msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS
 msgstr "Imprimeix els missatges del registre d'acord amb NIVELL DE REGISTRE (NONE, ERROR, WARNING, PROGRESS (per defecte), DEBUG)"
 
 #: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:176
+#: musicxml2ly.py:2629 main.cc:177
 msgid "LOGLEVEL"
 msgstr "NIVELL_DE_REGISTRE"
 
@@ -1093,7 +1093,7 @@ msgid "make a numbered backup [default: filename.ext~]"
 msgstr "fest una còpia de seguretat numerada: [predeterminat: nom-de-arxiu.ext~]"
 
 #: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:185
+#: main.cc:186
 msgid "show warranty and copyright"
 msgstr "mostra la garantia i el copyright"
 
@@ -1114,17 +1114,17 @@ msgstr "S'ha aturat a l'última regla reeixida"
 msgid "Processing `%s'... "
 msgstr "S'està processant `%s'... "
 
-#: convert-ly.py:368
+#: convert-ly.py:366
 #, python-format
 msgid "%s: Unable to open file"
 msgstr "%s: No s'ha pogut determinar la versió. S'ha omès"
 
-#: convert-ly.py:374
+#: convert-ly.py:372
 #, python-format
 msgid "%s: Unable to determine version.  Skipping"
 msgstr "%s: No s'ha pogut determinar la versió. S'ha omès"
 
-#: convert-ly.py:380
+#: convert-ly.py:378
 #, python-format
 msgid ""
 "%s: Invalid version string `%s' \n"
@@ -1133,7 +1133,7 @@ msgstr ""
 "%s: Versió de cadena de caràcters no vàlida `%s' \n"
 "Les cadenes de versió vàlides consisteixen de tres números, separats per punts, per exemple `2.8.12'"
 
-#: convert-ly.py:386
+#: convert-ly.py:384
 #, python-format
 msgid "There was %d error."
 msgid_plural "There were %d errors."
@@ -1154,7 +1154,7 @@ msgstr ""
 "de Coda Music Technology. etf2ly converteix un subconjunt d'ETF a fitxer LilyPond a punt d'usar.\n"
 
 #: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:168 main.cc:180
+#: main.cc:169 main.cc:181
 msgid "FILE"
 msgstr "FITXER"
 
@@ -1192,7 +1192,7 @@ msgid "add DIR to include path"
 msgstr "afegeix DIRECTORI al camí d'inclusió"
 
 #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:168
 msgid "DIR"
 msgstr "DIRECTORI"
 
@@ -1205,8 +1205,8 @@ msgid "PAD"
 msgstr "FARCEIX"
 
 #: lilypond-book.py:157
-msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
-msgstr "farceix la part esquerra de la música per alinear la música tot i  hi hagi un nombre imparell de compassos (en mm)"
+msgid "pad left side of music to align music in spite of uneven bar numbers (in mm)"
+msgstr "farceix la part esquerra de la música per alinear la música tot i hi hagi un nombre imparell de compassos (en mm)"
 
 #: lilypond-book.py:162
 msgid "Print lilypond log messages according to LOGLEVEL"
@@ -1742,7 +1742,7 @@ msgstr "advertiment suprimit %s"
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr "la llista de gravat d'accidents ha de començar amb un context-name: %s"
 
-#: accidental-engraver.cc:210
+#: accidental-engraver.cc:207
 #, c-format
 msgid "procedure or context-name expected for accidental rule, found %s"
 msgstr "s'espera un procediment o un context-name per a la regla d'accidents, s'ha trobat %s"
@@ -1756,7 +1756,7 @@ msgstr "No s'ha pogut trobar glyph-name per a l'alteració %s"
 msgid "natural alteration glyph not found"
 msgstr "no s'ha trobat el glif d'alteració natural"
 
-#: all-font-metrics.cc:149
+#: all-font-metrics.cc:159
 #, c-format
 msgid "cannot find font: `%s'"
 msgstr "no es pot trobar el tipus de lletra: `%s'"
@@ -1769,11 +1769,6 @@ msgstr "l'argument \\applycontent no és un procediment"
 msgid "no heads for arpeggio found?"
 msgstr "no s'ha trobat el cap per a l'arpegi?"
 
-#: auto-change-iterator.cc:74 change-iterator.cc:72
-#, c-format
-msgid "cannot change, already in translator: %s"
-msgstr "no es pot canviar, ja està al traductor: %s"
-
 #: axis-group-engraver.cc:149
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr "Axis_group_engraver: el grup vertical ja té un pare"
@@ -1786,12 +1781,12 @@ msgstr "hi ha dos Axis_group_engravers?"
 msgid "removing this vertical group"
 msgstr "s'està eliminant aquest grup vertical"
 
-#: axis-group-interface.cc:714
+#: axis-group-interface.cc:716
 #, c-format
 msgid "\"%s\" is not a valid outside-staff-placement-directive"
 msgstr "\"%s\" no és una outside-staff-placement-directive vàlida"
 
-#: axis-group-interface.cc:786
+#: axis-group-interface.cc:788
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr "un objecte fora del pentagrama hauria de tenir una direcció, s'agafa cap a dalt per defecte"
 
@@ -1821,11 +1816,11 @@ msgid "beam was started here"
 msgstr "s'ha iniciat una barra aquí"
 
 #. We are completely screwed.
-#: beam-quanting.cc:839
+#: beam-quanting.cc:850
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr "no s'ha trobat cap configuració inicial viable: és possible que no es trobi un bon pendent per a la barra"
 
-#: beam.cc:181
+#: beam.cc:183
 msgid "removing beam with no stems"
 msgstr "s'està eliminant una barra sense pliques"
 
@@ -1835,22 +1830,24 @@ msgid "cannot change `%s' to `%s'"
 msgstr "no es pot canviar `%s' a `%s'"
 
 #. FIXME: constant error message.
-#: change-iterator.cc:93
+#: change-iterator.cc:67
 msgid "cannot find context to switch to"
 msgstr "no es pot trobar un context per usar-lo per canviar"
 
+#. No enclosing context was found because the iterator's immediate
+#. context is the kind that was sought.
 #. We could change the current translator's id, but that would make
 #. errors hard to catch.
 #.
 #. last->translator_id_string () = get_change
 #. ()->change_to_id_string ();
-#: change-iterator.cc:102
+#: change-iterator.cc:78
 #, c-format
 msgid "not changing to same context type: %s"
 msgstr "no es canviarà al mateix tipus de context: %s"
 
-#. FIXME: uncomprehensable message
-#: change-iterator.cc:106
+#. FIXME: incomprehensible message
+#: change-iterator.cc:82
 msgid "none of these in my family"
 msgstr "cap d'aquests a la meva família"
 
@@ -1889,22 +1886,22 @@ msgstr "no es pot trobar un salt de línia que satisfaci les restriccions"
 msgid "need symbol arguments for \\override and \\revert"
 msgstr "es necessiten arguments de símbol per a \\override i \\revert"
 
-#: context.cc:143
+#: context.cc:144
 #, c-format
 msgid "cannot find or create new `%s'"
 msgstr "no es pot trobar o crear nou/nova `%s'"
 
-#: context.cc:222
+#: context.cc:223
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr "no es pot crear `%s' anomenat `%s'"
 
-#: context.cc:419
+#: context.cc:416
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr "no es pot trobar o crear: `%s'"
 
-#: context.cc:433
+#: context.cc:430
 #, c-format
 msgid "cannot find or create new Bottom = \"%s\""
 msgstr "no es pot trobar el nou Botó = \"%s\""
@@ -1914,20 +1911,20 @@ msgstr "no es pot trobar el nou Botó = \"%s\""
 msgid "custos `%s' not found"
 msgstr "no s'ha trobat l'advertiment de canvi de tonalitat (custos) %s"
 
-#: dispatcher.cc:83
+#: dispatcher.cc:82
 msgid "Event class should be a list"
 msgstr "La classe d'esdeveniment hauria de ser una llista"
 
-#: dispatcher.cc:166
+#: dispatcher.cc:165
 #, c-format
 msgid "Junking event: %s"
 msgstr "S'està eliminant l'esdeveniment: %s"
 
-#: dispatcher.cc:271
+#: dispatcher.cc:279
 msgid "Attempting to remove nonexisting listener."
 msgstr "S'està intentant eliminar el port d'escolta no existent."
 
-#: dispatcher.cc:297
+#: dispatcher.cc:305
 msgid "Already listening to dispatcher, ignoring request"
 msgstr "Ja s'està escoltant al distribuïdor, s'ignorarà la demanda"
 
@@ -1936,7 +1933,7 @@ msgstr "Ja s'està escoltant al distribuïdor, s'ignorarà la demanda"
 msgid "dot `%s' not found"
 msgstr "no s'ha trobat el punt `%s'"
 
-#: dynamic-engraver.cc:168
+#: dynamic-engraver.cc:169
 #, c-format
 msgid ""
 "unknown crescendo style: %s\n"
@@ -1945,7 +1942,7 @@ msgstr ""
 "estil de crescendo desconegut: %s\n"
 "es reverteix a forquilla."
 
-#: dynamic-engraver.cc:233 slur-proto-engraver.cc:119
+#: dynamic-engraver.cc:234 slur-proto-engraver.cc:119
 #, c-format
 msgid "unterminated %s"
 msgstr "%s sense acabar"
@@ -1973,22 +1970,22 @@ msgstr "episema sense terminar"
 msgid "unterminated extender"
 msgstr "extensor sense terminar"
 
-#: flag.cc:134
+#: flag.cc:133
 #, c-format
 msgid "flag `%s' not found"
 msgstr "no s'ha trobat l'indicador `%s'"
 
-#: flag.cc:154
+#: flag.cc:153
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "no s'ha trobat indicador de barra `%s'"
 
-#: font-config-scheme.cc:151 font-config.cc:53
+#: font-config-scheme.cc:151 font-config.cc:82
 #, c-format
 msgid "failed adding font directory: %s"
 msgstr "no s'ha pogut afegir directori de tipus de lletra: %s"
 
-#: font-config-scheme.cc:153 font-config.cc:55
+#: font-config-scheme.cc:153 font-config.cc:84
 #, c-format
 msgid "Adding font directory: %s"
 msgstr "S'està afegint el directori de tipus de lletra: %s"
@@ -2007,7 +2004,17 @@ msgstr "S'està afegint fiter de tipus de lletra: %s"
 msgid "Initializing FontConfig..."
 msgstr "S'està iniciant FontConfig..."
 
-#: font-config.cc:58
+#: font-config.cc:70
+#, c-format
+msgid "failed to add fontconfig configuration file `%s'"
+msgstr "no s'ha pogut afegir el fitxer de configuració del fontconfig '%s'"
+
+#: font-config.cc:73
+#, c-format
+msgid "Adding fontconfig configuration file: %s"
+msgstr "S'està afegint el fitxer de configuració del fontconfig: %s"
+
+#: font-config.cc:86
 msgid "Building font database..."
 msgstr "Se està construint base de dades de tipus de lletra..."
 
@@ -2071,12 +2078,12 @@ msgstr "Interfície `%s' desconeguda"
 msgid "Grob `%s' has no interface for property `%s'"
 msgstr "L'objecte gràfic `%s' no té interfície per a la propietat `%s'"
 
-#: grob-property.cc:35
+#: grob-property.cc:33
 #, c-format
 msgid "%d: %s"
 msgstr "%d: %s"
 
-#: grob.cc:481
+#: grob.cc:492
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr "s'ha ignorat un desplaçament-%s infinit"
@@ -2105,7 +2112,7 @@ msgstr "s'està removent el guionet no terminat"
 msgid "unterminated hyphen; removing"
 msgstr "guionet sense terminar; s'està removent"
 
-#: includable-lexer.cc:71 lily-guile.cc:91 lily-parser-scheme.cc:108
+#: includable-lexer.cc:71 lily-guile.cc:92 lily-parser-scheme.cc:108
 #, c-format
 msgid "cannot find file: `%s'"
 msgstr "no es pot trobar el fitxer: `%s'"
@@ -2115,11 +2122,11 @@ msgstr "no es pot trobar el fitxer: `%s'"
 msgid "(search path: `%s')"
 msgstr "(camí de búsqueda: `%s')"
 
-#: input.cc:138 source-file.cc:177 source-file.cc:192
+#: input.cc:138 source-file.cc:180 source-file.cc:195
 msgid "position unknown"
 msgstr "no es coneix la posició"
 
-#: key-engraver.cc:198
+#: key-engraver.cc:197
 msgid "Incomplete keyAlterationOrder for key signature"
 msgstr "keyAlterationOrder incomplet per a l'armadura"
 
@@ -2160,21 +2167,21 @@ msgstr "s'està ignorant el silenci: la lligadura no pot contenir un silenci"
 msgid "ligature was started here"
 msgstr "s'ha iniciat una lligadura aquí"
 
-#: lily-guile.cc:93
+#: lily-guile.cc:94
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(camí de càrrega: `%s')"
 
-#: lily-guile.cc:412
+#: lily-guile.cc:413
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr "no es pot trobar la propietat type-check per a `%s' (%s)."
 
-#: lily-guile.cc:415
+#: lily-guile.cc:416
 msgid "perhaps a typing error?"
 msgstr "potser un error tipogràfic?"
 
-#: lily-guile.cc:422
+#: lily-guile.cc:423
 msgid "skipping assignment"
 msgstr "s'està saltant l'assignació"
 
@@ -2183,20 +2190,33 @@ msgstr "s'està saltant l'assignació"
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "la verificació de tipus per a `%s' ha fallat; el valor `%s' ha de ser de tipus `%s'"
 
-#: lily-lexer.cc:249
+#. Uh oh.  unsmob<T> delivered 0, yet
+#. unsmob<T> delivers true.  This means that unsmob<T> is a
+#. matching check from a base class of T, but var is of an
+#. incompatible derived type.
+#: lily-guile.cc:462
+msgid "Wrong kind of "
+msgstr "Tipus incorrecte de "
+
+#: lily-lexer.cc:251
 msgid "include files are not allowed in safe mode"
 msgstr "no es permet incloure fitxers en mode segur"
 
-#: lily-lexer.cc:276
+#: lily-lexer.cc:278
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr "el nom del identificador és una paraula clau: `%s'"
 
-#: lily-lexer.cc:297 lily-lexer.cc:310
+#: lily-lexer.cc:299 lily-lexer.cc:312
 #, c-format
 msgid "%s:EOF"
 msgstr "%s:EOF"
 
+#: lily-modules.cc:81
+#, c-format
+msgid "Uninitialized variable `%s' in module (%s)"
+msgstr "Variable no inicialitzada `%s' al mòdul (%s)"
+
 #: lily-parser-scheme.cc:80
 #, c-format
 msgid "Changing working directory to: `%s'"
@@ -2217,19 +2237,19 @@ msgstr "no es pot trobar el fitxer inicial: `%s'"
 msgid "Processing `%s'"
 msgstr "S'està processant `%s'"
 
-#: lily-parser-scheme.cc:209
+#: lily-parser-scheme.cc:210
 msgid "ly:parser-parse-string is only valid with a new parser.  Use ly:parser-include-string instead."
 msgstr "ly:parser-parse-string sols és vàlid amb un analitzador nou. Useu en canvi ly:parser-include-string."
 
-#: lily-parser-scheme.cc:240
+#: lily-parser-scheme.cc:241
 msgid "ly:parse-string-expression is only valid with a new parser.  Use ly:parser-include-string instead."
 msgstr "ly:parser-parse-string sols és vàlid amb un analitzador nou. Useu en canvi ly:parser-include-string."
 
-#: lily-parser.cc:107
+#: lily-parser.cc:106
 msgid "Parsing..."
 msgstr "Analitzant..."
 
-#: lookup.cc:181
+#: lookup.cc:178
 #, c-format
 msgid "Not drawing a box with negative dimension, %.2f by %.2f."
 msgstr "No es dibuixarà una caixa amb dimensió negativa, %.2f per %.2f."
@@ -2238,12 +2258,12 @@ msgstr "No es dibuixarà una caixa amb dimensió negativa, %.2f per %.2f."
 msgid "argument of \\lyricsto should contain Lyrics context"
 msgstr "l'argument de \\lyricsto hauria de contenir un context de lletra"
 
-#: lyric-combine-music-iterator.cc:349
+#: lyric-combine-music-iterator.cc:344
 #, c-format
 msgid "cannot find %s `%s'"
 msgstr "no es pot trobar %s `%s'"
 
-#: main.cc:105
+#: main.cc:106
 #, c-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -2256,7 +2276,7 @@ msgstr ""
 "còpies d'ell sota certes condicions. Crideu-lo com `%s --warranty' per\n"
 "a més informació.\n"
 
-#: main.cc:111
+#: main.cc:112
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License as \n"
@@ -2288,11 +2308,11 @@ msgstr ""
 "Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA\n"
 "02111-1307, USA.\n"
 
-#: main.cc:149
+#: main.cc:150
 msgid "SYM[=VAL]"
 msgstr "SYM[=VAL]"
 
-#: main.cc:150
+#: main.cc:151
 msgid ""
 "set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
@@ -2300,45 +2320,45 @@ msgstr ""
 "estableix l'opció SYM de Scheme a VAL (per defecte: #t).\n"
 "Useu -dhelp per a ajuda."
 
-#: main.cc:154
+#: main.cc:155
 msgid "EXPR"
 msgstr "EXPR"
 
-#: main.cc:154
+#: main.cc:155
 msgid "evaluate scheme code"
 msgstr "avalua el codi d'esquema"
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:157
+#: main.cc:158
 msgid "FORMATs"
 msgstr "FORMATs"
 
-#: main.cc:157
+#: main.cc:158
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr "bolca el FORMAT,...  També com a opcions separades:"
 
-#: main.cc:158
+#: main.cc:159
 msgid "generate PDF (default)"
 msgstr "genera PDF (predeterminat)"
 
-#: main.cc:159
+#: main.cc:160
 msgid "generate PNG"
 msgstr "genera PNG"
 
-#: main.cc:160
+#: main.cc:161
 msgid "generate PostScript"
 msgstr "genera PostScript"
 
-#: main.cc:161
+#: main.cc:162
 msgid "generate big PDF files"
 msgstr "genera fitxers PDF grans"
 
-#: main.cc:164
+#: main.cc:165
 msgid "FIELD"
 msgstr "CAMP"
 
-#: main.cc:164
+#: main.cc:165
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
@@ -2346,19 +2366,19 @@ msgstr ""
 "bolca la capçalera al fitxer\n"
 "anomenat NOMDEBASE.CAMP"
 
-#: main.cc:167
+#: main.cc:168
 msgid "add DIR to search path"
 msgstr "afegeix DIR al camí de búsqueda"
 
-#: main.cc:168
+#: main.cc:169
 msgid "use FILE as init file"
 msgstr "usa FITXER com a fitxer inicial"
 
-#: main.cc:171
+#: main.cc:172
 msgid "USER, GROUP, JAIL, DIR"
 msgstr "USER, GROUP, JAIL, DIR"
 
-#: main.cc:171
+#: main.cc:172
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
@@ -2366,7 +2386,7 @@ msgstr ""
 "fes un chroot a JAIL, converteix-te en USER:GROUP\n"
 "i fes un cd a DIR"
 
-#: main.cc:176
+#: main.cc:177
 msgid ""
 "print log messages according to LOGLEVEL.  Possible values are:\n"
 "NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
@@ -2375,26 +2395,26 @@ msgstr ""
 "Es valors possibles són: NONE, ERROR, WARNING, BASIC, PROGRESS, INFO\n"
 "(preterminat) i DEBUG."
 
-#: main.cc:180
+#: main.cc:181
 msgid "write output to FILE (suffix will be added)"
 msgstr "escriu la sortida a FITXER (s'afegirà el sufix)"
 
-#: main.cc:181
+#: main.cc:182
 msgid "relocate using directory of lilypond program"
 msgstr "relocalitza el directori d'us del programa lilypond"
 
-#: main.cc:182
+#: main.cc:183
 msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
 msgstr ""
 "sense progrés, sols missatges d'error (equivalent a nivell \n"
 "de registre = ERROR)"
 
-#: main.cc:184
+#: main.cc:185
 msgid "be verbose (equivalent to loglevel=DEBUG)"
 msgstr "produeix missatges detallats (equivalent a nivell de registre = DEBUG)"
 
 #. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:263
+#: main.cc:264
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -2404,84 +2424,84 @@ msgstr ""
 "%s i d'altres."
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:301
+#: main.cc:302
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr "Ús: %s [OPCIÓ]... FITXER..."
 
-#: main.cc:303
+#: main.cc:304
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr "Grava la música i/o produeix MIDI des d'un FITXER."
 
-#: main.cc:305
+#: main.cc:306
 msgid "LilyPond produces beautiful music notation."
 msgstr "LilyPond produeix una notació musical bella."
 
-#: main.cc:307
+#: main.cc:308
 #, c-format
 msgid "For more information, see %s"
 msgstr "Per a més informació, vegeu %s"
 
-#: main.cc:309
+#: main.cc:310
 msgid "Options:"
 msgstr "Opcions:"
 
-#: main.cc:376
+#: main.cc:377
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr "s'esperava %d arguments amb presó, s'ha trobat: %u"
 
-#: main.cc:390
+#: main.cc:391
 #, c-format
 msgid "no such user: %s"
 msgstr "no hi ha aquest usuari: %s"
 
-#: main.cc:392
+#: main.cc:393
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr "no es pot recuperar la identitat d'usuari des del nom d'usuari: %s: %s"
 
-#: main.cc:407
+#: main.cc:408
 #, c-format
 msgid "no such group: %s"
 msgstr "no hi ha aquest grup: %s"
 
-#: main.cc:409
+#: main.cc:410
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr "no es pot recuperar la identitat de grup des del nom de grup: %s: %s"
 
-#: main.cc:417
+#: main.cc:418
 #, c-format
 msgid "cannot chroot to: %s: %s"
 msgstr "no es pot executar chroot a: %s: %s"
 
-#: main.cc:424
+#: main.cc:425
 #, c-format
 msgid "cannot change group id to: %d: %s"
 msgstr "no es pot canviar la identitat de grup a: %d: %s"
 
-#: main.cc:430
+#: main.cc:431
 #, c-format
 msgid "cannot change user id to: %d: %s"
 msgstr "no es pot canviar la identitat d'usuari a: %d: %s"
 
-#: main.cc:436
+#: main.cc:437
 #, c-format
 msgid "cannot change working directory to: %s: %s"
 msgstr "no es pot canviar el directori de treball a: %s: %s"
 
-#: main.cc:825
+#: main.cc:826
 #, c-format
 msgid "exception caught: %s"
 msgstr "s'ha capturar una excepció: %s"
 
 #. FIXME: constant error message.
-#: mark-engraver.cc:156
+#: mark-engraver.cc:150
 msgid "rehearsalMark must have integer value"
 msgstr "la rehearsalMark ha de tenir un valor enter"
 
-#: mark-engraver.cc:162
+#: mark-engraver.cc:156
 msgid "mark label must be a markup object"
 msgstr "l'etiqueta de marca ha de ser un objecte de marcat"
 
@@ -2533,7 +2553,7 @@ msgstr ""
 msgid "unexpected case fall-through"
 msgstr "cas quebrat no esperat"
 
-#: midi-control-function-performer.cc:109 staff-performer.cc:152
+#: midi-control-function-performer.cc:107 staff-performer.cc:153
 #, c-format
 msgid "ignoring out-of-range value change for MIDI property `%s'"
 msgstr "s'ignorarà el canvi de valor fora de rang per a la propietat MIDI `%s'"
@@ -2569,7 +2589,7 @@ msgstr "S'estan calculant els salts de pàgina..."
 msgid "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
 msgstr "els usable-duration-logs han de ser una llista no buida. S'està revertint a silencis de rodona"
 
-#: music.cc:149
+#: music.cc:150
 #, c-format
 msgid "octave check failed; expected \"%s\", found: \"%s\""
 msgstr "ha fallat la verificació d'octava; s'esperava \"%s\", s'ha trobat: \"%s\""
@@ -2603,37 +2623,37 @@ msgstr "no s'ha trobat ni el caps de nota `%s' ni el cap de nota `%s'"
 msgid "NoteEvent without pitch"
 msgstr "NoteEvent sense tonalitat"
 
-#: open-type-font.cc:46
+#: open-type-font.cc:45
 #, c-format
 msgid "cannot allocate %lu bytes"
 msgstr "no es poden assignar %lu bytes"
 
-#: open-type-font.cc:50
+#: open-type-font.cc:49
 #, c-format
 msgid "cannot load font table: %s"
 msgstr "no es pot carregar la taula de tipus de lletra: %s"
 
-#: open-type-font.cc:55
+#: open-type-font.cc:54
 #, c-format
 msgid "FreeType error: %s"
 msgstr "Error de FreeType: %s"
 
-#: open-type-font.cc:112
+#: open-type-font.cc:115
 #, c-format
 msgid "unsupported font format: %s"
 msgstr "format de tipus de lletra no suportat: %s"
 
-#: open-type-font.cc:114
+#: open-type-font.cc:117
 #, c-format
 msgid "error reading font file %s: %s"
 msgstr "s'ha produït un error llegint el fitxer de tipus de lletra %s: %s"
 
-#: open-type-font.cc:189
+#: open-type-font.cc:192
 #, c-format
 msgid "FT_Get_Glyph_Name () Freetype error: %s"
 msgstr "FT_Get_Glyps_Name () Error de Freetype: %s"
 
-#: open-type-font.cc:337 pango-font.cc:257
+#: open-type-font.cc:340 pango-font.cc:258
 #, c-format
 msgid "FT_Get_Glyph_Name () error: %s"
 msgstr "Error FT_Get_Glyph_Name (): %s"
@@ -2673,16 +2693,16 @@ msgstr "s'està provant amb %d sistemes de pentagrames"
 msgid "best score for this sys-count: %f"
 msgstr "millor partitura per a aquest syst-count: %f"
 
-#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
+#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:249
 #: paper-score.cc:156
 msgid "Drawing systems..."
 msgstr "S'estan dibuixant els sistemes de pentagrames..."
 
-#: output-def.cc:230
+#: output-def.cc:229
 msgid "margins do not fit with line-width, setting default values"
 msgstr "els marges no concorden amb line-width, s'establiran els valors predeterminats"
 
-#: output-def.cc:237
+#: output-def.cc:236
 msgid "systems run off the page due to improper paper settings, setting default values"
 msgstr ""
 "els sistemes de pentagrames sobrepassen la pàgina degut a paràmetres\n"
@@ -2701,68 +2721,68 @@ msgstr "min-systems-per-page és més gran que max-systems-per-page, s'ignoraran
 msgid "page %d has been compressed"
 msgstr "s'ha comprimit la pàgina %d "
 
-#: page-layout-problem.cc:402
+#: page-layout-problem.cc:400
 msgid "A page layout problem has been initiated that cannot accommodate footnotes."
 msgstr "S'ha iniciat un problema de disposició de pàgina que no pot acomodar notes a peu de pàgina."
 
-#: page-layout-problem.cc:731
+#: page-layout-problem.cc:729
 msgid "ragged-bottom was specified, but page must be compressed"
 msgstr "s'ha especificat ragged-bottom, però s'ha de comprimir la pàgina"
 
-#: page-layout-problem.cc:734
+#: page-layout-problem.cc:732
 #, c-format
 msgid "compressing over-full page by %.1f staff-spaces"
 msgstr "s'està comprimint la pàgina sobredimensionada per %.1f staff-spaces"
 
-#: page-layout-problem.cc:1199
+#: page-layout-problem.cc:1197
 msgid "staff-affinities should only decrease"
 msgstr "les staff-affinities no haurien de decréixer"
 
-#: page-turn-page-breaking.cc:168
+#: page-turn-page-breaking.cc:169
 #, c-format
 msgid "page-turn-page-breaking: breaking from %d to %d"
 msgstr "page-turn-page-breaking: saltant de %d a %d"
 
-#: page-turn-page-breaking.cc:217
+#: page-turn-page-breaking.cc:218
 msgid "cannot fit the first page turn onto a single page.  Consider setting first-page-number to an even number."
 msgstr "no es pot ajustar el primer salt de pàgina a una pàgina única. Considereu establir first-page-number a un nombre parell."
 
-#: page-turn-page-breaking.cc:230
+#: page-turn-page-breaking.cc:231
 #, c-format
 msgid "Calculating page and line breaks (%d possible page breaks)..."
 msgstr "S'estan calculant els salts de pàgina i de línia (%d salts de pàgina possibles)..."
 
-#: page-turn-page-breaking.cc:300
+#: page-turn-page-breaking.cc:301
 #, c-format
 msgid "break starting at page %d"
 msgstr "el salt comença a la pàgina %d"
 
-#: page-turn-page-breaking.cc:301
+#: page-turn-page-breaking.cc:302
 #, c-format
 msgid "\tdemerits: %f"
 msgstr "\tdemèrits: %f"
 
-#: page-turn-page-breaking.cc:302
+#: page-turn-page-breaking.cc:303
 #, c-format
 msgid "\tsystem count: %d"
 msgstr "\tquantitat de sistemes de pentagrames: %d"
 
-#: page-turn-page-breaking.cc:303
+#: page-turn-page-breaking.cc:304
 #, c-format
 msgid "\tpage count: %d"
 msgstr "\tquantitat de pàgines: %d"
 
-#: page-turn-page-breaking.cc:304
+#: page-turn-page-breaking.cc:305
 #, c-format
 msgid "\tprevious break: %d"
 msgstr "\tsalt anterior: %d"
 
-#: pango-font.cc:246
+#: pango-font.cc:247
 #, c-format
 msgid "no glyph for character U+%0X in font `%s'"
 msgstr "no hi ha un glif per al caràcter U+%0X al tipus de lletra `%s'"
 
-#: pango-font.cc:273
+#: pango-font.cc:274
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
@@ -2771,21 +2791,21 @@ msgstr ""
 "El glif no té nom, però el tipus de lletra permet el nomenament de glifs.\n"
 "S'està ometent el glif U+%0x, fitxer %s"
 
-#: pango-font.cc:323
+#: pango-font.cc:324
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr "no hi ha un nom de tipus de lletra Postscript per al tipus de lletra `%s'"
 
-#: pango-font.cc:373
+#: pango-font.cc:374
 msgid "FreeType face has no PostScript font name"
 msgstr "La família FreeType no té un nom de tipus de lletra PostScript"
 
-#: paper-book.cc:201
+#: paper-book.cc:200
 #, c-format
 msgid "program option -dprint-pages not supported by backend `%s'"
 msgstr "l'opció de programa -dprint-pages no té suport al dorsal `%s' "
 
-#: paper-book.cc:220
+#: paper-book.cc:219
 #, c-format
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr "l'opció del programa -dpreview no està suportada pel dorsal `%s'"
@@ -2808,7 +2828,7 @@ msgstr "Quantitat d'elements %d (expansor %d)"
 msgid "Preprocessing graphical objects..."
 msgstr "Pre-processant els objectes gràfics..."
 
-#: parse-scm.cc:128
+#: parse-scm.cc:124
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr "GUILE ha senyalat un error per a l'expressió que comença aquí"
 
@@ -2821,11 +2841,11 @@ msgstr "La conversió de la cadena de caràcters `%s'a UTF-16be ha fallat: %s"
 msgid "unterminated percent repeat"
 msgstr "repetició de percentatge sense terminar"
 
-#: performance.cc:55
+#: performance.cc:76
 msgid "Track..."
 msgstr "Pista..."
 
-#: performance.cc:90
+#: performance.cc:126
 #, c-format
 msgid "MIDI output to `%s'..."
 msgstr "Sortida MIDI a `%s'..."
@@ -2860,25 +2880,25 @@ msgstr "no és un nom d'objecte gràfic, `%s'"
 msgid "Failed octave check, got: "
 msgstr "Ha fallat la verificació d'octava, s'ha obtès: "
 
-#: relocate.cc:52
+#: relocate.cc:56
 #, c-format
 msgid "Setting %s to %s"
 msgstr "S'ha establert %s a %s"
 
 #. this warning should only be printed in debug mode!
-#: relocate.cc:73
+#: relocate.cc:77
 #, c-format
 msgid "no such file: %s for %s"
 msgstr "no existeix aquest fitxer: %s per a %s"
 
 #. this warning should only be printed in debug mode!
 #. this warning should only be printed in debug mode
-#: relocate.cc:84 relocate.cc:102
+#: relocate.cc:88 relocate.cc:106
 #, c-format
 msgid "no such directory: %s for %s"
 msgstr "no existeix aquest directori: %s per a %s"
 
-#: relocate.cc:93
+#: relocate.cc:97
 #, c-format
 msgid "%s=%s (prepend)\n"
 msgstr "%s=%s (anteposa)\n"
@@ -2908,7 +2928,7 @@ msgstr "Relocalització: és absolut: argv0=%s\n"
 msgid "Relocation : from cwd: argv0=%s\n"
 msgstr "Relocalització : de cwd: argv0=%s\n"
 
-#: relocate.cc:194
+#: relocate.cc:196
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
@@ -2917,30 +2937,30 @@ msgstr ""
 "Relocalització: de CAMÍ=%s\n"
 "argv0=%s\n"
 
-#: relocate.cc:220
+#: relocate.cc:222
 msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
 msgstr "LILYPONDPREFIX és obsolet, useu LILYPOND_DATADIR"
 
-#: relocate.cc:345
+#: relocate.cc:347
 #, c-format
 msgid "Relocation file: %s"
 msgstr "Fitxer de relocalització: %s"
 
-#: relocate.cc:349 source-file.cc:65
+#: relocate.cc:351 source-file.cc:65
 #, c-format
 msgid "cannot open file: `%s'"
 msgstr "no es pot obrir: `%s'"
 
-#: relocate.cc:379
+#: relocate.cc:381
 #, c-format
 msgid "Unknown relocation command %s"
 msgstr "Ordre desconeguda de relocalització %s"
 
-#: rest-collision.cc:153
+#: rest-collision.cc:154
 msgid "cannot resolve rest collision: rest direction not set"
 msgstr "no es pot resoldre la col·lisió de silenci: no s'ha establert la direcció del silenci"
 
-#: rest-collision.cc:164 rest-collision.cc:273
+#: rest-collision.cc:165 rest-collision.cc:274
 msgid "too many colliding rests"
 msgstr "massa silencis en col·lisió"
 
@@ -2949,33 +2969,33 @@ msgstr "massa silencis en col·lisió"
 msgid "rest `%s' not found"
 msgstr "no s'ha trobat el silenci `%s'"
 
-#: score-engraver.cc:79
+#: score-engraver.cc:77
 #, c-format
 msgid "cannot find `%s'"
 msgstr "no es pot trobar `%s'"
 
-#: score-engraver.cc:81
+#: score-engraver.cc:79
 msgid "Music font has not been installed properly."
 msgstr "No s'ha instal·lat adequadament el tipus de lletra de música."
 
-#: score-engraver.cc:83
+#: score-engraver.cc:81
 #, c-format
 msgid "Search path `%s'"
 msgstr "Camí de búsqueda `%s'"
 
-#: score-engraver.cc:85
+#: score-engraver.cc:83
 msgid "Aborting"
 msgstr "S'està avortant"
 
-#: score.cc:160
+#: score.cc:161
 msgid "already have music in score"
 msgstr "ja hi han notes a la partitura"
 
-#: score.cc:161
+#: score.cc:163
 msgid "this is the previous music"
 msgstr "aquestes són les notes anteriors"
 
-#: score.cc:166
+#: score.cc:169
 msgid "errors found, ignoring music expression"
 msgstr "s'han trobat errors, s'ignorarà el fragment de música"
 
@@ -3014,7 +3034,7 @@ msgstr "%s sens una causa"
 msgid "cannot end %s"
 msgstr "no es pot finalitzar %s"
 
-#: slur.cc:434
+#: slur.cc:436
 #, c-format
 msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr "S'ignorarà l'objecte gràfic per a la lligadura: %s. No s'ha establert avoid-slur?"
@@ -3049,18 +3069,18 @@ msgstr "potser l'entrada hauria d'especificar veus polifòniques"
 msgid "weird stem size, check for narrow beams"
 msgstr "dimensió de plica estranya, verifiqueu si hi han barres estretes "
 
-#: system.cc:201
+#: system.cc:202
 #, c-format
 msgid "Element count %d"
 msgstr "Nombre d'elements %d"
 
-#: system.cc:512
+#: system.cc:513
 #, c-format
 msgid "Grob count %d"
 msgstr "Nombre d'objectes gràfics %d"
 
 #. TODO: Also print the arguments of the markup!
-#: text-interface.cc:138
+#: text-interface.cc:139
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr "La profunditat del marcat excedeix el valor màxim de %d; Marcat: %s"
@@ -3081,7 +3101,7 @@ msgstr "expansor de text sense terminar"
 msgid "unterminated tie"
 msgstr "lligadura sense terminar"
 
-#: tie-engraver.cc:373
+#: tie-engraver.cc:377
 msgid "lonely tie"
 msgstr "lligadura aïllada"
 
@@ -3095,7 +3115,7 @@ msgstr "lligadura aïllada"
 msgid "strange time signature found: %d/%d"
 msgstr "s'ha trobat una indicació de temps estranya: %d/%d"
 
-#: translator-ctors.cc:65
+#: translator-ctors.cc:68
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "traductor desconegut: `%s'"
@@ -3105,17 +3125,17 @@ msgstr "traductor desconegut: `%s'"
 msgid "fatal error.  Couldn't find type: %s"
 msgstr "error fatal. No s'ha pogut trobar el tipus: %s"
 
-#: translator-group.cc:188
+#: translator-group.cc:187
 #, c-format
 msgid "cannot find: `%s'"
 msgstr "no es pot trobar: `%s'"
 
-#: translator.cc:320
+#: translator.cc:310
 #, c-format
 msgid "Two simultaneous %s events, junking this one"
 msgstr "Dos esdeveniments simultanis %s, s'eliminarà aquest"
 
-#: translator.cc:321
+#: translator.cc:311
 #, c-format
 msgid "Previous %s event here"
 msgstr "Esdeveniment %s previ aquí"
@@ -3180,206 +3200,206 @@ msgstr "també ja hi ha un expansor finalitzat"
 msgid "giving up"
 msgstr "es renunciarà"
 
-#: parser.yy:463 parser.yy:847 parser.yy:928 parser.yy:1150
+#: parser.yy:476 parser.yy:947 parser.yy:1028 parser.yy:1248
 msgid "bad expression type"
 msgstr "tipus d'expressió incorrecta"
 
-#: parser.yy:759 parser.yy:1361 parser.yy:1406
+#: parser.yy:859 parser.yy:1458 parser.yy:1503
 msgid "not a context mod"
 msgstr "no és un mod de context"
 
-#: parser.yy:954
+#: parser.yy:1054
 msgid "Missing music in \\score"
 msgstr "No hi ha música a \\score"
 
-#: parser.yy:991
+#: parser.yy:1091
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "no es pot usar \\paper a \\score, useu en canvi \\layout"
 
-#: parser.yy:1027
+#: parser.yy:1126
 msgid "Spurious expression in \\score"
 msgstr "Expressió espúria a \\score"
 
-#: parser.yy:1057
+#: parser.yy:1156
 msgid "need \\paper for paper block"
 msgstr "es necessita \\paper per a un bloc de paper"
 
-#: parser.yy:1234
+#: parser.yy:1331
 msgid "music expected"
 msgstr "s'esperaven notes"
 
-#: parser.yy:1244 parser.yy:1278
+#: parser.yy:1341 parser.yy:1375
 msgid "unexpected post-event"
 msgstr "esdeveniment posterior inesperat"
 
-#: parser.yy:1286
+#: parser.yy:1383
 msgid "Ignoring non-music expression"
 msgstr "S'ignorarà l'expressió que no és musical"
 
-#: parser.yy:1587
+#: parser.yy:1691
 msgid "not a symbol"
 msgstr "no és un símbol"
 
-#: parser.yy:2337 parser.yy:2451 parser.yy:2464 parser.yy:2473
+#: parser.yy:2491 parser.yy:2605 parser.yy:2618 parser.yy:2627
 msgid "bad grob property path"
 msgstr "camí incorrecte de propietat d'element gràfic"
 
-#: parser.yy:2431
+#: parser.yy:2585
 msgid "only \\consists and \\remove take non-string argument."
 msgstr "sols \\consists i \\remove admeten arguments no-textuals."
 
-#: parser.yy:2492
+#: parser.yy:2646
 msgid "bad context property path"
 msgstr "camí incorrecte de propietat de context"
 
-#: parser.yy:2593
+#: parser.yy:2733
 msgid "simple string expected"
 msgstr "s'esperava una cadena simple de caràcters"
 
-#: parser.yy:2611
+#: parser.yy:2750
 msgid "symbol expected"
 msgstr "s'esperava un símbol"
 
-#: parser.yy:2747
+#: parser.yy:2886
 msgid "not a rhythmic event"
 msgstr "no és un esdeveniment rítmic"
 
-#: parser.yy:2797
+#: parser.yy:2936
 msgid "post-event expected"
 msgstr "s'esperava un post-esdeveniment"
 
-#: parser.yy:2806 parser.yy:2811
+#: parser.yy:2945 parser.yy:2950
 msgid "have to be in Lyric mode for lyrics"
 msgstr "s'ha de ser a mode Lyric per a lletres"
 
-#: parser.yy:2887
+#: parser.yy:3026
 msgid "expecting string or post-event as script definition"
 msgstr "s'esperava una cadena de caràcters o un esdeveniment posterior a la definició de l'script"
 
-#: parser.yy:2991
+#: parser.yy:3130
 msgid "not an articulation"
 msgstr "no és una articulació"
 
-#: parser.yy:3063 parser.yy:3106
+#: parser.yy:3202 parser.yy:3245
 msgid "not a duration"
 msgstr "no és una duració"
 
-#: parser.yy:3127
+#: parser.yy:3266
 msgid "bass number expected"
 msgstr "s'esperava un número de baix"
 
-#: parser.yy:3219
+#: parser.yy:3358
 msgid "have to be in Note mode for notes"
 msgstr "s'ha d'estar en mode Nota per a notes"
 
-#: parser.yy:3258
+#: parser.yy:3397
 msgid "have to be in Chord mode for chords"
 msgstr "s'ha d'estar en mode Acords per a acords"
 
-#: parser.yy:3301
+#: parser.yy:3440
 msgid "markup outside of text script or \\lyricmode"
 msgstr "marcat fora d'un codi font de text o \\lyricmode"
 
-#: parser.yy:3306
+#: parser.yy:3445
 msgid "unrecognized string, not in text script or \\lyricmode"
 msgstr "cadena de text no reconeguda, no s'està en codi font de text o \\lyricmode"
 
-#: parser.yy:3458 parser.yy:3467
+#: parser.yy:3597 parser.yy:3606
 msgid "not an unsigned integer"
 msgstr "no és un enter sense signe"
 
-#: parser.yy:3541
+#: parser.yy:3693
 msgid "not a markup"
 msgstr "no és un marcat"
 
-#: lexer.ll:192
+#: lexer.ll:193
 msgid "stray UTF-8 BOM encountered"
 msgstr "s'ha trobat una marca BOM d'UTF-8 estranya"
 
-#: lexer.ll:195
+#: lexer.ll:196
 msgid "Skipping UTF-8 BOM"
 msgstr "S'ometrà la marca BOM d'UTF-8"
 
-#: lexer.ll:247
+#: lexer.ll:248
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr "Es reanomenarà l'entrada a: `%s'"
 
-#: lexer.ll:264
+#: lexer.ll:265
 msgid "quoted string expected after \\version"
 msgstr "cadena de caràcters entrecomillada després de \\version"
 
-#: lexer.ll:268
+#: lexer.ll:269
 msgid "quoted string expected after \\sourcefilename"
 msgstr "s'esperava una cadena entrecomillada de caràcters després de \\sourcefilename"
 
-#: lexer.ll:272
+#: lexer.ll:273
 msgid "integer expected after \\sourcefileline"
 msgstr "s'esperava un nombre enter després de \\sourcefileline"
 
-#: lexer.ll:299
+#: lexer.ll:300
 msgid "\\maininput not allowed outside init files"
 msgstr "no es permet \\maininput fora de fitxers d'inici"
 
-#: lexer.ll:323
+#: lexer.ll:324
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "identificador incorrecte o sense definir: `%s'"
 
-#: lexer.ll:348
+#: lexer.ll:349
 msgid "string expected after \\include"
 msgstr "s'esperava una cadena de caràcters després de \\include"
 
-#: lexer.ll:358
+#: lexer.ll:359
 msgid "end quote missing"
 msgstr "cometa de tancament no present"
 
-#: lexer.ll:713
+#: lexer.ll:714
 msgid "EOF found inside a comment"
 msgstr "S'ha trobat EOF (final de fitxer) a dins d'un comentari"
 
-#: lexer.ll:718
+#: lexer.ll:719
 msgid "EOF found inside string"
 msgstr "S'ha trobat EOF a dins d'un comentari"
 
-#: lexer.ll:733
+#: lexer.ll:734
 msgid "Unfinished main input"
 msgstr "Entrada principal sense terminar"
 
-#: lexer.ll:804
+#: lexer.ll:805
 #, c-format
 msgid "invalid character: `%s'"
 msgstr "caràcter no vàlid: `%s'"
 
-#: lexer.ll:924
+#: lexer.ll:925
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "cadena escapada de caràcters desconeguda: `\\%s'"
 
-#: lexer.ll:944
+#: lexer.ll:945
 #, c-format
 msgid "undefined character or shorthand: %s"
 msgstr "caràcter no definit o abreviació taquigràfica: %s"
 
-#: lexer.ll:1235
+#: lexer.ll:1236
 msgid "non-UTF-8 input"
 msgstr "entrada no UTF-8"
 
-#: lexer.ll:1279
+#: lexer.ll:1280
 #, c-format
 msgid "Invalid version string \"%s\""
 msgstr "Cadena de caràcters \"%s\" de versió no vàlida"
 
-#: lexer.ll:1284
+#: lexer.ll:1285
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr "fitxer massa antic: %s (el més antic suportat: %s)"
 
-#: lexer.ll:1285
+#: lexer.ll:1286
 msgid "consider updating the input with the convert-ly script"
 msgstr "considereu d'actualitzar l'entrada amb una seqüència d'ordres convert-ly"
 
-#: lexer.ll:1291
+#: lexer.ll:1292
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr "el programa és massa antic: %s (el fitxer requereix: %s)"
@@ -3398,24 +3418,34 @@ msgstr "Invocant `~a'..."
 msgid "`~a' failed (~a)\n"
 msgstr "`~a' ha fallat (~a)\n"
 
-#: backend-library.scm:94
+#: backend-library.scm:108
 #, scheme-format
 msgid "Converting to `~a'...\n"
 msgstr "S'està convertint a `~a'...\n"
 
 #. Do not try to guess the name of the png file,
 #. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:103
+#: backend-library.scm:118
 #, scheme-format
 msgid "Converting to ~a..."
 msgstr "S'està convertint a ~a..."
 
-#: backend-library.scm:141
+#: backend-library.scm:134
+#, scheme-format
+msgid "Copying to `~a'...\n"
+msgstr "S'està copiant a `~a'...\n"
+
+#: backend-library.scm:200
+#, scheme-format
+msgid "Deleting `~a'...\n"
+msgstr "S'està esborrant `~a'...\n"
+
+#: backend-library.scm:219
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr "S'està escrivint el camp de capçalera `~a' a `~a'..."
 
-#: backend-library.scm:190
+#: backend-library.scm:268
 #, scheme-format
 msgid "missing stencil expression `~S'"
 msgstr "manca l'expressió de plantilla `~S'"
@@ -3471,60 +3501,60 @@ msgstr "No es pot redefenir la classe d'esdeveniment `~S'"
 msgid "Undefined parent event class `~S'"
 msgstr "Classe pare d'esdeveniment no definica `~S'"
 
-#: define-markup-commands.scm:1062
+#: define-markup-commands.scm:1098
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr "no s'han trobat sistemes al marcat \\score, té un bloc \\layout?"
 
-#: define-markup-commands.scm:2886
+#: define-markup-commands.scm:2922
 #, scheme-format
 msgid "Cannot find glyph ~a"
 msgstr "No es pot trobar l'element gràfic ~a"
 
-#: define-markup-commands.scm:3362
+#: define-markup-commands.scm:3398
 #, scheme-format
 msgid "no brace found for point size ~S "
 msgstr "no s'ha trobat una clau per a la dimensió de punt ~S"
 
-#: define-markup-commands.scm:3363
+#: define-markup-commands.scm:3399
 #, scheme-format
 msgid "defaulting to ~S pt"
 msgstr "es torna al valor predeterminat de ~S pt"
 
-#: define-markup-commands.scm:3615
+#: define-markup-commands.scm:3643
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr "no és una cadena de caràcters de duració vàlida: ~a"
 
-#: define-markup-commands.scm:3826
+#: define-markup-commands.scm:3854
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
 msgstr "no és una cadena de caràcters de duració vàlida: ~a - s'ignorarà"
 
-#: define-music-types.scm:797
+#: define-music-types.scm:803
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr "s'esperava un símbol: ~S"
 
-#: define-music-types.scm:800
+#: define-music-types.scm:806
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr "no es pot trobar l'objecte de música: ~S"
 
-#: define-music-types.scm:820
+#: define-music-types.scm:826
 #, scheme-format
 msgid "bad make-music argument: ~S"
 msgstr "argument de fer música incorrecte: ~S"
 
-#: define-note-names.scm:972
+#: define-note-names.scm:1000
 msgid "Select note names language."
 msgstr "Seleccioneu l'idioma dels noms de les notes."
 
-#: define-note-names.scm:978
+#: define-note-names.scm:1006
 #, scheme-format
 msgid "Using `~a' note names..."
 msgstr "S'estan usant els noms de notes `~a'..."
 
-#: define-note-names.scm:981
+#: define-note-names.scm:1009
 #, scheme-format
 msgid "Could not find language `~a'.  Ignoring."
 msgstr "No s'ha pogut trobar l'idioma `~a'. S'ignorarà."
@@ -3564,12 +3594,12 @@ msgstr "no es pot trobar una descripció per a la propietat `~S' (~S)"
 msgid "cannot find description for property ~S (~S)"
 msgstr "no es pot trobar una descripció per a la propietat ~S (~S)"
 
-#: flag-styles.scm:162
+#: flag-styles.scm:155
 #, scheme-format
 msgid "flag stroke `~a' or `~a' not found"
 msgstr "no s'ha trobat l'indicador de contorn `~a' o `~a'"
 
-#: framework-eps.scm:108
+#: framework-eps.scm:112
 #, scheme-format
 msgid "Writing ~a..."
 msgstr "S'està escrivint ~a..."
@@ -3594,7 +3624,7 @@ msgstr "no hi ha prou informació per incloure ~S=~S"
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr "no hi ha prou informació per incloure el tipus de lletra ~s ~s ~s"
 
-#: framework-ps.scm:729
+#: framework-ps.scm:723
 msgid ""
 "\n"
 "The PostScript backend does not support the\n"
@@ -3642,20 +3672,20 @@ msgstr "Error a quantificació de barres. S'esperava (~S, ~S), s'ha trobat ~S."
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Error a quantificació de barres. S'esperava ~S 0, s'ha trobat ~S."
 
-#: lily-library.scm:350
+#: lily-library.scm:333
 msgid "Music unsuitable for context-mod"
 msgstr "La música no és apropiada per a context-mod"
 
-#: lily-library.scm:405
+#: lily-library.scm:388
 #, scheme-format
 msgid "Cannot find context-def \\~a"
 msgstr "No es pot trobar el context-def \\~a"
 
-#: lily-library.scm:421
+#: lily-library.scm:404
 msgid "Music unsuitable for output-def"
 msgstr "La música no és apropiada per a output-def"
 
-#: lily-library.scm:921
+#: lily-library.scm:904
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
@@ -3665,51 +3695,51 @@ msgstr ""
 "que produeix la coincidència més propera a @var{target-val} si\n"
 "s'aplica a la funció @var{getter}."
 
-#: lily-library.scm:1015
+#: lily-library.scm:998
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr "unitat desconeguda: ~S"
 
-#: lily-library.scm:1040
+#: lily-library.scm:1023
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr "no s'ha trobat la declaració \\version, sisplau afegiu ~a per a compatibilitat futura"
 
-#: lily.scm:75
+#: lily.scm:93
 msgid "call-after-session used after session start"
 msgstr "s'ha usat call-after-session després de l'inici de la sessió"
 
-#: lily.scm:93
+#: lily.scm:111
 msgid "define-session used after session start"
 msgstr "s'ha usat define-session després de l'inici de la sessió"
 
-#: lily.scm:399
+#: lily.scm:417
 msgid "Using (ice-9 curried-definitions) module\n"
 msgstr "Usant el mòdul (ice-9 curried-definitions)\n"
 
-#: lily.scm:402
+#: lily.scm:420
 msgid "Guile 1.8\n"
 msgstr "Guile 1.8\n"
 
-#: lily.scm:459
+#: lily.scm:477
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr "no es pot trobar ~A"
 
-#: lily.scm:886
+#: lily.scm:903
 msgid "Success: compilation successfully completed"
 msgstr "Èxit: s'ha completat amb èxit la compilació"
 
-#: lily.scm:887
+#: lily.scm:904
 msgid "Compilation completed with warnings or errors"
 msgstr "La compilació s'ha completat amb advertiments i errors"
 
-#: lily.scm:948
+#: lily.scm:965
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr "la tasca ~a ha acabat amb senyal: ~a"
 
-#: lily.scm:951
+#: lily.scm:968
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
@@ -3718,36 +3748,31 @@ msgstr ""
 "fitxer de registre ~a (sortida ~a):\n"
 "~a"
 
-#: lily.scm:973 lily.scm:1062
+#: lily.scm:990 lily.scm:1079
 #, scheme-format
 msgid "failed files: ~S"
 msgstr "fitxers que han fallat: ~S"
 
-#: lily.scm:1053
+#: lily.scm:1070
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr "S'està redirigint la sortida a ~a..."
 
-#: lily.scm:1072 ps-to-png.scm:66
+#: lily.scm:1089
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr "S'està invocant `~a'...\n"
 
-#: ly-syntax-constructors.scm:66
+#: ly-syntax-constructors.scm:27
 #, scheme-format
 msgid "~a function cannot return ~a"
 msgstr "la funció ~a no pot retornar ~a"
 
-#: ly-syntax-constructors.scm:76
+#: ly-syntax-constructors.scm:60
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr "tipus incorrecte per a l'argument ~a. S'esperava ~a, s'ha trobat ~s"
 
-#: ly-syntax-constructors.scm:200
-#, scheme-format
-msgid "Invalid property operation ~a"
-msgstr "Operació de propietat invàlida ~a"
-
 #: markup-macros.scm:331
 #, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
@@ -3787,67 +3812,77 @@ msgstr "la tonalitat a invertir no està a l'escala; s'ignorarà"
 msgid "negative replication count; ignoring"
 msgstr "nombre negatiu de replicacions; s'ignorarà"
 
-#: music-functions.scm:311
+#: music-functions.scm:319
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr "nombre de repeticions de trèmolo invàlid: ~a"
 
-#: music-functions.scm:340
+#: music-functions.scm:348
 #, scheme-format
 msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
 msgstr "tipus de repetició `~S' desconegut: ha de ser volta, desplegament, percentatge o trémolo"
 
-#: music-functions.scm:344
+#: music-functions.scm:352
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr "Hi ha més alternatives que repeticions. S'eliminaran les alternatives excessives"
 
-#: music-functions.scm:480
+#: music-functions.scm:487
 #, scheme-format
 msgid "bad grob property path ~a"
 msgstr "Operació de propietat d'element gràfic invàlida ~a"
 
-#: music-functions.scm:779
+#: music-functions.scm:511
+#, scheme-format
+msgid "bad context property ~a"
+msgstr "propietat de context incorrecta ~a"
+
+#: music-functions.scm:534
+#, scheme-format
+msgid "bad music property ~a"
+msgstr "propietat de música incorrecta ~a"
+
+#: music-functions.scm:840
 msgid "Bad chord repetition"
 msgstr "Repetició d'acord incorrecte"
 
-#: music-functions.scm:884
+#: music-functions.scm:945
 #, scheme-format
 msgid "music expected: ~S"
 msgstr "s'esperaven notes: ~S"
 
-#: music-functions.scm:1226
+#: music-functions.scm:1295
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr "no es poden trobar les notes citades: `~S'"
 
-#: music-functions.scm:1366
+#: music-functions.scm:1432
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr "Afegeix @var{octave-shift} a l'octava de @var{pitch}."
 
-#: music-functions.scm:1429
+#: music-functions.scm:1495
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr "Tipus d'octavació desconegut: ~S "
 
-#: music-functions.scm:1430
+#: music-functions.scm:1496
 msgid "Defaulting to 'any-octave."
 msgstr "Es revertirà per defecte a 'any-octave'."
 
-#: music-functions.scm:1822
+#: music-functions.scm:1888
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr "estil desconegut d'accidents: ~S"
 
-#: music-functions.scm:2040
+#: music-functions.scm:2098
 msgid "Missing duration"
 msgstr "Duració absent"
 
-#: music-functions.scm:2549
+#: music-functions.scm:2626
 #, scheme-format
 msgid "not a symbol list: ~a"
 msgstr "no és una llista de símbols: ~a"
 
-#: music-functions.scm:2552
+#: music-functions.scm:2629
 #, scheme-format
 msgid "conflicting tag group ~a"
 msgstr "grup de etiquetes en conflicte ~a"
@@ -3876,23 +3911,23 @@ msgstr "L'element gràfic ha de tenir un valor unicode"
 msgid "cannot find SVG font ~S"
 msgstr "No es pot trobar el tipus de lletra SVG ~S"
 
-#: paper.scm:122
+#: paper.scm:121
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr "set-global-staff-size: no a l'àmbit de nivell superior"
 
-#: paper.scm:322
+#: paper.scm:321
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "Aquest no és un objecte \\layout {}, ~S"
 
-#: paper.scm:330
+#: paper.scm:329
 #, scheme-format
 msgid "Unknown paper size: ~a"
 msgstr "Dimensió de paper desconegut: ~a"
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:349
+#: paper.scm:348
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "S'ha d'usar #(set-paper-size .. ) dins de \\paper { ... }"
 
@@ -3906,19 +3941,24 @@ msgstr "tipus de clau desconegut `~a'"
 msgid "supported clefs: ~a"
 msgstr "claus suportades: ~a"
 
-#: parser-ly-from-scheme.scm:74
+#: parser-ly-from-scheme.scm:73
 msgid "error in #{ ... #}"
 msgstr "error a #{ ... #}"
 
-#: part-combiner.scm:748
+#: part-combiner.scm:894
 #, scheme-format
 msgid "quoted music `~a' is empty"
 msgstr "les notes citades `~a' estan buides"
 
-#: ps-to-png.scm:70
+#: ps-to-png.scm:72 ps-to-png.scm:75
+#, scheme-format
+msgid "Copying `~a' to `~a'..."
+msgstr "S'està copiant a `~a' a `~a'..."
+
+#: ps-to-png.scm:77 ps-to-png.scm:79
 #, scheme-format
-msgid "~a exited with status: ~S"
-msgstr "~a ha sortit amb estat: ~S"
+msgid "Deleting `~a'..."
+msgstr "S'està esborrant `~a'..."
 
 #: to-xml.scm:190
 #, scheme-format
@@ -3967,6 +4007,15 @@ msgstr ""
 "No hi ha una etiqueta per al trast ~a (a la corda ~a);\n"
 "sols s'han proveït ~a etiquetes de trast"
 
+#~ msgid "cannot change, already in translator: %s"
+#~ msgstr "no es pot canviar, ja està al traductor: %s"
+
+#~ msgid "Invalid property operation ~a"
+#~ msgstr "Operació de propietat invàlida ~a"
+
+#~ msgid "~a exited with status: ~S"
+#~ msgstr "~a ha sortit amb estat: ~S"
+
 #~ msgid "cannot find Voice `%s'"
 #~ msgstr "no es pot trobar la veu `%s'"
 
index d3ada97b532f12e754f87ca151bd613772f3f9f5..5af09267a4b277ae64da55d27a60579cb312c7bb 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.19.29\n"
+"Project-Id-Version: lilypond 2.19.31\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
-"POT-Creation-Date: 2015-10-18 11:46+0100\n"
+"POT-Creation-Date: 2015-11-08 14:27+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -141,7 +141,7 @@ msgstr ""
 msgid "%s has been replaced by %s"
 msgstr ""
 
-#: convertrules.py:25 lilylib.py:136 warn.cc:224
+#: convertrules.py:25 lilylib.py:136 warn.cc:223
 #, c-format, python-format
 msgid "warning: %s"
 msgstr ""
@@ -810,7 +810,7 @@ msgstr ""
 msgid "Unknown or invalid loglevel '%s'"
 msgstr ""
 
-#: lilylib.py:133 warn.cc:212
+#: lilylib.py:133 warn.cc:211
 #, c-format, python-format
 msgid "error: %s"
 msgstr ""
@@ -902,12 +902,12 @@ msgid ""
 msgstr ""
 
 #: abc2ly.py:1398 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:184
 msgid "show version number and exit"
 msgstr ""
 
 #: abc2ly.py:1401 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:163
 msgid "show this help and exit"
 msgstr ""
 
@@ -932,7 +932,7 @@ msgstr ""
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
 #: abc2ly.py:1416 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:321
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:318
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr ""
@@ -983,7 +983,7 @@ msgid ""
 msgstr ""
 
 #: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:176
+#: musicxml2ly.py:2629 main.cc:177
 msgid "LOGLEVEL"
 msgstr ""
 
@@ -1015,7 +1015,7 @@ msgid "make a numbered backup [default: filename.ext~]"
 msgstr ""
 
 #: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:185
+#: main.cc:186
 msgid "show warranty and copyright"
 msgstr ""
 
@@ -1074,7 +1074,7 @@ msgid ""
 msgstr ""
 
 #: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:168 main.cc:180
+#: main.cc:169 main.cc:181
 msgid "FILE"
 msgstr ""
 
@@ -1114,7 +1114,7 @@ msgid "add DIR to include path"
 msgstr ""
 
 #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:168
 msgid "DIR"
 msgstr ""
 
@@ -1598,91 +1598,91 @@ msgstr ""
 msgid "About <a href=\"%s\">automatic language selection</a>."
 msgstr ""
 
-#: getopt-long.cc:155
+#: getopt-long.cc:153
 #, c-format
 msgid "option `%s' requires an argument"
 msgstr ""
 
-#: getopt-long.cc:159
+#: getopt-long.cc:157
 #, c-format
 msgid "option `%s' does not allow an argument"
 msgstr ""
 
-#: getopt-long.cc:163
+#: getopt-long.cc:161
 #, c-format
 msgid "unrecognized option: `%s'"
 msgstr ""
 
-#: getopt-long.cc:169
+#: getopt-long.cc:167
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
 msgstr ""
 
-#: warn.cc:57
+#: warn.cc:56
 #, c-format
 msgid "Log level set to %d\n"
 msgstr ""
 
-#: warn.cc:90
+#: warn.cc:89
 #, c-format
 msgid "unknown log level `%s', using default (INFO)"
 msgstr ""
 
 #. Some expected warning was not triggered, so print out a warning.
-#: warn.cc:113
+#: warn.cc:112
 #, c-format
 msgid "%d expected warning(s) not encountered: "
 msgstr ""
 
-#: warn.cc:184
+#: warn.cc:183
 #, c-format
 msgid "fatal error: %s"
 msgstr ""
 
-#: warn.cc:193
+#: warn.cc:192
 #, c-format
 msgid "suppressed programming error: %s"
 msgstr ""
 
-#: warn.cc:198
+#: warn.cc:197
 #, c-format
 msgid "programming error: %s"
 msgstr ""
 
-#: warn.cc:199
+#: warn.cc:198
 msgid "continuing, cross fingers"
 msgstr ""
 
-#: warn.cc:208
+#: warn.cc:207
 #, c-format
 msgid "suppressed error: %s"
 msgstr ""
 
-#: warn.cc:220
+#: warn.cc:219
 #, c-format
 msgid "suppressed warning: %s"
 msgstr ""
 
-#: accidental-engraver.cc:182
+#: accidental-engraver.cc:180
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:209
+#: accidental-engraver.cc:207
 #, c-format
 msgid "procedure or context-name expected for accidental rule, found %s"
 msgstr ""
 
-#: accidental.cc:144
+#: accidental.cc:141
 #, c-format
 msgid "Could not find glyph-name for alteration %s"
 msgstr ""
 
-#: accidental.cc:160
+#: accidental.cc:157
 msgid "natural alteration glyph not found"
 msgstr ""
 
-#: all-font-metrics.cc:161
+#: all-font-metrics.cc:159
 #, c-format
 msgid "cannot find font: `%s'"
 msgstr ""
@@ -1695,24 +1695,24 @@ msgstr ""
 msgid "no heads for arpeggio found?"
 msgstr ""
 
-#: axis-group-engraver.cc:151
+#: axis-group-engraver.cc:149
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr ""
 
-#: axis-group-engraver.cc:152
+#: axis-group-engraver.cc:150
 msgid "are there two Axis_group_engravers?"
 msgstr ""
 
-#: axis-group-engraver.cc:153
+#: axis-group-engraver.cc:151
 msgid "removing this vertical group"
 msgstr ""
 
-#: axis-group-interface.cc:721
+#: axis-group-interface.cc:716
 #, c-format
 msgid "\"%s\" is not a valid outside-staff-placement-directive"
 msgstr ""
 
-#: axis-group-interface.cc:793
+#: axis-group-interface.cc:788
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 
@@ -1729,7 +1729,7 @@ msgstr ""
 msgid "unterminated beam"
 msgstr ""
 
-#: beam-engraver.cc:282 chord-tremolo-engraver.cc:151
+#: beam-engraver.cc:282 chord-tremolo-engraver.cc:149
 msgid "stem must have Rhythmic structure"
 msgstr ""
 
@@ -1742,21 +1742,21 @@ msgid "beam was started here"
 msgstr ""
 
 #. We are completely screwed.
-#: beam-quanting.cc:853
+#: beam-quanting.cc:850
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr ""
 
-#: beam.cc:187
+#: beam.cc:183
 msgid "removing beam with no stems"
 msgstr ""
 
-#: change-iterator.cc:36
+#: change-iterator.cc:34
 #, c-format
 msgid "cannot change `%s' to `%s'"
 msgstr ""
 
 #. FIXME: constant error message.
-#: change-iterator.cc:69
+#: change-iterator.cc:67
 msgid "cannot find context to switch to"
 msgstr ""
 
@@ -1767,44 +1767,44 @@ msgstr ""
 #.
 #. last->translator_id_string () = get_change
 #. ()->change_to_id_string ();
-#: change-iterator.cc:80
+#: change-iterator.cc:78
 #, c-format
 msgid "not changing to same context type: %s"
 msgstr ""
 
 #. FIXME: incomprehensible message
-#: change-iterator.cc:84
+#: change-iterator.cc:82
 msgid "none of these in my family"
 msgstr ""
 
-#: chord-tremolo-engraver.cc:90
+#: chord-tremolo-engraver.cc:88
 msgid "No tremolo to end"
 msgstr ""
 
-#: chord-tremolo-engraver.cc:111
+#: chord-tremolo-engraver.cc:109
 msgid "unterminated chord tremolo"
 msgstr ""
 
-#: clef.cc:67
+#: clef.cc:65
 #, c-format
 msgid "clef `%s' not found"
 msgstr ""
 
-#: cluster.cc:123
+#: cluster.cc:120
 #, c-format
 msgid "unknown cluster style `%s'"
 msgstr ""
 
-#: cluster.cc:160
+#: cluster.cc:157
 msgid "junking empty cluster"
 msgstr ""
 
-#: coherent-ligature-engraver.cc:112
+#: coherent-ligature-engraver.cc:110
 #, c-format
 msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
 msgstr ""
 
-#: constrained-breaking.cc:189 constrained-breaking.cc:208
+#: constrained-breaking.cc:187 constrained-breaking.cc:206
 msgid "cannot find line breaking that satisfies constraints"
 msgstr ""
 
@@ -1812,27 +1812,27 @@ msgstr ""
 msgid "need symbol arguments for \\override and \\revert"
 msgstr ""
 
-#: context.cc:146
+#: context.cc:143
 #, c-format
 msgid "cannot find or create new `%s'"
 msgstr ""
 
-#: context.cc:225
+#: context.cc:222
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
-#: context.cc:456
+#: context.cc:453
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
 
-#: context.cc:470
+#: context.cc:467
 #, c-format
 msgid "cannot find or create new Bottom = \"%s\""
 msgstr ""
 
-#: custos.cc:88
+#: custos.cc:87
 #, c-format
 msgid "custos `%s' not found"
 msgstr ""
@@ -1854,19 +1854,19 @@ msgstr ""
 msgid "Already listening to dispatcher, ignoring request"
 msgstr ""
 
-#: dots.cc:50
+#: dots.cc:48
 #, c-format
 msgid "dot `%s' not found"
 msgstr ""
 
-#: dynamic-engraver.cc:171
+#: dynamic-engraver.cc:169
 #, c-format
 msgid ""
 "unknown crescendo style: %s\n"
 "defaulting to hairpin."
 msgstr ""
 
-#: dynamic-engraver.cc:236 slur-proto-engraver.cc:159
+#: dynamic-engraver.cc:234 slur-proto-engraver.cc:159
 #, c-format
 msgid "unterminated %s"
 msgstr ""
@@ -1878,15 +1878,15 @@ msgstr ""
 msgid "(De)crescendo with unspecified starting volume in MIDI."
 msgstr ""
 
-#: episema-engraver.cc:77
+#: episema-engraver.cc:75
 msgid "already have an episema"
 msgstr ""
 
-#: episema-engraver.cc:90
+#: episema-engraver.cc:88
 msgid "cannot find start of episema"
 msgstr ""
 
-#: episema-engraver.cc:139
+#: episema-engraver.cc:137
 msgid "unterminated episema"
 msgstr ""
 
@@ -1894,68 +1894,68 @@ msgstr ""
 msgid "unterminated extender"
 msgstr ""
 
-#: flag.cc:135
+#: flag.cc:133
 #, c-format
 msgid "flag `%s' not found"
 msgstr ""
 
-#: flag.cc:155
+#: flag.cc:153
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr ""
 
-#: font-config-scheme.cc:153 font-config.cc:85
+#: font-config-scheme.cc:151 font-config.cc:82
 #, c-format
 msgid "failed adding font directory: %s"
 msgstr ""
 
-#: font-config-scheme.cc:155 font-config.cc:87
+#: font-config-scheme.cc:153 font-config.cc:84
 #, c-format
 msgid "Adding font directory: %s"
 msgstr ""
 
-#: font-config-scheme.cc:169
+#: font-config-scheme.cc:167
 #, c-format
 msgid "failed adding font file: %s"
 msgstr ""
 
-#: font-config-scheme.cc:171
+#: font-config-scheme.cc:169
 #, c-format
 msgid "Adding font file: %s"
 msgstr ""
 
-#: font-config.cc:41
+#: font-config.cc:38
 msgid "Initializing FontConfig..."
 msgstr ""
 
-#: font-config.cc:73
+#: font-config.cc:70
 #, c-format
 msgid "failed to add fontconfig configuration file `%s'"
 msgstr ""
 
-#: font-config.cc:76
+#: font-config.cc:73
 #, c-format
 msgid "Adding fontconfig configuration file: %s"
 msgstr ""
 
-#: font-config.cc:89
+#: font-config.cc:86
 msgid "Building font database..."
 msgstr ""
 
-#: footnote-engraver.cc:89
+#: footnote-engraver.cc:87
 msgid "Must be footnote-event."
 msgstr ""
 
-#: general-scheme.cc:405
+#: general-scheme.cc:403
 #, c-format
 msgid "failed redirecting stderr to `%s'"
 msgstr ""
 
-#: general-scheme.cc:484 output-ps.scm:48
+#: general-scheme.cc:482 output-ps.scm:48
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr ""
 
-#: glissando-engraver.cc:161
+#: glissando-engraver.cc:158
 msgid "unterminated glissando"
 msgstr ""
 
@@ -1972,32 +1972,32 @@ msgstr ""
 msgid "elapsed time: %.2f seconds"
 msgstr ""
 
-#: gregorian-ligature-engraver.cc:72
+#: gregorian-ligature-engraver.cc:70
 #, c-format
 msgid "\\%s ignored"
 msgstr ""
 
-#: gregorian-ligature-engraver.cc:77
+#: gregorian-ligature-engraver.cc:75
 #, c-format
 msgid "implied \\%s added"
 msgstr ""
 
 #. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:226
+#: gregorian-ligature-engraver.cc:224
 msgid "cannot apply `\\~' on first head of ligature"
 msgstr ""
 
 #. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:238
+#: gregorian-ligature-engraver.cc:236
 msgid "cannot apply `\\~' on heads with identical pitch"
 msgstr ""
 
-#: grob-interface.cc:70
+#: grob-interface.cc:68
 #, c-format
 msgid "Unknown interface `%s'"
 msgstr ""
 
-#: grob-interface.cc:81
+#: grob-interface.cc:79
 #, c-format
 msgid "Grob `%s' has no interface for property `%s'"
 msgstr ""
@@ -2007,7 +2007,7 @@ msgstr ""
 msgid "%d: %s"
 msgstr ""
 
-#: grob.cc:499
+#: grob.cc:496
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr ""
@@ -2020,11 +2020,11 @@ msgstr ""
 msgid "decrescendo too small"
 msgstr ""
 
-#: horizontal-bracket-engraver.cc:64
+#: horizontal-bracket-engraver.cc:62
 msgid "do not have that many brackets"
 msgstr ""
 
-#: horizontal-bracket-engraver.cc:73
+#: horizontal-bracket-engraver.cc:71
 msgid "conflicting note group events"
 msgstr ""
 
@@ -2036,17 +2036,17 @@ msgstr ""
 msgid "unterminated hyphen; removing"
 msgstr ""
 
-#: includable-lexer.cc:72 lily-guile.cc:94 lily-parser-scheme.cc:110
+#: includable-lexer.cc:71 lily-guile.cc:92 lily-parser-scheme.cc:108
 #, c-format
 msgid "cannot find file: `%s'"
 msgstr ""
 
-#: includable-lexer.cc:74 lily-parser-scheme.cc:102
+#: includable-lexer.cc:73 lily-parser-scheme.cc:100
 #, c-format
 msgid "(search path: `%s')"
 msgstr ""
 
-#: input.cc:139 source-file.cc:188 source-file.cc:203
+#: input.cc:138 source-file.cc:180 source-file.cc:195
 msgid "position unknown"
 msgstr ""
 
@@ -2054,12 +2054,12 @@ msgstr ""
 msgid "Incomplete keyAlterationOrder for key signature"
 msgstr ""
 
-#: key-signature-interface.cc:79
+#: key-signature-interface.cc:77
 #, c-format
 msgid "No glyph found for alteration: %s"
 msgstr ""
 
-#: key-signature-interface.cc:89
+#: key-signature-interface.cc:87
 msgid "alteration not found"
 msgstr ""
 
@@ -2091,25 +2091,25 @@ msgstr ""
 msgid "ligature was started here"
 msgstr ""
 
-#: lily-guile.cc:96
+#: lily-guile.cc:94
 #, c-format
 msgid "(load path: `%s')"
 msgstr ""
 
-#: lily-guile.cc:415
+#: lily-guile.cc:413
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:418
+#: lily-guile.cc:416
 msgid "perhaps a typing error?"
 msgstr ""
 
-#: lily-guile.cc:425
+#: lily-guile.cc:423
 msgid "skipping assignment"
 msgstr ""
 
-#: lily-guile.cc:444
+#: lily-guile.cc:442
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
@@ -2118,20 +2118,20 @@ msgstr ""
 #. unsmob<T> delivers true.  This means that unsmob<T> is a
 #. matching check from a base class of T, but var is of an
 #. incompatible derived type.
-#: lily-guile.cc:464
+#: lily-guile.cc:462
 msgid "Wrong kind of "
 msgstr ""
 
-#: lily-lexer.cc:252
+#: lily-lexer.cc:251
 msgid "include files are not allowed in safe mode"
 msgstr ""
 
-#: lily-lexer.cc:279
+#: lily-lexer.cc:278
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr ""
 
-#: lily-lexer.cc:300 lily-lexer.cc:313
+#: lily-lexer.cc:299 lily-lexer.cc:312
 #, c-format
 msgid "%s:EOF"
 msgstr ""
@@ -2141,57 +2141,57 @@ msgstr ""
 msgid "Uninitialized variable `%s' in module (%s)"
 msgstr ""
 
-#: lily-parser-scheme.cc:82
+#: lily-parser-scheme.cc:80
 #, c-format
 msgid "Changing working directory to: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:86
+#: lily-parser-scheme.cc:84
 #, c-format
 msgid "unable to change directory to: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:101
+#: lily-parser-scheme.cc:99
 #, c-format
 msgid "cannot find init file: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:119
+#: lily-parser-scheme.cc:117
 #, c-format
 msgid "Processing `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:212
+#: lily-parser-scheme.cc:210
 msgid ""
 "ly:parser-parse-string is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
-#: lily-parser-scheme.cc:243
+#: lily-parser-scheme.cc:241
 msgid ""
 "ly:parse-string-expression is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
-#: lily-parser.cc:107
+#: lily-parser.cc:106
 msgid "Parsing..."
 msgstr ""
 
-#: lookup.cc:179
+#: lookup.cc:178
 #, c-format
 msgid "Not drawing a box with negative dimension, %.2f by %.2f."
 msgstr ""
 
-#: lyric-combine-music-iterator.cc:206
+#: lyric-combine-music-iterator.cc:204
 msgid "argument of \\lyricsto should contain Lyrics context"
 msgstr ""
 
-#: lyric-combine-music-iterator.cc:346
+#: lyric-combine-music-iterator.cc:344
 #, c-format
 msgid "cannot find %s `%s'"
 msgstr ""
 
-#: main.cc:105
+#: main.cc:106
 #, c-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -2200,7 +2200,7 @@ msgid ""
 "information.\n"
 msgstr ""
 
-#: main.cc:111
+#: main.cc:112
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License as \n"
@@ -2218,102 +2218,102 @@ msgid ""
 "Boston, MA 02111-1307, USA.\n"
 msgstr ""
 
-#: main.cc:149
+#: main.cc:150
 msgid "SYM[=VAL]"
 msgstr ""
 
-#: main.cc:150
+#: main.cc:151
 msgid ""
 "set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
 msgstr ""
 
-#: main.cc:154
+#: main.cc:155
 msgid "EXPR"
 msgstr ""
 
-#: main.cc:154
+#: main.cc:155
 msgid "evaluate scheme code"
 msgstr ""
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:157
+#: main.cc:158
 msgid "FORMATs"
 msgstr ""
 
-#: main.cc:157
+#: main.cc:158
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr ""
 
-#: main.cc:158
+#: main.cc:159
 msgid "generate PDF (default)"
 msgstr ""
 
-#: main.cc:159
+#: main.cc:160
 msgid "generate PNG"
 msgstr ""
 
-#: main.cc:160
+#: main.cc:161
 msgid "generate PostScript"
 msgstr ""
 
-#: main.cc:161
+#: main.cc:162
 msgid "generate big PDF files"
 msgstr ""
 
-#: main.cc:164
+#: main.cc:165
 msgid "FIELD"
 msgstr ""
 
-#: main.cc:164
+#: main.cc:165
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
 msgstr ""
 
-#: main.cc:167
+#: main.cc:168
 msgid "add DIR to search path"
 msgstr ""
 
-#: main.cc:168
+#: main.cc:169
 msgid "use FILE as init file"
 msgstr ""
 
-#: main.cc:171
+#: main.cc:172
 msgid "USER, GROUP, JAIL, DIR"
 msgstr ""
 
-#: main.cc:171
+#: main.cc:172
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
 msgstr ""
 
-#: main.cc:176
+#: main.cc:177
 msgid ""
 "print log messages according to LOGLEVEL.  Possible values are:\n"
 "NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
 msgstr ""
 
-#: main.cc:180
+#: main.cc:181
 msgid "write output to FILE (suffix will be added)"
 msgstr ""
 
-#: main.cc:181
+#: main.cc:182
 msgid "relocate using directory of lilypond program"
 msgstr ""
 
-#: main.cc:182
+#: main.cc:183
 msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
 msgstr ""
 
-#: main.cc:184
+#: main.cc:185
 msgid "be verbose (equivalent to loglevel=DEBUG)"
 msgstr ""
 
 #. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:267
+#: main.cc:264
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -2321,118 +2321,118 @@ msgid ""
 msgstr ""
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:305
+#: main.cc:302
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr ""
 
-#: main.cc:307
+#: main.cc:304
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr ""
 
-#: main.cc:309
+#: main.cc:306
 msgid "LilyPond produces beautiful music notation."
 msgstr ""
 
-#: main.cc:311
+#: main.cc:308
 #, c-format
 msgid "For more information, see %s"
 msgstr ""
 
-#: main.cc:313
+#: main.cc:310
 msgid "Options:"
 msgstr ""
 
-#: main.cc:380
+#: main.cc:377
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr ""
 
-#: main.cc:394
+#: main.cc:391
 #, c-format
 msgid "no such user: %s"
 msgstr ""
 
-#: main.cc:396
+#: main.cc:393
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr ""
 
-#: main.cc:411
+#: main.cc:408
 #, c-format
 msgid "no such group: %s"
 msgstr ""
 
-#: main.cc:413
+#: main.cc:410
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr ""
 
-#: main.cc:421
+#: main.cc:418
 #, c-format
 msgid "cannot chroot to: %s: %s"
 msgstr ""
 
-#: main.cc:428
+#: main.cc:425
 #, c-format
 msgid "cannot change group id to: %d: %s"
 msgstr ""
 
-#: main.cc:434
+#: main.cc:431
 #, c-format
 msgid "cannot change user id to: %d: %s"
 msgstr ""
 
-#: main.cc:440
+#: main.cc:437
 #, c-format
 msgid "cannot change working directory to: %s: %s"
 msgstr ""
 
-#: main.cc:829
+#: main.cc:826
 #, c-format
 msgid "exception caught: %s"
 msgstr ""
 
 #. FIXME: constant error message.
-#: mark-engraver.cc:149
+#: mark-engraver.cc:150
 msgid "rehearsalMark must have integer value"
 msgstr ""
 
-#: mark-engraver.cc:155
+#: mark-engraver.cc:156
 msgid "mark label must be a markup object"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:102
+#: mensural-ligature-engraver.cc:100
 msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:129
+#: mensural-ligature-engraver.cc:127
 msgid "cannot determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:143
+#: mensural-ligature-engraver.cc:141
 msgid "single note ligature - skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:154
+#: mensural-ligature-engraver.cc:152
 msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:165
+#: mensural-ligature-engraver.cc:163
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:208
+#: mensural-ligature-engraver.cc:206
 msgid "semibrevis must be followed by another one -> skipping"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:218
+#: mensural-ligature-engraver.cc:216
 msgid ""
 "semibreves can only appear at the beginning of a ligature,\n"
 "and there may be only zero or two of them"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:238
+#: mensural-ligature-engraver.cc:236
 msgid ""
 "invalid ligatura ending:\n"
 "when the last note is a descending brevis,\n"
@@ -2440,35 +2440,35 @@ msgid ""
 "or the ligatura must be LB or SSB"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:398
+#: mensural-ligature-engraver.cc:396
 msgid "unexpected case fall-through"
 msgstr ""
 
-#: midi-control-function-performer.cc:109 staff-performer.cc:157
+#: midi-control-function-performer.cc:107 staff-performer.cc:153
 #, c-format
 msgid "ignoring out-of-range value change for MIDI property `%s'"
 msgstr ""
 
-#: midi-item.cc:95
+#: midi-item.cc:93
 #, c-format
 msgid "no such MIDI instrument: `%s'"
 msgstr ""
 
-#: midi-item.cc:181
+#: midi-item.cc:179
 msgid "Time signature with more than 255 beats.  Truncating"
 msgstr ""
 
-#: midi-stream.cc:39
+#: midi-stream.cc:38
 #, c-format
 msgid "cannot open for write: %s: %s"
 msgstr ""
 
-#: midi-stream.cc:55
+#: midi-stream.cc:54
 #, c-format
 msgid "cannot write to file: `%s'"
 msgstr ""
 
-#: minimal-page-breaking.cc:40 paper-score.cc:118
+#: minimal-page-breaking.cc:40 paper-score.cc:116
 msgid "Calculating line breaks..."
 msgstr ""
 
@@ -2486,66 +2486,66 @@ msgstr ""
 msgid "octave check failed; expected \"%s\", found: \"%s\""
 msgstr ""
 
-#: new-fingering-engraver.cc:115
+#: new-fingering-engraver.cc:113
 msgid "cannot add text scripts to individual note heads"
 msgstr ""
 
-#: new-fingering-engraver.cc:271
+#: new-fingering-engraver.cc:269
 msgid "no placement found for fingerings"
 msgstr ""
 
-#: new-fingering-engraver.cc:272
+#: new-fingering-engraver.cc:270
 msgid "placing below"
 msgstr ""
 
-#: note-collision.cc:512
+#: note-collision.cc:510
 msgid "this Voice needs a \\voiceXx or \\shiftXx setting"
 msgstr ""
 
-#: note-column.cc:149
+#: note-column.cc:150
 msgid "cannot have note heads and rests together on a stem"
 msgstr ""
 
-#: note-head.cc:96
+#: note-head.cc:95
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
 msgstr ""
 
-#: note-heads-engraver.cc:77
+#: note-heads-engraver.cc:76
 msgid "NoteEvent without pitch"
 msgstr ""
 
-#: open-type-font.cc:47
+#: open-type-font.cc:45
 #, c-format
 msgid "cannot allocate %lu bytes"
 msgstr ""
 
-#: open-type-font.cc:51
+#: open-type-font.cc:49
 #, c-format
 msgid "cannot load font table: %s"
 msgstr ""
 
-#: open-type-font.cc:56
+#: open-type-font.cc:54
 #, c-format
 msgid "FreeType error: %s"
 msgstr ""
 
-#: open-type-font.cc:117
+#: open-type-font.cc:115
 #, c-format
 msgid "unsupported font format: %s"
 msgstr ""
 
-#: open-type-font.cc:119
+#: open-type-font.cc:117
 #, c-format
 msgid "error reading font file %s: %s"
 msgstr ""
 
-#: open-type-font.cc:194
+#: open-type-font.cc:192
 #, c-format
 msgid "FT_Get_Glyph_Name () Freetype error: %s"
 msgstr ""
 
-#: open-type-font.cc:342 pango-font.cc:260
+#: open-type-font.cc:340 pango-font.cc:258
 #, c-format
 msgid "FT_Get_Glyph_Name () error: %s"
 msgstr ""
@@ -2585,153 +2585,153 @@ msgstr ""
 msgid "best score for this sys-count: %f"
 msgstr ""
 
-#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:252
-#: paper-score.cc:158
+#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:249
+#: paper-score.cc:156
 msgid "Drawing systems..."
 msgstr ""
 
-#: output-def.cc:231
+#: output-def.cc:229
 msgid "margins do not fit with line-width, setting default values"
 msgstr ""
 
-#: output-def.cc:238
+#: output-def.cc:236
 msgid ""
 "systems run off the page due to improper paper settings, setting default "
 "values"
 msgstr ""
 
-#: page-breaking.cc:279
+#: page-breaking.cc:276
 msgid ""
 "ignoring min-systems-per-page and max-systems-per-page because systems-per-"
 "page was set"
 msgstr ""
 
-#: page-breaking.cc:284
+#: page-breaking.cc:281
 msgid ""
 "min-systems-per-page is larger than max-systems-per-page, ignoring both "
 "values"
 msgstr ""
 
-#: page-breaking.cc:639
+#: page-breaking.cc:636
 #, c-format
 msgid "page %d has been compressed"
 msgstr ""
 
-#: page-layout-problem.cc:402
+#: page-layout-problem.cc:400
 msgid ""
 "A page layout problem has been initiated that cannot accommodate footnotes."
 msgstr ""
 
-#: page-layout-problem.cc:731
+#: page-layout-problem.cc:729
 msgid "ragged-bottom was specified, but page must be compressed"
 msgstr ""
 
-#: page-layout-problem.cc:734
+#: page-layout-problem.cc:732
 #, c-format
 msgid "compressing over-full page by %.1f staff-spaces"
 msgstr ""
 
-#: page-layout-problem.cc:1199
+#: page-layout-problem.cc:1197
 msgid "staff-affinities should only decrease"
 msgstr ""
 
-#: page-turn-page-breaking.cc:172
+#: page-turn-page-breaking.cc:169
 #, c-format
 msgid "page-turn-page-breaking: breaking from %d to %d"
 msgstr ""
 
-#: page-turn-page-breaking.cc:221
+#: page-turn-page-breaking.cc:218
 msgid ""
 "cannot fit the first page turn onto a single page.  Consider setting first-"
 "page-number to an even number."
 msgstr ""
 
-#: page-turn-page-breaking.cc:234
+#: page-turn-page-breaking.cc:231
 #, c-format
 msgid "Calculating page and line breaks (%d possible page breaks)..."
 msgstr ""
 
-#: page-turn-page-breaking.cc:304
+#: page-turn-page-breaking.cc:301
 #, c-format
 msgid "break starting at page %d"
 msgstr ""
 
-#: page-turn-page-breaking.cc:305
+#: page-turn-page-breaking.cc:302
 #, c-format
 msgid "\tdemerits: %f"
 msgstr ""
 
-#: page-turn-page-breaking.cc:306
+#: page-turn-page-breaking.cc:303
 #, c-format
 msgid "\tsystem count: %d"
 msgstr ""
 
-#: page-turn-page-breaking.cc:307
+#: page-turn-page-breaking.cc:304
 #, c-format
 msgid "\tpage count: %d"
 msgstr ""
 
-#: page-turn-page-breaking.cc:308
+#: page-turn-page-breaking.cc:305
 #, c-format
 msgid "\tprevious break: %d"
 msgstr ""
 
-#: pango-font.cc:249
+#: pango-font.cc:247
 #, c-format
 msgid "no glyph for character U+%0X in font `%s'"
 msgstr ""
 
-#: pango-font.cc:276
+#: pango-font.cc:274
 #, c-format
 msgid ""
 "Glyph has no name, but font supports glyph naming.\n"
 "Skipping glyph U+%0X, file %s"
 msgstr ""
 
-#: pango-font.cc:326
+#: pango-font.cc:324
 #, c-format
 msgid "no PostScript font name for font `%s'"
 msgstr ""
 
-#: pango-font.cc:376
+#: pango-font.cc:374
 msgid "FreeType face has no PostScript font name"
 msgstr ""
 
-#: paper-book.cc:202
+#: paper-book.cc:200
 #, c-format
 msgid "program option -dprint-pages not supported by backend `%s'"
 msgstr ""
 
-#: paper-book.cc:221
+#: paper-book.cc:219
 #, c-format
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr ""
 
-#: paper-column-engraver.cc:265
+#: paper-column-engraver.cc:263
 msgid ""
 "forced break was overridden by some other event, should you be using bar "
 "checks?"
 msgstr ""
 
-#: paper-outputter-scheme.cc:43
+#: paper-outputter-scheme.cc:41
 #, c-format
 msgid "Layout output to `%s'..."
 msgstr ""
 
-#: paper-score.cc:130
+#: paper-score.cc:128
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:134
+#: paper-score.cc:132
 msgid "Preprocessing graphical objects..."
 msgstr ""
 
-#: parse-scm.cc:123
+#: parse-scm.cc:124
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr ""
 
-#: pdf-scheme.cc:64
+#: pdf-scheme.cc:65
 #, c-format
 msgid "Conversion of string `%s' to UTF-16be failed: %s"
 msgstr ""
@@ -2740,32 +2740,32 @@ msgstr ""
 msgid "unterminated percent repeat"
 msgstr ""
 
-#: performance.cc:77
+#: performance.cc:76
 msgid "Track..."
 msgstr ""
 
-#: performance.cc:127
+#: performance.cc:126
 #, c-format
 msgid "MIDI output to `%s'..."
 msgstr ""
 
-#: piano-pedal-engraver.cc:281
+#: piano-pedal-engraver.cc:279
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 msgstr ""
 
-#: piano-pedal-engraver.cc:296 piano-pedal-engraver.cc:307
-#: piano-pedal-performer.cc:107
+#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
+#: piano-pedal-performer.cc:104
 #, c-format
 msgid "cannot find start of piano pedal: `%s'"
 msgstr ""
 
-#: piano-pedal-engraver.cc:342
+#: piano-pedal-engraver.cc:340
 #, c-format
 msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr ""
 
-#: program-option-scheme.cc:225
+#: program-option-scheme.cc:223
 #, c-format
 msgid "no such internal option: %s"
 msgstr ""
@@ -2775,93 +2775,93 @@ msgstr ""
 msgid "not a grob name, `%s'"
 msgstr ""
 
-#: relative-octave-check.cc:51
+#: relative-octave-check.cc:49
 msgid "Failed octave check, got: "
 msgstr ""
 
-#: relocate.cc:59
+#: relocate.cc:56
 #, c-format
 msgid "Setting %s to %s"
 msgstr ""
 
 #. this warning should only be printed in debug mode!
-#: relocate.cc:80
+#: relocate.cc:77
 #, c-format
 msgid "no such file: %s for %s"
 msgstr ""
 
 #. this warning should only be printed in debug mode!
 #. this warning should only be printed in debug mode
-#: relocate.cc:91 relocate.cc:109
+#: relocate.cc:88 relocate.cc:106
 #, c-format
 msgid "no such directory: %s for %s"
 msgstr ""
 
-#: relocate.cc:100
+#: relocate.cc:97
 #, c-format
 msgid "%s=%s (prepend)\n"
 msgstr ""
 
-#: relocate.cc:127
+#: relocate.cc:124
 #, c-format
 msgid "not relocating, no %s/ or current/ found under %s"
 msgstr ""
 
-#: relocate.cc:137
+#: relocate.cc:134
 #, c-format
 msgid "Relocation: compile datadir=%s, new datadir=%s"
 msgstr ""
 
-#: relocate.cc:149
+#: relocate.cc:146
 #, c-format
 msgid "Relocation: framework_prefix=%s"
 msgstr ""
 
-#: relocate.cc:175
+#: relocate.cc:172
 #, c-format
 msgid "Relocation: is absolute: argv0=%s\n"
 msgstr ""
 
-#: relocate.cc:181
+#: relocate.cc:178
 #, c-format
 msgid "Relocation : from cwd: argv0=%s\n"
 msgstr ""
 
-#: relocate.cc:199
+#: relocate.cc:196
 #, c-format
 msgid ""
 "Relocation: from PATH=%s\n"
 "argv0=%s\n"
 msgstr ""
 
-#: relocate.cc:225
+#: relocate.cc:222
 msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
 msgstr ""
 
-#: relocate.cc:350
+#: relocate.cc:347
 #, c-format
 msgid "Relocation file: %s"
 msgstr ""
 
-#: relocate.cc:354 source-file.cc:73
+#: relocate.cc:351 source-file.cc:65
 #, c-format
 msgid "cannot open file: `%s'"
 msgstr ""
 
-#: relocate.cc:384
+#: relocate.cc:381
 #, c-format
 msgid "Unknown relocation command %s"
 msgstr ""
 
-#: rest-collision.cc:155
+#: rest-collision.cc:154
 msgid "cannot resolve rest collision: rest direction not set"
 msgstr ""
 
-#: rest-collision.cc:166 rest-collision.cc:275
+#: rest-collision.cc:165 rest-collision.cc:274
 msgid "too many colliding rests"
 msgstr ""
 
-#: rest.cc:241
+#: rest.cc:239
 #, c-format
 msgid "rest `%s' not found"
 msgstr ""
@@ -2884,28 +2884,28 @@ msgstr ""
 msgid "Aborting"
 msgstr ""
 
-#: score.cc:160
+#: score.cc:161
 msgid "already have music in score"
 msgstr ""
 
-#: score.cc:162
+#: score.cc:163
 msgid "this is the previous music"
 msgstr ""
 
-#: score.cc:168
+#: score.cc:169
 msgid "errors found, ignoring music expression"
 msgstr ""
 
 #. FIXME:
-#: script-engraver.cc:117
+#: script-engraver.cc:115
 msgid "do not know how to interpret articulation:"
 msgstr ""
 
-#: script-engraver.cc:118
+#: script-engraver.cc:116
 msgid " scheme encoding: "
 msgstr ""
 
-#: skyline-pair.cc:137
+#: skyline-pair.cc:135
 msgid "direction must not be CENTER in ly:skyline-pair::skyline"
 msgstr ""
 
@@ -2931,53 +2931,53 @@ msgstr ""
 msgid "cannot end %s"
 msgstr ""
 
-#: slur.cc:434
+#: slur.cc:431
 #, c-format
 msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr ""
 
-#: source-file.cc:93
+#: source-file.cc:85
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr ""
 
-#: staff-performer.cc:305
+#: staff-performer.cc:301
 msgid "MIDI channel wrapped around"
 msgstr ""
 
-#: staff-performer.cc:306
+#: staff-performer.cc:302
 msgid "remapping modulo 16"
 msgstr ""
 
-#: stem-engraver.cc:102
+#: stem-engraver.cc:100
 msgid "tremolo duration is too long"
 msgstr ""
 
-#: stem-engraver.cc:154
+#: stem-engraver.cc:152
 #, c-format
 msgid "adding note head to incompatible stem (type = %d/%d)"
 msgstr ""
 
-#: stem-engraver.cc:157
+#: stem-engraver.cc:155
 msgid "maybe input should specify polyphonic voices"
 msgstr ""
 
-#: stem.cc:130
+#: stem.cc:128
 msgid "weird stem size, check for narrow beams"
 msgstr ""
 
-#: system.cc:197
+#: system.cc:195
 #, c-format
 msgid "Element count %d"
 msgstr ""
 
-#: system.cc:508
+#: system.cc:506
 #, c-format
 msgid "Grob count %d"
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
-#: text-interface.cc:141
+#: text-interface.cc:139
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr ""
@@ -2994,11 +2994,11 @@ msgstr ""
 msgid "unterminated text spanner"
 msgstr ""
 
-#: tie-engraver.cc:123
+#: tie-engraver.cc:121
 msgid "unterminated tie"
 msgstr ""
 
-#: tie-engraver.cc:379
+#: tie-engraver.cc:377
 msgid "lonely tie"
 msgstr ""
 
@@ -3022,67 +3022,67 @@ msgstr ""
 msgid "fatal error.  Couldn't find type: %s"
 msgstr ""
 
-#: translator-group.cc:189
+#: translator-group.cc:187
 #, c-format
 msgid "cannot find: `%s'"
 msgstr ""
 
-#: translator.cc:313
+#: translator.cc:310
 #, c-format
 msgid "Two simultaneous %s events, junking this one"
 msgstr ""
 
-#: translator.cc:314
+#: translator.cc:311
 #, c-format
 msgid "Previous %s event here"
 msgstr ""
 
-#: ttf.cc:483 ttf.cc:531
+#: ttf.cc:480 ttf.cc:528
 #, c-format
 msgid "font index %d too large for font `%s', using index 0"
 msgstr ""
 
-#: ttf.cc:515 ttf.cc:565
+#: ttf.cc:512 ttf.cc:562
 msgid "font index must be non-negative, using index 0"
 msgstr ""
 
-#: tuplet-engraver.cc:112
+#: tuplet-engraver.cc:110
 msgid "No tuplet to end"
 msgstr ""
 
-#: vaticana-ligature-engraver.cc:403
+#: vaticana-ligature-engraver.cc:400
 #, c-format
 msgid ""
 "ignored prefix(es) `%s' of this head according to restrictions of the "
 "selected ligature style"
 msgstr ""
 
-#: vaticana-ligature-engraver.cc:469
+#: vaticana-ligature-engraver.cc:466
 msgid ""
 "Ambiguous use of dots in ligature: there are multiple dotted notes with the "
 "same pitch.  The ligature should be split."
 msgstr ""
 
-#: vaticana-ligature-engraver.cc:527
+#: vaticana-ligature-engraver.cc:524
 msgid ""
 "This ligature has a dotted head followed by a non-dotted head.  The ligature "
 "should be split after the last dotted head before this head."
 msgstr ""
 
-#: vaticana-ligature-engraver.cc:739
+#: vaticana-ligature-engraver.cc:736
 #, c-format
 msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
 msgstr ""
 
-#: vaticana-ligature.cc:96
+#: vaticana-ligature.cc:94
 msgid "flexa-height undefined; assuming 0"
 msgstr ""
 
-#: vaticana-ligature.cc:101
+#: vaticana-ligature.cc:99
 msgid "ascending vaticana style flexa"
 msgstr ""
 
-#: vertical-align-engraver.cc:98
+#: vertical-align-engraver.cc:95
 msgid "Ignoring Vertical_align_engraver in VerticalAxisGroup"
 msgstr ""
 
@@ -3219,94 +3219,94 @@ msgstr ""
 msgid "not a markup"
 msgstr ""
 
-#: lexer.ll:194
+#: lexer.ll:193
 msgid "stray UTF-8 BOM encountered"
 msgstr ""
 
-#: lexer.ll:197
+#: lexer.ll:196
 msgid "Skipping UTF-8 BOM"
 msgstr ""
 
-#: lexer.ll:249
+#: lexer.ll:248
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr ""
 
-#: lexer.ll:266
+#: lexer.ll:265
 msgid "quoted string expected after \\version"
 msgstr ""
 
-#: lexer.ll:270
+#: lexer.ll:269
 msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
-#: lexer.ll:274
+#: lexer.ll:273
 msgid "integer expected after \\sourcefileline"
 msgstr ""
 
-#: lexer.ll:301
+#: lexer.ll:300
 msgid "\\maininput not allowed outside init files"
 msgstr ""
 
-#: lexer.ll:325
+#: lexer.ll:324
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr ""
 
-#: lexer.ll:350
+#: lexer.ll:349
 msgid "string expected after \\include"
 msgstr ""
 
-#: lexer.ll:360
+#: lexer.ll:359
 msgid "end quote missing"
 msgstr ""
 
-#: lexer.ll:715
+#: lexer.ll:714
 msgid "EOF found inside a comment"
 msgstr ""
 
-#: lexer.ll:720
+#: lexer.ll:719
 msgid "EOF found inside string"
 msgstr ""
 
-#: lexer.ll:735
+#: lexer.ll:734
 msgid "Unfinished main input"
 msgstr ""
 
-#: lexer.ll:806
+#: lexer.ll:805
 #, c-format
 msgid "invalid character: `%s'"
 msgstr ""
 
-#: lexer.ll:926
+#: lexer.ll:925
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:946
+#: lexer.ll:945
 #, c-format
 msgid "undefined character or shorthand: %s"
 msgstr ""
 
-#: lexer.ll:1237
+#: lexer.ll:1236
 msgid "non-UTF-8 input"
 msgstr ""
 
-#: lexer.ll:1281
+#: lexer.ll:1280
 #, c-format
 msgid "Invalid version string \"%s\""
 msgstr ""
 
-#: lexer.ll:1286
+#: lexer.ll:1285
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
-#: lexer.ll:1287
+#: lexer.ll:1286
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
-#: lexer.ll:1293
+#: lexer.ll:1292
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
@@ -3387,7 +3387,7 @@ msgstr ""
 msgid "No span bar glyph defined for bar glyph '~a'; ignoring."
 msgstr ""
 
-#: chord-entry.scm:54
+#: chord-entry.scm:55
 #, scheme-format
 msgid "Spurious garbage following chord: ~A"
 msgstr ""
@@ -3585,19 +3585,19 @@ msgstr ""
 msgid "Music unsuitable for output-def"
 msgstr ""
 
-#: lily-library.scm:903
+#: lily-library.scm:920
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
-#: lily-library.scm:997
+#: lily-library.scm:1014
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:1022
+#: lily-library.scm:1039
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
@@ -3736,48 +3736,48 @@ msgstr ""
 msgid "bad music property ~a"
 msgstr ""
 
-#: music-functions.scm:840
+#: music-functions.scm:842
 msgid "Bad chord repetition"
 msgstr ""
 
-#: music-functions.scm:945
+#: music-functions.scm:947
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
-#: music-functions.scm:1295
+#: music-functions.scm:1297
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:1432
+#: music-functions.scm:1434
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
-#: music-functions.scm:1495
+#: music-functions.scm:1497
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
-#: music-functions.scm:1496
+#: music-functions.scm:1498
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
-#: music-functions.scm:1888
+#: music-functions.scm:1890
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
-#: music-functions.scm:2098
+#: music-functions.scm:2100
 msgid "Missing duration"
 msgstr ""
 
-#: music-functions.scm:2634
+#: music-functions.scm:2636
 #, scheme-format
 msgid "not a symbol list: ~a"
 msgstr ""
 
-#: music-functions.scm:2637
+#: music-functions.scm:2639
 #, scheme-format
 msgid "conflicting tag group ~a"
 msgstr ""
@@ -3860,40 +3860,40 @@ msgstr ""
 msgid "assertion failed: ~S"
 msgstr ""
 
-#: translation-functions.scm:373
+#: translation-functions.scm:378
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:376
+#: translation-functions.scm:381
 #, scheme-format
 msgid "Missing fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:419
+#: translation-functions.scm:424
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:434 translation-functions.scm:446
+#: translation-functions.scm:439 translation-functions.scm:451
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:437
+#: translation-functions.scm:442
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
-#: translation-functions.scm:449
+#: translation-functions.scm:454
 msgid "Ignoring note in tablature."
 msgstr ""
 
-#: translation-functions.scm:474
+#: translation-functions.scm:479
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
-#: translation-functions.scm:579
+#: translation-functions.scm:584
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
index b80ce045556f674e60919b9977ade34d612581c7..90068663d4176205273fc9ccd618a031fc0f228e 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -2,8 +2,7 @@
 # Copyright (C) 2015 Free Software Foundation, Inc.
 # This file is distributed under the same license as the lilypond package.
 #
-# "Occasionally it troubles me just how far one strays
-# from the normal measures of civility."
+# "Dear future, gone fishing."
 #
 # Han-Wen Nienhuys <hanwen@cs.uu.nl>, 1998.
 # Jan Nieuwenhuizen <janneke@gnu.org>, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007.
@@ -14,7 +13,7 @@ msgstr ""
 "Project-Id-Version: lilypond 2.19.26\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
 "POT-Creation-Date: 2015-08-27 10:48+0100\n"
-"PO-Revision-Date: 2015-10-20 21:02+0200\n"
+"PO-Revision-Date: 2015-11-01 21:40+0100\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -59,7 +58,7 @@ msgstr ""
 
 #: book_latex.py:254
 msgid "cannot detect textwidth from LaTeX"
-msgstr "kan de tekstbreedte uit LaTeX niet achterhalen"
+msgstr "kan de tekstbreedte in LaTeX niet achterhalen"
 
 #: book_snippets.py:406
 #, python-format
@@ -99,7 +98,7 @@ msgstr "Kan bestand %s niet overschrijven"
 #: book_snippets.py:748
 #, python-format
 msgid "Running through filter `%s'"
-msgstr "Filteren door '%s'"
+msgstr "Toepassen van filter '%s'"
 
 #: book_snippets.py:769
 #, python-format
@@ -161,10 +160,9 @@ msgstr "%s is vervangen door %s"
 msgid "warning: %s"
 msgstr "waarschuwing: %s"
 
-# ONZEKER
 #: convertrules.py:50 convertrules.py:95
 msgid "\\header { key = concat + with + operator }"
-msgstr "\\header { sleutel = concat + met + operator }"
+msgstr "\\header { sleutel = aaneenschakeling + met + operator }"
 
 #: convertrules.py:57
 #, python-format
@@ -173,7 +171,7 @@ msgstr "verouderde %s"
 
 #: convertrules.py:66
 msgid "deprecated \\textstyle, new \\key syntax"
-msgstr "de syntax \\textstyle is verouderd, \\key is de nieuwe syntaxis"
+msgstr "de syntax \\textstyle is verouderd; \\key is de nieuwe syntax"
 
 #: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
 #: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
@@ -197,12 +195,12 @@ msgstr "\\repeat NUM Muziek Alternatief -> \\repeat FOLDSTR Muziek Alternatief"
 #: convertrules.py:2318
 #, python-format
 msgid "deprecate %s"
-msgstr "verouderde %s"
+msgstr "%s als verouderd aanmerken"
 
 #: convertrules.py:280
 #, python-format
 msgid "deprecate %s "
-msgstr "verouderde %s "
+msgstr "%s als verouderd aanmerken "
 
 #: convertrules.py:306
 msgid "new \\notenames format"
@@ -224,7 +222,6 @@ msgstr "schrijfwijze van eigenschap wijzigen (bijv. onevoice -> oneVoice)"
 msgid "new \\textscript markup text"
 msgstr "nieuwe markeringstekst in \\textscript"
 
-# ONZEKER
 #: convertrules.py:510
 #, python-format
 msgid "identifier names: %s"
@@ -256,7 +253,7 @@ msgstr "automaticMelismata is sinds 1.5.67 standaard geactiveerd"
 #: convertrules.py:2135
 #, python-format
 msgid "remove %s"
-msgstr "verwijder %s"
+msgstr "%s verwijderen"
 
 #: convertrules.py:978 convertrules.py:981
 msgid "cluster syntax"
@@ -271,13 +268,12 @@ msgid ""
 "New relative mode,\n"
 "Postfix articulations, new text markup syntax, new chord syntax."
 msgstr ""
-"Nieuwe relatieve modus,\n"
-"Achteraan geplaatste articulatietekens, nieuwe syntax voor tekstopmaak, nieuwe syntax voor akkoorden."
+"Nieuwe relatieve modus, achtergevoegde articulatietekens,\n"
+"nieuwe syntax voor tekstopmaak, nieuwe syntax voor akkoorden."
 
-# ONZEKER
 #: convertrules.py:1260
 msgid "Remove - before articulation"
-msgstr "Een - voor het articulatieteken verwijderen"
+msgstr "een - voor het articulatieteken verwijderen"
 
 #: convertrules.py:1295
 #, python-format
@@ -348,12 +344,12 @@ msgid ""
 "Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
 "Harmonic notes. Thread context removed. Lyrics context removed."
 msgstr ""
-"Wijzigingen aan slagwerknotatie. Verwijderen van \\chordmodifiers, \\notenames.\n"
+"Wijzigingen aan slagwerknotatie: verwijderen van \\chordmodifiers, \\notenames.\n"
 "Harmonische noten. De contexten Thread en Lyrics werden verwijderd."
 
 #: convertrules.py:1586
 msgid "Drums found. Enclose drum notes in \\drummode"
-msgstr "Slagwerk gevonden. Plaats slagwerknoten tussen \\drummode-markeringen."
+msgstr "Slagwerk gevonden. Slagwerknoten tussen \\drummode-markeringen plaatsen."
 
 #: convertrules.py:1597 convertrules.py:1604 convertrules.py:1615
 #, python-format
@@ -395,8 +391,8 @@ msgid ""
 "Page layout has been changed, using paper size and margins.\n"
 "textheight is no longer used.\n"
 msgstr ""
-"Paginaopmaak werd gewijzigd en maakt gebruik van paper size (papierformaat) en margins (marges);\n"
-"textheight (teksthoogte) wordt niet meer gebruikt.\n"
+"Paginaopmaak werd gewijzigd en maakt gebruik van paper size (papierformaat)\n"
+"en margins (marges); textheight (teksthoogte) wordt niet meer gebruikt.\n"
 
 #: convertrules.py:1958
 msgid ""
@@ -430,12 +426,11 @@ msgstr "\\encoding: latin1 slim omzetten naar utf-8; ly:point-and-click verwijde
 
 #: convertrules.py:2095
 msgid "LilyPond source must be UTF-8"
-msgstr "LilyPond-brontekst moet UTF-8 zijn"
+msgstr "LilyPond-brontekst moet UTF-8 zijn."
 
-# ONZEKER
 #: convertrules.py:2098
 msgid "Try the texstrings backend"
-msgstr "Probeer de backend voor teksttekenreeksen."
+msgstr "Probeer de texstring-backend."
 
 #: convertrules.py:2101
 #, python-format
@@ -471,7 +466,7 @@ msgstr "verticalAlignmentChildCallback is verouderd"
 
 #: convertrules.py:2277
 msgid "Remove callbacks property, deprecate XY-extent-callback."
-msgstr "De callbacks-eigenschap verwijderen; de XY-extent-callback is verouderd."
+msgstr "De callbacks-eigenschap verwijderen; de XY-extent-callback als verouderd aanmerken."
 
 #: convertrules.py:2298
 msgid "Use grob closures iso. XY-offset-callbacks."
@@ -483,15 +478,15 @@ msgstr "foobar -> foo-bar voor \\paper, \\layout"
 
 #: convertrules.py:2470
 msgid "deprecate \\tempo in \\midi"
-msgstr "\\tempo in \\midi is verouderd"
+msgstr "\\tempo in \\midi als verouderd aanmerken"
 
 #: convertrules.py:2523
 msgid "deprecate cautionary-style. Use AccidentalCautionary properties"
-msgstr "cautionary-style is verouderd; eigenschappen van AccidentalCautionary gebruiken"
+msgstr "cautionary-style als verouderd aanmerken; eigenschappen van AccidentalCautionary gebruiken"
 
 #: convertrules.py:2536
 msgid "Rename accidental glyphs, use glyph-name-alist."
-msgstr "Alteratiesymbolen hernoemen, via glyph-name-alist()."
+msgstr "Hernoem alteratiesymbolen; gebruik glyph-name-alist."
 
 #: convertrules.py:2591
 msgid "edge-text settings for TextSpanner"
@@ -566,55 +561,59 @@ msgstr "%s in de eigenschappen van fretdiagram"
 
 #: convertrules.py:2752
 msgid "\\put-adjacent argument order"
-msgstr ""
+msgstr "volgorde van de argumenten van \\put-adjacent"
 
 #: convertrules.py:2753
 msgid "Axis and direction now come before markups:\n"
-msgstr ""
+msgstr "As en richting komen nu voor de mark-ups:\n"
 
 #: convertrules.py:2754
 msgid "\\put-adjacent axis dir markup markup."
-msgstr ""
+msgstr "\\put-adjacent as richting mark-up mark-up."
 
 #: convertrules.py:2785
 msgid "re-definition of InnerStaffGroup"
-msgstr ""
+msgstr "herdefinitie van InnerStaffGroup"
 
 #: convertrules.py:2790
 msgid "re-definition of InnerChoirStaff"
-msgstr ""
+msgstr "herdefinitie van InnerChoirStaff"
 
 #: convertrules.py:2800
 msgid "Syntax changes for \\addChordShape and \\chord-shape"
-msgstr ""
+msgstr "Syntaxwijzigingen voor \\addChordShape en \\chord-shape"
 
 #: convertrules.py:2805
 msgid "stringTuning must be added to addChordShape call.\n"
-msgstr ""
+msgstr "Bij een aanroep van addChordShape moet stringTuning toegevoegd worden.\n"
 
 #: convertrules.py:2810
 msgid "stringTuning must be added to chord-shape call.\n"
-msgstr ""
+msgstr "Bij een aanroep van chord-shape moet stringTuning toegevoegd worden.\n"
 
 #: convertrules.py:2816
 msgid "Remove oldaddlyrics"
-msgstr ""
+msgstr "oldaddlyrics verwijderen"
 
 #: convertrules.py:2820
 msgid ""
 "oldaddlyrics is no longer supported. \n"
 "         Use addlyrics or lyricsto instead.\n"
 msgstr ""
+"oldaddlyrics wordt niet langer ondersteund. \n"
+"         Gebruik in plaats daarvan addlyrics of lyricsto.\n"
 
 #: convertrules.py:2826
 msgid ""
 "keySignature property not reversed any more\n"
 "MIDI 47: orchestral strings -> orchestral harp"
 msgstr ""
+"een eigenschap van keySignature wordt niet langer omgekeerd\n"
+"MIDI 47: orchestral strings -> orchestral harp"
 
 #: convertrules.py:2831
 msgid "The alist for Staff.keySignature is no longer in reversed order.\n"
-msgstr ""
+msgstr "De associatielijst voor Staff.keySignature staat niet langer in omgekeerde volgorde.\n"
 
 #: convertrules.py:2837
 msgid ""
@@ -622,14 +621,17 @@ msgid ""
 "ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
 "Dash parameters for slurs and ties are now in dash-definition"
 msgstr ""
+"\\bar \".\" heeft nu een dikke verticale streep als resultaat\n"
+"ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
+"Streepparameters voor legatobogen en overbindingen zitten nu bij dash-definition"
 
 #: convertrules.py:2843
 msgid "\\bar \".\" now produces a thick barline.\n"
-msgstr ""
+msgstr "\\bar \".\" heeft nu een dikke verticale streep als resultaat.\n"
 
 #: convertrules.py:2849
 msgid "Dash parameters for slurs and ties are now in 'dash-definition.\n"
-msgstr ""
+msgstr "Streepparameters voor legatobogen en overbindingen zitten nu bij 'dash-definition.\n"
 
 #: convertrules.py:2854
 msgid ""
@@ -645,24 +647,37 @@ msgid ""
 "Explicit dynamics context definition from `Piano centered dynamics'\n"
 "template replaced by new `Dynamics' context."
 msgstr ""
+"De regels in verband met automatische waardestrepen zijn veranderd.\n"
+"override-auto-beam-setting en revert-auto-beam-setting werden weggewerkt.\n"
+"\\overrideBeamSettings werd toegevoegd.\n"
+"beatGrouping werd weggewerkt.\n"
+"Verschillende instellingen voor verticale lay-out.\n"
+"ly:system-start-text::print -> system-start-text::print\n"
+"Beam #'thickness -> Beam #'beam-thickness\n"
+"ly:note-head::brew-ez-stencil -> note-head::brew-ez-stencil\n"
+"ly:ambitus::print -> ambitus::print\n"
+"De expliciete definitie van de dynamische context uit het sjabloon\n"
+"'Gecentreerde pianodynamiek' werd vervangen door de nieuwe context 'Dynamiek'."
 
 #: convertrules.py:2868
 msgid "    Autobeam settings are now overriden with \\overrideBeamSettings.\n"
-msgstr ""
+msgstr "    De instellingen voor automatische waardestrepen worden nu overschreven met behulp van \\overrideBeamSettings.\n"
 
 #: convertrules.py:2873
 msgid "    Autobeam settings are now reverted with \\revertBeamSettings.\n"
-msgstr ""
+msgstr "    De instellingen voor automatische waardestrepen worden nu ongedaan gemaakt met behulp van \\revertBeamSettings.\n"
 
 #: convertrules.py:2879
 msgid ""
 "    beatGrouping with a specified context must now be accomplished with\n"
 "   \\overrideBeamSettings.\n"
 msgstr ""
+"    beatGrouping met een opgegeven context moet nu met\n"
+"   \\overrideBeamSettings gerealiseerd worden.\n"
 
 #: convertrules.py:2885
 msgid "alignment-offsets has been changed to alignment-distances: you must now specify the distances between staves rather than the offset of staves.\n"
-msgstr ""
+msgstr "alignment-offsets werd door alignment-distances vervangen: u moet nu de afstand tussen notenbalken opgeven en niet meer hun plaatsing.\n"
 
 #: convertrules.py:2896
 msgid ""
@@ -671,94 +686,106 @@ msgid ""
 "Swallow_performer and String_number_engraver.\n"
 "New vertical spacing variables."
 msgstr ""
+"Verouderde engravers/translators verwijderen: Note_swallow_translator,\n"
+"Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n"
+"Swallow_performer and String_number_engraver.\n"
+"Nieuwe parameters voor verticale spatiëring."
 
 #: convertrules.py:2927
 msgid "Vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n"
-msgstr ""
+msgstr "Verticale spatiëring is niet langer afhankelijk van de Y-extent van een VerticalAxisGroup.\n"
 
 #: convertrules.py:2933
 msgid "Unify fetaNumber and fetaDynamic encodings"
-msgstr ""
+msgstr "Coderingen fetaNumber en fetaDynamic gelijkschakelen"
 
 #: convertrules.py:2938
 msgid "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
-msgstr ""
+msgstr "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
 
 #: convertrules.py:2949
 msgid "\\cresc etc. are now postfix operators"
-msgstr ""
+msgstr "\\cresc e.a. zijn nu achtergevoegde operatoren"
 
 #: convertrules.py:2961
 msgid ""
 "Eliminate beamSettings, beatLength, \\setBeatGrouping, \\overrideBeamSettings and \\revertBeamSettings.\n"
 "\"accordion.accEtcbase\" -> \"accordion.etcbass\""
 msgstr ""
+"beamSettings, beatLength, \\setBeatGrouping, \\overrideBeamSettings en \\revertBeamSettings wegwerken.\n"
+"\"accordion.accEtcbase\" -> \"accordion.etcbass\""
 
 #: convertrules.py:2979
 msgid "Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n"
-msgstr ""
+msgstr "\\set beamExceptions of \\overrideTimeSignatureSettings gebruiken.\n"
 
 #: convertrules.py:2983
 msgid "Use \\set beamExceptions or \\revertTimeSignatureSettings.\n"
-msgstr ""
+msgstr "\\set beamExceptions of \\revertTimeSignatureSettings gebruiken.\n"
 
 #: convertrules.py:2987
 msgid "Use baseMoment, beatStructure, and beamExceptions.\n"
-msgstr ""
+msgstr "baseMoment, beatStructure en beamExceptions gebruiken.\n"
 
 #: convertrules.py:2991 convertrules.py:2995
 msgid "Use baseMoment and beatStructure.\n"
-msgstr ""
+msgstr "baseMoment en beatStructure gebruiken.\n"
 
 #: convertrules.py:3000
 msgid ""
 "Woodwind diagrams: Move size, thickness, and graphic from argument list to properties.\n"
 "Deprecate negative dash-period for hidden lines: use #'style = #'none instead."
 msgstr ""
+"Houtblazersdiagrammen: grootte, dikte en schriftteken van de argumentenlijst naar de eigenschappen verplaatsen.\n"
+"Een negatieve streep-punt voor verborgen lijnen als verouderd aanmerken: gebruik in plaats ervan #'style = #'none."
 
 #: convertrules.py:3005
 msgid "Move size, thickness, and graphic to properties.  Argument should be just the key list.\n"
-msgstr ""
+msgstr "Grootte, dikte en schriftteken naar de eigenschappen verplaatsen. Enkel de lijst van sleutels mag een argument zijn.\n"
 
 #: convertrules.py:3013
 msgid ""
 "Rename vertical spacing variables.\n"
 "Add fretboard-table argument to savePredefinedFretboard."
 msgstr ""
+"Parameters voor verticale spatiëring hernoemen.\n"
+"Argument fretboard-table toevoegen aan savePredefinedFretboard."
 
 #: convertrules.py:3031
 msgid "Rename vertical spacing grob properties."
-msgstr ""
+msgstr "Grob-eigenschappen voor verticale spatiëring hernoemen."
 
 #: convertrules.py:3047
 msgid "Remove \\paper variables head-separation and foot-separation."
-msgstr ""
+msgstr "De parameters head-separation en foot-separation van \\paper verwijderen."
 
 #: convertrules.py:3051
 msgid "Adjust settings for top-system-spacing instead.\n"
-msgstr ""
+msgstr "In plaats ervan de instellingen voor top-system-spacing aanpassen.\n"
 
 #: convertrules.py:3055
 msgid "Adjust settings for last-bottom-spacing instead.\n"
-msgstr ""
+msgstr "In plaats ervan de instellingen voor last-bottom-spacing aanpassen.\n"
 
 #: convertrules.py:3061
 msgid ""
 "Rename space to basic-distance in various spacing alists.\n"
 "Remove HarmonicParenthesesItem grob."
 msgstr ""
+"In de verschillende associatielijsten space (spatie) naar basic-distance hernoemen.\n"
+"De grob HarmonicParenthesesItem verwijderen."
 
 #: convertrules.py:3068
 msgid "HarmonicParenthesesItem has been eliminated.\n"
-msgstr ""
+msgstr "HarmonicParenthesesItem werd weggewerkt.\n"
 
 #: convertrules.py:3069
 msgid "Harmonic parentheses are part of the TabNoteHead grob.\n"
-msgstr ""
+msgstr "Harmonische intermezzo's maken deel uit van de grob TabNoteHead.\n"
 
 #: convertrules.py:3074
 msgid "Remove context from overrideTimeSignatureSettings and revertTimeSignatureSettings.\n"
-msgstr ""
+msgstr "Context van overrideTimeSignatureSettings en revertTimeSignatureSettings verwijderen.\n"
 
 #: convertrules.py:3081
 msgid ""
@@ -766,42 +793,45 @@ msgid ""
 "Change tenor and baritone ukulele names in string tunings.\n"
 "Generate messages for manual conversion of vertical spacing if required."
 msgstr ""
+"Van stringTunings een lijst van toonhoogtes maken in plaats van een lijst van halve toonafstanden.\n"
+"In snaarstemmingen de namen voor tenor en bariton ukulele wijzigen.\n"
+"Indien nodig mededelingen genereren over manuele conversie van verticale spatiëring."
 
 #: convertrules.py:3124
 msgid "Vertical spacing changes might affect user-defined contexts."
-msgstr ""
+msgstr "Wijzigingen inzake verticale spatiëring kunnen door de gebruiker aangepaste contexten beïnvloeden."
 
 #: convertrules.py:3130
 msgid "Replace bar-size with bar-extent."
-msgstr ""
+msgstr "bar-size door bar-extent vervangen."
 
 #: convertrules.py:3142
 msgid "Woodwind diagrams: Changes to the clarinet diagram."
-msgstr ""
+msgstr "Houtblazersdiagrammen: wijzigingen aan het diagram voor klarinet."
 
 #: convertrules.py:3146
 msgid "Clarinet fingering changed to reflect actual anatomy of instrument.\n"
-msgstr ""
+msgstr "Vingerzetting voor klarinet werd gewijzigd om de werkelijke anatomie van het instrument te reflecteren.\n"
 
 #: convertrules.py:3156
 msgid "Handling of non-automatic footnotes."
-msgstr ""
+msgstr "Omgaan met niet-automatische voetnoten."
 
 #: convertrules.py:3160
 msgid "If you are using non-automatic footnotes, make sure to set footnote-auto-numbering = ##f in the paper block.\n"
-msgstr ""
+msgstr "Indien u gebruik maakt van niet-automatische voetnoten, moet u ervoor zorgen om in het blok paper de instelling footnote-auto-numbering = ##f op te nemen.\n"
 
 #: convertrules.py:3165
 msgid "Change in internal property for MultiMeasureRest"
-msgstr ""
+msgstr "Wijziging in interne eigenschap van MultiMeasureRest"
 
 #: convertrules.py:3169
 msgid "This internal property has been replaced by round-up-to-longer-rest, round-up-exceptions and usable-duration-logs.\n"
-msgstr ""
+msgstr "Deze interne eigenschap werd vervangen door round-up-to-longer-rest, round-up-exceptions en usable-duration-logs.\n"
 
 #: convertrules.py:3174
 msgid "Creation of a Flag grob and moving of certain Stem properties to this grob"
-msgstr ""
+msgstr "Aanmaken van een grob Flag en ernaartoe overplaatsen van sommige eigenschappen van Stem"
 
 #: convertrules.py:3210
 msgid "consistent-broken-slope is now handled through the positions callback.\n"
@@ -1162,19 +1192,19 @@ msgstr "MAP"
 
 #: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
-msgstr "Texinfo-uitvoer zo opmaken dat Info in MAP zal kijken voor beelden van muziek"
+msgstr "Texinfo-uitvoer zo opmaken dat Info in MAP kijkt voor afbeeldingen van muziek"
 
 #: lilypond-book.py:155
 msgid "PAD"
-msgstr ""
+msgstr "OPVUL"
 
 #: lilypond-book.py:157
 msgid "pad left side of music to align music in spite of uneven bar numbers (in mm)"
-msgstr ""
+msgstr "linkerkant van muziek opvullen (in mm) om muziek uit te lijnen ondanks ongelijk aantal maten"
 
 #: lilypond-book.py:162
 msgid "Print lilypond log messages according to LOGLEVEL"
-msgstr "Print Lilypond-log-berichten volgens LOG-NIVEAU."
+msgstr "Lilypond-log-berichten volgens LOG-NIVEAU printen"
 
 #: lilypond-book.py:168
 msgid "write lily-XXX files to DIR, link into --output dir"
@@ -2127,7 +2157,7 @@ msgstr "onbeëindigde ligatuur"
 
 #: ligature-engraver.cc:216
 msgid "ignoring rest: ligature may not contain rest"
-msgstr "ligatuur mag geen rust bevatten;  genegeerd"
+msgstr "rust is genegeerd: ligatuur mag geen rust bevatten"
 
 #: ligature-engraver.cc:217
 msgid "ligature was started here"
@@ -2404,7 +2434,7 @@ msgstr "Gebruik:  %s [OPTIE...] BESTAND..."
 
 #: main.cc:304
 msgid "Typeset music and/or produce MIDI from FILE."
-msgstr "Zet muziek en/of produceert MIDI van BESTAND."
+msgstr "Muziek zetten en/of een MIDI maken aan de hand van BESTAND."
 
 #: main.cc:306
 msgid "LilyPond produces beautiful music notation."
@@ -2452,12 +2482,12 @@ msgstr "kan niet chrooten naar: %s: %s"
 #: main.cc:425
 #, c-format
 msgid "cannot change group id to: %d: %s"
-msgstr "kan groeps-ID niet veranderen naar: %d: %s"
+msgstr "kan groeps-ID niet veranderen naar %d: %s"
 
 #: main.cc:431
 #, c-format
 msgid "cannot change user id to: %d: %s"
-msgstr "kan kan gebruikers-ID niet veranderen naar: %d: %s"
+msgstr "kan gebruikers-ID niet veranderen naar %d: %s"
 
 #: main.cc:437
 #, c-format
@@ -2480,19 +2510,19 @@ msgstr "mark etiket moet een markup zijn"
 
 #: mensural-ligature-engraver.cc:100
 msgid "ligature with less than 2 heads -> skipping"
-msgstr "ligatuur met minder dan 2 bolletjes -> overgeslagen"
+msgstr "ligatuur met minder dan twee koppen -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:127
 msgid "cannot determine pitch of ligature primitive -> skipping"
-msgstr "kan toonhoogte van primitieve ligatuur niet bepalen -> overgeslagen"
+msgstr "kan toonhoogte van ligatuur-primitief niet bepalen -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:141
 msgid "single note ligature - skipping"
-msgstr "enkelnootse ligatuur -> overgeslagen"
+msgstr "eentonige ligatuur -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:152
 msgid "prime interval within ligature -> skipping"
-msgstr "prieminterval binnen ligatuur -> overgeslagen"
+msgstr "prime-interval binnen ligatuur -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:163
 msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
@@ -2500,14 +2530,14 @@ msgstr "mensurale ligatuur: lengte is geen van Mx, L, B, S -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:206
 msgid "semibrevis must be followed by another one -> skipping"
-msgstr "semibrevis moet worden gevolgd door een andere -> overgeslagen"
+msgstr "semibrevis moet gevolgd worden door een andere -> overgeslagen"
 
 #: mensural-ligature-engraver.cc:216
 msgid ""
 "semibreves can only appear at the beginning of a ligature,\n"
 "and there may be only zero or two of them"
 msgstr ""
-"semibrevi kunnen alleen aan het begin van een ligatuur voorkomen,\n"
+"semibrevissen kunnen alleen aan het begin van een ligatuur voorkomen,\n"
 "en het mogen er uitsluitend nul of twee zijn"
 
 #: mensural-ligature-engraver.cc:236
@@ -2518,13 +2548,13 @@ msgid ""
 "or the ligatura must be LB or SSB"
 msgstr ""
 "ongeldig ligatuureinde:\n"
-"als de laatste noot een dalende brevis is,\n"
+"als de laatste noot een neergaande brevis is,\n"
 "moet de voorlaatste noot een andere zijn,\n"
 "of de ligatuur moet LB of SSB zijn"
 
 #: mensural-ligature-engraver.cc:396
 msgid "unexpected case fall-through"
-msgstr "onverwachte zaakdoorval"
+msgstr "onverwachte 'case'-doorval"
 
 #: midi-control-function-performer.cc:107 staff-performer.cc:153
 #, c-format
@@ -2569,7 +2599,7 @@ msgstr "octaafcontrole is mislukt; verwachtte \"%s\", vond \"%s\""
 
 #: new-fingering-engraver.cc:113
 msgid "cannot add text scripts to individual note heads"
-msgstr "can tekstscripts niet toevoegen aan individuele notenbolletjes"
+msgstr "kan tekstscripts niet toevoegen aan individuele notenkoppen"
 
 #: new-fingering-engraver.cc:269
 msgid "no placement found for fingerings"
@@ -2586,12 +2616,12 @@ msgstr ""
 
 #: note-column.cc:150
 msgid "cannot have note heads and rests together on a stem"
-msgstr "kan notenbolletjes en rusten niet samen op een stok zetten"
+msgstr "kan notenkoppen en rusten niet samen op een stok zetten"
 
 #: note-head.cc:95
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
-msgstr "geen van de notenbolletjes '%s' of '%s' is gevonden"
+msgstr "geen van de notenkoppen '%s' of '%s' is gevonden"
 
 #: note-heads-engraver.cc:76
 msgid "NoteEvent without pitch"
@@ -2846,7 +2876,7 @@ msgstr "onbekende interne optie: %s"
 #: property-iterator.cc:115
 #, c-format
 msgid "not a grob name, `%s'"
-msgstr "geen grobnaam, `%s'"
+msgstr "geen grob-naam: '%s'"
 
 #: relative-octave-check.cc:49
 msgid "Failed octave check, got: "
@@ -2921,7 +2951,7 @@ msgstr "Verhuisbestand: %s"
 #: relocate.cc:351 source-file.cc:65
 #, c-format
 msgid "cannot open file: `%s'"
-msgstr "kan bestand niet openen: `%s'"
+msgstr "kan bestand niet openen: '%s'"
 
 #: relocate.cc:381
 #, c-format
@@ -3033,7 +3063,7 @@ msgstr "tremololengte is te lang"
 #: stem-engraver.cc:152
 #, c-format
 msgid "adding note head to incompatible stem (type = %d/%d)"
-msgstr "toevoegen van nootbolletje aan incompatibele stok (type = %d/%d)"
+msgstr "toevoegen van nootkop aan incompatibele stok (type = %d/%d)"
 
 #: stem-engraver.cc:155
 msgid "maybe input should specify polyphonic voices"
@@ -3131,7 +3161,7 @@ msgstr "Geen tuplet om te beëindigen"
 #: vaticana-ligature-engraver.cc:400
 #, c-format
 msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
-msgstr "voorvoegsel(s) '%s' van dit bolletje worden genegeerd volgens restricties van degeselecteerde ligatuurstijl"
+msgstr "voorvoegsel(s) '%s' van deze kop worden genegeerd volgens restricties van de geselecteerde ligatuurstijl"
 
 #: vaticana-ligature-engraver.cc:466
 msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch.  The ligature should be split."
@@ -3144,7 +3174,7 @@ msgstr ""
 #: vaticana-ligature-engraver.cc:736
 #, 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:94
 msgid "flexa-height undefined; assuming 0"
@@ -3185,7 +3215,7 @@ msgstr ""
 
 #: parser.yy:1054
 msgid "Missing music in \\score"
-msgstr ""
+msgstr "Er ontbreekt muziek in \\score"
 
 #: parser.yy:1091
 msgid "\\paper cannot be used in \\score, use \\layout instead"
@@ -3201,7 +3231,7 @@ msgstr "heb \\paper nodig voor paper blok"
 
 #: parser.yy:1331
 msgid "music expected"
-msgstr "muziek verwacht"
+msgstr "muziek werd verwacht"
 
 #: parser.yy:1341 parser.yy:1375
 msgid "unexpected post-event"
@@ -3217,23 +3247,23 @@ msgstr "is geen symbool"
 
 #: parser.yy:2491 parser.yy:2605 parser.yy:2618 parser.yy:2627
 msgid "bad grob property path"
-msgstr ""
+msgstr "ongeldig pad voor grob-eigenschap"
 
 #: parser.yy:2585
 msgid "only \\consists and \\remove take non-string argument."
-msgstr ""
+msgstr "alleen \\consists en \\remove nemen een argument dat geen tekenreeks is"
 
 #: parser.yy:2646
 msgid "bad context property path"
-msgstr ""
+msgstr "ongeldig pad voor contexteigenschap"
 
 #: parser.yy:2733
 msgid "simple string expected"
-msgstr "eenvoudige tekenreeks verwacht"
+msgstr "eenvoudige tekenreeks werd verwacht"
 
 #: parser.yy:2750
 msgid "symbol expected"
-msgstr "symbool verwacht"
+msgstr "symbool werd verwacht"
 
 #: parser.yy:2886
 msgid "not a rhythmic event"
@@ -3241,38 +3271,35 @@ msgstr "is geen ritmische gebeurtenis"
 
 #: parser.yy:2936
 msgid "post-event expected"
-msgstr ""
+msgstr "na-gebeurtenis werd verwacht"
 
 #: parser.yy:2945 parser.yy:2950
 msgid "have to be in Lyric mode for lyrics"
 msgstr "moet in Lyric-modus zijn voor liedteksten"
 
 #: parser.yy:3026
-#, fuzzy
 msgid "expecting string or post-event as script definition"
-msgstr "verwacht tekenreeks voor scriptdefinitie"
+msgstr "verwachtte tekenreeks of na-gebeurtenis voor scriptdefinitie"
 
 #: parser.yy:3130
 msgid "not an articulation"
 msgstr "is geen articulatie"
 
 #: parser.yy:3202 parser.yy:3245
-#, fuzzy
 msgid "not a duration"
-msgstr "geen duur: %d"
+msgstr "is geen lengte"
 
 #: parser.yy:3266
-#, fuzzy
 msgid "bass number expected"
-msgstr "symbool verwacht: ~S"
+msgstr "basnummer werd verwacht"
 
 #: parser.yy:3358
 msgid "have to be in Note mode for notes"
-msgstr "moet in Note modus zijn voor noten"
+msgstr "moet in Note-modus zijn voor noten"
 
 #: parser.yy:3397
 msgid "have to be in Chord mode for chords"
-msgstr "moet in Chord modus zijn voor accoorden"
+msgstr "moet in Chord-modus zijn voor akkoorden"
 
 #: parser.yy:3440
 msgid "markup outside of text script or \\lyricmode"
@@ -3284,7 +3311,7 @@ msgstr ""
 
 #: parser.yy:3597 parser.yy:3606
 msgid "not an unsigned integer"
-msgstr ""
+msgstr "is geen tekenloos geheel getal"
 
 #: parser.yy:3693
 msgid "not a markup"
@@ -3301,7 +3328,7 @@ msgstr "Overslaan van UTF-8 BOM"
 #: lexer.ll:248
 #, c-format
 msgid "Renaming input to: `%s'"
-msgstr "Hernoem invoer naar: `%s'"
+msgstr "Hernoemen van invoer naar: '%s'"
 
 #: lexer.ll:265
 msgid "quoted string expected after \\version"
@@ -3322,12 +3349,11 @@ msgstr "\\maininput niet toegestaan buiten init bestanden"
 #: lexer.ll:324
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
-msgstr "verkeerde of ongedefiniëerde identifier: `%s'"
+msgstr "verkeerde of ongedefinieerde variabele: '%s'"
 
 #: lexer.ll:349
-#, fuzzy
 msgid "string expected after \\include"
-msgstr "tekst tussen aanhalingstekens verwacht na \\version"
+msgstr "tekenreeks werd verwacht na \\include"
 
 #: lexer.ll:359
 msgid "end quote missing"
@@ -3343,7 +3369,7 @@ msgstr "EOF gevonden in een tekenreeks"
 
 #: lexer.ll:734
 msgid "Unfinished main input"
-msgstr ""
+msgstr "Onafgesloten hoofdinvoer"
 
 #: lexer.ll:805
 #, c-format
@@ -3353,16 +3379,16 @@ msgstr "ongeldig teken: '%s'"
 #: lexer.ll:925
 #, c-format
 msgid "unknown escaped string: `\\%s'"
-msgstr "onbekende ontsnapte string: `\\%s'"
+msgstr "onbekende escape-tekenreeks: '\\%s'"
 
 #: lexer.ll:945
 #, c-format
 msgid "undefined character or shorthand: %s"
-msgstr ""
+msgstr "teken of afkorting is ongedefinieerd: %s"
 
 #: lexer.ll:1236
 msgid "non-UTF-8 input"
-msgstr ""
+msgstr "invoer is non-UTF-8"
 
 #: lexer.ll:1280
 #, c-format
@@ -3381,7 +3407,7 @@ msgstr "overweeg het actualiseren van de invoer met het convert-ly script"
 #: lexer.ll:1292
 #, c-format
 msgid "program too old: %s (file requires: %s)"
-msgstr "programma te oud: %s (bestand vereist: %s)"
+msgstr "programma is te oud: %s  (bestand vereist: %s)"
 
 #: auto-beam.scm:147
 msgid "Beam end fits no pattern"
@@ -3426,12 +3452,12 @@ msgstr "Verwijderen van '~a'...\n"
 #: backend-library.scm:219
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
-msgstr "Schrijven van header veld `~a' naar `~a'..."
+msgstr "Schrijven van header-veld '~a' naar '~a'..."
 
 #: backend-library.scm:268
 #, scheme-format
 msgid "missing stencil expression `~S'"
-msgstr ""
+msgstr "ontbrekende stencilexpressie '~S'"
 
 #: bar-line.scm:133
 #, scheme-format
@@ -3467,7 +3493,7 @@ msgstr ""
 #: define-music-properties.scm:21
 #, scheme-format
 msgid "symbol ~S redefined"
-msgstr "symbool ~S hergedefiniëerd"
+msgstr "symbool ~S is geherdefinieerd"
 
 #: define-event-classes.scm:74
 #, scheme-format
@@ -3494,9 +3520,9 @@ msgid "Cannot find glyph ~a"
 msgstr "Kan glief ~a niet vinden"
 
 #: define-markup-commands.scm:3398
-#, fuzzy, scheme-format
+#, scheme-format
 msgid "no brace found for point size ~S "
-msgstr "geen plaatsing gevonden voor vingers"
+msgstr ""
 
 #: define-markup-commands.scm:3399
 #, scheme-format
@@ -3506,17 +3532,17 @@ msgstr ""
 #: define-markup-commands.scm:3643
 #, scheme-format
 msgid "not a valid duration string: ~a"
-msgstr "geen geldige duurtekst: ~a"
+msgstr "geen geldige manier om een tijdsduur aan te duiden: ~a"
 
 #: define-markup-commands.scm:3854
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
-msgstr "geen geldige duurtekst: ~a --  genegeerd"
+msgstr "geen geldige manier om een tijdsduur aan te duiden: ~a -> genegeerd"
 
 #: define-music-types.scm:803
 #, scheme-format
 msgid "symbol expected: ~S"
-msgstr "symbool verwacht: ~S"
+msgstr "symbool werd verwacht: ~S"
 
 #: define-music-types.scm:806
 #, scheme-format
@@ -3540,12 +3566,12 @@ msgstr ""
 #: define-note-names.scm:1009
 #, scheme-format
 msgid "Could not find language `~a'.  Ignoring."
-msgstr ""
+msgstr "Kan taal '~a' niet vinden.  Genegeerd."
 
 #: document-backend.scm:135
 #, scheme-format
 msgid "pair expected in doc ~s"
-msgstr "paar verwacht in doc ~s"
+msgstr "paar werd verwacht in doc ~s"
 
 #: document-backend.scm:202
 #, scheme-format
@@ -3555,7 +3581,7 @@ msgstr "kan grob bediening voor eigenschap niet vinden: ~S"
 #: document-backend.scm:212
 #, scheme-format
 msgid "unknown Grob interface: ~S"
-msgstr "onbekende Grob bediening: ~S"
+msgstr "onbekende Grob-bediening: ~S"
 
 #: documentation-lib.scm:62
 #, scheme-format
@@ -3643,26 +3669,26 @@ msgstr ""
 #: graphviz.scm:64
 #, scheme-format
 msgid "Writing graph `~a'..."
-msgstr "Schrijven van graph `~a'..."
+msgstr "Schrijven van graph '~a'..."
 
 #: layout-beam.scm:40
 #, scheme-format
 msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
-msgstr "Fout in waardestreep kwantisering.  Verwacht (~S,~S) gevonden ~S."
+msgstr "Fout in waardestreep kwantisering.  Verwachtte (~S,~S), gevonden ~S."
 
 #: layout-beam.scm:54
 #, scheme-format
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
-msgstr "Fout in waardestreep-kwantisering.  Verwacht ~S 0, gevonden ~S."
+msgstr "Fout in waardestreep-kwantisering.  Verwachtte ~S 0, gevonden ~S."
 
 #: lily-library.scm:333
 msgid "Music unsuitable for context-mod"
 msgstr ""
 
 #: lily-library.scm:388
-#, fuzzy, scheme-format
+#, scheme-format
 msgid "Cannot find context-def \\~a"
-msgstr "kan `%s' niet wisselen in `%s'"
+msgstr ""
 
 #: lily-library.scm:404
 msgid "Music unsuitable for output-def"
@@ -3708,11 +3734,11 @@ msgstr "kan niet vinden: ~A"
 
 #: lily.scm:903
 msgid "Success: compilation successfully completed"
-msgstr ""
+msgstr "Gelukt: compilatie is met succes afgesloten"
 
 #: lily.scm:904
 msgid "Compilation completed with warnings or errors"
-msgstr ""
+msgstr "Compilatie is afgesloten met waarschuwingen of fouten"
 
 #: lily.scm:965
 #, scheme-format
@@ -3725,7 +3751,7 @@ msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
-"logfile ~a (exit ~a):\n"
+"logbestand ~a (exit ~a):\n"
 "~a"
 
 #: lily.scm:990 lily.scm:1079
@@ -3747,22 +3773,22 @@ msgstr "Aanroepen van '~a'...\n"
 #: ly-syntax-constructors.scm:27
 #, scheme-format
 msgid "~a function cannot return ~a"
-msgstr ""
+msgstr "een ~a-functie kan geen ~a teruggeven"
 
 #: ly-syntax-constructors.scm:60
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
-msgstr "Verkeerd type voor argument ~a.  Verwacht ~a, gevonden ~s"
+msgstr "Verkeerd type voor argument ~a.  Verwachtte ~a, gevonden ~s"
 
 #: markup-macros.scm:331
 #, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
-msgstr "Verkeerd aantal argumenten.  Verwacht: ~A, gevonden ~A: ~S"
+msgstr "Verkeerd aantal argumenten.  Verwachtte ~A, gevonden ~A: ~S"
 
 #: markup-macros.scm:337
 #, scheme-format
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
-msgstr "Ongeldig argument in positie ~A.  Verwach: ~A, gevonden: ~S."
+msgstr "Ongeldig argument in positie ~A.  Verwachtte: ~A, gevonden: ~S."
 
 #: markup-macros.scm:373
 #, scheme-format
@@ -3801,16 +3827,16 @@ msgstr "ongeldig tremolo-herhalingsaantal: ~a"
 #: music-functions.scm:348
 #, scheme-format
 msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
-msgstr ""
+msgstr "onbekend herhalingstype '~S': moet 'volta', 'unfold', 'percent', of 'tremolo' zijn"
 
 #: music-functions.scm:352
 msgid "More alternatives than repeats.  Junking excess alternatives"
-msgstr "Meer alternatieven dan herhalingen.  Verschroten van overtollige alternatieven"
+msgstr "Meer alternatieven dan herhalingen.  Overtollige alternatieven zijn weggegooid."
 
 #: music-functions.scm:487
-#, fuzzy, scheme-format
+#, scheme-format
 msgid "bad grob property path ~a"
-msgstr "Ongeldige eigenschap operatie ~a"
+msgstr "ongeldig pad voor grob-eigenschap: ~a"
 
 #: music-functions.scm:511
 #, scheme-format
@@ -3824,12 +3850,12 @@ msgstr "ongeldige muziekeigenschap ~a"
 
 #: music-functions.scm:840
 msgid "Bad chord repetition"
-msgstr ""
+msgstr "Ongeldige akkoordherhaling"
 
 #: music-functions.scm:945
 #, scheme-format
 msgid "music expected: ~S"
-msgstr "muziek verwacht: ~S"
+msgstr "muziek werd verwacht: ~S"
 
 #: music-functions.scm:1295
 #, scheme-format
@@ -3933,7 +3959,7 @@ msgstr "fout in #{ ... #}"
 #: part-combiner.scm:894
 #, scheme-format
 msgid "quoted music `~a' is empty"
-msgstr ""
+msgstr "aangehaalde muziek '~a' is leeg"
 
 # lisp-format
 #: ps-to-png.scm:72 ps-to-png.scm:75
@@ -4611,22 +4637,12 @@ msgstr ""
 #~ msgid "outside-staff object %s has an empty extent"
 #~ msgstr "buiten-notenbalk object %s heeft lege afmetingen"
 
-#~ msgid "BACK"
-#~ msgstr "ACHTER"
-
-#~ msgid ""
-#~ "use backend BACK (eps, gnome, ps [default],\n"
-#~ "scm, svg, tex, texstr)"
-#~ msgstr ""
-#~ "gebruik achterkant ACHTER (eps, gnome,\n"
-#~ "ps [standaard], scm, svg, tex, texstr)"
-
 #~ msgid ""
 #~ "disallow unsafe Scheme and PostScript\n"
 #~ "operations"
 #~ msgstr ""
-#~ "sta geen onveilige Scheme of PostScript\n"
-#~ "operaties toe"
+#~ "onveilige Scheme of PostScript-operaties\n"
+#~ "niet toestaan"
 
 #~ msgid "Evaluating %s"
 #~ msgstr "Evalueren van %s"
index f86b90ba4eb8fded7bcd00c5c9972d232cda100b..444d04d46162debd75d34b922e012849b1b1d31a 100644 (file)
@@ -3855,6 +3855,13 @@ def conv(str):
                   r"\\once \1\2", str)
     return str
 
+@rule ((2, 19, 32), r"whiteout-box -> whiteout")
+def conv(str):
+    str = re.sub (r"\\whiteout-box(?![a-z_-])", r"\\whiteout", str)
+    str = re.sub (r"\b\.whiteout-box(?![a-z_-])\b", r".whiteout", str)
+    str = re.sub (r"#'whiteout-box(?![a-z_-])\b", r"#'whiteout", str)
+    return str
+
 # Guidelines to write rules (please keep this at the end of this file)
 #
 # - keep at most one rule per version; if several conversions should be done,
index fc8c86c5a3241095e2eaf408abccd3130442561a..b387da206ea8bfeb304950075fe779f009b7e395 100644 (file)
@@ -1141,16 +1141,14 @@ one below this grob.")
 ;;;
      (when ,ly:moment? "Global time step associated with this column.")
      (whiteout ,boolean-or-number? "If a number or true, the grob is
-printed over a white background that follows the outline of the stencil,
-if the grob is visible.  A number sets the thickness of the outline as a
-multiple of the staff-line thickness.  For compatibility with former
-behavior (now available with @code{whiteout-box}) the value @code{#t} is
-treated as @code{3.0}.  Usually @code{#f} by default.")
-     (whiteout-box ,boolean-or-number? "If a number or true, the grob
-is printed over a rectangular white background to white-out underlying
-material, if the grob is visible.  A number indicates how far the
-outline extends beyond the bounding box of the grob as a multiple of
-the staff-line thickness.  Usually @code{#f} by default.")
+printed over a white background to white-out underlying material, if
+the grob is visible.  A number indicates how far the white background
+extends beyond the bounding box of the grob as a multiple of the
+staff-line thickness.  The shape of the background is determined by
+@code{whiteout-style}.  Usually @code{#f} by default.")
+     (whiteout-style ,symbol? "Determines the shape of the
+@code{whiteout} background.  Available are @code{'outline} and the
+default @code{'box}.")
      (width ,ly:dimension? "The width of a grob measured in staff
 space.")
      (word-space ,ly:dimension? "Space to insert between words in
index e7fc4bb956903f918f1aa265d28ffda553c0182f..3528933f6836ac4f50d47234fb17c9fdeefc4884 100644 (file)
         (parenthesis-friends . (dot))
         (stem-attachment . (0.0 . 1.35))
         (stencil . ,tab-note-head::print)
-        (whiteout-box . #t)
+        (whiteout . #t)
         (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
         (Y-offset . ,staff-symbol-referencer::callback)
         (Y-extent . ,grob::always-Y-extent-from-stencil)
index 57e2e8893a26334a2d5af498ba518668b158ed03..6aae0be7801c3a93c28ea9d6c9cf0bf1b9c054ba 100644 (file)
@@ -722,44 +722,36 @@ Rotate object with @var{ang} degrees around its center.
 (define-markup-command (whiteout layout props arg)
   (markup?)
   #:category other
-  #:properties ((thickness 3))
+  #:properties ((style 'box)
+                (thickness '()))
   "
 @cindex adding a white background to text
 
-Provide a white background for @var{arg}.
+Provide a white background for @var{arg}.  The shape of the white
+background is determined by @code{style}.  The default
+is @code{box} which produces a white rectangle.  @code{outline}
+approximates the outline of the markup.
 
 @lilypond[verbatim,quote]
 \\markup {
   \\combine
-    \\filled-box #'(-1 . 10) #'(-3 . 4) #1
-    \\override #'(thickness . 1.5) \\whiteout whiteout
+    \\filled-box #'(-1 . 15) #'(-3 . 4) #1
+    \\override #'(thickness . 1.5)
+    \\whiteout whiteout-box
 }
-@end lilypond"
-  (stencil-whiteout
-    (interpret-markup layout props arg)
-      (* thickness
-        (ly:output-def-lookup layout 'line-thickness))))
-  
-(define-markup-command (whiteout-box layout props arg)
-  (markup?)
-  #:category other
-  #:properties ((thickness 0))
-  "
-@cindex adding a rectangular white background to text
-
-Provide a rectangular white background for @var{arg}.
-
-@lilypond[verbatim,quote]
 \\markup {
   \\combine
-    \\filled-box #'(-1 . 10) #'(-3 . 4) #1
-    \\override #'(thickness . 1.5) \\whiteout-box whiteout-box
+    \\filled-box #'(-1 . 18) #'(-3 . 4) #1
+    \\override #'(style . outline)
+    \\override #'(thickness . 3)
+    \\whiteout whiteout-outline
 }
 @end lilypond"
-  (stencil-whiteout-box
+  (stencil-whiteout
     (interpret-markup layout props arg)
-      (* thickness
-        (ly:output-def-lookup layout 'line-thickness))))
+    style
+    thickness
+    (ly:output-def-lookup layout 'line-thickness)))
 
 (define-markup-command (pad-markup layout props amount arg)
   (number? markup?)
@@ -1413,11 +1405,13 @@ equivalent to @code{\"fi\"}.
 @end lilypond"
   (define (concat-string-args arg-list)
     (fold-right (lambda (arg result-list)
-                  (let ((result (if (pair? result-list)
-                                    (car result-list)
-                                    '())))
-                    (if (and (pair? arg) (eqv? (car arg) simple-markup))
-                        (set! arg (cadr arg)))
+                  (let ((result (and (pair? result-list)
+                                     (car result-list))))
+                    (cond ((not (pair? arg)))
+                          ((eq? (car arg) simple-markup)
+                           (set! arg (cadr arg)))
+                          ((eq? (car arg) char-markup)
+                           (set! arg (ly:wide-char->utf-8 (cadr arg)))))
                     (if (and (string? result) (string? arg))
                         (cons (string-append arg result) (cdr result-list))
                         (cons arg result-list))))
index 3b0990cf415109a0d52ddb9dfedd05c0a9b802fb..45db612b9658b054a4ecf9a845d87f3bf1be9f7a 100644 (file)
@@ -281,7 +281,8 @@ with magnification @var{mag} of the string @var{text}."
                 (cons minfret
                       (let ((upfret (- (+ minfret my-fret-count) 1)))
                         (if (> maxfret upfret) maxfret upfret)))))
-      (set! capo-fret (1+ (- capo-fret minfret)))
+      (if (not (zero? (apply min capo-fret (map cadr dot-list))))
+          (set! capo-fret (1+ (- capo-fret minfret))))
       ;; subtract fret from dots
       (set! dot-list (subtract-base-fret (- (car fret-range) 1) dot-list)))
     (acons 'fret-range fret-range
index 0bfce9eb0c8a748099b3af053cf29d822de8a4b6..574b85437eb251b12c02e6e3f24f6bdbecd3173e 100644 (file)
@@ -707,13 +707,30 @@ right (@var{dir}=+1)."
 (define-public (coord-scale coordinate amount)
   (coord-operation * amount coordinate))
 
-(define-public (coord-rotate coordinate angle)
-  (let ((c (cos angle))
-        (s (sin angle))
-        (x (coord-x coordinate))
-        (y (coord-y coordinate)))
-    (cons (- (* c x) (* s y))
-          (+ (* s x) (* c y)))))
+(define-public (coord-rotate coordinate angle-in-radians)
+  ;; getting around (sin PI) not being exactly zero by switching to cos at
+  ;; appropiate angles and/or taking the negative value (vice versa for cos)
+  (let* ((quadrant (inexact->exact (round (/ angle-in-radians (/ PI 2)))))
+         (moved-angle (- angle-in-radians (* quadrant (/ PI 2))))
+         (s (sin moved-angle))
+         (c (cos moved-angle))
+         (x (coord-x coordinate))
+         (y (coord-y coordinate)))
+    (case (modulo quadrant 4)
+      ((0) ;; -45 .. 45
+       (cons (- (* c x) (* s y))
+             (+ (* s x) (* c y))))
+      ((1) ;; 45 .. 135
+       (cons (- (* (- s) x) (* c y))
+             (+ (* c x) (* (- s) y))))
+      ((2) ;; 135 .. 225
+       (cons (- (* (- c) x) (* (- s) y))
+             (+ (* (- s) x) (* (- c) y))))
+      ((3) ;; 225 .. 315
+       (cons (- (* s x) (* (- c) y))
+             (+ (* (- c) x) (* s y))))
+      ;; for other angles (modulo quadrant 4) returns one of the above cases
+       )))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; trig
@@ -728,11 +745,11 @@ right (@var{dir}=+1)."
 
 (define-public (cyclic-base-value value cycle)
   "Take @var{value} and modulo-maps it between 0 and base @var{cycle}."
-  (if (< value 0)
-      (cyclic-base-value (+ value cycle) cycle)
-      (if (>= value cycle)
-          (cyclic-base-value (- value cycle) cycle)
-          value)))
+  (cond ((< value 0)
+         (cyclic-base-value (+ value cycle) cycle))
+        ((>= value cycle)
+         (cyclic-base-value (- value cycle) cycle))
+        (else value)))
 
 (define-public (angle-0-2pi angle)
   "Take @var{angle} (in radians) and maps it between 0 and 2pi."
index 6e6d9c894b0ad8064f52cb300c8ed5b85531121f..d5a4b2478a00acce7fa6b18ca72c7dcee2a64f97 100644 (file)
@@ -537,8 +537,9 @@ error (using optionally @code{location})."
           #f))))
 
 (define-public (make-grob-property-set grob gprop val)
-  "Make a @code{Music} expression that sets @var{gprop} to @var{val} in
-@var{grob}.  Does a pop first, i.e., this is not an override."
+  "Make a @code{Music} expression that overrides a @var{gprop} to
+@var{val} in @var{grob}.  Does a pop first, i.e. this is not a
+@code{\\temporary \\override}."
   (make-music 'OverrideProperty
               'symbol grob
               'grob-property gprop
@@ -546,8 +547,9 @@ error (using optionally @code{location})."
               'pop-first #t))
 
 (define-public (make-grob-property-override grob gprop val)
-  "Make a @code{Music} expression that overrides @var{gprop} to @var{val}
-in @var{grob}."
+  "Make a @code{Music} expression that overrides @var{gprop} to
+@var{val} in @var{grob}.  This is a @code{\\temporary \\override},
+making it possible to @code{\\revert} to any previous value afterwards."
   (make-music 'OverrideProperty
               'symbol grob
               'grob-property gprop
index f525a1ebad7893eae39a8747854057b4ca4ffd2a..0921cdd36f00b20d54442206d3a063ed2e9d0d05 100644 (file)
@@ -992,15 +992,15 @@ based on the grob property data @var{data} (which can be plain data, a
 callback itself, or an unpure-pure-container).
 
 Function @var{func} accepts a grob and returns a value that is added
-to the value resulting from @var{data}.  Optional arguments @var{plus}
-and @var{valid?} default to @code{+} and @code{number?} respectively
-and allow for using a different underlying accumulation/type.
+to the value resulting from @var{data}.  Optional argument @var{plus}
+defaults to @code{+} but may be changed to allow for using a different
+underlying accumulation.
 
 If @var{data} is @code{#f} or @code{'()}, it is not included in the sum."
   (cond ((or (not data) (null? data))
          func)
-        ((or (ly:unpure-pure-container func)
-             (ly:unpure-pure-container data))
+        ((or (ly:unpure-pure-container? func)
+             (ly:unpure-pure-container? data))
          (ly:make-unpure-pure-container
           (lambda rest
             (plus (apply ly:unpure-call func rest)
index cad0c3b62021809a803a9636299be9cd79a0148f..5f4d7005cd518af052ee8d7bee690ce5d5529be7 100644 (file)
@@ -38,20 +38,17 @@ and return a marking list, which can be used with a fretboard grob."
          (if (string? diagram-definition)
              (parse-terse-string diagram-definition)
              diagram-definition)))
-    (map (lambda(item)
-           (let ((code (car item)))
-             (cond
-              ((eq? code 'barre)
-               (list-set! item 3
-                          (+ fret-offset (list-ref item 3)))
-               item)
-              ((eq? code 'capo)
-               (list-set! item 1
-                          (+ fret-offset (list-ref item 1)))
-               item)
-              ((eq? code 'place-fret)
-               (list-set! item 2
-                          (+ fret-offset (list-ref item 2)))
-               item)
-              (else item))))
+    (map (lambda (item)
+           (let* ((code (car item))
+                  (nth (assq-ref '((barre . 3) (capo . 1) (place-fret . 2))
+                                 code)))
+             (if nth
+                 ;; offset nth element of item by offset-fret
+                 ;; without modifying the original list but
+                 ;; sharing its tail
+                 (let ((tail (list-tail item nth)))
+                   (append! (list-head item nth)
+                            (cons (+ (car tail) fret-offset)
+                                  (cdr tail))))
+                 item)))
          verbose-definition)))
index 6410eae44c961ca049366d4fb12e3f1202da7780..8e4499d87996963977b38907507869d4a5df64e9 100644 (file)
@@ -684,17 +684,17 @@ box, remains the same."
    (ly:stencil-extent stencil X)
    (ly:stencil-extent stencil Y)))
 
-(define*-public (stencil-whiteout
+(define*-public (stencil-whiteout-outline
                  stil #:optional (thickness 0.3) (color white)
                  (angle-increments 16) (radial-increments 1))
   "This function works by creating a series of white or @var{color}
 stencils radially offset from the original stencil with angles from
 0 to 2*pi, at an increment of @code{angle-inc}, and with radii
 from @code{radial-inc} to @var{thickness}.  @var{thickness} is how big
-the white outline is in staff-spaces.  @var{radial-increments} is how
-many copies of the white stencil we make on our way out to thickness.
-@var{angle-increments} is how many copies of the white stencil
-we make between 0 and 2*pi."
+the white outline is, as a multiple of line-thickness.
+@var{radial-increments} is how many copies of the white stencil we make
+on our way out to thickness.  @var{angle-increments} is how many copies
+of the white stencil we make between 0 and 2*pi."
   (if (or (not (positive? angle-increments))
           (not (positive? radial-increments)))
       (begin
@@ -736,17 +736,31 @@ we make between 0 and 2*pi."
               `(delay-stencil-evaluation ,(delay whiteout-expr)))
             stil)))))
 
-(define*-public (stencil-whiteout-box stencil
+(define*-public (stencil-whiteout-box stil
                  #:optional (thickness 0) (blot 0) (color white))
-  "@var{thickness} is how far in staff-spaces the white outline
-extends past the extents of @var{stencil}."
+  "@var{thickness} is how far, as a multiple of line-thickness,
+the white outline extends past the extents of stencil @var{stil}."
   (let*
-   ((x-ext (interval-widen (ly:stencil-extent stencil X) thickness))
-    (y-ext (interval-widen (ly:stencil-extent stencil Y) thickness)))
+   ((x-ext (interval-widen (ly:stencil-extent stil X) thickness))
+    (y-ext (interval-widen (ly:stencil-extent stil Y) thickness)))
 
    (ly:stencil-add
     (stencil-with-color (ly:round-filled-box x-ext y-ext blot) color)
-    stencil)))
+    stil)))
+
+(define-public (stencil-whiteout stil style thickness line-thickness)
+  "@var{style} is a symbol that determines the shape of the white
+background.  @var{thickness} is how far, as a multiple of
+@var{line-thickness}, the white background extends past the extents
+of stencil @var{stil}. If @var{thickness} has not been specified
+by the user, an appropriate default is chosen based on @var{style}."
+  (let ((thick (* line-thickness
+                 (if (number? thickness)
+                     thickness
+                     (if (eq? style 'outline) 3 0)))))
+    (if (eq? style 'outline)
+        (stencil-whiteout-outline stil thick)
+        (stencil-whiteout-box stil thick))))
 
 (define-public (arrow-stencil-maker start? end?)
   "Return a function drawing a line from current point to @code{destination},
@@ -837,10 +851,10 @@ with optional arrows of @code{max-size} on start and end controlled by
                           (make-simple-markup (simple-format #f "~a: NaN/inf" name))))
         (let ((text-stencil (interpret-markup
                              layout text-props
-                             (markup #:whiteout-box #:simple name)))
+                             (markup #:whiteout #:simple name)))
               (dim-stencil (interpret-markup
                             layout text-props
-                            (markup #:whiteout-box
+                            (markup #:whiteout
                                     #:simple (cond
                                               ((interval-empty? extent)
                                                "empty")
index 87e5b300af90c129b3a6f50d4ef45b77db1a47fc..97f688c1d1e868d4242d3a085ab9d4856e3fddf3 100644 (file)
 
 ;; a callback for custom fret labels
 (define ((tab-note-head::print-custom-fret-label fret) grob)
-  (ly:grob-set-property! grob 'text fret)
+  (ly:grob-set-property! grob 'text (make-vcenter-markup fret))
   (tab-note-head::print grob))
 (export tab-note-head::print-custom-fret-label)
 
          (offset-factor (assoc-get 'head-offset details 3/5))
          (column-offset (* offset-factor
                            (interval-length
-                            (ly:stencil-extent
-                             (grob-interpret-markup grob "8")
-                             X)))))
+                            (ly:stencil-extent ref-grob X)))))
 
     (if (is-harmonic? grob)
         (set! output-grob (harmonic-proc output-grob
                                            cautionary-width
                                            cautionary-angularity
                                            cautionary-padding)))
-    (ly:stencil-translate-axis (centered-stencil output-grob)
-                               column-offset
-                               X)))
+    (ly:stencil-translate-axis
+     (ly:stencil-aligned-to output-grob X CENTER)
+     column-offset
+     X)))
 
 ;; Harmonic definitions
 
index 2a3701ea16e8fb4773c52818201dd4d6f06a6253..2bb980a2f49e29ad00ba4c1a999c64166598b028 100644 (file)
@@ -233,8 +233,9 @@ way the transposition number is displayed."
     ;; Create the dot-placement list for the grob
     (set! (ly:grob-property grob 'dot-placement-list) placement-list)))
 
-(define-public
-  (determine-frets context notes specified-info . rest)
+(define*-public
+  ((determine-frets #:optional (support-non-integer-fret? #f))
+                    context notes specified-info . rest)
   "Determine string numbers and frets for playing @var{notes}
 as a chord, given specified information @var{specified-info}.
 @var{specified-info} is a list with two list elements,
@@ -247,7 +248,9 @@ Will look for predefined fretboards if @code{predefinedFretboardTable}
 is not @code {#f}.  If @var{rest} is present, it contains the
 @code{FretBoard} grob, and a fretboard will be
 created.  Otherwise, a list of @code{(string fret finger)} lists will
-be returned."
+be returned.
+If the optional @var{support-non-integer-fret?} is set @code{#t}, micro-tones
+are supported for TabStaff, but not not for FretBoards."
 
   ;;  helper functions
 
@@ -356,7 +359,9 @@ notes?"
         (and (or (and (not restrain-open-strings)
                       (zero? fret))
                  (>= fret minimum-fret))
-             (integer? fret)
+             (if (and support-non-integer-fret? (null? rest))
+                 (integer? (truncate fret))
+                 (integer? fret))
              (close-enough fret))))
 
     (define (open-string string pitch)
@@ -372,7 +377,7 @@ the current tuning?"
         (if (< this-fret 0)
             (ly:warning (_ "Negative fret for pitch ~a on string ~a")
                         (car pitch-entry) string)
-            (if (not (integer? this-fret))
+            (if (and (not (integer? this-fret)) (not support-non-integer-fret?))
                 (ly:warning (_ "Missing fret for pitch ~a on string ~a")
                             (car pitch-entry) string)))
         (delete-free-string string)
@@ -569,7 +574,7 @@ chords.  Returns a placement-list."
 (define-public (fret-letter-tablature-format
                 context string-number fret-number)
   (let ((labels (ly:context-property context 'fretLabels)))
-    (make-vcenter-markup
+    (make-translate-scaled-markup '(0 . -0.5)
      (cond
       ((= 0 (length labels))
        (string (integer->char (+ fret-number (char->integer #\a)))))
@@ -584,8 +589,25 @@ only ~a fret labels provided")
 ;; Display the fret number as a number
 (define-public (fret-number-tablature-format
                 context string-number fret-number)
-  (make-vcenter-markup
-   (format #f "~a" fret-number)))
+  (if (integer? fret-number)
+      (make-vcenter-markup
+        (format #f "~a" fret-number))
+      ;; for non-integer fret-number print p.e. "2½"
+      (let* ((whole-part (truncate fret-number))
+             (remaining (- fret-number whole-part))
+             (fret
+               (if (and (zero? whole-part) (not (zero? remaining)))
+                   ""
+                   (format #f "~a" whole-part)))
+             (frac
+               (if (zero? remaining)
+                   ""
+                   (format #f "~a" remaining))))
+        (make-concat-markup
+          (list (make-vcenter-markup fret)
+                (make-vcenter-markup
+                  ;; the value `-2.5' is my choice
+                  (make-fontsize-markup -2.5 frac)))))))
 
 ;; The 5-string banjo has got an extra string, the fifth (duh), which
 ;; starts at the fifth fret on the neck.  Frets on the fifth string