]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'Paco' into staging
authorFrancisco Vila <francisco.vila@hispalinux.es>
Wed, 2 May 2012 10:57:06 +0000 (12:57 +0200)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Wed, 2 May 2012 10:57:06 +0000 (12:57 +0200)
Conflicts:
Documentation/contributor/doc-work.itexi
Documentation/contributor/source-code.itexi

335 files changed:
Documentation/contributor/source-code.itexi
Documentation/css/lilypond-website.css
Documentation/es/texidocs/accordion-discant-symbols.texidoc
Documentation/es/texidocs/adding-a-figured-bass-above-or-below-the-notes.texidoc
Documentation/es/texidocs/adding-ambitus-per-voice.texidoc
Documentation/es/texidocs/adding-an-extra-staff-at-a-line-break.texidoc
Documentation/es/texidocs/adding-an-extra-staff.texidoc
Documentation/es/texidocs/adding-bar-lines-to-chordnames-context.texidoc
Documentation/es/texidocs/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.texidoc
Documentation/es/texidocs/adding-drum-parts.texidoc
Documentation/es/texidocs/adding-fingerings-to-tablatures.texidoc
Documentation/es/texidocs/adding-orchestral-cues-to-a-vocal-score.texidoc
Documentation/es/texidocs/adding-parentheses-around-an-expressive-mark-or-chordal-note.texidoc
Documentation/es/texidocs/adding-the-current-date-to-a-score.texidoc
Documentation/es/texidocs/adding-volta-brackets-to-additional-staves.texidoc
Documentation/es/texidocs/additional-voices-to-avoid-collisions.texidoc
Documentation/es/texidocs/adjusting-grace-note-spacing.texidoc
Documentation/es/texidocs/adjusting-lyrics-vertical-spacing.texidoc
Documentation/es/texidocs/adjusting-the-shape-of-falls-and-doits.texidoc
Documentation/es/texidocs/aligning-and-centering-instrument-names.texidoc
Documentation/es/texidocs/aligning-bar-numbers.texidoc
Documentation/es/texidocs/aligning-marks-with-various-notation-objects.texidoc
Documentation/es/texidocs/allowing-fingerings-to-be-printed-inside-the-staff.texidoc
Documentation/es/texidocs/altering-the-length-of-beamed-stems.texidoc
Documentation/es/texidocs/alternative-bar-numbering.texidoc
Documentation/es/texidocs/alternative-breve-note.texidoc
Documentation/es/texidocs/ambitus-with-multiple-voices.texidoc
Documentation/es/texidocs/analysis-brackets-above-the-staff.texidoc
Documentation/es/texidocs/ancient-fonts.texidoc
Documentation/es/texidocs/ancient-notation-template----modern-transcription-of-gregorian-music.texidoc
Documentation/es/texidocs/ancient-notation-template----modern-transcription-of-mensural-music.texidoc
Documentation/es/texidocs/ancient-time-signatures.texidoc
Documentation/es/texidocs/anglican-psalm-template.texidoc
Documentation/es/texidocs/applying-note-head-styles-depending-on-the-step-of-the-scale.texidoc
Documentation/es/texidocs/arabic-improvisation.texidoc
Documentation/es/texidocs/asymmetric-slurs.texidoc
Documentation/es/texidocs/automatic-beam-subdivisions.texidoc
Documentation/es/texidocs/avoiding-collisions-with-chord-fingerings.texidoc
Documentation/es/texidocs/bar-chords-notation-for-guitar--with-text-spanner.texidoc
Documentation/es/texidocs/beam-endings-in-score-context.texidoc
Documentation/es/texidocs/beam-grouping-in-7-8-time.texidoc
Documentation/es/texidocs/beams-across-line-breaks.texidoc
Documentation/es/texidocs/blanking-staff-lines-using-the--whiteout-command.texidoc
Documentation/es/texidocs/broken-crescendo-hairpin.texidoc
Documentation/es/texidocs/caesura-railtracks-with-fermata.texidoc
Documentation/es/texidocs/center-text-below-hairpin-dynamics.texidoc
Documentation/es/texidocs/changing--flageolet-mark-size.texidoc
Documentation/es/texidocs/changing-a-single-notes-size-in-a-chord.texidoc
Documentation/es/texidocs/changing-beam-knee-gap.texidoc
Documentation/es/texidocs/changing-chord-separator.texidoc
Documentation/es/texidocs/changing-form-of-multi-measure-rests.texidoc
Documentation/es/texidocs/changing-fret-orientations.texidoc
Documentation/es/texidocs/changing-midi-output-to-one-channel-per-voice.texidoc
Documentation/es/texidocs/changing-partcombine-texts.texidoc
Documentation/es/texidocs/changing-text-and-spanner-styles-for-text-dynamics.texidoc
Documentation/es/texidocs/changing-the-ambitus-gap.texidoc
Documentation/es/texidocs/changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.texidoc
Documentation/es/texidocs/changing-the-breath-mark-symbol.texidoc
Documentation/es/texidocs/changing-the-chord-names-to-german-or-semi-german-notation.texidoc
Documentation/es/texidocs/changing-the-number-of-augmentation-dots-per-note.texidoc
Documentation/es/texidocs/changing-the-positions-of-figured-bass-alterations.texidoc
Documentation/es/texidocs/changing-the-size-of-woodwind-diagrams.texidoc
Documentation/es/texidocs/changing-the-tempo-without-a-metronome-mark.texidoc
Documentation/es/texidocs/changing-the-text-for-sustain-markings.texidoc
Documentation/es/texidocs/changing-the-tuplet-number.texidoc
Documentation/es/texidocs/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.texidoc
Documentation/es/texidocs/chant-or-psalms-notation.texidoc
Documentation/es/texidocs/chord-glissando-in-tablature.texidoc
Documentation/es/texidocs/chord-name-exceptions.texidoc
Documentation/es/texidocs/chord-name-major7.texidoc
Documentation/es/texidocs/chordchanges-for-fretboards.texidoc
Documentation/es/texidocs/clip-systems.texidoc
Documentation/es/texidocs/clusters.texidoc
Documentation/es/texidocs/combining-dynamics-with-markup-texts.texidoc
Documentation/es/texidocs/combining-two-parts-on-the-same-staff.texidoc
Documentation/es/texidocs/compound-time-signatures.texidoc
Documentation/es/texidocs/conducting-signs,-measure-grouping-signs.texidoc
Documentation/es/texidocs/contemporary-glissando.texidoc
Documentation/es/texidocs/controlling-spanner-visibility-after-a-line-break.texidoc
Documentation/es/texidocs/controlling-the-placement-of-chord-fingerings.texidoc
Documentation/es/texidocs/controlling-the-vertical-ordering-of-scripts.texidoc
Documentation/es/texidocs/controlling-tuplet-bracket-visibility.texidoc
Documentation/es/texidocs/creating-a-delayed-turn.texidoc
Documentation/es/texidocs/creating-a-sequence-of-notes-on-various-pitches.texidoc
Documentation/es/texidocs/creating-arpeggios-across-notes-in-different-voices.texidoc
Documentation/es/texidocs/creating-blank-staves.texidoc
Documentation/es/texidocs/creating-cross-staff-arpeggios-in-a-piano-staff.texidoc
Documentation/es/texidocs/creating-cross-staff-arpeggios-in-other-contexts.texidoc
Documentation/es/texidocs/creating-metronome-marks-in-markup-mode.texidoc
Documentation/es/texidocs/creating-real-parenthesized-dynamics.texidoc
Documentation/es/texidocs/creating-simultaneous-rehearsal-marks.texidoc
Documentation/es/texidocs/creating-slurs-across-voices.texidoc
Documentation/es/texidocs/creating-text-spanners.texidoc
Documentation/es/texidocs/cross-staff-tremolos.texidoc
Documentation/es/texidocs/custodes.texidoc
Documentation/es/texidocs/customizing-fretboard-fret-diagrams.texidoc
Documentation/es/texidocs/customizing-markup-fret-diagrams.texidoc
Documentation/es/texidocs/default-direction-of-stems-on-the-center-line-of-the-staff.texidoc
Documentation/es/texidocs/defining-an-engraver-in-scheme-ambitus-engraver.texidoc [deleted file]
Documentation/es/texidocs/defining-predefined-fretboards-for-other-instruments.texidoc
Documentation/es/texidocs/display-bracket-with-only-one-staff-in-a-system.texidoc
Documentation/es/texidocs/displaying-complex-chords.texidoc
Documentation/es/texidocs/displaying-grob-ancestry.texidoc
Documentation/es/texidocs/dodecaphonic-style-accidentals-for-each-note-including-naturals.texidoc [deleted file]
Documentation/es/texidocs/dynamics-custom-text-spanner-postfix.texidoc
Documentation/es/texidocs/dynamics-text-spanner-postfix.texidoc
Documentation/es/texidocs/embedding-native-postscript-in-a--markup-block.texidoc
Documentation/es/texidocs/engravers-one-by-one.texidoc
Documentation/es/texidocs/engraving-ties-manually.texidoc
Documentation/es/texidocs/entering-several-tuplets-using-only-one--times-command.texidoc
Documentation/es/texidocs/faking-a-hammer-in-tablatures.texidoc
Documentation/es/texidocs/fingering-symbols-for-wind-instruments.texidoc
Documentation/es/texidocs/fingerings,-string-indications,-and-right-hand-fingerings.texidoc
Documentation/es/texidocs/flamenco-notation.texidoc
Documentation/es/texidocs/flat-flags-and-beam-nibs.texidoc
Documentation/es/texidocs/forcing-horizontal-shift-of-notes.texidoc
Documentation/es/texidocs/forcing-hyphens-to-be-shown.texidoc
Documentation/es/texidocs/formatting-lyrics-syllables.texidoc
Documentation/es/texidocs/fretboards-alternate-tables.texidoc
Documentation/es/texidocs/fretted-string-harmonics-in-tablature.texidoc
Documentation/es/texidocs/generating-random-notes.texidoc
Documentation/es/texidocs/glissandi-can-skip-grobs.texidoc
Documentation/es/texidocs/graphical-and-text-woodwind-diagrams.texidoc
Documentation/es/texidocs/grid-lines--changing-their-appearance.texidoc
Documentation/es/texidocs/grid-lines--emphasizing-rhythms-and-notes-synchronization.texidoc
Documentation/es/texidocs/grouping-beats.texidoc [deleted file]
Documentation/es/texidocs/guitar-slides.texidoc
Documentation/es/texidocs/guitar-strum-rhythms.texidoc
Documentation/es/texidocs/hairpins-with-different-line-styles.texidoc
Documentation/es/texidocs/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.texidoc
Documentation/es/texidocs/hiding-the-extender-line-for-text-dynamics.texidoc
Documentation/es/texidocs/hymn-template.texidoc
Documentation/es/texidocs/incipit.texidoc
Documentation/es/texidocs/indicating-cross-staff-chords-with-arpeggio-bracket.texidoc
Documentation/es/texidocs/inserting-a-caesura.texidoc
Documentation/es/texidocs/isolated-percent-repeats.texidoc
Documentation/es/texidocs/jazz-combo-template.texidoc
Documentation/es/texidocs/keep-change-clefs-full-sized.texidoc
Documentation/es/texidocs/letter-tablature-formatting.texidoc
Documentation/es/texidocs/line-arrows.texidoc
Documentation/es/texidocs/lyrics-alignment.texidoc
Documentation/es/texidocs/lyrics-old-spacing-settings.texidoc [deleted file]
Documentation/es/texidocs/makam-example.texidoc
Documentation/es/texidocs/making-slurs-with-complex-dash-structure.texidoc
Documentation/es/texidocs/making-some-staff-lines-thicker-than-the-others.texidoc
Documentation/es/texidocs/measure-counter.texidoc
Documentation/es/texidocs/mensurstriche-layout-bar-lines-between-the-staves.texidoc
Documentation/es/texidocs/modern-tab-text-clef.texidoc [deleted file]
Documentation/es/texidocs/modifying-default-values-for-articulation-shorthand-notation.texidoc
Documentation/es/texidocs/moving-dotted-notes-in-polyphony.texidoc
Documentation/es/texidocs/moving-slur-positions-vertically.texidoc
Documentation/es/texidocs/multi-measure-rest-markup.texidoc
Documentation/es/texidocs/nesting-staves.texidoc
Documentation/es/texidocs/non-default-tuplet-numbers.texidoc
Documentation/es/texidocs/non-traditional-key-signatures.texidoc
Documentation/es/texidocs/numbers-as-easy-note-heads.texidoc
Documentation/es/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc [new file with mode: 0644]
Documentation/es/texidocs/open-string-harmonics-in-tablature.texidoc
Documentation/es/texidocs/orchestra,-choir-and-piano-template.texidoc
Documentation/es/texidocs/ottava-text.texidoc
Documentation/es/texidocs/partcombine-and-autobeamoff.texidoc
Documentation/es/texidocs/percent-repeat-count-visibility.texidoc
Documentation/es/texidocs/percent-repeat-counter.texidoc
Documentation/es/texidocs/permitting-line-breaks-within-beamed-tuplets.texidoc
Documentation/es/texidocs/piano-template-simple.texidoc
Documentation/es/texidocs/piano-template-with-centered-dynamics.texidoc [deleted file]
Documentation/es/texidocs/piano-template-with-centered-lyrics.texidoc
Documentation/es/texidocs/piano-template-with-melody-and-lyrics.texidoc
Documentation/es/texidocs/placement-of-right-hand-fingerings.texidoc
Documentation/es/texidocs/polyphony-in-tablature.texidoc
Documentation/es/texidocs/positioning-arpeggios.texidoc
Documentation/es/texidocs/positioning-grace-note-beams-at-the-height-of-normal-note-beams.texidoc
Documentation/es/texidocs/positioning-grace-notes-with-floating-space.texidoc
Documentation/es/texidocs/positioning-multi-measure-rests.texidoc
Documentation/es/texidocs/positioning-text-markups-inside-slurs.texidoc
Documentation/es/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc
Documentation/es/texidocs/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.texidoc
Documentation/es/texidocs/printing-a-repeat-sign-at-the-beginning-of-a-piece.texidoc
Documentation/es/texidocs/printing-bar-numbers-at-regular-intervals.texidoc
Documentation/es/texidocs/printing-bar-numbers-inside-boxes-or-circles.texidoc
Documentation/es/texidocs/printing-hairpins-using-al-niente-notation.texidoc
Documentation/es/texidocs/printing-marks-at-the-end-of-a-line.texidoc
Documentation/es/texidocs/printing-marks-on-every-staff.texidoc
Documentation/es/texidocs/printing-metronome-and-rehearsal-marks-below-the-staff.texidoc
Documentation/es/texidocs/printing-note-names-with-and-without-an-octave-marker.texidoc
Documentation/es/texidocs/printing-the-bar-number-for-the-first-measure.texidoc
Documentation/es/texidocs/quoting-another-voice-with-transposition.texidoc
Documentation/es/texidocs/quoting-another-voice.texidoc
Documentation/es/texidocs/recorder-fingering-chart.texidoc
Documentation/es/texidocs/redefining-grace-note-global-defaults.texidoc
Documentation/es/texidocs/removing-bar-numbers-from-a-score.texidoc
Documentation/es/texidocs/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.texidoc
Documentation/es/texidocs/removing-the-first-empty-line.texidoc
Documentation/es/texidocs/rest-styles.texidoc
Documentation/es/texidocs/reverting-default-beam-endings.texidoc
Documentation/es/texidocs/satb-choir-template---four-staves.texidoc
Documentation/es/texidocs/setting-hairpin-behavior-at-bar-lines.texidoc
Documentation/es/texidocs/setting-system-separators.texidoc
Documentation/es/texidocs/setting-the-double-repeat-default-for-volte.texidoc
Documentation/es/texidocs/setting-the-minimum-length-of-hairpins.texidoc
Documentation/es/texidocs/shortening-volta-brackets.texidoc
Documentation/es/texidocs/showing-chords-at-changes.texidoc
Documentation/es/texidocs/simple-lead-sheet.texidoc
Documentation/es/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc
Documentation/es/texidocs/single-staff-template-with-notes,-lyrics,-chords-and-frets.texidoc
Documentation/es/texidocs/single-staff-template-with-notes-and-chords.texidoc
Documentation/es/texidocs/single-staff-template-with-notes-and-lyrics.texidoc
Documentation/es/texidocs/single-staff-template-with-only-notes.texidoc
Documentation/es/texidocs/slides-in-tablature.texidoc
Documentation/es/texidocs/snap-pizzicato-bartok-pizzicato.texidoc [deleted file]
Documentation/es/texidocs/stand-alone-two-column-markup.texidoc
Documentation/es/texidocs/stem-and-beam-behavior-in-tablature.texidoc
Documentation/es/texidocs/strict-beat-beaming.texidoc
Documentation/es/texidocs/string-quartet-template-simple.texidoc
Documentation/es/texidocs/string-quartet-template-with-separate-parts.texidoc
Documentation/es/texidocs/subdividing-beams.texidoc
Documentation/es/texidocs/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.texidoc
Documentation/es/texidocs/transcription-of-ancient-music-with-incipit.texidoc
Documentation/es/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc
Documentation/es/texidocs/tweaking-clef-properties.texidoc
Documentation/es/texidocs/tweaking-grace-layout-within-music.texidoc
Documentation/es/texidocs/use-square-bracket-at-the-start-of-a-staff-group.texidoc
Documentation/es/texidocs/using-alternative-flag-styles.texidoc
Documentation/es/texidocs/using-arpeggiobracket-to-make-divisi-more-visible.texidoc
Documentation/es/texidocs/using-double-slurs-for-legato-chords.texidoc
Documentation/es/texidocs/using-grace-note-slashes-with-normal-heads.texidoc
Documentation/es/texidocs/using-ly-grob-object-to-access-grobs-with--tweak.texidoc
Documentation/es/texidocs/using-the-whiteout-property.texidoc
Documentation/es/texidocs/using-ties-with-arpeggios.texidoc
Documentation/es/texidocs/vertically-aligned-dynamics-and-textscripts.texidoc
Documentation/es/texidocs/vertically-aligning-dynamics-across-multiple-notes.texidoc
Documentation/es/texidocs/vertically-aligning-ossias-and-lyrics.texidoc
Documentation/es/texidocs/vertically-centering-paired-figured-bass-extenders.texidoc
Documentation/es/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc
Documentation/es/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc
Documentation/es/texidocs/vocal-ensemble-template-with-verse-and-refrain.texidoc
Documentation/es/texidocs/vocal-ensemble-template.texidoc
Documentation/es/texidocs/volta-below-chords.texidoc
Documentation/es/texidocs/woodwind-diagrams-key-lists.texidoc
Documentation/es/texidocs/woodwind-diagrams-listing.texidoc
Documentation/es/web/community.itexi
Documentation/es/web/news-front.itexi
Documentation/es/web/news.itexi
Documentation/ly-examples/tab-example.ly
Documentation/po/es.po
Documentation/snippets/alternative-breve-note.ly
Documentation/snippets/beam-grouping-in-7-8-time.ly
Documentation/snippets/chord-glissando-in-tablature.ly
Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly
Documentation/web.texi
Documentation/web/server/tweets.xml [new file with mode: 0644]
flower/include/direction.hh
input/regression/dot-column-rest-collision.ly
input/regression/scheme-text-spanner.ly
lily/ambitus-engraver.cc
lily/axis-group-interface.cc
lily/beam-quanting.cc
lily/beam.cc
lily/bezier.cc
lily/break-substitution.cc
lily/context-scheme.cc
lily/context.cc
lily/dispatcher-scheme.cc
lily/dispatcher.cc
lily/dynamic-align-engraver.cc
lily/dynamic-engraver.cc
lily/engraver.cc
lily/figured-bass-continuation.cc
lily/global-context.cc
lily/hairpin.cc
lily/horizontal-bracket.cc
lily/include/beam.hh
lily/include/context.hh
lily/include/dispatcher.hh
lily/include/music.hh
lily/include/translator.icc
lily/interval-minefield.cc
lily/item.cc
lily/ledger-line-spanner.cc
lily/line-spanner.cc
lily/lookup.cc
lily/lyric-hyphen.cc
lily/multi-measure-rest-engraver.cc
lily/multi-measure-rest.cc
lily/music.cc
lily/new-dynamic-engraver.cc
lily/new-fingering-engraver.cc
lily/note-collision.cc
lily/note-spacing.cc
lily/optimal-page-breaking.cc
lily/ottava-bracket.cc
lily/ottava-engraver.cc
lily/page-turn-engraver.cc
lily/paper-column-engraver.cc
lily/paper-column.cc
lily/part-combine-engraver.cc
lily/part-combine-iterator.cc
lily/piano-pedal-bracket.cc
lily/rest-collision.cc
lily/rhythmic-music-iterator.cc
lily/rod.cc
lily/script-column.cc
lily/slur-configuration.cc
lily/slur-scoring.cc
lily/slur.cc
lily/spacing-determine-loose-columns.cc
lily/spacing-interface.cc
lily/spacing-spanner.cc
lily/spanner.cc
lily/staff-symbol.cc
lily/stem.cc
lily/stream-event.cc
lily/system-start-delimiter.cc
lily/system.cc
lily/tie-column.cc
lily/tie-engraver.cc
lily/tie-formatting-problem.cc
lily/tie.cc
lily/translator.cc
lily/tuplet-bracket.cc
ly/engraver-init.ly
ly/performer-init.ly
ly/property-init.ly
make/website.make
po/es.po
po/fr.po
po/it.po
scm/autochange.scm
scm/define-context-properties.scm
scm/define-event-classes.scm
scm/document-music.scm
scm/output-lib.scm
scm/part-combiner.scm
scm/translation-functions.scm
scripts/auxiliar/texi-langutils.py

index 032bb9b7d4b790833bfbda580966b7c0e0380572..e0ce2c26bfafd1aad00c51991c628a7a87bc31a3 100644 (file)
@@ -1019,12 +1019,11 @@ git merge @var{foo}
 
 If any conflict happens, see @ref{Resolving conflicts}.
 
-There are common usage cases for merging: as a translator, you
-will often want the Translations meister to merge @code{master} into
-@code{translation}; on the other hand, the Translations
-meister wants to merge @code{translation} into
-@code{staging} whenever he has checked that
-@code{translation} builds successfully.
+There are common usage cases for merging: as a translator, you will
+often want the Translations meister to merge @code{master} into
+@code{translation}; on the other hand, the Translations meister wants
+to merge @code{translation} into @code{staging} whenever he has
+checked that @code{translation} builds successfully.
 
 
 @node Commits and patches
index e5bf19280dd47d3533d0566051b95ebfe9b11206..2ce622912549f6c78fa1944c1798b8f01f0466b1 100644 (file)
@@ -473,7 +473,16 @@ div.news-item {
 
 div#latestVersion {
   position: absolute;
-  top: 12.4em;
+  top: 16em;
+  right: 0;
+  width: 12em;
+  text-align: center;
+  border-left: 1px solid #5b7f64;
+}
+
+div#wildCardBox {
+  position: absolute;
+  top: 0.0em;
   right: 0;
   width: 12em;
   text-align: center;
@@ -488,6 +497,14 @@ div#latestVersion {
   margin: 0;
 }
 
+#wildCardBox .subheading {
+  background: #5b7f64;
+  color: #fff;
+  text-align: center;
+  padding: 0 0.5em;
+  margin: 0;
+}
+
 /* this might not work in certain browsers */
 a[name="Stable"] + h4 {
   background: #bdee9d url(../pictures/color1-bg.png) repeat-x top left;
index 792a5aaf91175905f87d757e2769be1cd772f36e..6163841c7f5875ce86fc6bdeb1aa4b8039dfcc35 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los símbolos específicos de acordeón discanto se escriben mediante
 @code{\\markup}.  Se puede trucar la colocación vertical de los
index 2f48fed0983f0b30848369bca73b48ef06a25cb5..84d4dc19bd7f91a4d573cae1984fe8147ff8f364 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Al escribir un bajo cifrado, podemos situar las cifras encima o debajo
index 44a49c53c9658f9edf5b14438f30fbe051e2a9c6..a14fbd3d9f6294d9a325459e2b8992b355ef2da9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Añadir un ámbito por voz"
   texidoces = "
 Se puede añadir un ámbito por cada voz. En este caso, el ámbito se
index d901b0daac0a4889e17e111c769ac4dcfeaddbcc..9749b89a2a2097df5e6822cdaecfc55a90d24db9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Al añadir un pentagrama nuevo en un salto de línea, por desgracia
 se añade un espacio adicional al final de la línea antes del salto
index 952061b2941a9cc7f45972f24ea564167c92c039..8e9a875791781517b518896a13a59b53280a5936 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede añadir (posiblemente de forma temporal) un pentagrama
 nuevo una vez que la pieza ha comenzado.
index e6f7d48c42683994ba4b7d43416686ab9016ffc8..cede154c0f4c2be2a14c404452c2da2a32973ff1 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para añadir indicaciones de línea divisoria dentro del contexto de
 los nombres de acorde @code{ChordNames}, incluya el grabador
index ec64a80c18892fbfba9f8f1d6b18a4e65bbe0891..24e1519f393f07b3e7e574828cf2fd3d91ef84d1 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La sintaxis de LilyPond puede implicar muchas colocaciones poco
 comunes para los paréntesis, corchetes, etc, que a veces se tienen
index 9fcded9ef117a38995d4edbfdf44a022b224c626..28e57eecce08df95ebef5890df767d631809b891 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Mediante la utilización de las potentes herramientas preconfiguradas
 como la función @code{\\drummode} y el contexto @code{DrumStaff}, la
index d56ebb74682b0533f89e5764f597d991700151bb..add6b2dc1dae5c38dae473a97a1521fc376aee0b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para añadir digitaciones a las tablaturas, utilice una combinación de
 @code{\\markup} y @code{\\finger}.
index f74317930614803df26f125bcdd35c65ba51ac84..03fac8ec2feab608b6d0be30bdc65776c1d23f8c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
    Este ejemplo muestra una forma de simplificar la adición de muchas
index f74c2283961cd992e16f62e706d507799e65b04f..acdf213b485f0a48a32766af50cd7eddf1d768da 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La función @code{\\parenthesize} es un truco especial que encierra
 objetos entre paréntesis.  El grob asociado es @code{ParenthesesItem}.
index 8eef963232b7a7d61c9aeffe7ee83f9d5c2e6c53..e3fb05b321fe7cb329dff7d909a1694a0764bf56 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Con algo de código de Scheme, se puede añadir fácilmente la fecha
 actual a una partitura.
index 8caf226cdb0988c64d4e03e974ce960525f944d6..b388737372afe96f60fc39e89de114c33274ef4e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El grabador @code{Volta_engraver} reside de forma predeterminada
 dentro del contexto de @code{Score}, y los corchetes de la repetición
index 20a95d31fe137f59071e0f80f3d31d12af87ded2..ea51d2feec4dfc4431c0299d43086ca030c20fab 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Voces adicionales para evitar colisiones"
  texidoces = "
 En ciertos casos de polifonía compleja, se necesitan voces adicionales
index e9fca20e0064599539fe0414c18d6b27cac56e00..bf082ae8df6ec368c0aec4758b96cdb15cf8b946 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede ajustar la separación entre las notas de adorno utilizando la
 propiedad @code{spacing-increment} de @code{Score.GraceSpacing}.
index 8352d507c5c262b47a2e9880d6d94bd6ad60f7be..50ac722e0ebdca25af0e8a708c0ce7fc9c755599 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este fragmento de código muestra cómo situar la línea de base de la
 letra más cerca del pentagrama.
index 6740d5aaa74724339062d34248ce99acf91cb907..9e0317ef5d672f05825d1f2fe9abfbb7f5c817dc 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Puede ser necesario trucar la propiedad
 @code{shortest-duration-space} para poder ajustar el tamaño de las
index f8bd61d32b36fa5c66a85a75375af16114920fcc..ed96e783bd4452d3c43f97296caab7a2febef03c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La alineación horizontal de los nombres de instrumento se puede
 trucar modificando la propiedad @code{Staff.InstrumentName
index f94633c77da2ad07dd8b0e5809b93ba77c8a9db9..d835491453f43bd887b915a089135ce27157ca9c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Los números de compás se alinean de forma predeterminada por la
index a442bbceafe8a2582f5a0d4dfec04af9175ba50a..67f5b91db5ebeff9e6d2543064f04620300904bd 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Si están especificadas, las marcas de texto se pueden alinear con
 objetos de notación distintos a las líneas divisorias.  Entre estos
index 9dc92380aafe7efb83a86b02592aecf20f95083c..90882d532d25f4b9ec952305722ffeeb55dc6641 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Las cifras de digitación orientadas verticalmente se colocan de forma
index 9f656b17c869637bd3d5c843f18636289104efa1..fa599d7bbf1341455f5443d899e3a991a6f769d6 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede variar la longitud de las plicas de las figuras unidas por
 una barra mediante la sobreescritura de la propiedad
index 2a583caeab51f86579f1cbf085f5e4c06c591ae8..48f0219776c33e7c23e1bb782be331145b5d0f20 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Se pueden seleccionar dos métodos alternativos para la numeración de
index 759080d00a1e1747ccff35c15870da8f75639958..7dd1d6f253e9df3ab16cd914965c07e44ac6a9c8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este código muestra cómo usar la forma alternativa de la breve o
 cuadrada con dos líneas verticales a los lados de la cabeza, en lugar
index 70808f9cef46dca5e051c482c1ef61396d5f6d2a..33949c0d972740721b6c28e616f4eaf5272145c7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Ámbitos con varias voces"
   texidoces = "
 La adición del grabador @code{Ambitus_engraver} al contexto de
index 55055a58673fc8d6a237f4ee05eaecf495a5d519..88da12febe8ed42c687a9563448115a8ada6fc5a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 De forma predeterminada se añaden corchetes de análisis sencillos
 debajo del pentagrama.  El ejemplo siguiente muestra una manera de
index 2fc26a6221dc02220fbb157ccbda4115452c5b11..ff6d9446a0303f346379f6b081dd552ad5d269fe 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Aquí se muestran muchos de (¿o quizá todos?) los símbolos que
 están contemplados por la capacidad de LilyPond para la música
index 3a4edc8db0b94a3c208a67352dbf974d3049c230..c68a1d2056b1cb59e184190a1defadb8a0bf0039 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este ejemplo muestra cómo hacer una transcripción moderna de canto
 gregoriano. El canto gregoriano no tiene compás ni plicas; utiliza
index e083a3403908c396189814549cd7077bebb1cde4..14baf13f8222295212e73865cbac3143677347c0 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Al transcribir música mensural, es útil un «incipit» al compienzo
 de la pieza para indicar la tonalidad y el tempo
index 9feb6e2dc051e92d4da20d637815c1c3c20b7f11..3ad80386d4dcb59f93ea5a269086125630c02fc9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las indicaciones de compás también se pueden grabar en estilo antiguo.
 
index c2ed89e1c13ac15fb2eaa26ec80b5aa897be1960..104e8f46cbca853e0f0b8277820567f6d52db2cf 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla muestra una forma de preparar un cántico salmódico
 anglicano.  También muestra cómo se pueden añadir estrofas adicionales
index 0b99e5ba52120527841991d85d16772a8a7dc649..376a11ddd5b78b72190e88e7d2dfa08b88e54a8f 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Aplicar estilos de cabeza según la nota de la escala"
   texidoces = "
 La propiedad @code{shapeNoteStyles} se puede usar para definir varios
index 2a9c69e82a65a65ebcc16202bd2d1a7063ada126..c03d7127ced21909954e82543c30acae34252f5c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para las improvisaciones o @emph{taqasim} que son libres durante unos
 momentos, se puede omitir la indicación de compás y se puede usar
index 3476f61b899f07b20cc97627a507c618ab9c20a5..492b281c306ef735aa4b65d1e6c8c8daa809f0bc 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede hacer que una ligadura de expresión sea asimétrica para
 adaptarse mejor a un patrón asimétrico de notas.
index 010312bfe5c9622729a1ac01bf4fbed872b30609..46f4a6524b22b50df66d6451cd5026d58514a783 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden subdividir las barras automáticamente.  Estableciendo la
 propiedad @code{subdivideBeams}, las barras se subdividen en
index dac9aa7db58356ba27b0c688892c5e6d6de021e4..5dc2fad5af0777724dc27f5bc0d9a38ae283000b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 97aec61a4fd49eb79b91e3770924e3a47c92d33c..f1974a2287892c5e7c195fddc5b74f8f492c06e1 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 5a7301fc350ffc3ab5bd3a2084c91666c9e9a549
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 He aquí cómo imprimir acordes con cejilla o con media cejilla (quite
 la marca de comentario de la línea adecuada para seleccionar uno de
index c6de7660f988a1382bf71b67eb7ea11c3b7c1655..dc5ad7b128701463de644d48943e03f863eb41f8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las reglas de final de barra especificadas en el contexto
 @code{Score} se aplican a todos los pentagramas, pero se pueden
index c906bf7573e1de3e2a86424fedc2c3d8df064b5a..52252dcc2134c8a4dab97de48f81d4f5101e973f 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 No está especificada ninguna agrupación predeterminada automática de
 las barras para el compás de 7/8, de forma que si se requieren barras
index 4f3beb7ac53a64ba6981eb71bea8e53d0b17009d..6fcba0dc2343f30ae38634e54444ab3bc6e8a621 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Normalmente están prohibidos los saltos de línea si las barras
 atraviesan las líneas divisorias.  Se puede cambiar este
index b6050714f34581b27422b54b52fc2949e5a9020b..583c7147837197b60969ec7e7dfd8abc762a7cae 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La instrucción @code{\\whiteout} intercala un rectángulo blanco
 debajo de un elemento de marcado.  Este rectángulo blanco no tapa
index bc710fea30f70ccb7ec378b7c0f8dd5b9c9c46ca..56fde147d2f1229d050e26d0f9d7bfc3c00f02aa 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para hacer invisibles partes de un regulador de crescendo, se usa
 el método de dibujar un rectángulo blanco encima de la parte
index b647883f4a6701c4127227274302df6c6d777405..94431abcc9f149e4edec7518c9b4d2f5b3a22c63 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 A veces se denota una «cesura» mediante una doble marca de respiración
 parecida a las vías del tren, con un calderón encima. Este fragmento
index dbed321321a62e10b7b927fd935668df7a649d72..f482348d383a3e65d42869348972ebbed73cf9ca 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este ejemplo proporciona una función para tipografiar un regulador con
 texto por debajo, como @qq{molto} o @qq{poco}. El ejemplo ilustra
index 6a672921a74a97c2958e21851abc97d68d51652d..64b355a45aa37aeb44076accec35e598393d1d36 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para hacer más pequeño el círculo de @code{\\flageolet} (armónico)
 utilice la siguiente función de Scheme.
index c1f43db5c5853eb532c4f24c745d96da608f0fcb..0e8d4eb9c72c68fd8819f3187222144796fc7910 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden modificar notas individuales de un acorde con la instrucción
 @code{\\tweak}, alterando la propiedad @code{font-size}.
index eab303e4ffcb84d8ea01487752106d65988a419f..42fb9f1156a3343591105e3ac5d3a9d804aef27e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se insertan automáticamente barras en ángulo cuando se detecta un
 intervalo muy grande entre las notas.  Se puede hacer un ajuste
index e20403f253efabcd5edc9367c5c1190dbb52b6f4..63c7c654fb36e2c6a0d43c99ed7254c031ba15ca 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede establecer el separador entre las distintas partes del
 nombre de un acorde para que sea cualquier elemento de marcado.
index e4270619e77fde18bd88c39361101f45e5e9d0c5..087010fd76b9d3d4a3ac701881abb07d2eb42ff9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Cambiar la forma de los silencios multicompás"
  texidoces = "
 Si hay diez compases de silencio o menos, se imprime en el pentagrama
index f9933ab417b641fa21dc64007a5fa41fc9ba737d..fedc5381f5ae78613e3498b185fbd6194308ca91 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 58386cd4047d8236cdff7337c88f35b16c87c8cc..4f14c6daf2275624e5d6f7184421126fc0bb0c2a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Al producir una salida MIDI, el comportamiento predeterminado es que
 cada pentagrama representa un canal MIDI, con todas las voces de dicho
index 99b58d4d318657b3447f477ff3614bc2bf25cc6b..9d5ccddc51f68d11662cc23b3c581ac6a69f0696 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Al utilizar la posibilidad de combinación automática de partes, se
 puede modificar el texto que se imprime para las secciones de solo
index 3269c7e8d6252e46fd92b92d03a92ebffd2e5911..7c4fad003cdb458844a3ed64c5d9b5cd543949e5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede modificar el texto empleado para los crescendos y
 decrescendos modificando las propiedades de contexto
index 77ef7211ef893e203fa2ad3bbc4cde2b49d06605..b8c0353f88b6afe46cdcf14edff5861bec780698 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Es posible ajustar la separación en las indicaciones de tesitura.
index bcac6fb3ac001d9c8e4159460ef0a1d7b9431e1b..c18d2dc85253fe68b2b0cbb6f09b2f9c626a3300 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede cambiar el aspecto de las ligaduras de expresión de
 continuas a punteadas o intermitentes.
index cc5c6e95450fe84e31aec75cf8c0bb5f5edd6fae..03ee420d3657073d5ee1ec7e965f6011e5317ecc 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El glifo de la marca de respiración se puede ajustar
 sobreescribiendo la propiedad de texto del objeto de presentación
index feabc74cafb07f45c45cb28ee12b88504c7be5ee..87ff546f08d9d43c9bdd6d6617ab64651c49b461 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La nomenclatura inglesa (predeterminada) para los acordes del cifrado
 americano se puede cambiar por la alemana (@code{\\germanChords}
index 77749b2eacbd7222e1bfdee5fb838877eedcb40a..3c9340548de5dd26e45c9fa55b1a265ab28aa8f4 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Este código muestra cómo cambiar la cantidad de puntillos de una nota.
index c1ff9da253765efaa6cb899bc678ef611dc86bda..a59aa7be233533ec95551f9f4064f371d37f9a43 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las alteraciones y los signos «más» pueden aparecer antes o
 después de los números, según el valor de las propiedades
index 7f45ac6a863a46dab98182a5d5bcb2cea2b5176d..c66df3d6ca2be8b7f38fd29eed6a143103c288e2 100644 (file)
@@ -1,4 +1,4 @@
-%%%    Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%%%    Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 61de5c0085a067caecefff579dc06006ec9cff42..8e28cbc722f48869046ec50dbd4bea37fe4610e5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para cambiar el tempo en la salida MIDI sin
 imprimir nada, hacemos invisible la indicación metronómica:
index 56bed89c1f5fe7eb78b498304585fe32973bcb69..dd98b7db5ac0d707c1ff56310d0e2d8ee82b108d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede usar @code{Staff.pedalSustainStrings} para fijar el texto de
 las indicaciones de pisar pedal y levantar pedal.  Observe que las
index b55d3cc3b2a83c1844b31c820d234744e865f4aa..2456c06a72b95e4045b7b44a944899812ff7fe85 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Cambiar el número del grupo especial"
  texidoces = "
 
index 67793f0212420dbdeee7bd5b00d3e17f32b13fee..b159d32cb490b29dea3dc33bfc58a8d1a8c7d50a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La propiedad @code{measureLength}, junto con
 @code{measurePosition}, determina cuándo es necesario dibujar una
index e2cca4c1517fbecc3e557fff2af09817c4b2fdfb..380cbcf67aa0cb24c920c798ce4e349ec32ae07d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este tipo de notación se utiliza para el canto de los Salmos, en
 que las estrofas no siempre tienen la misma longitud.
index cfaa1b2296bbe962e8ca0fa1111d182debce046d..2928782ff1d4d4dbf00ffd036287ce5cbe3ac0a7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Los deslizamientos para acordes se pueden indicar tanto en el contexto
index 3639ac23fcc5e6865f065be56671678ec3f0fe83..8111eeb496a35396a8fa6cc1db02bc8a562dd8fa 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede usar la propiedad @code{chordNameExceptions} para
 almacenar una lista de notaciones espaciales para acordes
index 0e4222c8cef9ce785f460de063fbeb3a679f7f79..485d7897c0eb35301b5233a3ed01d5bf2aa36fd4 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La presentación del acorde de séptima mayor se
 puede ajustar mediante majorSevenSymbol.
index 41902019cef2a5ee5b2845b981e5986d36cc8bb3..7f2688872fb288d28f9e13b7911a4856ccc64931 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede hacer que los diagramas de posiciones se muestren sólo
 cuando el acorde cambia o al comienzo de una nueva línea.
index 821ad003d7635bbe46b9c1c6555c843546d628ea..860a62f974866037366eae00b18dca14dd39fb7c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este código muestra cómo recortar (extraer) fragmentos a partir de una
 partitura completa.
index 42237d2da695373fa64d6a4da6110e99a413dc87..47126024cee1843d45fec3205d00cae6e49068b7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los «clusters» o racimos son un mecanismo para indicar la
 interpretación de un ámbito de notas al mismo tiempo.
index 79db79b80db734cd9adfc223d38a4866d96ae528..4cf6dee4ec02c0f9ef2669a843b2323c5f114416 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Ciertas indicaciones dinámicas pueden llevar textos (como @qq{più
 forte} o @qq{piano subito}). Se pueden producir usando un bloque
index 3fa977750bc1d6f7ab94cb8117eff6e090691396..88e7e6d75ad65f8ca9d823bfc77d812ed0124062 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 La herramienta de combinación de partes (instrucción
index 10d2990c1b1e16fde5e8b3a796472d60dd8a03b6..e2d00ff60d832d129cd343b0fb06c2ed4ef6e46f 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Indicaciones de compases compuestos"
  texidoces = "
 Las indicaciones de compás poco frecuentes como @qq{5/8} se pueden
index eb85ef1895ba8f73c66fb822b767c2b714358484..c4f9cac54476178b7af3714c67f56c29a36fb286 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La agrupación de pulsos dentro de un compás está controlada por la
 propiedad de contexto @code{beatStructure}.  Hay establecidos valores
index a81976bdd463d407b6e3690858b8361cefede8d9..75021e76afe6161f6a2e326b10aea12cd6026d73 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede tipografiar un gissando contemporáneo sin nota final
 utilizando una nota oculta y temporalización de cadenza.
index ece21d6311f68ab29a9e754a69f5fc7e34386d5d..da5dd30e7773829f67d015e267771bafbde6ebbb 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 La visibilidad de los objetos de extensión que acaban en la primera
index 417aeb14272ce35ebc6cc01a3cc4409a8adb13ef..bbd322adc8f7a5e88dfe3e461dcd9297b17a40ab 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede controlar con precisión la colocación de los números de
 digitación.  Para que se tenga en cuenta la orientación de las
index 7ce8bc49f0af054501bbb375b28641eabc0e53aa..09755a1aaad3491e5b7316a6c83eb24ae2d12eee 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El orden vertical que ocupan las inscripciones gráficas está
 controlado con la propiedad @code{'script-priority}. Cuanto más
index e5ddaa71212e8e465cd54ed5e744df0bf84714a2..d011dc846a7ead0f88b44b8c4d802e3db0a608d8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 El comportamiento predeterminado de la visibilidad de los corchetes de
index 2b7647a0bae5be0dfa3d64265665bf40a27b9446..e3fb8789c01b199662766d3eace4c891a6ead7c8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 texidoces = "
 La creación de un grupeto circular de anticipación entre dos notas,
 donde la nota inferior del grupeto utiliza una alteración, requiere
index 5582c592856ab8591a880ab74a3295253daabeca..7df02d280196e19f8c9d8ec9219848fec30ebec6 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 En una música que tenga muchas apariciones de la
 misma secuencia de notas a distintas alturas, podría ser de
index fd99e83eb556868df3e83c9ee5ccdf17a3e0035c..d37ca1b42756e2609ca09ef3301e812496a02075 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede trazar un símbolo de arpegio entre notas de distintas
 voces que están sobre el mismo pentagrama si el grabador
index 64a9c903c65181705d7cab15779dc5f33e25f246..a6399ce84cb872b805dbd0ead2e94d589ec6519b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para crear pentagramas en blanco, genere compases vacíos y después
 elimine el grabador de números de compás @code{Bar_number_engraver}
index 254211a5cf03b126d6873068a729019a62513b92..dbff35bb2390e5b9e804258705af2a18f17048c1 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Dentro de un @code{PianoStaff}, es posible hacer que un arpegio
 cruce entre los pentagramas ajustando la propiedad
index c0d7ece13b6c411aca88d8f1206a562e34c549c7..a7f8de557ba64f8b8ad52bd75ba607802251f77d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden crear arpegios que se cruzan entre pentagramas dentro de
 contextos distintos a @code{GrandStaff}, @code{PianoStaff} y
index 4a4d04b1e0b2a43923f34cc64454fce4374f6936..c5e8b4258b4c5a44a97966fe712a23fc2e71bc2b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden crear indicaciones metronómicas nuevas en modo de
 marcado, pero no cambian el tempo en la salida MIDI.
index 87f2538342fb43234603a84e4db46c35a6d7dd55..f52a1e9536e1e74530b363e2361e5a1c3f215a3c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Aunque la manera más fácil de añadir paréntesis a una indicación
 de dinámica es utilizar un bloque @code{\\markup}, este método
index 1070ec02766e7d3b75f9c03b7d1bee4c01950fd6..e1e083d4aeaeb4101988d602ff28257a3eb77b1d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 A diferencia de las inscripciones de texto, las lestras de ensayo
 no se pueden apilar en un punto concreto de la partitura: sólo se
index 574b0e7acb55100b5f43890a53c5429fdbcf3bb1..64c3a75a97e2b2ac58a666fd79384041739283ac 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 En determinadas situaciones es necesario crear ligaduras de
 expresión entre notas que están en voces distintas.
index 7df20b68d6eeafd216f262c3f9a6066d856e3e47..07ca398eb32f73bfaf0dae5e2b2a93230037fb19 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las instrucciones @code{\\startTextSpan} y @code{\\stopTextSpan}
 permiten la creación de elementos de extensión textuales tan
index 73e6b2c72795d0773eea686160b2df95651c9cdb..227f12ce90f782c362748d01e001aed0e925be4d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 152f83da0c1cda56e771ecf7995d9d87f1a7115f..5829a8483bbca30ea61180c09496ebbb42360a41 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden tipografiar «custos» en diferentes estilos.
 
index 4d04dabe32823f2a315dc7ef456ff78a632e95d6..08ba2946cdaa656f2f08666616c4e420fbb707c3 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones de acordes por medio de @code{'fret-diagram-details}.
index a4391b1dd1376dc80b6fbf24d6a19c9032cc5b8e..cb6f959d406e98273a90c63e5a8a8156b50bac34 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones a través de @code{'fret-diagram-details}.  Para los
index 3851b59a091696d5f9e4c97d5e3153ab4bf45e31..bf088f850afc2e93335796362188cffd74baab3e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La dirección predeterminada de las plicas sobre la tercera línea
 del pentagrama está determinada por la propiedad
diff --git a/Documentation/es/texidocs/defining-an-engraver-in-scheme-ambitus-engraver.texidoc b/Documentation/es/texidocs/defining-an-engraver-in-scheme-ambitus-engraver.texidoc
deleted file mode 100644 (file)
index 2cd02fd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-
-  texidoces = "
-Este ejemplo demuestra cómo se puede definir el grabador de ámbito en
-el espacio del usuario, con un grabador de Scheme.
-
-Esto es básicamente una reescritura en Scheme del código de
-@file{lily/ambitus-engraver.cc}.
-
-"
-
-  doctitlees = "Definir un grabador en Scheme: grabador de ámbito"
index 19e1172c8d04f8113749ea4cfd8c247bcfcaf2a5..735377e2a9b2f49146b6629aa8cfa9ba708e992d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Se pueden añadir diagramas de posiciones predefinidas para
index 65b9c2d277589e1904f495210d4b20a0ed083a67..6dcb3fc9507bfbc60a92dde3bf76d1e299750402 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Si hay un solo pentagrama en un de los tipos de sistema
 @code{ChoirStaff} o @code{StaffGroup}, el comportamiento
index a63775d642e92fe445c2023b57a07a3cb23e1ab9..b0e1e8c40ee45b3434ded203ea807594c04e8c7d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 He aquí una forma de imprimir un acorde en el que suena la misma nota
index 6dc752dad6537fdab1dc44a94f656e2ada8c998a..ea024182bdeb404a0387f2521dbf727426f8d257 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Al trabajar con los callbacks de un grob, puede ser de mucha ayuda
diff --git a/Documentation/es/texidocs/dodecaphonic-style-accidentals-for-each-note-including-naturals.texidoc b/Documentation/es/texidocs/dodecaphonic-style-accidentals-for-each-note-including-naturals.texidoc
deleted file mode 100644 (file)
index 72f9777..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-  doctitlees = "Alteraciones de estilo dodecafónico para todas las notas, incluidas las naturales"
-  texidoces = "
-En las obras de principios del s.XX, empezando por Schoenberg, Berg y
-Webern (la @qq{Segunda} escuela de Viena), cada nota de la escala de
-doce tonos se debe tratar con igualdad, sin ninguna jerarquía como los
-grados clásicos tonales.  Por tanto, estos compositores imprimen una
-alteración accidental para cada nota, incluso en las notas naturales,
-para enfatizar su nuevo enfoque de la teoría y el lenguaje musicales.
-
-Este fragmento de código muestra cómo conseguir dichas reglas de
-notación.
-
-"
-
index 7c9cbbe5e9a02ea13a6bba3043cd42482781a8cd..c07280370d600fe2007319936f2292f9d8b8876c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Funciones postfijas para la creación de objetos de extensión de texto
index 728a0a0dbbb7b69034711500b7421c89ca1a670a..480689dd034378254cd503ba4d9bf9c4c5592473 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Los objetos de extensión \cresc, \dim y \decresc ahora se pueden
index 7a1fcdbbd4ccc173448aba47cdf882eeadc951bd..b7064b7448bd1cb1de154cfc7d61eeaea3e4c0cf 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede insertar códico PostScript directamente dentro de un
 bloque @code{\\markup}.
index 79b6889ab9f17b066923de5c00691a497a6a7594..bb914ade385f10206867ef691fc8dff0b86742a5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Del problema central de la notación, esto es, crear un determinado
 símbolo, se encargan los «plugins» o complementos añadidos.  Cada
index a5f01c47aa83ba587072ee62085663f46cea1770..cf751127177ec0e682802136c84493f37d36d817 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Grabado manual de las ligaduras"
  texidoces = "
 Se pueden grabar a mano las ligaduras modificando la propiedad
index 55657db796b1eebf0ca456a9d15aad868a2c2f48..a4a5f42de995962fb1a4bcdf5135206592bf151a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Escribir varios grupos especiales usando una sola instrucción \\times"
  texidoces = "
 La propiedad @code{tupletSpannerDuration} establece cuánto debe durar
index 77f6abd7dd29e10aecb16a060c5ae456163f5f45..c51cd682a6810a813653d51840d7def4b6f23ae9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Se puede simular un @qq{hammer} o ligado ascendente con ligaduras de
index 1859c74d2207798dc6b95534f03f28f7f23032ba..36a3f963b962875977fc56bb4f20603fb4fc8540 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden conseguir símbolos especiales combinando glifos existentes,
 lo que es de utilidad para la notación de instrumentos de viento.
index 2f90da7f4cfb6d29d0e0d3c2824aed18e6a5c3f3..672774636c7ee4f3f0de9b033b41240130ab5c3b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 En este ejemplo se combinan las digitaciones de la mano izquierda,
 indicaciones del número de cuerda y digitaciones de la mano
index 71b3212b7e141c69635f357521c032a3ac57c108..a18055fadb0a2786ced9a6ea0bb773b5b7b61ef6 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index a3f0de12a10f69c71b4945b4fc8382e11793d0c2..4ead0ec5e841206137c5638a11ec56d05b6bcea5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Son posibles tanto los corchetes rectos sobre notas sueltas como
 extremos de barra sueltos en figuras unidas, con una combinación de
index 50137e239c99cbe6ab6652b559581eb7c1325fd2..9d7f24cf46540473b35082fb2908a6b855c0e418 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
  doctitlees = "Forzar el desplazamiento horizontal de las notas"
 
index 5bf3c075a878b87399696c88675d2373c9d1b371..435156d56c3c06a6f0d85e324911b3b28c47d6e7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Si LilyPond no cree que haya sitio suficiente para un guión separador
index a6117b544e859d34d82e81ac993aa604917ef9a0..f2d00deaf304c77f1d5f62ead4d02bbded12eb77 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Es posible usar el modo de marcado para dar formato a sílabas
 individuales dentro de la letra.
index 6559cad32e075b66f273cf62c11fdf5d08dd719c..2607883266636e17074bf75183c37bdad440644b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Se pueden crear tablas alternativas de diagramas de posiciones.  Se
index 756a5a99c5e7a431931a49b56b7ae5eafc052968..e44069391d6195ac02bef0722bdce5bb0c036db7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Armónicos sobre cuerdas pisadas (armónicos artificiales):
 "
index 0101d87b214da1c62ea6b606f3baef5e25714c3a..b4e49f29a55646b6baccc2578cb538d5722b71cb 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este fragmento de código basado en Scheme genera
 24 notas aleatorias (o tantas como se necesiten), basándose en la
index cd9f0ea0a5f49b802227fc5f010869fc627049d4..8fda9df1ece5506f4da6052f3c922c21a32309bf 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los objetos gráficos de columna de nota (los grobs @code{NoteColumn})
 pueden ser sobrepasados por los glissandos.
index 0cc4147f3d1d325e40da10ed617b953d50c63826..d674d551dcda786c7cc57a57fe734c1879751795 100644 (file)
@@ -1,4 +1,4 @@
-%%%    Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%%%    Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 En muchos casos, las llaves que no están en la columna central se
index 54c91b3eb2c0e2c5dd606db474e595165646adf1..540b3589d52f415af4a063452b632d56bef5b2db 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede cambiar el aspecto de las líneas de rejilla
 sobreescribiendo algunas de sus propiedades.
index f4921fc64d294c593a17082ef5b79873b171998d..be264367696645a3e2ff8ee4ef9bab68c089de89 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden trazar líneas verticales normales entre pentagramas para
 mostrar la relación entre notas; sin embargo, en caso de música
diff --git a/Documentation/es/texidocs/grouping-beats.texidoc b/Documentation/es/texidocs/grouping-beats.texidoc
deleted file mode 100644 (file)
index 4515812..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-  texidoces = "
-Los patrones de barrado se pueden alterar con la propiedad
-@code{beatGrouping}:
-
-"
-  doctitlees = "Agrupar los pulsos"
-
index 0a6d7a63ed180ff31999d0154abac636aa37f740..0e7d1645295aabf9fb8a3c37472c62249faf4975 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
 
   texidoces = "
index 7b6414a21e639b2e239a7afdae97aeb673b16fe7..7a3e3655abffc6e4aeddcce78b75f343bf0b1cc5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para la música de guitarra, es posible mostrar los ritmos de rasgueo,
 además de las notas de la melodía, acordes y diagramas de posiciones.
index a3a88ffbac5820a01c2930c10fbb252bab5742bc..eec59f66c7c7f8e8f9087ac919879403846e284d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los reguladores pueden imprimirse en uno cualquiera de los estilos de
 @code{line-interface}: discontinuo, punteado, línea, trino o zig-zag.
index 7bff33e6a4bb2ec4b41e0539fe8b133a0e08c975..ea453555aa2b0acdc7f09cc82d52594a6d2f8a47 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Aquí se muestra la manera de ocultar las alteraciones de las notas
index 2b784ab4457ee2f13f2860cf860df5beb0565301..08b0d418c0827a8f7fab16baec17a0e10d097b8a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los cambios de dinámica con estilo de texto (como cresc. y dim.)
 se imprimen con una línea intermitente que muestra su alcance.
index 77df34c16775f9c4612e79d90e9685887a3ece86..e6f6dcd98c7f98c06aefea5f9233a02fb3fac5c9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
   Este fragmento de código muestra una forma de preparar un himno cuando
 cada línea comienza con un compás parcial.  También muestra cómo
index 8c92daf0fced060ae8faecbdaab1649289f9cb8e..97094db62a8a6eccb6e103ebfbd9cc1f4af3b6ca 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los «incipit» se pueden escribir utilizando el grob del nombre del
 instruemento, pero manteniendo independientes las definiciones del
index db8b67e02d2988a2e298de773a46687318e2d3ec..b2b989d1191f8a49dfb858b7bd0087ab1d160424 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Un corchete de arpegio puede indicar que se tienen que tocar con la
 misma mano notas que están en dos pentagramas distintos. Para hacerlo,
index 3a6b760ef2229767dfea252f8ea6f3dbe26c1492..8e59c805a582bbcfc66eac4ca5b6cab3fb53dee2 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las marcas de cesura se pueden crear sobreescribiendo la propiedad
 @code{'text} del objeto @code{BreathingSign}.  También está disponible
index ccd832436eedd01249cdae5a5efd507b5b6f4872..33bdec6cabe1b39511978d9cd6f1cc2203a94f22 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 También se pueden imprimir símbolos de porcentaje sueltos.
 
index 3cc3490936e06c49415974948f1abd0fe818d7c2..4e429a29e0716970067bfe68120008281563fe73 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Ésta es una plantilla bastante avanzada, para un conjunto de
 jazz. Observe que la notación de todos los instrumentos está en
index 039f8657778a46258372bbf65cdeb2bd15f7fdea..250075f7cb90c6f4e33692ad149bd45ceee9d7e8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Cuando se produce un cambio de clave, el símbolo de clave se imprime a
 un tamaño menor que la clave inicial.  Esto se puede ajustar con
index b75643d29288040dad2f31f7c052add3cef81582..ea4d9add4255f99e2f3d09b43581d30d9cc2b722 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La tablatura se puede formatear utilizando letras en lugar de números.
 
index e47feac45a1076d8a342f932f697ad6bf7e42c85..421bbf441e8adfcd67ac08e3ae8ccfa8ed51c089 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden aplicar puntas de flecha a los elementos de extensión de
 texto y de línea (como el Glissando).
index 7d09436e98aa19d45eb723a151faa17e0f3f4b9c..a9488fbb5f2d9434bf8ec853813da3aa792f467d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La alineación horizontal de la letra se puede ajustar sobreescribiendo
 la propiedad @code{self-alignment-X} del objeto @code{LyricText}.
diff --git a/Documentation/es/texidocs/lyrics-old-spacing-settings.texidoc b/Documentation/es/texidocs/lyrics-old-spacing-settings.texidoc
deleted file mode 100644 (file)
index 36df010..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
-  texidoces = "
-El motor de espaciado vertical cambió en la versión 2.14.  Esto puede
-hacer que se altere el espaciado de la letra de las canciones.  Es
-posible fijar propiedades para los contextos @code{Lyric} y
-@code{Staff} de forma que el motor de espaciado se comporte como lo
-hacía en la versión 2.12.
-
-"
-
-  doctitlees = "Conseguir el espaciado de la letra de la versión 2.12
-  en versiones más recientes"
index e9e060026f40c24933e8fdf5ba20a2109c40038b..5d2c07bde7cab9b439315618919e34746371fbd5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El «Makam» es un tipo de melodía de Turquía que
 utiliza alteraciones microtonales de 1/9 de tono.  Consulte el
index da11dff88c4dc529768ea0ee8ba7ef03dbc29740..34ade713846296b729a84fa348e3cc9bc1ff7291 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Las ligaduras de expresión se pueden construir con patrones de
index 72b119a154185e712e7a81551929a40c147d6bcc..eedb9e6fe3341a7c2e85ed36b32d93b4cc75fd09 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede engrosar una línea del pentagrama con fines pedagógicos
 (p.ej. la tercera línea o la de la clave de Sol).  Esto se puede
index bc3e9cd80919ee0ef2e280066c989d781a81cac6..641f6b3c4063266042f6a6c3e046a335b74a0fcc 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este fragmento de código proporciona una solución alternativa a la
 producción de contadores de compás utilizando repeticiones
index 31ada0873c726c40009198a32802df36899b7ff1..cedde01555e22adf51b3bb73d1caf8e838d79600 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La disposición «mensurstriche» en que las líneas divisorias no
 están dibujadas sobre los pentagramas, sino entre ellos, se puede
diff --git a/Documentation/es/texidocs/modern-tab-text-clef.texidoc b/Documentation/es/texidocs/modern-tab-text-clef.texidoc
deleted file mode 100644 (file)
index e916708..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-  texidoces = "
-Utilice un texto de marcado para sustituir el glifo de clave (TAB) con
-una fuente tipográfica moderna.
-
-"
-  doctitlees = "Clave de texto TAB moderna para tablatura"
index ab6c11e2c9b5f27e248e9f349f380f9172dc15ce..1cbbc33d6b3d97117358bd2c7b64e005eaafa191 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las abreviaturas se encuentran definidas dentro del archivo
 @file{ly/script-init.ly}, donde las variables @code{dashHat},
index 31757b819ca31967b9e76cf4b202f15dd6c1025b..18d2754a7d52aa17abc3f22de12aa065e8ab9ed9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Cuando se puede una nota en la voz superior para evitar la colisión
 con una nota de otra voz, el comportamiento predeterminado es
index ed57691c6d40a797dbef5739e3322ea3d452976b..425ad27b6bd451eb1068f9edbc111a415834f760 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede ajustar la posición vertical de una ligadura de
 expresión utilizando la propiedad @code{positions} del objeto
index 780877e1c4e5e12a25a8d21b63e821945a05b3df..34059d4d4e1012b089525bde5fd5bddeab7d9b18 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 texidoces = "
 Los elementos de marcado aplicados a un silencio multicompás se
 centran encima o debajo de éste.  Los elementos de marcado extensos
index 73083d8bded2f5e8b24c317e533d833125de08f8..c6283f247266aa756b6dec48ba1ba441726c8862 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede utilizar la propiedad
 @code{systemStartDelimiterHierarchy} para crear grupos de
index fbefb7f6e170c65156c81cc8a1a40273db849da3..9c8c599e31c25a2fcd54f6b0dc6ed3678abe7ba5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 LilyPond también proporciona funciones de formato para imprimir
 números de grupo especial diferentes a la propia fracción, así
index 15b45524c665369352dfca892346673fe697ab15..3760a64755e8acd5352905e8d62a977653cb9bd9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Armaduras de tonalidad no tradicionales"
   texidoces = "
 
index b7ffb47c94c09b307884878cf8e17da0741a3dad..0bd3a9fed8ac4ad97de18dee68f09518a005c71e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Las cabezas de nota de notación fácil utilizan la propiedad
diff --git a/Documentation/es/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc b/Documentation/es/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc
new file mode 100644 (file)
index 0000000..c25713b
--- /dev/null
@@ -0,0 +1,12 @@
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
+  texidoces = "
+El motor de espaciado vertical cambió en la versión 2.14.  Esto puede
+hacer que se altere el espaciado de la letra de las canciones.  Es
+posible fijar propiedades para los contextos @code{Lyric} y
+@code{Staff} de forma que el motor de espaciado se comporte como lo
+hacía en la versión 2.12.
+
+"
+
+  doctitlees = "Conseguir el espaciado de la letra de la versión 2.12
+  en versiones más recientes"
index 78dac8103aef2c63a89c8a0bb844c4b5f065b1b8..29b6780cb563895f703ba273c02b7d9d61b5347f 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Referencia para armónicos sobre cuerdas al aire (armónicos naturales):
 
index f6f76b400945d7d528477d7febb03ea3d27840de..262c1cae0953f680ab05edeb2026d45e489fb61e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla muestra el uso de contextos @code{StaffGroup} y
 @code{GrandStaff} anidados para sub-agrupar instrumentos del mismo
index fd96b90b8603e375d9348ba732e9a75503f00bad..5f93a5a29dc167b20a71a095482d2de47fc938c9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Internamente, @code{\\ottava} establece las propiedades
index 6282a88ca483da60b9834155775502e0a6b55771..f957bc7ad1a0dc8c74431fbb6969df5066227fe4 100644 (file)
@@ -1,4 +1,4 @@
-%%   Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%%   Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index dd07ea80fdead440d5be147fb10e594e073e678c..5519e8e529731a862b8e807b38e59442b084cc3a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden mostrar los contadores de las repeticiones del tipo
 porcentaje a intervalos regulares mediante el establecimiento de
index 11806aab759bf6d95f57ef54457c08dc99d136a2..07dd515421154ee1466039b221de6420bcf36a98 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las repeticiones de compases completos de más de dos repeticiones
 pueden llevar un contador si se activa la propiedad adecuada, como se
index 3df061ce3d4bf4e0e0745c2fe37eb20dcf4903b0..2e84c1d0e54ca4e234d38c62516ae78a96055962 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Permitir saltos de línea dentro de grupos especiales con barra"
  texidoces = "
 Este ejemplo artificial muestra cómo se pueden permitir tanto los
index 96efd88c9a2d22255a477e3c76063c40126d6418..5184467d0ef76859c9ef45e5f5f1bf037e6935e0 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Presentamos a continuación una plantilla de piano sencilla con algunas
 notas.
diff --git a/Documentation/es/texidocs/piano-template-with-centered-dynamics.texidoc b/Documentation/es/texidocs/piano-template-with-centered-dynamics.texidoc
deleted file mode 100644 (file)
index a1f5756..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-  texidoces = "
-Muchas partituras de piano tienen las indicaciones dinámicas centradas
-entre los dos pentagramas.  El contexto @code{Dynamics}, si se sitúa
-entre pentagramas, coloca los matices dinámicos correctamente de forma
-automática.
-
-"
-  doctitlees = "Plantilla de piano con matices centrados"
-
index dcea56bc54d23c68f910026cf78478bdd046a36c..013a5de29a62fd8a34c8de5c3dbe3eeaba519490 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 En lugar de tener un pentagrama dedicado a la melodía y la letra, ésta
 se puede centrar entre los pentagramas de un sistema de piano.
index 0465a8ee05e1b91e81dc09bd10c23b6872df2203..92c6feef0a7e2f74b0fa6c00bf590402c644642d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 He aquí el típico formato dde una canción: un pentagrama con la
 melodía y la letra, y el acompañamiento de piano por debajo.
index 9bd9176baca1853c837e843836bdd9cc17eb129d..cd642e5e79df1e1ff92fdae0af5486c662035f07 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Es posible ejercer un mayor control sobre la colocación de las
 digitaciones de la mano derecha estableciendo el valor de una
index 0e7410bf02001c5acc14c82530e4f31569364c51..604434e3eead0d482c663a791d83e2fd1c1c8636 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La polifonía se crea de la misma forma en un @code{TabStaff} que
 en una pauta normal.
index abdd134eb118a4b545a1487633cfa4e7d6478cec..9529b50ccd3ea6b9c94bc829bd7df483a5f21397 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Si necesitamos alargar o acortar un símbolo de arpegio, podemos
 modificar independientemente los extremos superior e inferior.
index 0a5b5f237471d4e8d4a1a87c54b50ceb7ea15f2a..558d82e16501f924705a71f8bf3dec2e8ef619aa 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Cuando se colocan figuras sobre líneas adicionales, sus barras se
index 2bac8e871950e859ba27c0392a42df946e176f70..ea498fd95ffdeb60e379cddd49e2db5b3bb9fb77 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Al establecer la propiedad @code{'strict-grace-spacing} hacemos que
index 9aba3b9ee025b7bb79fdd132c682164d99adb01f..f642a71802e81dc9dce6a17085341fa3bc234e61 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Posicionar los silencios multicompás"
  texidoces = "
 A diferencia de los silencios normales, no existe una instrucción
index 0979718d1afe6b9a93042bfd5d7c9ae7bd552301..35f1121a65973d4ca3e98d7968c88c07b2ee9003 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Los elementos de marcado de texto deben tener la propiedad
index e88687c142d05234e0d91a09d7dbe99a53d1cb48..fb5e0f1815c41c2784c38765ee212807e58c1361 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 doctitlees = "Evitar que se añadan becuadros adicionales automáticamente"
 
 texidoces = "
index 2323013818dd40aa220110c0ce6dfef26cea438d..1548c8cc816b5fc52cd65c71e32c2b6a5d5bf92c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 doctitlees = "Evitar que se impriman becuadros cuando cambia la armadura"
 
 texidoces = "
index 169283d9b304c5c6e73c41ecd151f7359202e3b3..f2b6a33be9fcf7efb30c83ba5c7d86a836721c58 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede imprimir una línea divisoria de la forma @code{|:} al
 principio de la pieza, sobreescribiendo la propiedad correspondiente:
index 0d9e3c1e6eb61c299cbc8415a475342798e2ded4..bcc7fc8239bebba8ac7f46a71bf1ec263e1bdcf5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Se pueden imprimir los números de compás a intervalos regulares
index 3126f0182907fd736d74bcd8fd1611831ae0e430..fc4d5a7efa8df25cba7da60d02825cbbbcede354 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Los números de compás también se pueden imprimir dentro de rectángulos o de circunferencias.
index 0547c4867a96a43689a2405db72c40fa407d0e5e..e6b0a1331235352746b90861f3de75936a7dad7d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden imprimir reguladores con un círculo en la punta (notación
 «al niente») estableciendo la propiedad @code{circled-tip} del objeto
index 2a26c523e5480f1e5e51239a711ac18eb8616ba7..4c43357d973acdd271ac789e9248324113ef812d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 1c7686823681a53f88b7e2c228ce2df5caa67c5b..340a82988c17b709a6ab29df152da8152abeb841 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Aunque normalmente las marcas de ensayo textuales sólo se imprimen
 sobre el pentagrama superior, también se pueden imprimir en otro
index b30e81886aaaab77482bf5d4f0584f25712077c7..026be5a0e084a7cf9d50490ffe18cfb1cc0681da 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 De forma predeterminada, las indicaciones metronómicas y las
 letras de ensayo se imprimen encima del pentagrama.  Para
index 3f2d38cd3064809f8a9f3b373a863a2778de0306..384af7ffa30f51df1f08411bddfb01d8141b9946 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede usar el contexto @code{NoteNames} para imprimir el valor
 textual de las notas.  La propiedad @code{printOctaveNames} activa o
index a6762fd5ad8d9ac6a1c395dacf3e2ee0cb24ad49..a96f1d68854b839e01e8039017d0435dd892dac2 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 De forma predeterminada se suprime el número del primer compás de una
index 51ec1ed9c916d4290be0409f438212585feae480..f03a5cb276b4c0c2392e01cd2f7119f59ce901c5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los pasajes citados tienen en cuenta la transposición de la fuente
 tanto como la del destino.  En este ejemplo, todos los
index bc4dda59e9a4317532fe73531dae4a55e35712cd..e27002239f5a920ee083a1c9f00249f9ccbf06d9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 La propiedad @code{quotedEventTypes} determina los tipos de eventos
index c27d3a9e9558dbe63aa1a317010ba3dd395c3cec..2550fe2ed8711bc4581e34e0b9c140d4ac22e4f3 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 El ejemplo siguiente muestra cómo se pueden realizar diagramas de
index 6cb0a447a926e7a15e09372f6b2e24c9b5522d17..e88b012207cf73b178dedc265409849f7f75dae9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Los valores predeterminados para las notas de adorno están
index 9c42ef51132e6fe565d1d4440a27d3b9eabfdb58..448f1f6265d5587fce1f3c527a3fd75fe58c2b94 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Se pueden eliminar completamente los números de compás quitando el
index 4469a60b641ef54a8d2d5c07eb9e49427901a0b4..7a93fc200a42606b68278c54434fcae0c03af578 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 De forma predeterminada, las líneas divisorias en los grupos
 StaffGroup, PianoStaff o GrandStaff se conectan entre los pentagramas.
index 3e75fea2474f518127a11cbc70febe046fb73022..e419de99f1de284713d1db4ab8fbd4f25cf1d607 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El primer pentagrama vacío también se puede suprimir de la
 partitura estableciendo la propiedad @code{remove-first} de
index 0471f1971ea011fe722d0d7d28607ba944cd8be4..41aacd6bf82f121045158113035425d48f3d2215 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Estilos de silencios"
   texidoces = "
 Los silencios se pueden imprimir en distintos estilos.
index 86165af5caf094a9bf498b1c97e814a5e8feded6..d85a2f9649697d4c7e53a2ae5255f0b388de8e2c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Para tipografiar las barras agrupadas en la forma @code{3-4-3-2} sólo
 es necesario modificar la estructura de pulsos:
index af06db3d62606dfef9e07106761efbc54c0cbf3e..81cf67cf586a011cdeb346b528b4c0eb2686d290 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Plantilla de coro SATB (en cuatro pentagramas)
index 6833119bbc5339cbe89f22b717e80fc1598e0b9c..4f6f9872a424810b7e148f071f0febd8b9504e2b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Si la nota que da fin a un regulador cae sobre la primera parte de
 un compás, el regulador se detiene en la línea divisoria
index e65631c9e6b691f0fc7719a3069280455d56a0a8..dacb3315acb8de98b2ef615562ae0c348313e4f8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden insertar separadores sistema entre los sistemas de una
 página.  Se puede usar cualquier elemento de marcado, pero
index fa3c290c5562c546d79aa1c38d1639c9ed616e6c..4d5b2e3394cbc58dfd7e567d5cb516ac73c269f5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index e2c3cf3ac875c1dbb63bacd6687db2ce5c65b9c7..eb5cce2a8bb5c411054438ad8a849bd57b3587da 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Si los reguladores son demasiado cortos, se pueden alargar
 modificando la propiedad @code{minimum-length} del objeto
index 42c5e7d2dbf6785460fdbe3f61093ee234543fb1..9c7bc34b2eccb1aa09092244839ce75c2ae32feb 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 De forma predeterminada, los corchetes de primera y segunda vez se
 trazan encima de los finales alternativos completos, pero es posible
index 3f81401c3e6875f1d967e527e6c31da7e2fec6b2..c83308b4870c454fc5584e3f6b8665fea5fa4da7 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se pueden imprimir los acordes exclusivamente al comienzo de las
 líneas y cuando cambia el acorde.
index 8d5156bacdaa984b5bf275d473f57fcc0ed0ddd2..0dabf7d7de9c5e7ecef5cc691500d688788d51b9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Al juntar nombres de acorde en cifrado americano, melodía y letra,
 obtenemos una hoja guía de acordes o «lead sheet»:
index a1aa94c9c26bf3c7d0c4bf32088a55b52b1c4a08..523141e59720774a15c2341705a56ca4d45f6b3d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla facilita la preparación de una canción con melodía,
 letra y acordes.
index da1e0c09dced7064a331038af458b3c272a042a9..de9213d8517c45eff586c046f1da897807514cc8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Presentamos a continuación un ejemplo de plantilla para una hoja
 guía de acordes con melodía, letra, acordes y diagramas de
index 70c7acd8e4815f20b587780a4fd424b2a41cfac8..d3cd4759dbc4cd94cebab9537138f0cf521cd76e 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 ¿Quiere preparar una hoja guía de acordes (o «lead sheet») con
 melodía y acordes?  ¡No busque más!
index 7a39cabaf44e62e0a732a60c698aab4ae3cf0ec8..c1bf6dddbde1d4dee25d46dc83f37217c6277da6 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta pequeña plantilla muestra una melodía sencilla con letra. Córtela
 y péguela, escriba las notas y luego la letra. Este ejemplo desactiva
index 941a09f16d320ab5f9f69fd6d444beed63a6da45..b70f42d6b1d632ed0aba2fcdbc30f50d2a5e8b44 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla simple prepara un pentagrama con notas, adecuado para
 un instrumento solista o un fragmento melódico. Córtelo y péguelo en
index 492f32ffb6d474dc68f10601d6eda2f15cebfac6..7c0fc36907657ddf49a65ef8393754d27a785faa 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Los deslizamientos se pueden componer tipográficamente tanto en los
diff --git a/Documentation/es/texidocs/snap-pizzicato-bartok-pizzicato.texidoc b/Documentation/es/texidocs/snap-pizzicato-bartok-pizzicato.texidoc
deleted file mode 100644 (file)
index 34a998c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
-  doctitlees = "Marca de pizzicato de chasquido (@q{pizzicato de Bartók})"
-  texidoces = "
-El pizzicato de chasquido (también llamado @q{Pizzicato de Bartók}) es un
-@q{pizzicato fuerte en que la cuerda se pulsa verticalmente produciendo un
-chasquido y rebotando en el diapasón del instrumento} (Wikipedia).  Se
-denota mediante una circunferencia con una línea vertical corta que parte
-del centro de aquélla hacia fuera.  Aunque LilyPond no tiene ninguna
-instrucción predefinida para crear esta marca, es fácil hacer la definición
-y colocarla directamente en el archivo de lilypond.
-"
-
index f599f2fe72fe3f97a7b821443c8bcc53e7ed3f63..6be71e8307d2b26073634f7d91f4707e48ece321 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Los textos independientes se pueden disponer en varias columnas
 utilizando instrucciones @code{\\markup}:
index 1c3d01daf327cb30edb5d3f1676d3ab0611bc5a2..8e19556c63d8387478c5cd68e742ceee95a2dfbf 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 La dirección de las plicas se contola de la misma forma en la
 tablatura que en la notación tradicional. Las barras se pueden
index 0b74e5cdcca46e920a2c3a4033af5a20b6e39e91..6bed6852ddd05b0aac2782130db2814f76083f8c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede hacer que las barras secundarias apunten en la dirección del
 pulso o fracción a que pertenecen.  La primera barra evita los
index c117b5eb6c4c0722c1a24f0b11c87900823f1f9b..54b661591d047b8f3d02c10bb47e7ed6f182c6db 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla muestra un cuarteto de cuerda normal. También utiliza
 una sección @code{\\global} para el compás y la armadura
index 7cdab99989140b50762e96cb399618b6fc0518f3..7c29d203c108e418ff82c68063c37f2d39b433b8 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El fragmento de código @qq{Plantilla de cuarteto de cuerda} produce un
 resultado satisfactorio para el cuarteto, pero ¿y si tenemos que
index 647851a39cb394494c2248502289e5bd4498cd2a..59eaf39e3468a24e1ec2d8780321a1e8b3ebfc68 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index c355cf55f6a4e7ced8d01be7e4c0a8aa41d911d4..eacc322671a78b0a583d904879109a4b0492dcf0 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 A veces, la indicación de compás no debe imprimir la fracción completa
index 9919e785ff366e978502ba97599483f9b8fb6966..352d42d41103971795cd2364f4ea9d6e8bdb25d5 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 A modo de alternativa para obtener auténticos «incipit»
 independientes de la partitura principal, se incluyen como
index dd69335df1fb44025c0da4ade45ffecec74ae9f9..ab6b7a2ce073434843ddb45d3e2e99fff6f18e37 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 doctitlees = "Transportar música con el menor número de alteraciones"
 texidoces = "
 Este ejemplo utiliza código de Scheme para forzar las
index 6c851bfb7a3ec01c030baa8fa9c39f62f963b042..5e71a07f8cd6537aad55a527b163f7a6d4d85c71 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   doctitlees = "Trucaje de las propiedades de clave"
   texidoces = "
 La instrucción @code{\\clef \"treble_8\"} equivale a un ajuste de
index c9702ba7bb419e0cf5251db97cdee5e69843928b..2787378b9c278adc8ce526adb50c407f99eff4cd 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 La disposición de las expresiones de adorno se puede cambiar a lo
index 1ca925473ed7528f65314778cb4f3e3d6e31592b..7ef2a81acb7d4d14d2cd4b971d66b8a4c8135893 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Se puede usar el delimitador de comienzo de un sistema
 @code{SystemStartSquare} estableciéndolo explícitamente dentro de
index 6e30cece81ca159958e87997c5181d1f16aff6c1..e1ee91a14013a7ce80564bf7799dc248eee1f70c 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Se pueden imprimir estilos alternativos del corchete o gancho de las
index 31add831a9998dd258e6e73deffebfb191bfa1fb..cef9235f1ba6bfd97d661ebd9af2503220dd6006 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El corchete de arpegios @code{arpeggioBracket} se puede usar para
 indicar la división de voces cuando no hay plicas que puedan ofrecer
index 1187386d74d668529153eb09f91fa2d294d5a474..b5994468691bf4cd4f40aeec55ec5f0ac2898e40 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Algunos compositores escriben dos ligaduras cuando quieren acordes
 legato.  Esto se puede conseguir estableciendo @code{doubleSlurs}.
index b541f38212d959fc3df8a68bffde6c94cc3c30ba..3ce91fa9fcb079336b972547a6f5c2a27cfeb943 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Es posible aplicar la barrita que cruza la barra de las
index 90a135701934bd2243b91df84b197534b7a9bc98..f9ddd85ff1c9e3637e5b4cc0f1135085871c15ef 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 737aa29d32574c8253f2a4cd03402444b2fabd86..d6d3b66bf62ee4bf777b9b267da6a99bbbb5e069 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index 4c80507288d1edcef4662479508c4a397724f318..2442dae1c7de7e119f3445ff3b13937942e3299a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
  doctitlees = "Uso de ligaduras en los arpegios"
  texidoces = "
 En ocasiones se usan ligaduras de unión para escribir los arpegios.
index 182e95c63f3d6c5310d077af4aaf439b3c6d5912..e2b31ba09fa4f14648e6e7cbb4578677c24c5a9b 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Mediante el establecimiento de la propiedad @code{'Y-extent} a un valor
 adecuado, todos los objetos @code{DynamicLineSpanner} (reguladores e
index 2d4be392b3d336e4fb336ff3415abec2b503c232..fd5f0386da210f5faded6b43fece79a7ac89e736 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Las expresiones dinámicas que se comienzan, terminan o se producen
 en la misma nota se alinean verticalmente.  Para asegurar que las
index 070f7a214e8397028b56cf20c846c451535ccfe6..74e170e5cf9b917fe145242dd4a3a291986b3f16 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Este fragmento de código muestra el uso de las propiedades de
 contexto @code{alignBelowContext} y @code{alignAboveContext} para
index b49ccfeb21b9a87d7a829275d8b182c5427f937a..006cca7e8fbb6dcc859fc9862523806336252060 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Allí donde se utilicen líneas extensoras para el bajo cifrado mediante
 el establecimiento de @code{useBassFigureExtenders} al valor
index e808f8fc54ce073ded2d74d908858e35cd9d4300..72d620b7322fb54c17019b8cf935a994340b9477 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 
 Esta plantilla añade una reducción de piano automática a la partitura
index 5bf413c4a641bc87ae670213e3effcf1b1299297..28d607bee44e8a6c4f3674d3d569866b674ebad9 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Esta plantilla es, básicamente, la misma que la sencilla plantilla
 @qq{Conjunto vocal}, excepto que aquí todas las líneas de letra se
index 5af02479c2936eeca2aba7e7e04e79896d7d4823..44057fed5d321b3ba79a4ea42345edbe90e72083 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 Esta plantilla crea una partitura que comienza con una estrofa para
index 68173e2573721f67ed741e19d0dfecd997e7c3ed..dfab5b1e962797173d089ad6024a9b6b9921f5e0 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 He aquí una partitura vocal estándar para cuatro voces SATB. Con
 grupos mayores, suele ser útil incluir una sección que aparezca en
index 79f8dcefd0ffe6d93514edf3afa711c8487f4665..64da20a0595c146512b78ec95b9c7ccb46d1f98d 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 Mediante la adición del grabador @code{Volta_engraver} al
 pentagrama pertinente, se pueden poner los corchetes de primera y
index f50c10e0d8f73a3ee5d54b960afc7eb582467d91..e7b4a6a0a44b91f2da03ac3d9d6f14fb35ecd203 100644 (file)
@@ -1,4 +1,4 @@
-%%%    Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+%%%    Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
 
   texidoces = "
 
index eda3ffe7921dc15c80610c0aadcf00e64570df85..c3c9ab5401412858bfd549b79966e6f6a6a5323a 100644 (file)
@@ -1,4 +1,4 @@
-%%%    Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%%%    Translation of GIT committish: b482c3e5b56c3841a88d957e0ca12964bd3e64fa
   texidoces = "
 El fragmento de música que aparece a continuación presenta todos los
 diagramas de viento madera que se encuentran definidos en LilyPond por
index 6e2591e9964f8844b2cbbc58ef6845967e819f10..d289ca80ba4e05411919ecbff5e486bbb178ddd8 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 174bb82f659a90054bb6d337cf8298f3aee33629
+    Translation of GIT committish: 18cc52e04834f7eaec4d41cf2783767b0e764d03
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 7dd6cabdd6b6383f08131fb2808db17fabed22aa..a6aa682bca6a9b8860bfa8672a8868bd7381b7fe 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 44e7718b042af70430c0adada42bc0f9d5e25a4a
+    Translation of GIT committish: d251be5cf511690e874a0ed01bdde6b7f559423b
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -10,7 +10,7 @@
 @c This file is part of lilypond-web.texi and community.itexi
 
 @c when you add a new item, consider moving the lowest item(s)
-@c into news-old.itexi.
+@c into news.itexi.
 
 @c Translators: Francisco Vila
 @c keep two blank lines between news entries
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.15.4!  @emph{4 de julio de 2011}
+@subsubheading Quinta versión candidata al lanzamiento de 2.16: ¡Lanzado LilyPond 2.15.37!  @emph{19 de abril de 2012}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.15.4.  Esta versión
-contiene el conjunto habitual de correcciones de fallos.
+Ha salido LilyPond 2.15.37; ésta es la quinta versión candidata al
+lanzamiento de la inminente versión estable 2.16.  Se invita a los
+usuarios a que hagan experimentos con esta versión.  Las
+funcionalidades nuevas desde 2.14.2 están relacionadas en el manual de
+@qq{Cambios} dentro de la sección @ref{Desarrollo} de estas páginas.
 
-Se recomienda enérgicamente los usuarios normales que @strong{no}
-utilicen esta versión, sino la 2.14 estable en su lugar.
+No existen problemas críticos conocidos en esta edición. Si no se
+encuentra ningún bug crítico, la edición oficial 2.16.0 se producirá
+el 3 de mayo de 2012.  Si descubre algún problema, le rogamos que nos
+envíe @ref{Informes de fallos}.
 
 @newsEnd
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.15.3!  @emph{27 de junio de 2011}
+@subsubheading Cuarta versión candidata al lanzamiento de 2.16: ¡Lanzado LilyPond 2.15.36!  @emph{6 de abril de 2012}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.15.3.  Esta versión
-contiene el conjunto habitual de correcciones de fallos.
+Ha salido LilyPond 2.15.36; ésta es la cuarta versión candidata al
+lanzamiento de la inminente versión estable 2.16.  Se invita a los
+usuarios a que hagan experimentos con esta versión.  Las
+funcionalidades nuevas desde 2.14.2 están relacionadas en el manual de
+@qq{Cambios} dentro de la sección @ref{Desarrollo} de estas páginas.
 
-Se recomienda enérgicamente los usuarios normales que @strong{no}
-utilicen esta versión, sino la 2.14 estable en su lugar.
+No existen problemas críticos conocidos en esta edición. Si no se
+encuentra ningún bug crítico, la edición oficial 2.16.0 se producirá
+el 20 de abril de 2012.  Si descubre algún problema, le rogamos que
+nos envíe @ref{Informes de fallos}.
 
 @newsEnd
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.15.2!  @emph{18 de junio de 2011}
+@subsubheading El Informe LilyPond, número 25. @emph{1 de abril de 2012}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.15.2.  Esta versión
-contiene el conjunto habitual de correcciones de fallos.
+¡Vuelve @emph{El Informe LilyPond}, con una edición bastante poco
+habitual de la que destacamos a nuestro joven colaborador polaco Janek
+Warchoł!  También incluimos en esta edición algunos elementos
+inesperados, entre ellos (y no solamente)… ¡una receta de cocina!
 
-Se recomienda enérgicamente los usuarios normales que @strong{no}
-utilicen esta versión, sino la 2.14 estable en su lugar.
+Acérquese al @uref{http://news.lilynet.net/?The-LilyPond-Report-25,
+Informe LilyPond 25} y léalo ahora mismo; ¡animamos calurosamente a
+todos a que hagan sus comentarios y contribuciones!
 
 @newsEnd
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.14.1!  @emph{12 de junio de 2011}
+@subsubheading ¡Lanzado LilyPond 2.15.35!  @emph{28 de marzo de 2012}
 
-Nos complace anunciar el lanzamiento de LilyPond 2.14.1.  Esta versión
-corrige algunos fallos de poca importancia en la versión estable, y no
-debería causar problemas.  Recomendamos a todos que actualicen a esta
-versión.
-
-@newsEnd
-
-@newsItem
-@subsubheading ¡Lanzado LilyPond 2.15.1!  @emph{11 de junio de 2011}
-
-Nos complace anunciar el lanzamiento de LilyPond 2.15.1.  Esta versión
+Nos complace anunciar el lanzamiento de LilyPond 2.15.35.  Esta versión
 contiene el conjunto habitual de correcciones de fallos.
 
-Se recomienda enérgicamente los usuarios normales que @strong{no}
-utilicen esta versión, sino la 2.14 estable en su lugar.
-
-@newsEnd
-
-@newsItem
-@subsubheading ¡Lanzado LilyPond 2.15.0!  @emph{7 de junio de 2011}
-
-Nos complace anunciar el lanzamiento de LilyPond 2.15.0.  Marca el
-comienzo de un nuevo esfuerzo de desarrollo no estable, y añade el
-número de errores acostumbrado.
-
-Se recomienda enérgicamente los usuarios normales que @strong{no}
-utilicen esta versión, sino la 2.14 estable en su lugar.
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
 
 @newsEnd
 
 
 @newsItem
-@subsubheading ¡Lanzado LilyPond 2.14.0! @emph{6 de junio de 2011}
-
-Nos llena de orgullo anunciar el lanzamiento de GNU LilyPond 2.14.
-LilyPond es un programa de grabado musical (edición de partituras)
-dedicado a la producción de música impresa de la más alta calidad
-posible.  Lleva a la impresión por ordenador la estética de las
-partituras tipografiadas al estilo tradicional.
-
-Durante los últimos dos años y medio son muchas las mejoras que se han
-producido a partir de la anterior versión principal estable.  Algunas
-de las más importantes son:
-
-@itemize
-@item
-LilyPond se licencia ahora bajo la GNU GPL v3 o posterior.
-
-@item
-Se ha modificado drásticamente el motor de espaciado vertical,
-haciéndolo mucho más flexible y fácil de controlar.
+@subsubheading ¡Lanzado LilyPond 2.15.34!  @emph{19 de marzo de 2012}
 
-@item
-Ahora la aplicación automática de barras de corchea es más flexible y
-se evitan las colisiones de barras.
-
-@end itemize
-
-Se da una lista completa de las funcionalidades nuevas en:
-
-@example
-@uref{http://lilypond.org/doc/v2.13/Documentation/changes/index.html}
-@end example
-
-¡Feliz edición de partituras!  LilyPond 2.14 llega a usted de la mano de...
-
-El equipo principal de desarrollo:
-
-Trevor Daniels, Reinhold Kainhofer, David Kastrup, Jonathan Kulp,
-Werner Lemberg, John Mandereau, Patrick McCarty, Joe Neeman,
-Han-Wen Nienhuys, Jan Nieuwenhuizen, Graham Percival, Mark
-Polesky, Neil Puttock, Mike Solomon, Carl Sorensen, Francisco
-Vila, Valentin Villenave.
-
-Colaboradores de programación:
-
-Sven Axelsson, Pál Benkő, Bertrand Bordage, Frédéric Bron, Peter Chubb, Hajo Dezelski, Richard
-Gay, Keith OHara, Andrew Hawryluk, Christian Hitz, Marc Hohl,
-Henning Hraban Ramm, Ian Hulin, Michael Käppler, Marek Klein,
-Kieren MacMillan, Thomas Morgan, Benjamin Peterson, Nathan Reed,
-Julien Rioux, Boris Shingarov, Patrick Schmidt, Owen Tuz, Jan Warchoł, Andrew
-Wilson, Rodolfo Zitellini.
-
-Colaboradores de fuenteas tipográficas:
-
-Keith OHara, Marc Hohl, Alexander Kobel, Carsten Steger.
-
-Colaboradores de documentación:
-
-Colin Campbell, Andrew Hawryluk, James Lowe, Mike Moral, Ralph
-Palmer, David Pounder, Patrick Schmidt.
-
-Escuadrón de caza de bugs:
-
-James E. Bailey, Colin Campbell, Phil Holmes, Urs Liska, Ralph
-Palmer, Kieren MacMillan, Dmytro O. Redchuk.
-
-Colaboradores de los archivos binarios:
-
-Christian Hitz.
+Nos complace anunciar el lanzamiento de LilyPond 2.15.34.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
 
-Colaboradores de traducción:
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
 
-Federico Bruni, Dénes Harmath, Jean-Charles Malahieude, Tineke de
-Munnik, Till Paala, Ralf Wildenhues, Yoshiki Sawada.
 
 @newsEnd
index aaf2d90ad073cc0dca14f0bdb0c1c167d8d51f5b..615f4877899410c36414d1c81e53eaacc648dcad 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @ignore
-    Translation of GIT committish: 751d4ab14fbbcf387cc5ca0b50c70d10db2b08f5
+    Translation of GIT committish: c26c0e17719c5c0bc00c79f7c5ca5b644c196b60
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -33,6 +33,608 @@ NOTE:
   * don't duplicate entries from news-front.itexi
 @end ignore
 
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.33!  @emph{8 de marzo de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.33.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading El Informe LilyPond, número 24. @emph{5 de marzo de 2012}
+
+Ya está disponible una nueva edición del @emph{Informe LilyPond};
+entre los temas tratados se encuentra una solicitud de financiación,
+un artítulo sobre unas nuevas e tineresantes posibilidades de la
+gramática de LilyPond, y una panorámica de las aplicaciones de web
+basadas en LilyPond.
+
+Acérquese al @uref{http://news.lilynet.net/?The-LilyPond-Report-24,
+Informe LilyPond 24} y léalo ahora mismo; ¡animamos calurosamente a
+todos a que hagan sus comentarios y contribuciones!
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.32!  @emph{3 de marzo de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.32.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.31!  @emph{29 de febrero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.31.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Tercera versión candidata al lanzamiento de 2.16: ¡Lanzado LilyPond 2.15.30!  @emph{17 de febrero de 2012}
+
+Ha salido LilyPond 2.15.30; ésta es la tercera versión candidata al
+lanzamiento de la inminente versión estable 2.16.  Se invita a los
+usuarios a que hagan experimentos con esta versión.  Las
+funcionalidades nuevas desde 2.14.2 están relacionadas en el manual de
+@qq{Cambios} dentro de la sección @ref{Desarrollo} de estas páginas.
+
+No existen problemas críticos conocidos en esta edición. Si no se
+encuentra ningún bug crítico, la edición oficial 2.16.0 se producirá
+el 2 de marzo de 2012.  Si descubre algún problema, le rogamos que
+nos envíe @ref{Informes de fallos}.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.29!  @emph{9 de febrero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.29.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.28!  @emph{3 de febrero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.28.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.27!  @emph{24 de enero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.27.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading El Informe LilyPond, número 23. @emph{20 de enero de 2012}
+
+¡Vuelve el @emph{Informe LilyPond}, con el desarrollador David Kastrup
+como nuevo editor!  Esta edición inclute una panorámica de algunas de
+las nuevas y útiles instrucciones añadidas recientemente a LilyPond,
+así como una entrevista con el colaborador de LilyPond y compositor
+Mike Solomon.
+
+Acérquese al @uref{http://news.lilynet.net/?The-LilyPond-Report-23,
+Informe LilyPond 23} y léalo ahora mismo; ¡animamos calurosamente a
+todos a que hagan sus comentarios y contribuciones!
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.26!  @emph{16 de enero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.26.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+La versión 2.15.25 se ha saltado debido a problemas de construcción.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.24!  @emph{7 de enero de 2012}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.24.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.23!  @emph{21 de diciembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.23.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.22!  @emph{15 de diciembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.22.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.21!  @emph{6 de diciembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.21.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.20!  @emph{24 de noviembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.20.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.19!  @emph{18 de noviembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.19.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.18!  @emph{12 de noviembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.18.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.17!  @emph{10 de noviembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.17.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.16!  @emph{28 de octubre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.16.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.15!  @emph{24 de octubre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.15.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.14!  @emph{7 de octubre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.14.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.13!  @emph{27 de septiembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.13.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Se cancela la segunda versión candidata al lanzamiento @emph{23 de septiembre de 2011}
+
+La cuenta atrás del lanzamiento se cancela a causa del descubrimiento
+de una regresión crítica.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Segunda versión candidata al lanzamiento de 2.16: ¡Lanzado LilyPond 2.15.12!  @emph{20 de septiembre de 2011}
+
+Ha salido LilyPond 2.15.12; ésta es la segunda versión candidata al
+lanzamiento de la inminente versión estable 2.16.  Se invita a los
+usuarios a que hagan experimentos con esta versión.  Las
+funcionalidades nuevas desde 2.14.2 están relacionadas en el manual de
+@qq{Cambios} dentro de la sección @ref{Desarrollo} de estas páginas.
+
+No existen problemas críticos conocidos en esta edición. Si no se
+encuentra ningún bug crítico, la edición oficial 2.16.0 se producirá
+el 27 de septiembre 2011.  Si descubre algún problema, le rogamos que
+nos envíe @ref{Informes de fallos}.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.11!  @emph{11 de septiembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.11.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.10!  @emph{6 de septiembre de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.10.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.9!  @emph{30 de agosto de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.9.  Esta versión
+contiene el conjunto habitual de correcciones de fallos y contempla
+también MacOS X 10.7.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.  Tenga en
+cuenta que a causa de algunos bugs críticos, esta versión no es
+candidata al lanzamiento de la próxima versión estable.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Primera versión candidata al lanzamiento de 2.16: ¡Lanzado LilyPond 2.15.8!  @emph{1 de agosto de 2011}
+
+Ha salido LilyPond 2.15.8; ésta es la primera versión candidata al
+lanzamiento de la inminente versión estable 2.16.  Se invita a los
+usuarios a que hagan experimentos con esta versión.  Las
+funcionalidades nuevas desde 2.14.2 están relacionadas en el manual de
+@qq{Cambios} dentro de la sección @ref{Desarrollo} de estas páginas.
+
+No existen problemas críticos conocidos en esta edición. Si no se
+encuentra ningún bug crítico, la edición oficial 2.16.0 se producirá
+el 8 de agosto de 2011.  Si descubre algún problema, le rogamos que
+nos envíe @ref{Informes de fallos}.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.7!  @emph{29 de julio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.7.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.6!  @emph{26 de julio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.6.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.14.2!  @emph{25 de julio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.14.2.  Esta versión
+corrige algunos fallos de poca importancia en la versión estable, y no
+debería causar problemas.  Recomendamos a todos que actualicen a esta
+versión.
+
+@newsEnd
+
+
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.5!  @emph{12 de julio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.5.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.4!  @emph{4 de julio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.4.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.3!  @emph{27 de junio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.3.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.2!  @emph{18 de junio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.2.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.14.1!  @emph{12 de junio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.14.1.  Esta versión
+corrige algunos fallos de poca importancia en la versión estable, y no
+debería causar problemas.  Recomendamos a todos que actualicen a esta
+versión.
+
+@newsEnd
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.1!  @emph{11 de junio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.1.  Esta versión
+contiene el conjunto habitual de correcciones de fallos.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.15.0!  @emph{7 de junio de 2011}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.15.0.  Marca el
+comienzo de un nuevo esfuerzo de desarrollo no estable, y añade el
+número de errores acostumbrado.
+
+Se recomienda enérgicamente a los usuarios normales que @strong{no}
+utilicen esta versión, sino la 2.14 estable en su lugar.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.14.0! @emph{6 de junio de 2011}
+
+Nos llena de orgullo anunciar el lanzamiento de GNU LilyPond 2.14.
+LilyPond es un programa de grabado musical (edición de partituras)
+dedicado a la producción de música impresa de la más alta calidad
+posible.  Lleva a la impresión por ordenador la estética de las
+partituras tipografiadas al estilo tradicional.
+
+Durante los últimos dos años y medio son muchas las mejoras que se han
+producido a partir de la anterior versión principal estable.  Algunas
+de las más importantes son:
+
+@itemize
+@item
+LilyPond se licencia ahora bajo la GNU GPL v3 o posterior.
+
+@item
+Se ha modificado drásticamente el motor de espaciado vertical,
+haciéndolo mucho más flexible y fácil de controlar.
+
+@item
+Ahora la aplicación automática de barras de corchea es más flexible y
+se evitan las colisiones de barras.
+
+@end itemize
+
+Se da una lista completa de las funcionalidades nuevas en:
+
+@example
+@uref{http://lilypond.org/doc/v2.13/Documentation/changes/index.html}
+@end example
+
+¡Feliz edición de partituras!  LilyPond 2.14 llega a usted de la mano de...
+
+El equipo principal de desarrollo:
+
+Trevor Daniels, Reinhold Kainhofer, David Kastrup, Jonathan Kulp,
+Werner Lemberg, John Mandereau, Patrick McCarty, Joe Neeman,
+Han-Wen Nienhuys, Jan Nieuwenhuizen, Graham Percival, Mark
+Polesky, Neil Puttock, Mike Solomon, Carl Sorensen, Francisco
+Vila, Valentin Villenave.
+
+Colaboradores de programación:
+
+Sven Axelsson, Pál Benkő, Bertrand Bordage, Frédéric Bron, Peter Chubb, Hajo Dezelski, Richard
+Gay, Keith OHara, Andrew Hawryluk, Christian Hitz, Marc Hohl,
+Henning Hraban Ramm, Ian Hulin, Michael Käppler, Marek Klein,
+Kieren MacMillan, Thomas Morgan, Benjamin Peterson, Nathan Reed,
+Julien Rioux, Boris Shingarov, Patrick Schmidt, Owen Tuz, Jan Warchoł, Andrew
+Wilson, Rodolfo Zitellini.
+
+Colaboradores de fuenteas tipográficas:
+
+Keith OHara, Marc Hohl, Alexander Kobel, Carsten Steger.
+
+Colaboradores de documentación:
+
+Colin Campbell, Andrew Hawryluk, James Lowe, Mike Moral, Ralph
+Palmer, David Pounder, Patrick Schmidt.
+
+Escuadrón de caza de bugs:
+
+James E. Bailey, Colin Campbell, Phil Holmes, Urs Liska, Ralph
+Palmer, Kieren MacMillan, Dmytro O. Redchuk.
+
+Colaboradores de los archivos binarios:
+
+Christian Hitz.
+
+Colaboradores de traducción:
+
+Federico Bruni, Dénes Harmath, Jean-Charles Malahieude, Tineke de
+Munnik, Till Paala, Ralf Wildenhues, Yoshiki Sawada.
+
+@newsEnd
+
+
+
 @newsItem
 @subsubheading Séptima versión candidata al lanzamiento de 2.14: ¡Lanzado LilyPond 2.13.63!  @emph{30 de mayo de 2011}
 
@@ -241,7 +843,6 @@ fallos críticos.
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.51!  @emph{22 de febrero de 2011}
 
-
 Nos complace anunciar el lanzamiento de LilyPond 2.13.51.  Esta
 versión contiene el conjunto habitual de correcciones de fallos.
 
@@ -275,10 +876,10 @@ esto ya son diez idiomas para elegir!
 @newsEnd
 
 
+
 @newsItem
 @subsubheading Segunda versión candidata al lanzamiento de 2.14: ¡Lanzado LilyPond 2.13.49!  @emph{9 de febrero de 2011}
 
-
 Ha salido LilyPond 2.13.49; ésta es la segunda versión candidata al
 lanzamiento de la inminente versión estable 2.14.  Se invita a los
 usuarios a que hagan experimentos con esta versión.  Las
@@ -305,6 +906,7 @@ versión está orientada solamente a los desarrolladores.
 @newsEnd
 
 
+
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.47!  @emph{28 de enero de 2011}
 
@@ -316,6 +918,7 @@ versión está orientada solamente a los desarrolladores.
 @newsEnd
 
 
+
 @newsItem
 @subsubheading Retirada de la versión candidata al lanzamiento  @emph{13 de enero de 2011}
 
@@ -358,6 +961,8 @@ versión está orientada solamente a los desarrolladores.
 @newsEnd
 
 
+
+
 @newsItem
 @subsubheading Tercera versión de pruebas Beta de 2.14: ¡Lanzado LilyPond 2.13.44! @emph{25 de diciembre de 2010}
 
@@ -459,6 +1064,8 @@ envíenos @ref{Informes de fallos} educados.
 @newsEnd
 
 
+
+
 @newsItem
 @subsubheading El Informe LilyPond, número 22.  @emph{3 de noviembre de 2010}
 
@@ -532,7 +1139,6 @@ de esta versión.
 
 @newsEnd
 
-
 @newsItem
 @subsubheading El Informe LilyPond, número 21.  @emph{3 de octubre de 2010}
 
@@ -605,61 +1211,6 @@ versión está orientada solamente a los desarrolladores.
 @newsEnd
 
 
-@newsItem
-@subsubheading Segunda versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.35! @emph{29 de septiembre de 2010}
-
-Ha salido LilyPond 2.13.35; ésta es la segunda versión alfa de la
-inminente versión estable 2.14.  Se invita a los usuarios a que hagan
-experimentos con esta versión.  Las funcionalidades nuevas desde
-2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
-sección @ref{Desarrollo} de estas páginas.
-
-Aún existen tres regresiones conocidas contra 2.12.3:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
-Problema número 1173 - No se pueden alinear las MetronomeMarks sobre
-una nota si existe un silencio multicompás en otra voz}, y dos fallos
-de espaciado:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1240,
-Problema 1240} y
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1252,
-Problema 1252} pero esperamos encontrar más.  Si se decide a probar
-2.13.35, no se sorprenda al encontrar problemas; tan sólo envíenos
-@ref{Informes de fallos} educados.
-
-@newsEnd
-
-
-@newsItem
-@subsubheading Versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.34! @emph{21 de septiembre de 2010}
-
-Ha salido LilyPond 2.13.34; ésta es la primera versión alfa de la
-inminente versión estable 2.14.  Se invita a los usuarios a que hagan
-experimentos con esta versión.  Las funcionalidades nuevas desde
-2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
-sección @ref{Desarrollo} de estas páginas.
-
-Aún existe una regresión conocida contra 2.12.3:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
-Problema número 1173 - No se pueden alinear las MetronomeMarks sobre una
-nota si existe un silencio multicompás en otra voz}, pero esperamos
-encontrar más.  Si se decide a probar 2.13.34, no se sorprenda al
-encontrar problemas; tan sólo envíenos @ref{Informes de fallos}
-educados.
-
-@newsEnd
-
-
-@newsItem
-@subsubheading ¡Lanzado LilyPond 2.13.33!  @emph{10 de septiembre de 2010}
-
-Nos complace anunciar el lanzamiento de LilyPond 2.13.33.  Esta
-versión contiene el conjunto habitual de correcciones de fallos.  Sin
-embargo, aún quedan algunos problemas críticos, por lo que esta
-versión está orientada solamente a los desarrolladores.
-
-@newsEnd
-
-
 
 
 @newsItem
@@ -764,7 +1315,6 @@ Nos complace anunciar el lanzamiento de LilyPond 2.13.27.  Esta
 versión contiene el conjunto habitual de correcciones de fallos.  Sin
 embargo, aún quedan algunos problemas críticos, por lo que esta
 versión está orientada solamente a los desarrolladores.
-
 @newsEnd
 
 
@@ -825,7 +1375,6 @@ embargo, aún quedan algunos problemas críticos, por lo que esta
 versión está orientada solamente a los desarrolladores.
 @newsEnd
 
-
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.22!  @emph{27 de mayo de 2010}
 
@@ -835,7 +1384,6 @@ embargo, aún quedan algunos problemas críticos, por lo que esta
 versión está orientada solamente a los desarrolladores.
 @newsEnd
 
-
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.21!  @emph{12 de mayo de 2010}
 
@@ -867,6 +1415,7 @@ todos a que hagan sus comentarios y contribuciones!
 @newsEnd
 
 
+
 @newsItem
 @subsubheading ¡Lanzado LilyPond 2.13.20!  @emph{5 de mayo de 2010}
 
@@ -1107,7 +1656,7 @@ now 2.12.2, and the next development version has begun with
 
 A new stable release of LilyPond is available.
 @*
-@uref{announce-v2.12,Announcement},
+@miscLink{announce-v2.12,Announcement},
 @ref{Cambios},
 @ref{Descarga}.
 @newsEnd
@@ -1156,7 +1705,7 @@ documentation and translations.
 
 
 @newsItem
-@subsubheading LilyPond 2.11.62 &ndash; Release Candidate.  @emph{October 11, 2008}
+@subsubheading LilyPond 2.11.62 -- Release Candidate.  @emph{October 11, 2008}
 
 LilyPond 2.11.62 is available. This is is one of the last releases
 before 2.12, so testing it is encouraged. In addition to a bugfix
@@ -1164,7 +1713,7 @@ in @code{\tempo} command, this release has lot of updates
 to Spanish and German documentation translations, and the
 stylesheet for HTML documentation has been improved.
 @*
-@uref{http://code.google.com/p/lilypond/issues/list?can=1&amp;q=fixed_2_11_62&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
+@bugfixes{2_11_62,},
 @ref{Descargas antiguas}.
 @newsEnd
 
@@ -1449,7 +1998,7 @@ converter.
 @newsItem
 @subsubheading lilypond.org日本語訳 (lilypond.org Japanese translation).  @emph{2008年4月8日 (April 4, 2008)}
 
-Lilypond.orgのいくつかのページの日本語訳が出来ました。
+lilypond.orgのいくつかのページの日本語訳が出来ました。
 @newsEnd
 
 
@@ -1498,7 +2047,7 @@ program messages in French, German, Spanish and Vietnamese, and
 updates to the MusicXML converter.
 @*
 @bugfixes{2_11_41,},
-@ref{Descargas antiguas})
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1523,7 +2072,7 @@ Grand Documentation Project.
 
 
 @newsItem
-@subsubheading LilyPond 2.11.33 and 2.10.33 available.  @emph{September 20, 2007}
+@subsubheading LilyPond 2.10.33 and 2.11.33 available.  @emph{September 20, 2007}
 
 Release 2.11.33 is now available.
 @*
@@ -1634,11 +2183,9 @@ This has lots of bugfixes.
 
 
 @newsItem
-@subsubheading &Uuml;bersetzung der Dokumentation - @emph{10. April 2007}
-Die Kapitel 1-5 (der Abschnitt für Anf&auml;nger) des
-LilyPond-Benutzerhandbuchs
-sind auf deutsch &uuml;bersetzt &mdash; sie sind erh&auml;ltlich f&uuml;r
-die @ref{Cambios}
+@subsubheading Übersetzung der Dokumentation - @emph{10. April 2007}
+Die Kapitel 1-5 (der Abschnitt für Anfänger) des LilyPond-Benutzerhandbuchs
+sind auf deutsch übersetzt --- sie sind erhältlich für die @ref{Cambios}
 online und @ref{Descargas antiguas}.
 @newsEnd
 
@@ -1664,11 +2211,13 @@ This release has some documentation updates.
 
 
 @newsItem
-@subsubheading Traduction de la documentation en fran&ccedil;ais - @emph{25 f&eacute;vrier 2007}
-Les chapitres 1 &agrave; 4 et 6 du manuel de l'utilisateur sont
-d&eacute;sormais traduits, et disponibles en ligne &mdash; @uref{@@DOC@@v2.10/Documentation/user/lilypond/index.fr.html,version
-2.10}, @uref{@@DOC@@v2.11/Documentation/user/lilypond/index.fr.html,version
-2.11}.  Les traductions sont &eacute;galement incluses dans la @uref{install,documentation t&eacute;l&eacute;chargeable}.
+@subsubheading Traduction de la documentation en français - @emph{25 février 2007}
+Les chapitres 1 à 4 et 6 du manuel de l'utilisateur sont désormais traduits, et
+disponibles en ligne ---
+@uref{http://lilypond.org/doc/v2.10/Documentation/user/lilypond/index.fr.html,version 2.10},
+@uref{http://lilypond.org/doc/v2.11/Documentation/user/lilypond/index.fr.html,version 2.11}.
+Les traductions sont également incluses dans la
+@uref{install,documentation téléchargeable}.
 @newsEnd
 
 
@@ -1686,37 +2235,40 @@ This release fixes many bugs.
 @newsItem
 @subsubheading LilyPond 2.10.19 and 2.11.19 available - @emph{February 18, 2007}
 This release fixes many bugs.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&amp;q=fixed_2_11_19&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.11},
-@uref{http://code.google.com/p/lilypond/issues/list?can=1&amp;q=fixed_2_10_19&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.10}, @ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_10_19,2.10},
+@bugfixes{2_11_19,2.11},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.18 available - @emph{February 12, 2007}
 This release fixes still more bugs, and included
-singing support through festival contributed by Milan Zamazal. (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_18&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.11}, @ref{Cambios}, @ref{Descargas antiguas})
+singing support through festival contributed by Milan Zamazal.
+@*
+@bugfixes{2_11_18,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond  2.11.17 available - @emph{February 9, 2007}
 This release fixes still more bugs.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_17&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.11}, @ref{Cambios},
-@ref{Descargas antiguas})
+@*
+@bugfixes{2_11_17,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.16 and 2.11.16 available - @emph{February 4, 2007}
 This release fixes many bugs.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_16&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.11},
-@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_16&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.10},
+(@bugfixes{2_10_16,2.10},
+@bugfixes{2_11_16,2.11},
 @ref{Cambios},
 @ref{Descargas antiguas})
 @newsEnd
@@ -1726,11 +2278,12 @@ This release fixes many bugs.
 @subsubheading LilyPond 2.10.15 and 2.11.15 available - @emph{February 1, 2007}
 This release will stretch piano staves on a
 system-by-system basis and add a few glyphs: a black harmonic note
-head and the slashed mirrored flat.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_15&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.11},
-@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_15&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes
-2.10},
-@ref{Cambios}, @ref{Descargas antiguas})
+head and the slashed mirrored flat.
+@*
+@bugfixes{2_10_15,2.10},
+@bugfixes{2_11_15,2.11},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1738,8 +2291,10 @@ head and the slashed mirrored flat.  (@uref{http://code.google.com/p/lilypond/is
 @subsubheading LilyPond 2.10.14 and 2.11.14 available - @emph{January 26, 2007}
 This release has a rewrite of the line-spanner code, responsible for
 among other glissandi and text-crescendos, making them more flexible.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_14&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_11_14,},
+@ref{Cambios},
+@ref{Descargas antiguas}
 @newsEnd
 
 
@@ -1747,8 +2302,10 @@ among other glissandi and text-crescendos, making them more flexible.
 @subsubheading LilyPond 2.10.13 and 2.11.13 available - @emph{January 17, 2007}
 This release fixes a few minor but irritating bugs. In addition, the
 2.11 release has updates of the tutorial.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_13&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_11_13,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1756,23 +2313,31 @@ This release fixes a few minor but irritating bugs. In addition, the
 @subsubheading LilyPond 2.11.12 available - @emph{January 17, 2007}
 This release fixes lots of bugs. In particular, the tie formatting has
 been further improved, and memory usage has been improved enormously.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_12&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_11_12,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.12 available - @emph{January 17, 2007}
 This release mirrors 2.11.12. Notably, it has the same memory
-usage improvements.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_12&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+usage improvements.
+@*
+@bugfixes{2_10_12,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.11 available - @emph{January 12, 2007}
-This release mostly has the same fixes as 2.11.11.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_11&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+This release mostly has the same fixes as 2.11.11.
+@*
+@bugfixes{2_10_11,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1780,8 +2345,11 @@ This release mostly has the same fixes as 2.11.11.  (@uref{http://code.google.co
 @subsubheading LilyPond 2.11.11 available - @emph{January 11, 2007}
 This release has further fixes for popular bugs. Timing of the MIDI
 output won't get confused by tuplets and grace notes anymore. Some fat
-has also been trimmed of the skyline code performance.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_11&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+has also been trimmed of the skyline code performance.
+@*
+@bugfixes{2_11_11,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1791,8 +2359,11 @@ LilyPond 2.11.10 has further review of the test-suite, performance and
 code coverage. This brought to light several problems that were
 fixed.  Notably, 2.11.10 fixes lots of regressions in optical
 correction spacing and MIDI dynamics.  Also, this version is 20 to 50
-% faster than previous 2.11 releases. (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_10&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+% faster than previous 2.11 releases.
+@*
+@bugfixes{2_11_10,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1800,29 +2371,38 @@ correction spacing and MIDI dynamics.  Also, this version is 20 to 50
 @subsubheading LilyPond 2.10.10 available - @emph{January 8, 2007}
 This release fixes several popular bugs, among others: MIDI files
 that go silent after (de)crescendi, and tuplets problems with quoting
-and part-combining (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_10&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+and part-combining.
+@*
+@bugfixes{2_10_10,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.9 and 2.10.9 available - @emph{January 3, 2007}
-This release has a couple of bugfixes, and &mdash;in 2.11.9&mdash
-further improvements in the regression test suite (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_9&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+This release has a couple of bugfixes, and ---in 2.11.9---
+further improvements in the regression test suite
+@*
+@bugfixes{2_11_9,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.8 and 2.10.8 available - @emph{January 3, 2007}
-New! Improved! With even more bugfixes!  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_8&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+New! Improved! With even more bugfixes!
+@*
+@bugfixes{2_11_8,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading @code{lilypond.org} auf deutsch - @emph{31. Dezember 2006}
-Die LilyPond-Webseiten sind jetzt auch auf deutsch &uuml;bersetzt!
+Die LilyPond-Webseiten sind jetzt auch auf deutsch übersetzt!
 @newsEnd
 
 
@@ -1834,8 +2414,11 @@ Die LilyPond-Webseiten sind jetzt auch auf deutsch &uuml;bersetzt!
 
 @newsItem
 @subsubheading LilyPond 2.11.7 and 2.10.7 available - @emph{January 1, 2007}
-New! Improved! With even more bugfixes!  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_7&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+New! Improved! With even more bugfixes!
+@*
+@bugfixes{2_11_7,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1843,16 +2426,20 @@ New! Improved! With even more bugfixes!  (@uref{http://code.google.com/p/lilypon
 @subsubheading LilyPond 2.11.6 available - @emph{December 30, 2006}
 This release supports arbitrary fractional alterations, allowing
 music with different microtonal conventions to be typeset.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_6&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_11_6,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.6 available - @emph{December 30, 2006}
 New! Improved! With even more bugfixes!
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_6&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_10_6,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1860,40 +2447,51 @@ New! Improved! With even more bugfixes!
 @subsubheading LilyPond 2.11.5 available - @emph{December 24, 2006}
 These releases complete the translation infrastructure for
 Documentation.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_5&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_11_5,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.5 available - @emph{December 24, 2006}
 New! Improved! With even more bugfixes!
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_5&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+@*
+@bugfixes{2_10_5,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.4 available - @emph{December 21, 2006}
 The vertical spacing improvements that were introduced in 2.11.0 now work
-within a system as well as between systems.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_4&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+within a system as well as between systems.
+@*
+@bugfixes{2_11_4,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.3 available - @emph{December 19, 2006}
 This release has @uref{http://lilypond.org/doc/v2.11/compare-v2.10.3/index.html,graphical
-test results} and several website build improvements.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_3&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+test results} and several website build improvements.
+@*
+@bugfixes{2_11_3,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.3 available - @emph{December 19, 2006}
 This release fixes several bugs.
-(@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_3&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+@*
+@bugfixes{2_10_3,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1904,39 +2502,49 @@ From now on, our GUB binary builds include support for Linux/PPC.  (@ref{Descarg
 
 
 @newsItem
-@subsubheading Traduction du tutoriel en fran&ccedil;ais.  @emph{December 13, 2006}
-Fruit du travail d'une &eacute;quipe de traducteurs, le tutoriel en
-fran&ccedil;ais est maintenant disponible en ligne. @uref{@@DOC@@v2.10/Documentation/user/lilypond/Tutorial.fr.html,Version
-2.10}, @uref{@@DOC@@v2.11/Documentation/user/lilypond/Tutorial.fr.html,Version
-2.11}.
+@subsubheading Traduction du tutoriel en français.  @emph{December 13, 2006}
+Fruit du travail d'une équipe de traducteurs, le tutoriel en français est
+maintenant disponible en ligne.
+@uref{http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Tutorial.fr.html,Version 2.10},
+@uref{http://lilypond.org/doc/v2.11/Documentation/user/lilypond/Tutorial.fr.html,Version 2.11}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.2 available - @emph{December 12, 2006}
-This release supports glissandi and harmonics in tablature.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_2&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+This release supports glissandi and harmonics in tablature.
+@*
+@bugfixes{2_11_2,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.2 available - @emph{December 12, 2006}
-A new stable release of LilyPond is available.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_2&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+A new stable release of LilyPond is available.
+@*
+@bugfixes{2_10_2,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.11.1 available - @emph{December 4, 2006}
-This release has improved support for horizontal spacing.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_11_1&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Cambios}, @ref{Descargas antiguas})
+This release has improved support for horizontal spacing.
+@*
+@bugfixes{2_11_1,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.10.1 available - @emph{December 3, 2006}
-A new stable release of LilyPond is available.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_10_1&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+A new stable release of LilyPond is available.
+@*
+@bugfixes{2_10_1,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1948,7 +2556,8 @@ This release has improved support for vertical spacing.  (@ref{Cambios}, @ref{De
 
 @newsItem
 @subsubheading LilyPond 2.10.0 available - @emph{November 11, 2006}
-A new stable release of LilyPond is available.  (@uref{announce-v2.10.html,Announcement}, @ref{Cambios}, @ref{Descargas antiguas})
+A new stable release of LilyPond is available.
+(@miscLink{announce-v2.10,Announcement}, @ref{Cambios}, @ref{Descargas antiguas})
 @newsEnd
 
 
@@ -1961,23 +2570,30 @@ system. Check out our repository at @uref{http://git.sv.gnu.org/gitweb/?p=lilypo
 
 @newsItem
 @subsubheading LilyPond 2.9.29 available - @emph{November 5, 2006}
-This release has many more bugfixes.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_9_29&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+This release has many more bugfixes.
+@*
+@bugfixes{2_9_29,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.9.28 available - @emph{November 3, 2006}
-This release has many more bugfixes.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_9_28&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+This release has many more bugfixes.
+@*
+@bugfixes{2_9_28,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.9.27 available - @emph{October 28, 2006}
 This release has a new @code{FretBoards} context, and some further
-bugfixes.  (@ref{Cambios}, @uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_9_27&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+bugfixes.
+@*
+@bugfixes{2_9_27,},
+@ref{Cambios},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -1993,16 +2609,20 @@ the thesis is now available from lilypond.org
 
 @newsItem
 @subsubheading LilyPond 2.9.26 available - @emph{October 20, 2006}
-This release has further bugfixes.   (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_9_26&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+This release has further bugfixes.
+@*
+@bugfixes{2_9_26,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
 @newsItem
 @subsubheading LilyPond 2.9.25 available - @emph{October 18, 2006}
 This release has more bugfixes; from now on, binaries are also
-available for x86/64.  (@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=fixed_2_9_25&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary,Bugfixes},
-@ref{Descargas antiguas})
+available for x86/64.
+@*
+@bugfixes{2_9_25,},
+@ref{Descargas antiguas}.
 @newsEnd
 
 
@@ -2235,7 +2855,7 @@ speedup over the emulated PowerPC binaries.  (@ref{Descargas antiguas})
 
 @newsItem
 @subsubheading LilyPond 2.8.0 is out! - @emph{March 22, 2006}
-Version 2.8 is here! Read the @uref{announce-v2.8.html,release
+Version 2.8 is here! Read the @miscLink{announce-v2.8,release
 announcement}.  (@ref{Cambios}, @ref{Descargas antiguas})
 @newsEnd
 
@@ -2688,9 +3308,9 @@ release. (@ref{Cambios},
 
 
 @newsItem
-@subsubheading Traduction fran&ccedil;aise du site - @emph{September 03, 2005}
+@subsubheading Traduction française du site - @emph{September 03, 2005}
 Grâce à @uref{about/thanks#website,l'équipe des traducteurs},
-de nombreuses pages du site sont maintenant disponibles en fran&ccedil;ais,
+de nombreuses pages du site sont maintenant disponibles en français,
 notamment l'@uref{about/automated-engraving/index.fr.html,essai sur
 la gravure musicale}.
 @newsEnd
@@ -2719,8 +3339,7 @@ LilyPond's first appearance in mainstream printed press.
 @subsubheading LilyPond 2.7.7 is out - @emph{August 22, 2005}
 This release has a rewriting of tie formatting which was sponsored by
 Bertalan Fodor, Jay Hamilton, Kieren MacMillan, Steve Doonan, Trevor
-Baca, and Vicente Solsona
-Dell&aacute;. (@ref{Cambios},
+Baca, and Vicente Solsona Dellá. (@ref{Cambios},
 @ref{Descargas antiguas})
 @newsEnd
 
@@ -2798,7 +3417,7 @@ installs in a snap on Windows, MacOS X, and any version of Linux (x86).
 @strong{Get up and running in minutes!} Pango text formatting lets you
 print @strong{Unicode } lyrics in your favorite script and font.  Create
 @strong{SVG} files, and edit them in Inkscape.
-(@uref{announce-v2.6.html,Announcement}, @ref{Descargas antiguas}, @ref{Cambios})
+(@miscLink{announce-v2.6,Announcement}, @ref{Descargas antiguas}, @ref{Cambios})
 @newsEnd
 
 
@@ -2918,9 +3537,8 @@ from the order that they were defined. (@ref{Descargas antiguas})
 @subsubheading 2.5.23 released - @emph{May 6, 2005}
 This release has a couple of small bugfixes, and a new feature. It is
 now possible to start and stop the @code{StaffSymbol}, during a piece of
-music, by doing @code{\stopStaff \startStaff}. This can be used to produce
-Ossia
-staves. (@ref{Cambios},
+music, by doing @code{\stopStaff \startStaff}. This can be used to
+produce Ossia staves. (@ref{Cambios},
 @ref{Descargas antiguas})
 @newsEnd
 
@@ -3245,7 +3863,7 @@ the @uref{http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/lilypond/lilypond/C
 
 @newsItem
 @subsubheading October 31, 2004
-LilyPond 2.4.0 was just @uref{announce-v2.4.html,released!}
+LilyPond 2.4.0 was just @miscLink{announce-v2.4,released!}
 This new stable version has support for page-layout,
 completely rewritten slur formatting and many other
 improvements. Read about them in the @ref{Cambios}
@@ -3521,7 +4139,7 @@ the changes in the @uref{http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/lily
 
 @newsItem
 @subsubheading July 23, 2004
-Lilypond 2.3.8 fixes a few minor bugs in the new slur code,
+LilyPond 2.3.8 fixes a few minor bugs in the new slur code,
 and has rewritten support for ledger lines. Now, in tight
 situations, ledger lines will be shortened so they stay
 separate.  This also required a cleanup of the Ambitus
@@ -3934,7 +4552,7 @@ in the
 @subsubheading February 2, 2004
 LilyPond 2.1.17 is out. It adds texts
 (solo, a due) for the part combiner. It also reinstates the
-@code{--safe} option which prevents havoc by Scheme exploits.  More
+@option{--safe} option which prevents havoc by Scheme exploits.  More
 information in the
 @ref{Cambios}.
 @newsEnd
@@ -4074,21 +4692,19 @@ More information in the
 
 @newsItem
 @subsubheading January 4, 2004
-LilyPond 2.1.6 continues to
-improve the layout of  lyrics.  More
+LilyPond 2.1.6 continues to improve the layout of  lyrics.  More
 information in the
-@uref{@@DOC@@v2.1/Documentation/topdocs/out-www/NEWS.html,release
+@uref{http://lilypond.org/doc/v2.1/Documentation/topdocs/out-www/NEWS.html,release
 notes} and download @uref{install/#2.1,here}.
 @newsEnd
 
 
 @newsItem
 @subsubheading January 2, 2004
-in LilyPond 2.1.5, the lyric
-alignment is completely revamped, and now matches my Edition
-Peters version of the Schubert song S&auml;ngers Morgen.  More
-information in the
-@ref{Cambios} and download @uref{install/#2.1,here}.
+In LilyPond 2.1.5, the lyric alignment is completely revamped,
+and now matches my Edition Peters version of the Schubert song
+Sängers Morgen.  More information in the @ref{Cambios} and
+download @uref{install/#2.1,here}.
 @newsEnd
 
 
@@ -4379,4 +4995,3 @@ unique faculties.
 1.7.29 - release candidate 4 has been released.  Packages for
 Red Hat, Debian, Cygwin are @uref{install/,available}.
 @newsEnd
-
index c2be0d7b5961ff03e165a341b835ec153ca26c4e..a6822231f77f301875aaf2b76ef55bf44d1cab17 100644 (file)
          (- (ly:pitch-alteration right-pitch) (ly:pitch-alteration left-pitch))
          0 )))
 
-% Hide fret number: useful to draw slide into/from a casual point of
-% the fretboard.
-hideFretNumber = {
-  \once \override TabNoteHead #'transparent = ##t
-  \once \override TabNoteHead #'whiteout = ##f
-  \once \override NoteHead #'transparent = ##t
-  \once \override Stem #'transparent = ##t
-  \once \override Flag #'transparent = ##t
-  \once \override NoteHead #'no-ledgers = ##t
-}
-
 \paper {
   indent= #0
   line-width= #180
@@ -36,7 +25,7 @@ upper= \relative c' {
   \set Staff.midiInstrument = #"acoustic guitar (steel)"
   \set fingeringOrientations = #'(left)
 
-  \partial 4. \acciaccatura c16 \glissando cis8 e4
+  \partial 4. cis8 e4
   < cis-1 g'-3 >2 s8 \grace a16 ( \glissando < b-2 >8\3 ) < d-1 > ( b )
   < e-3 >\2 ( <d-1> b ) \grace < ais-2 >16 ( \glissando a8 g ) s4.
   s4. < d'\3 g\2 >8 < gis,\4  d'\3 fis\2 >2\arpeggio ~
@@ -49,7 +38,7 @@ lower= \relative c {
   \partial 4. s4.
   s4 e,4 s2
   s2 s8 < e'-3 >4. ~
-  e4 \hideFretNumber \grace { b8 \glissando s4 } < e-2 >4\5 e,2 ~
+  e4 \hideNotes \grace { b8 \glissando s4 } \unHideNotes < e-2 >4\5 e,2 ~
   e2 < e'\6\harmonic >
 }
 
index b30b887c14c4df0887508cbfbc841cb10e7661e8..ccde9e84a32c32a084b059cf2a7b83f0048f58fe 100644 (file)
@@ -2,22 +2,22 @@
 # translation of LilyPond documentation
 # Copyright (C) 2006 Han-Wen Nienhuys, Jan Nieuwenhuizen
 # This file is distributed under the same license as the lilypond package.
-# Francisco Vila <francisco.vila@hispalinux.es>, 2007, 2008, 2009, 2011, 2012.
 #
+# Francisco Vila <francisco.vila@hispalinux.es>, 2007, 2008, 2009, 2011, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-27 13:12+0100\n"
-"PO-Revision-Date: 2012-01-27 14:10+0100\n"
+"POT-Creation-Date: 2012-04-25 19:39+0200\n"
+"PO-Revision-Date: 2012-04-26 17:37+0200\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
-"Language-Team: Español\n"
-"MIME-Version: 1.0\n"
+"Language-Team: Español <gnome-es-list@gnome.org>\n"
 "Language: \n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 #: postprocess_html.py:55
 #, python-format
@@ -45,14 +45,14 @@ msgstr "Otros idiomas: %s."
 
 #: postprocess_html.py:70
 #, python-format
-msgid "About <A HREF=\"%s\">automatic language selection</A>."
-msgstr "Acerca de la <A HREF=\"%s\">selección automática del idioma</A>."
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "Acerca de la <a href=\"%s\">selección automática del idioma</a>."
 
-#: postprocess_html.py:330
+#: postprocess_html.py:327
 msgid "stable-branch"
 msgstr "rama estable"
 
-#: postprocess_html.py:332
+#: postprocess_html.py:329
 msgid "development-branch"
 msgstr "rama de desarrollo"
 
@@ -136,8 +136,14 @@ msgid "post-GDP"
 msgstr "post-GDP"
 
 #. -*- coding: utf-8 -*-
-#. Documentation/changes.tely:158 (variable)
-#. Documentation/extending/programming-interface.itely:496 (variable)
+#. Documentation/changes.tely:147 (variable)
+#. @node in Documentation/music-glossary.tely
+#. @section in Documentation/music-glossary.tely
+msgid "tonic"
+msgstr "tónica"
+
+#. Documentation/changes.tely:240 (variable)
+#. Documentation/extending/programming-interface.itely:495 (variable)
 msgid "dyn"
 msgstr "matices"
 
@@ -320,25 +326,25 @@ msgstr "GNU Free Documentation License"
 msgid "ADDENDUM: How to use this License for your documents"
 msgstr "ADDENDUM: How to use this License for your documents"
 
-#. Documentation/extending/scheme-tutorial.itely:791 (variable)
+#. Documentation/extending/scheme-tutorial.itely:796 (variable)
 msgid "traLaLa"
 msgstr "traLaLa"
 
-#. Documentation/extending/scheme-tutorial.itely:1435 (variable)
-#. Documentation/learning/fundamental.itely:3006 (variable)
-#. Documentation/learning/fundamental.itely:3061 (variable)
-#. Documentation/notation/changing-defaults.itely:3798 (variable)
+#. Documentation/extending/scheme-tutorial.itely:1472 (variable)
+#. Documentation/learning/fundamental.itely:3013 (variable)
+#. Documentation/learning/fundamental.itely:3068 (variable)
+#. Documentation/notation/changing-defaults.itely:3897 (variable)
 #. Documentation/cs/learning/fundamental.itely:3258 (variable)
 #. Documentation/cs/learning/fundamental.itely:3312 (variable)
 msgid "padText"
 msgstr "textoRelleno"
 
-#. Documentation/extending/scheme-tutorial.itely:1458 (variable)
-#. Documentation/notation/changing-defaults.itely:3840 (variable)
+#. Documentation/extending/scheme-tutorial.itely:1495 (variable)
+#. Documentation/notation/changing-defaults.itely:3939 (variable)
 msgid "tempoPadded"
 msgstr "tempoConRelleno"
 
-#. Documentation/extending/scheme-tutorial.itely:1477 (variable)
+#. Documentation/extending/scheme-tutorial.itely:1514 (variable)
 msgid "pattern"
 msgstr "patron"
 
@@ -459,6 +465,10 @@ msgstr "Variables compuestas de LilyPond"
 msgid "Offsets"
 msgstr "Desplazamientos"
 
+#. @subheading in Documentation/extending/scheme-tutorial.itely
+msgid "Fractions"
+msgstr "Fracciones"
+
 #. @subheading in Documentation/extending/scheme-tutorial.itely
 msgid "Extents"
 msgstr "Dimensiones"
@@ -501,21 +511,21 @@ msgstr "Doblar una nota con ligaduras (ejemplo)"
 msgid "Adding articulation to notes (example)"
 msgstr "Añadir articulación a las notas (ejemplo)"
 
-#. Documentation/extending/programming-interface.itely:377 (variable)
+#. Documentation/extending/programming-interface.itely:376 (variable)
 msgid "manualBeam"
 msgstr "barraManual"
 
-#. Documentation/extending/programming-interface.itely:398 (variable)
+#. Documentation/extending/programming-interface.itely:397 (variable)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:197 (variable)
 msgid "AltOn"
 msgstr "varSi"
 
-#. Documentation/extending/programming-interface.itely:408 (variable)
+#. Documentation/extending/programming-interface.itely:407 (variable)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:203 (variable)
 msgid "AltOff"
 msgstr "varNo"
 
-#. Documentation/extending/programming-interface.itely:423 (variable)
+#. Documentation/extending/programming-interface.itely:422 (variable)
 msgid "withAlt"
 msgstr "variante"
 
@@ -782,8 +792,8 @@ msgstr "intervalo"
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
 #. @rglos in Documentation/cs/learning/tutorial.itely
-#. Documentation/snippets/changing-the-interval-of-lines-on-the-stave.ly:22 (variable)
-#. Documentation/snippets/printing-note-names-with-and-without-an-octave-marker.ly:32 (variable)
+#. Documentation/snippets/changing-the-interval-of-lines-on-the-stave.ly:23 (variable)
+#. Documentation/snippets/printing-note-names-with-and-without-an-octave-marker.ly:33 (variable)
 msgid "scale"
 msgstr "escala"
 
@@ -952,8 +962,8 @@ msgid "Overview of manuals"
 msgstr "Panorámica de los manuales"
 
 #. Documentation/learning/common-notation.itely:1224 (variable)
-#. Documentation/learning/fundamental.itely:2987 (variable)
-#. Documentation/learning/fundamental.itely:3011 (variable)
+#. Documentation/learning/fundamental.itely:2994 (variable)
+#. Documentation/learning/fundamental.itely:3018 (variable)
 #. Documentation/cs/learning/common-notation.itely:1314 (variable)
 #. Documentation/cs/learning/fundamental.itely:3239 (variable)
 #. Documentation/cs/learning/fundamental.itely:3263 (variable)
@@ -962,7 +972,7 @@ msgstr "violin"
 
 #. Documentation/learning/common-notation.itely:1230 (variable)
 #. Documentation/cs/learning/common-notation.itely:1320 (variable)
-#. Documentation/snippets/string-quartet-template-simple.ly:94 (variable)
+#. Documentation/snippets/string-quartet-template-simple.ly:95 (variable)
 msgid "cello"
 msgstr "cello"
 
@@ -1399,7 +1409,7 @@ msgstr "Más allá del tutorial"
 #. Documentation/cs/learning/fundamental.itely:443 (context id)
 #. Documentation/snippets/adding-orchestral-cues-to-a-vocal-score.ly:116 (variable)
 #. Documentation/snippets/adding-orchestral-cues-to-a-vocal-score.ly:129 (context id)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:81 (context id)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:82 (context id)
 msgid "singer"
 msgstr "cantante"
 
@@ -1425,26 +1435,26 @@ msgstr "piano"
 #. Documentation/learning/fundamental.itely:325 (context id)
 #. Documentation/learning/fundamental.itely:366 (variable)
 #. Documentation/learning/fundamental.itely:376 (context id)
-#. Documentation/learning/fundamental.itely:2595 (variable)
-#. Documentation/learning/fundamental.itely:2657 (context id)
+#. Documentation/learning/fundamental.itely:2602 (variable)
+#. Documentation/learning/fundamental.itely:2664 (context id)
 #. Documentation/cs/learning/fundamental.itely:388 (context id)
 #. Documentation/cs/learning/fundamental.itely:438 (variable)
 #. Documentation/cs/learning/fundamental.itely:448 (context id)
 #. Documentation/cs/learning/fundamental.itely:2822 (variable)
 #. Documentation/cs/learning/fundamental.itely:2884 (context id)
-#. Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly:23 (variable)
+#. Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly:24 (variable)
 #. Documentation/snippets/chords-headword.ly:75 (context id)
 #. Documentation/snippets/fretted-headword.ly:144 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:253 (context id)
-#. Documentation/snippets/piano-template-simple.ly:49 (variable)
-#. Documentation/snippets/piano-template-simple.ly:68 (context id)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:59 (variable)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:81 (context id)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:71 (variable)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:92 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:46 (variable)
-#. Documentation/snippets/polyphony-in-tablature.ly:64 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:68 (context id)
+#. Documentation/snippets/piano-template-simple.ly:50 (variable)
+#. Documentation/snippets/piano-template-simple.ly:69 (context id)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:60 (variable)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:82 (context id)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:72 (variable)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:93 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:47 (variable)
+#. Documentation/snippets/polyphony-in-tablature.ly:65 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:69 (context id)
 #. Documentation/snippets/staff-headword.ly:71 (variable)
 msgid "upper"
 msgstr "superior"
@@ -1452,76 +1462,76 @@ msgstr "superior"
 #. Documentation/learning/fundamental.itely:326 (context id)
 #. Documentation/learning/fundamental.itely:367 (variable)
 #. Documentation/learning/fundamental.itely:377 (context id)
-#. Documentation/learning/fundamental.itely:2602 (variable)
-#. Documentation/learning/fundamental.itely:2658 (context id)
+#. Documentation/learning/fundamental.itely:2609 (variable)
+#. Documentation/learning/fundamental.itely:2665 (context id)
 #. Documentation/cs/learning/fundamental.itely:389 (context id)
 #. Documentation/cs/learning/fundamental.itely:439 (variable)
 #. Documentation/cs/learning/fundamental.itely:449 (context id)
 #. Documentation/cs/learning/fundamental.itely:2829 (variable)
 #. Documentation/cs/learning/fundamental.itely:2885 (context id)
-#. Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly:27 (variable)
+#. Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly:28 (variable)
 #. Documentation/snippets/chords-headword.ly:85 (context id)
 #. Documentation/snippets/fretted-headword.ly:145 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:254 (context id)
-#. Documentation/snippets/piano-template-simple.ly:57 (variable)
-#. Documentation/snippets/piano-template-simple.ly:69 (context id)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:67 (variable)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:83 (context id)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:79 (variable)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:93 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:53 (variable)
-#. Documentation/snippets/polyphony-in-tablature.ly:65 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:69 (context id)
+#. Documentation/snippets/piano-template-simple.ly:58 (variable)
+#. Documentation/snippets/piano-template-simple.ly:70 (context id)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:68 (variable)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:84 (context id)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:80 (variable)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:94 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:54 (variable)
+#. Documentation/snippets/polyphony-in-tablature.ly:66 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:70 (context id)
 #. Documentation/snippets/staff-headword.ly:82 (variable)
 msgid "lower"
 msgstr "inferior"
 
 #. Documentation/learning/fundamental.itely:364 (variable)
-#. Documentation/notation/changing-defaults.itely:489 (variable)
-#. Documentation/notation/changing-defaults.itely:496 (context id)
-#. Documentation/notation/changing-defaults.itely:506 (context id)
-#. Documentation/notation/changing-defaults.itely:511 (context id)
-#. Documentation/notation/changing-defaults.itely:528 (variable)
-#. Documentation/notation/changing-defaults.itely:546 (context id)
-#. Documentation/notation/changing-defaults.itely:742 (variable)
+#. Documentation/notation/changing-defaults.itely:488 (variable)
+#. Documentation/notation/changing-defaults.itely:495 (context id)
+#. Documentation/notation/changing-defaults.itely:505 (context id)
+#. Documentation/notation/changing-defaults.itely:510 (context id)
+#. Documentation/notation/changing-defaults.itely:527 (variable)
+#. Documentation/notation/changing-defaults.itely:545 (context id)
+#. Documentation/notation/changing-defaults.itely:740 (variable)
 #. Documentation/cs/learning/fundamental.itely:436 (variable)
-#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:40 (context id)
-#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:49 (context id)
+#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:39 (context id)
+#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:47 (context id)
 #. Documentation/snippets/ancient-notation-template----modern-transcription-of-gregorian-music.ly:81 (context id)
-#. Documentation/snippets/demo-midiinstruments.ly:32 (variable)
-#. Documentation/snippets/formatting-lyrics-syllables.ly:40 (context id)
+#. Documentation/snippets/demo-midiinstruments.ly:33 (variable)
+#. Documentation/snippets/formatting-lyrics-syllables.ly:47 (context id)
 #. Documentation/snippets/fretted-headword.ly:64 (variable)
-#. Documentation/snippets/guitar-strum-rhythms.ly:71 (context id)
-#. Documentation/snippets/heavily-customized-polymetric-time-signatures.ly:37 (variable)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:59 (variable)
-#. Documentation/snippets/single-staff-template-with-notes-and-chords.ly:60 (variable)
-#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:79 (variable)
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:60 (variable)
-#. Documentation/snippets/single-staff-template-with-only-notes.ly:68 (variable)
+#. Documentation/snippets/guitar-strum-rhythms.ly:72 (context id)
+#. Documentation/snippets/heavily-customized-polymetric-time-signatures.ly:38 (variable)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:60 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:61 (variable)
+#. Documentation/snippets/single-staff-template-with-notes-and-chords.ly:61 (variable)
+#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:80 (variable)
+#. Documentation/snippets/single-staff-template-with-only-notes.ly:69 (variable)
 #. Documentation/snippets/vertically-centered-common-lyrics.ly:48 (variable)
 msgid "melody"
 msgstr "melodia"
 
 #. Documentation/learning/fundamental.itely:365 (variable)
 #. Documentation/cs/learning/fundamental.itely:437 (variable)
-#. Documentation/snippets/piano-template-with-centered-lyrics.ly:75 (variable)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:67 (variable)
-#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:87 (variable)
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:68 (variable)
+#. Documentation/snippets/piano-template-with-centered-lyrics.ly:76 (variable)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:68 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:69 (variable)
+#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:88 (variable)
 msgid "text"
 msgstr "texto"
 
 #. Documentation/learning/fundamental.itely:439 (context id)
 #. Documentation/cs/learning/fundamental.itely:515 (context id)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:103 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:138 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:154 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:175 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:190 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:211 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:226 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:242 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:258 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:104 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:139 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:155 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:176 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:191 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:212 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:227 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:243 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:259 (comment)
 msgid "main"
 msgstr "principal"
 
@@ -1545,643 +1555,643 @@ msgstr "Voz \\\"1\\\""
 msgid "Voice \\\"2\\\""
 msgstr "Voz \\\"2\\\""
 
-#. Documentation/learning/fundamental.itely:680 (comment)
-#. Documentation/learning/fundamental.itely:704 (comment)
+#. Documentation/learning/fundamental.itely:683 (comment)
+#. Documentation/learning/fundamental.itely:707 (comment)
 #. Documentation/cs/learning/fundamental.itely:766 (comment)
 #. Documentation/cs/learning/fundamental.itely:790 (comment)
 msgid "Main voice"
 msgstr "Voz principal"
 
-#. Documentation/learning/fundamental.itely:682 (comment)
+#. Documentation/learning/fundamental.itely:685 (comment)
 #. Documentation/cs/learning/fundamental.itely:768 (comment)
 msgid "Voice \\\"1\\\"     Voice \\\"2\\\"                Voice \\\"3\\\""
 msgstr "Voz \\\"1\\\"     Voz \\\"2\\\"                 Voz \\\"3\\\""
 
-#. Documentation/learning/fundamental.itely:706 (comment)
+#. Documentation/learning/fundamental.itely:709 (comment)
 #. Documentation/cs/learning/fundamental.itely:792 (comment)
 msgid "Bar 1"
 msgstr "Compás 1"
 
 # También Líneas divisorias. FVD
-#. Documentation/learning/fundamental.itely:717 (comment)
+#. Documentation/learning/fundamental.itely:720 (comment)
 #. Documentation/cs/learning/fundamental.itely:803 (comment)
 msgid "Bar 2"
 msgstr "Compás 2"
 
-#. Documentation/learning/fundamental.itely:718 (comment)
+#. Documentation/learning/fundamental.itely:721 (comment)
 #. Documentation/cs/learning/fundamental.itely:804 (comment)
 msgid "Voice 1 continues"
 msgstr "Continúa la voz 1"
 
-#. Documentation/learning/fundamental.itely:721 (comment)
+#. Documentation/learning/fundamental.itely:724 (comment)
 #. Documentation/cs/learning/fundamental.itely:807 (comment)
 msgid "Voice 2 continues"
 msgstr "Continúa la voz 2"
 
-#. Documentation/learning/fundamental.itely:896 (comment)
+#. Documentation/learning/fundamental.itely:903 (comment)
 #. Documentation/cs/learning/fundamental.itely:984 (comment)
 msgid "Voice one"
 msgstr "Voz uno"
 
-#. Documentation/learning/fundamental.itely:898 (comment)
+#. Documentation/learning/fundamental.itely:905 (comment)
 #. Documentation/cs/learning/fundamental.itely:986 (comment)
 msgid "Voice two"
 msgstr "Voz dos"
 
-#. Documentation/learning/fundamental.itely:900 (comment)
+#. Documentation/learning/fundamental.itely:907 (comment)
 #. Documentation/cs/learning/fundamental.itely:988 (comment)
 msgid "Omit Voice three"
 msgstr "Omitir la voz tres"
 
-#. Documentation/learning/fundamental.itely:901 (comment)
+#. Documentation/learning/fundamental.itely:908 (comment)
 #. Documentation/cs/learning/fundamental.itely:989 (comment)
 msgid "Voice four"
 msgstr "Voz cuatro"
 
-#. Documentation/learning/fundamental.itely:1000 (comment)
+#. Documentation/learning/fundamental.itely:1007 (comment)
 #. Documentation/cs/learning/fundamental.itely:1091 (comment)
 msgid "Default behavior or behavior after \\oneVoice"
 msgstr "Comportamiento predeterminado o comportamiento después de \\oneVoice"
 
-#. Documentation/learning/fundamental.itely:1038 (comment)
+#. Documentation/learning/fundamental.itely:1045 (comment)
 #. Documentation/cs/learning/fundamental.itely:1130 (comment)
 msgid "The following notes are monophonic"
 msgstr "Las notas siguientes son monofónicas"
 
-#. Documentation/learning/fundamental.itely:1040 (comment)
+#. Documentation/learning/fundamental.itely:1047 (comment)
 #. Documentation/cs/learning/fundamental.itely:1132 (comment)
 msgid "Start simultaneous section of three voices"
 msgstr "Inicio de la sección de tres voces simultáneas"
 
-#. Documentation/learning/fundamental.itely:1042 (comment)
+#. Documentation/learning/fundamental.itely:1049 (comment)
 #. Documentation/cs/learning/fundamental.itely:1134 (comment)
 msgid "Continue the main voice in parallel"
 msgstr "Continuar la voz principal en paralelo"
 
-#. Documentation/learning/fundamental.itely:1044 (comment)
-#. Documentation/learning/fundamental.itely:1106 (comment)
+#. Documentation/learning/fundamental.itely:1051 (comment)
+#. Documentation/learning/fundamental.itely:1113 (comment)
 #. Documentation/cs/learning/fundamental.itely:1136 (comment)
 #. Documentation/cs/learning/fundamental.itely:1202 (comment)
 msgid "Initiate second voice"
 msgstr "Iniciar la segunda voz"
 
-#. Documentation/learning/fundamental.itely:1046 (comment)
+#. Documentation/learning/fundamental.itely:1053 (comment)
 #. Documentation/cs/learning/fundamental.itely:1138 (comment)
 msgid "Set stems, etc., down"
 msgstr "Poner plicas, etc. hacia abajo"
 
-#. Documentation/learning/fundamental.itely:1050 (comment)
-#. Documentation/learning/fundamental.itely:1112 (comment)
+#. Documentation/learning/fundamental.itely:1057 (comment)
+#. Documentation/learning/fundamental.itely:1119 (comment)
 #. Documentation/cs/learning/fundamental.itely:1142 (comment)
 #. Documentation/cs/learning/fundamental.itely:1208 (comment)
 msgid "Initiate third voice"
 msgstr "Iniciar la tercera voz"
 
-#. Documentation/learning/fundamental.itely:1052 (comment)
-#. Documentation/learning/fundamental.itely:1114 (comment)
+#. Documentation/learning/fundamental.itely:1059 (comment)
+#. Documentation/learning/fundamental.itely:1121 (comment)
 #. Documentation/cs/learning/fundamental.itely:1144 (comment)
 #. Documentation/cs/learning/fundamental.itely:1210 (comment)
 msgid "Set stems, etc, up"
 msgstr "Poner las plicas, etc. hacia arriba"
 
-#. Documentation/learning/fundamental.itely:1101 (comment)
+#. Documentation/learning/fundamental.itely:1108 (comment)
 #. Documentation/cs/learning/fundamental.itely:1197 (comment)
 msgid "Initiate first voice"
 msgstr "Iniciar la primera voz"
 
-#. Documentation/learning/fundamental.itely:1108 (comment)
+#. Documentation/learning/fundamental.itely:1115 (comment)
 #. Documentation/cs/learning/fundamental.itely:1204 (comment)
 msgid "Set stems, etc, down"
 msgstr "Poner plicas, etc. hacia abajo"
 
-#. Documentation/learning/fundamental.itely:1195 (context id)
-#. Documentation/learning/fundamental.itely:2306 (context id)
+#. Documentation/learning/fundamental.itely:1202 (context id)
+#. Documentation/learning/fundamental.itely:2313 (context id)
 #. Documentation/cs/learning/fundamental.itely:1303 (context id)
 #. Documentation/cs/learning/fundamental.itely:2522 (context id)
-#. Documentation/snippets/adding-fingerings-to-tablatures.ly:37 (variable)
+#. Documentation/snippets/adding-fingerings-to-tablatures.ly:39 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:236 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:245 (context id)
-#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:93 (context id)
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:82 (context id)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:83 (context id)
+#. Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly:94 (context id)
 msgid "one"
 msgstr "uno"
 
-#. Documentation/learning/fundamental.itely:1240 (variable)
-#. Documentation/learning/fundamental.itely:2572 (variable)
-#. Documentation/learning/tweaks.itely:3629 (variable)
+#. Documentation/learning/fundamental.itely:1247 (variable)
+#. Documentation/learning/fundamental.itely:2579 (variable)
+#. Documentation/learning/tweaks.itely:3630 (variable)
 #. Documentation/cs/learning/fundamental.itely:1352 (variable)
 #. Documentation/cs/learning/fundamental.itely:2796 (variable)
 #. Documentation/cs/learning/tweaks.itely:3964 (variable)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:82 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:84 (variable)
-#. Documentation/snippets/hymn-template.ly:89 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:83 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:85 (variable)
+#. Documentation/snippets/hymn-template.ly:90 (variable)
 #. Documentation/snippets/incipit.ly:73 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:106 (variable)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:48 (variable)
-#. Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly:56 (variable)
+#. Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly:57 (variable)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:22 (variable)
 #. Documentation/snippets/printing-music-with-different-time-signatures.ly:36 (variable)
-#. Documentation/snippets/satb-choir-template---four-staves.ly:52 (variable)
-#. Documentation/snippets/string-quartet-template-simple.ly:61 (variable)
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:131 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:35 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:84 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:53 (variable)
+#. Documentation/snippets/string-quartet-template-simple.ly:62 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:132 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:36 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:86 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:66 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:69 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:67 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:70 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:84 (variable)
 msgid "global"
 msgstr "global"
 
-#. Documentation/learning/fundamental.itely:1242 (variable)
+#. Documentation/learning/fundamental.itely:1249 (variable)
 #. Documentation/cs/learning/fundamental.itely:1354 (variable)
 msgid "SopOneMusic"
 msgstr "MusicaSopranoUno"
 
-#. Documentation/learning/fundamental.itely:1245 (variable)
+#. Documentation/learning/fundamental.itely:1252 (variable)
 #. Documentation/cs/learning/fundamental.itely:1357 (variable)
 msgid "SopOneLyrics"
 msgstr "LetraSopranoUno"
 
-#. Documentation/learning/fundamental.itely:1248 (variable)
+#. Documentation/learning/fundamental.itely:1255 (variable)
 #. Documentation/cs/learning/fundamental.itely:1360 (variable)
 msgid "SopTwoMusic"
 msgstr "MusicaSopranoDos"
 
-#. Documentation/learning/fundamental.itely:1251 (variable)
+#. Documentation/learning/fundamental.itely:1258 (variable)
 #. Documentation/cs/learning/fundamental.itely:1363 (variable)
 msgid "SopTwoLyrics"
 msgstr "LetraSopranoDos"
 
-#. Documentation/learning/fundamental.itely:1258 (context id)
+#. Documentation/learning/fundamental.itely:1265 (context id)
 #. Documentation/cs/learning/fundamental.itely:1370 (context id)
 msgid "SopOne"
 msgstr "SopranoUno"
 
-#. Documentation/learning/fundamental.itely:1267 (context id)
+#. Documentation/learning/fundamental.itely:1274 (context id)
 #. Documentation/cs/learning/fundamental.itely:1379 (context id)
 msgid "SopTwo"
 msgstr "SopranoDos"
 
-#. Documentation/learning/fundamental.itely:1299 (variable)
-#. Documentation/learning/fundamental.itely:2904 (variable)
+#. Documentation/learning/fundamental.itely:1306 (variable)
+#. Documentation/learning/fundamental.itely:2911 (variable)
 #. Documentation/cs/learning/fundamental.itely:1415 (variable)
 #. Documentation/cs/learning/fundamental.itely:3155 (variable)
 msgid "keyTime"
 msgstr "tonalidadCompas"
 
-#. Documentation/learning/fundamental.itely:1301 (variable)
+#. Documentation/learning/fundamental.itely:1308 (variable)
 #. Documentation/cs/learning/fundamental.itely:1417 (variable)
 msgid "SopMusic"
 msgstr "MusicaSoprano"
 
-#. Documentation/learning/fundamental.itely:1302 (variable)
-#. Documentation/learning/tweaks.itely:3632 (variable)
+#. Documentation/learning/fundamental.itely:1309 (variable)
+#. Documentation/learning/tweaks.itely:3633 (variable)
 #. Documentation/cs/learning/fundamental.itely:1418 (variable)
 #. Documentation/cs/learning/tweaks.itely:3967 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:69 (variable)
-#. Documentation/snippets/hymn-template.ly:74 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:70 (variable)
+#. Documentation/snippets/hymn-template.ly:75 (variable)
 msgid "AltoMusic"
 msgstr "MusicaAlto"
 
-#. Documentation/learning/fundamental.itely:1303 (variable)
-#. Documentation/learning/tweaks.itely:3633 (variable)
+#. Documentation/learning/fundamental.itely:1310 (variable)
+#. Documentation/learning/tweaks.itely:3634 (variable)
 #. Documentation/cs/learning/fundamental.itely:1419 (variable)
 #. Documentation/cs/learning/tweaks.itely:3968 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:74 (variable)
-#. Documentation/snippets/hymn-template.ly:79 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:75 (variable)
+#. Documentation/snippets/hymn-template.ly:80 (variable)
 msgid "TenorMusic"
 msgstr "MusicaTenor"
 
-#. Documentation/learning/fundamental.itely:1304 (variable)
-#. Documentation/learning/tweaks.itely:3634 (variable)
+#. Documentation/learning/fundamental.itely:1311 (variable)
+#. Documentation/learning/tweaks.itely:3635 (variable)
 #. Documentation/cs/learning/fundamental.itely:1420 (variable)
 #. Documentation/cs/learning/tweaks.itely:3969 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:79 (variable)
-#. Documentation/snippets/hymn-template.ly:84 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:80 (variable)
+#. Documentation/snippets/hymn-template.ly:85 (variable)
 msgid "BassMusic"
 msgstr "MusicaBajo"
 
-#. Documentation/learning/fundamental.itely:1306 (variable)
-#. Documentation/learning/tweaks.itely:3636 (variable)
+#. Documentation/learning/fundamental.itely:1313 (variable)
+#. Documentation/learning/tweaks.itely:3637 (variable)
 #. Documentation/cs/learning/fundamental.itely:1422 (variable)
 #. Documentation/cs/learning/tweaks.itely:3971 (variable)
 msgid "VerseOne"
 msgstr "EstrofaUno"
 
-#. Documentation/learning/fundamental.itely:1308 (variable)
-#. Documentation/learning/tweaks.itely:3640 (variable)
+#. Documentation/learning/fundamental.itely:1315 (variable)
+#. Documentation/learning/tweaks.itely:3641 (variable)
 #. Documentation/cs/learning/fundamental.itely:1424 (variable)
 #. Documentation/cs/learning/tweaks.itely:3975 (variable)
 msgid "VerseTwo"
 msgstr "EstrofaDos"
 
-#. Documentation/learning/fundamental.itely:1310 (variable)
-#. Documentation/learning/tweaks.itely:3644 (variable)
+#. Documentation/learning/fundamental.itely:1317 (variable)
+#. Documentation/learning/tweaks.itely:3645 (variable)
 #. Documentation/cs/learning/fundamental.itely:1426 (variable)
 #. Documentation/cs/learning/tweaks.itely:3979 (variable)
 msgid "VerseThree"
 msgstr "EstrofaTres"
 
-#. Documentation/learning/fundamental.itely:1312 (variable)
-#. Documentation/learning/tweaks.itely:3648 (variable)
+#. Documentation/learning/fundamental.itely:1319 (variable)
+#. Documentation/learning/tweaks.itely:3649 (variable)
 #. Documentation/cs/learning/fundamental.itely:1428 (variable)
 #. Documentation/cs/learning/tweaks.itely:3983 (variable)
 msgid "VerseFour"
 msgstr "EstrofaCuatro"
 
-#. Documentation/learning/fundamental.itely:1319 (context id)
+#. Documentation/learning/fundamental.itely:1326 (context id)
 #. Documentation/cs/learning/fundamental.itely:1435 (context id)
 msgid "Sop"
 msgstr "Soprano"
 
-#. Documentation/learning/fundamental.itely:1320 (context id)
-#. Documentation/learning/tweaks.itely:3657 (context id)
+#. Documentation/learning/fundamental.itely:1327 (context id)
+#. Documentation/learning/tweaks.itely:3658 (context id)
 #. Documentation/notation/input.itely:1610 (context id)
 #. Documentation/cs/learning/fundamental.itely:1436 (context id)
 #. Documentation/cs/learning/tweaks.itely:3992 (context id)
-#. Documentation/snippets/anglican-psalm-template.ly:109 (context id)
+#. Documentation/snippets/anglican-psalm-template.ly:110 (context id)
 #. Documentation/snippets/chords-headword.ly:52 (variable)
-#. Documentation/snippets/hymn-template.ly:104 (context id)
+#. Documentation/snippets/hymn-template.ly:105 (context id)
 msgid "Alto"
 msgstr "Alto"
 
-#. Documentation/learning/fundamental.itely:1328 (context id)
-#. Documentation/learning/tweaks.itely:3665 (context id)
+#. Documentation/learning/fundamental.itely:1335 (context id)
+#. Documentation/learning/tweaks.itely:3666 (context id)
 #. Documentation/notation/input.itely:1612 (context id)
 #. Documentation/cs/learning/fundamental.itely:1444 (context id)
 #. Documentation/cs/learning/tweaks.itely:4000 (context id)
-#. Documentation/snippets/anglican-psalm-template.ly:117 (context id)
+#. Documentation/snippets/anglican-psalm-template.ly:118 (context id)
 #. Documentation/snippets/chords-headword.ly:58 (variable)
-#. Documentation/snippets/hymn-template.ly:113 (context id)
+#. Documentation/snippets/hymn-template.ly:114 (context id)
 msgid "Tenor"
 msgstr "Tenor"
 
 # También Líneas divisorias. FVD
-#. Documentation/learning/fundamental.itely:1329 (context id)
-#. Documentation/learning/tweaks.itely:3666 (context id)
+#. Documentation/learning/fundamental.itely:1336 (context id)
+#. Documentation/learning/tweaks.itely:3667 (context id)
 #. Documentation/notation/input.itely:1617 (context id)
 #. Documentation/cs/learning/fundamental.itely:1445 (context id)
 #. Documentation/cs/learning/tweaks.itely:4001 (context id)
-#. Documentation/snippets/anglican-psalm-template.ly:121 (context id)
+#. Documentation/snippets/anglican-psalm-template.ly:122 (context id)
 #. Documentation/snippets/chords-headword.ly:65 (variable)
-#. Documentation/snippets/hymn-template.ly:118 (context id)
+#. Documentation/snippets/hymn-template.ly:119 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:259 (variable)
 msgid "Bass"
 msgstr "Bajo"
 
-#. Documentation/learning/fundamental.itely:1473 (comment)
+#. Documentation/learning/fundamental.itely:1480 (comment)
 #. Documentation/cs/learning/fundamental.itely:1613 (comment)
 msgid "start of single compound music expression"
 msgstr "inicio de la expresión musical compuesta única"
 
-#. Documentation/learning/fundamental.itely:1474 (comment)
+#. Documentation/learning/fundamental.itely:1481 (comment)
 #. Documentation/cs/learning/fundamental.itely:1614 (comment)
 msgid "start of simultaneous staves section"
 msgstr "inicio de la sección de pentagramas simultáneos"
 
-#. Documentation/learning/fundamental.itely:1476 (comment)
+#. Documentation/learning/fundamental.itely:1483 (comment)
 #. Documentation/cs/learning/fundamental.itely:1616 (comment)
 msgid "create RH staff"
 msgstr "crear pentagrama de la M.D."
 
-#. Documentation/learning/fundamental.itely:1479 (comment)
+#. Documentation/learning/fundamental.itely:1486 (comment)
 #. Documentation/cs/learning/fundamental.itely:1619 (comment)
 msgid "create voice for RH notes"
 msgstr "crear voz para las notas de la M.D."
 
-#. Documentation/learning/fundamental.itely:1480 (comment)
+#. Documentation/learning/fundamental.itely:1487 (comment)
 #. Documentation/cs/learning/fundamental.itely:1620 (comment)
 msgid "start of RH notes"
 msgstr "inicio de las notas de la M.D."
 
-#. Documentation/learning/fundamental.itely:1483 (comment)
+#. Documentation/learning/fundamental.itely:1490 (comment)
 #. Documentation/cs/learning/fundamental.itely:1623 (comment)
 msgid "end of RH notes"
 msgstr "fin de las notas de la M.D."
 
-#. Documentation/learning/fundamental.itely:1484 (comment)
+#. Documentation/learning/fundamental.itely:1491 (comment)
 #. Documentation/cs/learning/fundamental.itely:1624 (comment)
 msgid "end of RH voice"
 msgstr "fin de la voz de la M.D."
 
-#. Documentation/learning/fundamental.itely:1485 (comment)
+#. Documentation/learning/fundamental.itely:1492 (comment)
 #. Documentation/cs/learning/fundamental.itely:1625 (comment)
 msgid "end of RH staff"
 msgstr "fin del pentagrama de la M.D."
 
-#. Documentation/learning/fundamental.itely:1486 (comment)
+#. Documentation/learning/fundamental.itely:1493 (comment)
 #. Documentation/cs/learning/fundamental.itely:1626 (comment)
 msgid "create LH staff; needs two simultaneous voices"
 msgstr "crear el pentagrama de la M.I.; necesita dos voces"
 
-#. Documentation/learning/fundamental.itely:1489 (comment)
+#. Documentation/learning/fundamental.itely:1496 (comment)
 #. Documentation/cs/learning/fundamental.itely:1629 (comment)
 msgid "create LH voice one"
 msgstr "crear la voz uno de la M.I."
 
-#. Documentation/learning/fundamental.itely:1491 (comment)
+#. Documentation/learning/fundamental.itely:1498 (comment)
 #. Documentation/cs/learning/fundamental.itely:1631 (comment)
 msgid "start of LH voice one notes"
 msgstr "inicio de las notas de la voz uno de la M.I."
 
-#. Documentation/learning/fundamental.itely:1494 (comment)
+#. Documentation/learning/fundamental.itely:1501 (comment)
 #. Documentation/cs/learning/fundamental.itely:1634 (comment)
 msgid "end of LH voice one notes"
 msgstr "fin de las notas de la voz uno de la M.I."
 
-#. Documentation/learning/fundamental.itely:1495 (comment)
+#. Documentation/learning/fundamental.itely:1502 (comment)
 #. Documentation/cs/learning/fundamental.itely:1635 (comment)
 msgid "end of LH voice one"
 msgstr "fin de la voz uno de la M.I."
 
-#. Documentation/learning/fundamental.itely:1496 (comment)
+#. Documentation/learning/fundamental.itely:1503 (comment)
 #. Documentation/cs/learning/fundamental.itely:1636 (comment)
 msgid "create LH voice two"
 msgstr "crear voz dos de la M.I."
 
-#. Documentation/learning/fundamental.itely:1498 (comment)
+#. Documentation/learning/fundamental.itely:1505 (comment)
 #. Documentation/cs/learning/fundamental.itely:1638 (comment)
 msgid "start of LH voice two notes"
 msgstr "inicio de las notas de la voz dos de la M.I."
 
-#. Documentation/learning/fundamental.itely:1501 (comment)
+#. Documentation/learning/fundamental.itely:1508 (comment)
 #. Documentation/cs/learning/fundamental.itely:1641 (comment)
 msgid "end of LH voice two notes"
 msgstr "fin de las notas de la voz dos de la M.I."
 
-#. Documentation/learning/fundamental.itely:1502 (comment)
+#. Documentation/learning/fundamental.itely:1509 (comment)
 #. Documentation/cs/learning/fundamental.itely:1642 (comment)
 msgid "end of LH voice two"
 msgstr "fin de la voz dos de la M.I."
 
-#. Documentation/learning/fundamental.itely:1503 (comment)
+#. Documentation/learning/fundamental.itely:1510 (comment)
 #. Documentation/cs/learning/fundamental.itely:1643 (comment)
 msgid "end of LH staff"
 msgstr "fin del pentagrama de la M.I."
 
-#. Documentation/learning/fundamental.itely:1504 (comment)
+#. Documentation/learning/fundamental.itely:1511 (comment)
 #. Documentation/cs/learning/fundamental.itely:1644 (comment)
 msgid "end of simultaneous staves section"
 msgstr "fin de la sección de pentagramas simultáneos"
 
-#. Documentation/learning/fundamental.itely:1505 (comment)
+#. Documentation/learning/fundamental.itely:1512 (comment)
 #. Documentation/cs/learning/fundamental.itely:1645 (comment)
 msgid "end of single compound music expression"
 msgstr "fin de la expresión musical compuesta única"
 
-#. Documentation/learning/fundamental.itely:1724 (comment)
+#. Documentation/learning/fundamental.itely:1731 (comment)
 #. Documentation/cs/learning/fundamental.itely:1894 (comment)
 msgid "Wrong!"
 msgstr "¡Mal!"
 
 # Fuzzy.FVD
-#. Documentation/learning/fundamental.itely:1810 (comment)
-#. Documentation/learning/fundamental.itely:1987 (comment)
+#. Documentation/learning/fundamental.itely:1817 (comment)
+#. Documentation/learning/fundamental.itely:1994 (comment)
 #. Documentation/cs/learning/fundamental.itely:1983 (comment)
 #. Documentation/cs/learning/fundamental.itely:2176 (comment)
 msgid "make note heads smaller"
 msgstr "cabezas más pequeñas"
 
 # Fuzzy.FVD
-#. Documentation/learning/fundamental.itely:1813 (comment)
-#. Documentation/learning/fundamental.itely:1989 (comment)
+#. Documentation/learning/fundamental.itely:1820 (comment)
+#. Documentation/learning/fundamental.itely:1996 (comment)
 #. Documentation/cs/learning/fundamental.itely:1986 (comment)
 #. Documentation/cs/learning/fundamental.itely:2178 (comment)
 msgid "make note heads larger"
 msgstr "cabezas más grandes"
 
-#. Documentation/learning/fundamental.itely:1816 (comment)
-#. Documentation/learning/fundamental.itely:1991 (comment)
+#. Documentation/learning/fundamental.itely:1823 (comment)
+#. Documentation/learning/fundamental.itely:1998 (comment)
 #. Documentation/cs/learning/fundamental.itely:1989 (comment)
 #. Documentation/cs/learning/fundamental.itely:2180 (comment)
 msgid "return to default size"
 msgstr "tamaño predeterminado"
 
-#. Documentation/learning/fundamental.itely:2285 (variable)
-#. Documentation/learning/fundamental.itely:2573 (variable)
+#. Documentation/learning/fundamental.itely:2292 (variable)
+#. Documentation/learning/fundamental.itely:2580 (variable)
 #. Documentation/notation/input.itely:1602 (variable)
 #. Documentation/cs/learning/fundamental.itely:2501 (variable)
 #. Documentation/cs/learning/fundamental.itely:2800 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:87 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:88 (variable)
 msgid "sopranoMusic"
 msgstr "musicaSoprano"
 
-#. Documentation/learning/fundamental.itely:2292 (variable)
+#. Documentation/learning/fundamental.itely:2299 (variable)
 #. Documentation/cs/learning/fundamental.itely:2508 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:88 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:89 (variable)
 msgid "sopranoLyrics"
 msgstr "letraSoprano"
 
-#. Documentation/learning/fundamental.itely:2296 (variable)
+#. Documentation/learning/fundamental.itely:2303 (variable)
 #. Documentation/cs/learning/fundamental.itely:2512 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:100 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:101 (variable)
 msgid "celloMusic"
 msgstr "musicaCello"
 
-#. Documentation/learning/fundamental.itely:2577 (variable)
+#. Documentation/learning/fundamental.itely:2584 (variable)
 #. Documentation/cs/learning/fundamental.itely:2804 (variable)
 msgid "sopranoWords"
 msgstr "letraSoprano"
 
-#. Documentation/learning/fundamental.itely:2580 (variable)
+#. Documentation/learning/fundamental.itely:2587 (variable)
 #. Documentation/notation/input.itely:1603 (variable)
 #. Documentation/cs/learning/fundamental.itely:2807 (variable)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:59 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:96 (variable)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:33 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:98 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:78 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:79 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:96 (variable)
 msgid "altoMusic"
 msgstr "musicaContralto"
 
-#. Documentation/learning/fundamental.itely:2584 (variable)
+#. Documentation/learning/fundamental.itely:2591 (variable)
 #. Documentation/cs/learning/fundamental.itely:2811 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:99 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:101 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:81 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:82 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:99 (variable)
 msgid "altoWords"
 msgstr "letraContralto"
 
-#. Documentation/learning/fundamental.itely:2585 (variable)
+#. Documentation/learning/fundamental.itely:2592 (variable)
 #. Documentation/notation/input.itely:1604 (variable)
 #. Documentation/cs/learning/fundamental.itely:2812 (variable)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:65 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:93 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:103 (variable)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:39 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:94 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:105 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:85 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:86 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:103 (variable)
 msgid "tenorMusic"
 msgstr "musicaTenor"
 
-#. Documentation/learning/fundamental.itely:2589 (variable)
+#. Documentation/learning/fundamental.itely:2596 (variable)
 #. Documentation/cs/learning/fundamental.itely:2816 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:106 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:108 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:88 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:89 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:106 (variable)
 msgid "tenorWords"
 msgstr "letraTenor"
 
-#. Documentation/learning/fundamental.itely:2590 (variable)
+#. Documentation/learning/fundamental.itely:2597 (variable)
 #. Documentation/notation/input.itely:1605 (variable)
 #. Documentation/cs/learning/fundamental.itely:2817 (variable)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:70 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:101 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:110 (variable)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:44 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:102 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:112 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:92 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:93 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:110 (variable)
 msgid "bassMusic"
 msgstr "musicaBajo"
 
-#. Documentation/learning/fundamental.itely:2594 (variable)
+#. Documentation/learning/fundamental.itely:2601 (variable)
 #. Documentation/cs/learning/fundamental.itely:2821 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:113 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:115 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:95 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:96 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:113 (variable)
 msgid "bassWords"
 msgstr "letraBajo"
 
-#. Documentation/learning/fundamental.itely:2611 (comment)
+#. Documentation/learning/fundamental.itely:2618 (comment)
 #. Documentation/cs/learning/fundamental.itely:2838 (comment)
 msgid "combine ChoirStaff and PianoStaff in parallel"
 msgstr "combinar ChoirStaff y PianoStaff en paralelo"
 
-#. Documentation/learning/fundamental.itely:2613 (context id)
-#. Documentation/learning/fundamental.itely:2615 (context id)
+#. Documentation/learning/fundamental.itely:2620 (context id)
+#. Documentation/learning/fundamental.itely:2622 (context id)
 #. Documentation/cs/learning/fundamental.itely:2840 (context id)
 #. Documentation/cs/learning/fundamental.itely:2842 (context id)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:83 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:124 (context id)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:57 (context id)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:127 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:102 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:103 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:124 (context id)
 msgid "sopranos"
 msgstr "sopranos"
 
-#. Documentation/learning/fundamental.itely:2623 (context id)
-#. Documentation/learning/fundamental.itely:2625 (context id)
+#. Documentation/learning/fundamental.itely:2630 (context id)
+#. Documentation/learning/fundamental.itely:2632 (context id)
 #. Documentation/cs/learning/fundamental.itely:2850 (context id)
 #. Documentation/cs/learning/fundamental.itely:2852 (context id)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:87 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:128 (context id)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:61 (context id)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:128 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:103 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:104 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:128 (context id)
 msgid "altos"
 msgstr "altos"
 
-#. Documentation/learning/fundamental.itely:2633 (context id)
-#. Documentation/learning/fundamental.itely:2635 (context id)
+#. Documentation/learning/fundamental.itely:2640 (context id)
+#. Documentation/learning/fundamental.itely:2642 (context id)
 #. Documentation/cs/learning/fundamental.itely:2860 (context id)
 #. Documentation/cs/learning/fundamental.itely:2862 (context id)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:96 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:140 (context id)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:70 (context id)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:138 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:115 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:116 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:140 (context id)
 msgid "tenors"
 msgstr "tenores"
 
-#. Documentation/learning/fundamental.itely:2643 (context id)
-#. Documentation/learning/fundamental.itely:2645 (context id)
+#. Documentation/learning/fundamental.itely:2650 (context id)
+#. Documentation/learning/fundamental.itely:2652 (context id)
 #. Documentation/cs/learning/fundamental.itely:2870 (context id)
 #. Documentation/cs/learning/fundamental.itely:2872 (context id)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:100 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:144 (context id)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:74 (context id)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:139 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:116 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:117 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:144 (context id)
 msgid "basses"
 msgstr "bajos"
 
-#. Documentation/learning/fundamental.itely:2653 (comment)
+#. Documentation/learning/fundamental.itely:2660 (comment)
 #. Documentation/cs/learning/fundamental.itely:2880 (comment)
 msgid "end ChoirStaff"
 msgstr "fin del ChoirStaff"
 
-#. Documentation/learning/fundamental.itely:2905 (variable)
+#. Documentation/learning/fundamental.itely:2912 (variable)
 #. Documentation/cs/learning/fundamental.itely:3156 (variable)
 msgid "ManualOneVoiceOneMusic"
 msgstr "MusicaManualUnoVozUno"
 
-#. Documentation/learning/fundamental.itely:2909 (variable)
+#. Documentation/learning/fundamental.itely:2916 (variable)
 #. Documentation/cs/learning/fundamental.itely:3160 (variable)
 msgid "ManualOneVoiceTwoMusic"
 msgstr "MusicaManualUnoVozDos"
 
-#. Documentation/learning/fundamental.itely:2913 (variable)
+#. Documentation/learning/fundamental.itely:2920 (variable)
 #. Documentation/cs/learning/fundamental.itely:3164 (variable)
 msgid "ManualTwoMusic"
 msgstr "MusicaManualDos"
 
-#. Documentation/learning/fundamental.itely:2917 (variable)
+#. Documentation/learning/fundamental.itely:2924 (variable)
 #. Documentation/cs/learning/fundamental.itely:3168 (variable)
 msgid "PedalOrganMusic"
 msgstr "MusicaPedales"
 
-#. Documentation/learning/fundamental.itely:2923 (comment)
+#. Documentation/learning/fundamental.itely:2930 (comment)
 #. Documentation/cs/learning/fundamental.itely:3174 (comment)
 msgid "PianoStaff and Pedal Staff must be simultaneous"
 msgstr "El PianoStaff y el pentagrama del Pedal son simultáneos"
 
-#. Documentation/learning/fundamental.itely:2925 (context id)
+#. Documentation/learning/fundamental.itely:2932 (context id)
 #. Documentation/cs/learning/fundamental.itely:3176 (context id)
 msgid "ManualOne"
 msgstr "ManualUno"
 
-#. Documentation/learning/fundamental.itely:2926 (comment)
+#. Documentation/learning/fundamental.itely:2933 (comment)
 msgid "set key and time signature"
 msgstr "Fijar la armadura y el compás"
 
-#. Documentation/learning/fundamental.itely:2936 (comment)
+#. Documentation/learning/fundamental.itely:2943 (comment)
 #. Documentation/cs/learning/fundamental.itely:3187 (comment)
 msgid "end ManualOne Staff context"
 msgstr "fin del contexto de pentagrama del ManualUno"
 
-#. Documentation/learning/fundamental.itely:2937 (context id)
+#. Documentation/learning/fundamental.itely:2944 (context id)
 #. Documentation/cs/learning/fundamental.itely:3188 (context id)
 msgid "ManualTwo"
 msgstr "ManualDos"
 
-#. Documentation/learning/fundamental.itely:2946 (comment)
+#. Documentation/learning/fundamental.itely:2953 (comment)
 #. Documentation/cs/learning/fundamental.itely:3197 (comment)
 msgid "end ManualTwo Staff context"
 msgstr "fin del contexto de pentagrama del ManualDos"
 
-#. Documentation/learning/fundamental.itely:2947 (comment)
+#. Documentation/learning/fundamental.itely:2954 (comment)
 #. Documentation/cs/learning/fundamental.itely:3198 (comment)
 msgid "end PianoStaff context"
 msgstr "fin del contexto PianoStaff"
 
-#. Documentation/learning/fundamental.itely:2948 (context id)
+#. Documentation/learning/fundamental.itely:2955 (context id)
 #. Documentation/cs/learning/fundamental.itely:3199 (context id)
 msgid "PedalOrgan"
 msgstr "Pedales"
 
-#. Documentation/learning/fundamental.itely:2954 (comment)
+#. Documentation/learning/fundamental.itely:2961 (comment)
 #. Documentation/cs/learning/fundamental.itely:3205 (comment)
 msgid "end PedalOrgan Staff context"
 msgstr "fin del contexto de pentagrama del Pedal"
 
-#. Documentation/learning/fundamental.itely:2956 (comment)
+#. Documentation/learning/fundamental.itely:2963 (comment)
 #. Documentation/cs/learning/fundamental.itely:3207 (comment)
 msgid "end Score context"
 msgstr "fin del contexto de Score (partitura)"
 
-#. Documentation/learning/fundamental.itely:2972 (variable)
+#. Documentation/learning/fundamental.itely:2979 (variable)
 #. Documentation/cs/learning/fundamental.itely:3224 (variable)
 msgid "hornNotes"
 msgstr "notasTrompa"
 
-#. Documentation/learning/fundamental.itely:2984 (variable)
+#. Documentation/learning/fundamental.itely:2991 (variable)
 #. Documentation/cs/learning/fundamental.itely:3237 (variable)
 msgid "fragmentA"
 msgstr "fragmentoA"
 
-#. Documentation/learning/fundamental.itely:2985 (variable)
+#. Documentation/learning/fundamental.itely:2992 (variable)
 #. Documentation/cs/learning/fundamental.itely:3238 (variable)
 msgid "fragmentB"
 msgstr "fragmentoB"
 
-#. Documentation/learning/fundamental.itely:3004 (variable)
+#. Documentation/learning/fundamental.itely:3011 (variable)
 #. Documentation/cs/learning/fundamental.itely:3257 (variable)
 msgid "dolce"
 msgstr "dolce"
 
-#. Documentation/learning/fundamental.itely:3007 (variable)
+#. Documentation/learning/fundamental.itely:3014 (variable)
 #. Documentation/cs/learning/fundamental.itely:3259 (variable)
 msgid "fthenp"
 msgstr "f_luego_p"
@@ -2335,190 +2345,187 @@ msgstr "Ahorrar tecleo mediante variables y funciones"
 msgid "Scores and parts"
 msgstr "Partituras y particellas"
 
-#. Documentation/learning/tweaks.itely:605 (comment)
-#. Documentation/learning/tweaks.itely:743 (comment)
+#. Documentation/learning/tweaks.itely:604 (comment)
+#. Documentation/learning/tweaks.itely:742 (comment)
 #. Documentation/cs/learning/tweaks.itely:680 (comment)
 #. Documentation/cs/learning/tweaks.itely:825 (comment)
 msgid "Increase thickness of all following slurs from 1.2 to 5.0"
 msgstr "Aumentar el grosor de todas las ligaduras siguientes de 1.2 a 5.0"
 
-#. Documentation/learning/tweaks.itely:675 (comment)
-#. Documentation/learning/tweaks.itely:715 (comment)
-#. Documentation/learning/tweaks.itely:718 (comment)
+#. Documentation/learning/tweaks.itely:674 (comment)
+#. Documentation/learning/tweaks.itely:714 (comment)
+#. Documentation/learning/tweaks.itely:717 (comment)
 #. Documentation/cs/learning/tweaks.itely:755 (comment)
 #. Documentation/cs/learning/tweaks.itely:797 (comment)
 #. Documentation/cs/learning/tweaks.itely:800 (comment)
 msgid "Increase thickness of immediately following slur only"
 msgstr "Aumentar solamente el grosor de la ligadura siguiente"
 
-#. Documentation/learning/tweaks.itely:747 (comment)
+#. Documentation/learning/tweaks.itely:746 (comment)
 #. Documentation/cs/learning/tweaks.itely:829 (comment)
 msgid "Revert thickness of all following slurs to default of 1.2"
-msgstr ""
-"Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
+msgstr "Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2"
 
-#. Documentation/learning/tweaks.itely:1424 (comment)
+#. Documentation/learning/tweaks.itely:1423 (comment)
 #. Documentation/cs/learning/tweaks.itely:1584 (comment)
 msgid "Don't print clefs in this staff"
 msgstr "No imprimir la clave en este pentagrama"
 
-#. Documentation/learning/tweaks.itely:1426 (comment)
+#. Documentation/learning/tweaks.itely:1425 (comment)
 #. Documentation/cs/learning/tweaks.itely:1586 (comment)
 msgid "Don't print time signatures in this staff"
 msgstr "No imprimir el compás en este pentagrama"
 
-#. Documentation/learning/tweaks.itely:1490 (comment)
+#. Documentation/learning/tweaks.itely:1489 (comment)
 #. Documentation/cs/learning/tweaks.itely:1657 (comment)
 msgid "Reduce all font sizes by ~24%"
 msgstr "Reducir el tamaño de la fuente en un 24% aprox."
 
-#. Documentation/learning/tweaks.itely:1557 (comment)
+#. Documentation/learning/tweaks.itely:1556 (comment)
 #. Documentation/cs/learning/tweaks.itely:1731 (comment)
 msgid "Reduce stem length and line spacing to match"
-msgstr ""
-"Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
+msgstr "Reducir la longitud de la plica y el espaciado de la línea en coincidencia"
 
-#. Documentation/learning/tweaks.itely:2008 (comment)
-#. Documentation/learning/tweaks.itely:2058 (comment)
+#. Documentation/learning/tweaks.itely:2007 (comment)
+#. Documentation/learning/tweaks.itely:2057 (comment)
 #. Documentation/cs/learning/tweaks.itely:2207 (comment)
 #. Documentation/cs/learning/tweaks.itely:2285 (comment)
 msgid "Set details for later Text Spanner"
 msgstr "Establecer ajustes para el extensor de texto ulterior"
 
-#. Documentation/learning/tweaks.itely:2011 (comment)
-#. Documentation/learning/tweaks.itely:2061 (comment)
+#. Documentation/learning/tweaks.itely:2010 (comment)
+#. Documentation/learning/tweaks.itely:2060 (comment)
 #. Documentation/cs/learning/tweaks.itely:2210 (comment)
 #. Documentation/cs/learning/tweaks.itely:2288 (comment)
 msgid "Place dynamics above staff"
 msgstr "Situar la dinámica por encima"
 
 # fuzzy. FVD
-#. Documentation/learning/tweaks.itely:2013 (comment)
-#. Documentation/learning/tweaks.itely:2065 (comment)
+#. Documentation/learning/tweaks.itely:2012 (comment)
+#. Documentation/learning/tweaks.itely:2064 (comment)
 #. Documentation/cs/learning/tweaks.itely:2212 (comment)
 #. Documentation/cs/learning/tweaks.itely:2292 (comment)
 msgid "Start Ottava Bracket"
 msgstr "Inicio del corchete de octava"
 
-#. Documentation/learning/tweaks.itely:2016 (comment)
+#. Documentation/learning/tweaks.itely:2015 (comment)
 #. Documentation/cs/learning/tweaks.itely:2215 (comment)
 msgid "Add Dynamic Text and hairpin"
 msgstr "Añadir indicación dinámica textual y regulador"
 
-#. Documentation/learning/tweaks.itely:2019 (comment)
-#. Documentation/learning/tweaks.itely:2072 (comment)
+#. Documentation/learning/tweaks.itely:2018 (comment)
+#. Documentation/learning/tweaks.itely:2071 (comment)
 #. Documentation/cs/learning/tweaks.itely:2218 (comment)
 #. Documentation/cs/learning/tweaks.itely:2299 (comment)
 msgid "Add Text Script"
 msgstr "Añadir inscripción de texto"
 
-#. Documentation/learning/tweaks.itely:2022 (comment)
+#. Documentation/learning/tweaks.itely:2021 (comment)
 #. Documentation/cs/learning/tweaks.itely:2221 (comment)
 msgid "Add Dynamic Text and terminate hairpin"
 msgstr "Añadir indicación dinámica textual y terminar regulador"
 
-#. Documentation/learning/tweaks.itely:2024 (comment)
-#. Documentation/learning/tweaks.itely:2077 (comment)
+#. Documentation/learning/tweaks.itely:2023 (comment)
+#. Documentation/learning/tweaks.itely:2076 (comment)
 #. Documentation/cs/learning/tweaks.itely:2223 (comment)
 #. Documentation/cs/learning/tweaks.itely:2304 (comment)
 msgid "Stop Ottava Bracket"
 msgstr "Detener el corchete de octava"
 
-#. Documentation/learning/tweaks.itely:2063 (comment)
+#. Documentation/learning/tweaks.itely:2062 (comment)
 #. Documentation/cs/learning/tweaks.itely:2290 (comment)
 msgid "Place following Ottava Bracket below Text Spanners"
-msgstr ""
-"Situar el corchete de octava ulterior por debajo de los extensores de texto"
+msgstr "Situar el corchete de octava ulterior por debajo de los extensores de texto"
 
-#. Documentation/learning/tweaks.itely:2068 (comment)
-#. Documentation/learning/tweaks.itely:2075 (comment)
+#. Documentation/learning/tweaks.itely:2067 (comment)
+#. Documentation/learning/tweaks.itely:2074 (comment)
 #. Documentation/cs/learning/tweaks.itely:2295 (comment)
 #. Documentation/cs/learning/tweaks.itely:2302 (comment)
 msgid "Add Dynamic Text"
 msgstr "Añadir indicación dinámica textual"
 
-#. Documentation/learning/tweaks.itely:2070 (comment)
+#. Documentation/learning/tweaks.itely:2069 (comment)
 #. Documentation/cs/learning/tweaks.itely:2297 (comment)
 msgid "Add Dynamic Line Spanner"
 msgstr "Añadir indicación dinámica de extensión de línea"
 
-#. Documentation/learning/tweaks.itely:2157 (comment)
+#. Documentation/learning/tweaks.itely:2156 (comment)
 #. Documentation/cs/learning/tweaks.itely:2380 (comment)
 msgid "Cause notes to space out to accommodate text"
 msgstr "Ocasionar que las notas se espacíen para adecuarse al texto"
 
-#. Documentation/learning/tweaks.itely:2180 (comment)
+#. Documentation/learning/tweaks.itely:2179 (comment)
 #. Documentation/cs/learning/tweaks.itely:2406 (comment)
 msgid "This markup is short enough to fit without collision"
 msgstr "Este marcado es corto y cabe sin colisionar"
 
-#. Documentation/learning/tweaks.itely:2184 (comment)
+#. Documentation/learning/tweaks.itely:2183 (comment)
 #. Documentation/cs/learning/tweaks.itely:2410 (comment)
 msgid "This is too long to fit, so it is displaced upwards"
 msgstr "Este es muy largo y se desplaza hacia arriba"
 
-#. Documentation/learning/tweaks.itely:2188 (comment)
-#. Documentation/learning/tweaks.itely:2193 (comment)
+#. Documentation/learning/tweaks.itely:2187 (comment)
+#. Documentation/learning/tweaks.itely:2192 (comment)
 #. Documentation/cs/learning/tweaks.itely:2414 (comment)
 #. Documentation/cs/learning/tweaks.itely:2419 (comment)
 msgid "Turn off collision avoidance"
 msgstr "Desactivar el detector de colisiones"
 
-#. Documentation/learning/tweaks.itely:2195 (comment)
+#. Documentation/learning/tweaks.itely:2194 (comment)
 #. Documentation/cs/learning/tweaks.itely:2421 (comment)
 msgid "and turn on textLengthOn"
 msgstr "y activar textLengthOn"
 
-#. Documentation/learning/tweaks.itely:2196 (comment)
+#. Documentation/learning/tweaks.itely:2195 (comment)
 #. Documentation/cs/learning/tweaks.itely:2422 (comment)
 msgid "Spaces at end are honored"
 msgstr "Los espacios al final se respetan"
 
-#. Documentation/learning/tweaks.itely:2303 (comment)
+#. Documentation/learning/tweaks.itely:2302 (comment)
 #. Documentation/cs/learning/tweaks.itely:2537 (comment)
 msgid "Extend width by 1 staff space"
 msgstr "Aumentar la anchura en un espacio de pentagrama"
 
-#. Documentation/learning/tweaks.itely:2583 (comment)
+#. Documentation/learning/tweaks.itely:2582 (comment)
 #. Documentation/cs/learning/tweaks.itely:2863 (comment)
 msgid "This will not work, see below"
 msgstr "Esto no va a funcionar, véase más abajo"
 
-#. Documentation/learning/tweaks.itely:2587 (comment)
+#. Documentation/learning/tweaks.itely:2586 (comment)
 #. Documentation/cs/learning/tweaks.itely:2867 (comment)
 msgid "This works"
 msgstr "Esto sí funciona"
 
-#. Documentation/learning/tweaks.itely:2623 (variable)
+#. Documentation/learning/tweaks.itely:2622 (variable)
 #. Documentation/cs/learning/tweaks.itely:2909 (variable)
 msgid "sesquisharp"
 msgstr "sesquisostenido"
 
-#. Documentation/learning/tweaks.itely:2626 (comment)
+#. Documentation/learning/tweaks.itely:2625 (comment)
 #. Documentation/cs/learning/tweaks.itely:2912 (comment)
 msgid "This prints a sesquisharp but the spacing is too small"
 msgstr "Imprime un sesquisostenido pero el espaciado es muy pequeño"
 
-#. Documentation/learning/tweaks.itely:2631 (comment)
+#. Documentation/learning/tweaks.itely:2630 (comment)
 #. Documentation/cs/learning/tweaks.itely:2917 (comment)
 msgid "This improves the spacing"
 msgstr "Mejora el espaciado"
 
-#. Documentation/learning/tweaks.itely:2671 (comment)
+#. Documentation/learning/tweaks.itely:2670 (comment)
 #. Documentation/cs/learning/tweaks.itely:2961 (comment)
 msgid "Extend width by 1 unit"
 msgstr "Aumentar la anchura en una unidad"
 
-#. Documentation/learning/tweaks.itely:2673 (comment)
+#. Documentation/learning/tweaks.itely:2672 (comment)
 #. Documentation/cs/learning/tweaks.itely:2963 (comment)
 msgid "Align dynamics to a base line 2 units above staff"
 msgstr "Alinear los matices a dos unidades por encima del pentagrama"
 
-#. Documentation/learning/tweaks.itely:3014 (variable)
-#. Documentation/learning/tweaks.itely:3071 (variable)
-#. Documentation/learning/tweaks.itely:3141 (variable)
-#. Documentation/learning/tweaks.itely:3294 (variable)
-#. Documentation/learning/tweaks.itely:3364 (variable)
+#. Documentation/learning/tweaks.itely:3015 (variable)
+#. Documentation/learning/tweaks.itely:3072 (variable)
+#. Documentation/learning/tweaks.itely:3142 (variable)
+#. Documentation/learning/tweaks.itely:3295 (variable)
+#. Documentation/learning/tweaks.itely:3365 (variable)
 #. Documentation/cs/learning/tweaks.itely:3319 (variable)
 #. Documentation/cs/learning/tweaks.itely:3379 (variable)
 #. Documentation/cs/learning/tweaks.itely:3453 (variable)
@@ -2528,11 +2535,11 @@ msgstr "Alinear los matices a dos unidades por encima del pentagrama"
 msgid "rhMusic"
 msgstr "Musica_m_der"
 
-#. Documentation/learning/tweaks.itely:3020 (comment)
-#. Documentation/learning/tweaks.itely:3077 (comment)
-#. Documentation/learning/tweaks.itely:3149 (comment)
-#. Documentation/learning/tweaks.itely:3304 (comment)
-#. Documentation/learning/tweaks.itely:3374 (comment)
+#. Documentation/learning/tweaks.itely:3021 (comment)
+#. Documentation/learning/tweaks.itely:3078 (comment)
+#. Documentation/learning/tweaks.itely:3150 (comment)
+#. Documentation/learning/tweaks.itely:3305 (comment)
+#. Documentation/learning/tweaks.itely:3375 (comment)
 #. Documentation/cs/learning/tweaks.itely:3324 (comment)
 #. Documentation/cs/learning/tweaks.itely:3385 (comment)
 #. Documentation/cs/learning/tweaks.itely:3461 (comment)
@@ -2542,16 +2549,16 @@ msgstr "Musica_m_der"
 msgid "Start polyphonic section of four voices"
 msgstr "Inicio de la sección polifónica de cuatro voces"
 
-#. Documentation/learning/tweaks.itely:3022 (comment)
-#. Documentation/learning/tweaks.itely:3036 (comment)
-#. Documentation/learning/tweaks.itely:3079 (comment)
-#. Documentation/learning/tweaks.itely:3093 (comment)
-#. Documentation/learning/tweaks.itely:3151 (comment)
-#. Documentation/learning/tweaks.itely:3165 (comment)
-#. Documentation/learning/tweaks.itely:3306 (comment)
-#. Documentation/learning/tweaks.itely:3325 (comment)
-#. Documentation/learning/tweaks.itely:3376 (comment)
-#. Documentation/learning/tweaks.itely:3404 (comment)
+#. Documentation/learning/tweaks.itely:3023 (comment)
+#. Documentation/learning/tweaks.itely:3037 (comment)
+#. Documentation/learning/tweaks.itely:3080 (comment)
+#. Documentation/learning/tweaks.itely:3094 (comment)
+#. Documentation/learning/tweaks.itely:3152 (comment)
+#. Documentation/learning/tweaks.itely:3166 (comment)
+#. Documentation/learning/tweaks.itely:3307 (comment)
+#. Documentation/learning/tweaks.itely:3326 (comment)
+#. Documentation/learning/tweaks.itely:3377 (comment)
+#. Documentation/learning/tweaks.itely:3405 (comment)
 #. Documentation/cs/learning/tweaks.itely:3326 (comment)
 #. Documentation/cs/learning/tweaks.itely:3340 (comment)
 #. Documentation/cs/learning/tweaks.itely:3387 (comment)
@@ -2567,11 +2574,11 @@ msgstr "Inicio de la sección polifónica de cuatro voces"
 msgid "continuation of main voice"
 msgstr "continuación de la voz principal"
 
-#. Documentation/learning/tweaks.itely:3040 (variable)
-#. Documentation/learning/tweaks.itely:3097 (variable)
-#. Documentation/learning/tweaks.itely:3169 (variable)
-#. Documentation/learning/tweaks.itely:3329 (variable)
-#. Documentation/learning/tweaks.itely:3408 (variable)
+#. Documentation/learning/tweaks.itely:3041 (variable)
+#. Documentation/learning/tweaks.itely:3098 (variable)
+#. Documentation/learning/tweaks.itely:3170 (variable)
+#. Documentation/learning/tweaks.itely:3330 (variable)
+#. Documentation/learning/tweaks.itely:3409 (variable)
 #. Documentation/cs/learning/tweaks.itely:3344 (variable)
 #. Documentation/cs/learning/tweaks.itely:3405 (variable)
 #. Documentation/cs/learning/tweaks.itely:3481 (variable)
@@ -2581,11 +2588,11 @@ msgstr "continuación de la voz principal"
 msgid "lhMusic"
 msgstr "Muslca_m_izq"
 
-#. Documentation/learning/tweaks.itely:3049 (context id)
-#. Documentation/learning/tweaks.itely:3106 (context id)
-#. Documentation/learning/tweaks.itely:3178 (context id)
-#. Documentation/learning/tweaks.itely:3338 (context id)
-#. Documentation/learning/tweaks.itely:3417 (context id)
+#. Documentation/learning/tweaks.itely:3050 (context id)
+#. Documentation/learning/tweaks.itely:3107 (context id)
+#. Documentation/learning/tweaks.itely:3179 (context id)
+#. Documentation/learning/tweaks.itely:3339 (context id)
+#. Documentation/learning/tweaks.itely:3418 (context id)
 #. Documentation/notation/input.itely:1623 (context id)
 #. Documentation/cs/learning/tweaks.itely:3353 (context id)
 #. Documentation/cs/learning/tweaks.itely:3414 (context id)
@@ -2593,16 +2600,16 @@ msgstr "Muslca_m_izq"
 #. Documentation/cs/learning/tweaks.itely:3578 (context id)
 #. Documentation/cs/learning/tweaks.itely:3654 (context id)
 #. Documentation/cs/learning/tweaks.itely:3733 (context id)
-#. Documentation/snippets/repeats-headword.ly:33 (context id)
-#. Documentation/snippets/simultaneous-headword.ly:54 (comment)
+#. Documentation/snippets/repeats-headword.ly:28 (context id)
+#. Documentation/snippets/simultaneous-headword.ly:51 (comment)
 msgid "RH"
 msgstr "MD"
 
-#. Documentation/learning/tweaks.itely:3053 (context id)
-#. Documentation/learning/tweaks.itely:3110 (context id)
-#. Documentation/learning/tweaks.itely:3182 (context id)
-#. Documentation/learning/tweaks.itely:3342 (context id)
-#. Documentation/learning/tweaks.itely:3421 (context id)
+#. Documentation/learning/tweaks.itely:3054 (context id)
+#. Documentation/learning/tweaks.itely:3111 (context id)
+#. Documentation/learning/tweaks.itely:3183 (context id)
+#. Documentation/learning/tweaks.itely:3343 (context id)
+#. Documentation/learning/tweaks.itely:3422 (context id)
 #. Documentation/notation/input.itely:1629 (context id)
 #. Documentation/cs/learning/tweaks.itely:3357 (context id)
 #. Documentation/cs/learning/tweaks.itely:3418 (context id)
@@ -2610,96 +2617,96 @@ msgstr "MD"
 #. Documentation/cs/learning/tweaks.itely:3582 (context id)
 #. Documentation/cs/learning/tweaks.itely:3658 (context id)
 #. Documentation/cs/learning/tweaks.itely:3737 (context id)
-#. Documentation/snippets/repeats-headword.ly:95 (context id)
-#. Documentation/snippets/text-headword.ly:132 (comment)
+#. Documentation/snippets/repeats-headword.ly:90 (context id)
+#. Documentation/snippets/text-headword.ly:129 (comment)
 msgid "LH"
 msgstr "MI"
 
-#. Documentation/learning/tweaks.itely:3309 (comment)
-#. Documentation/learning/tweaks.itely:3382 (comment)
+#. Documentation/learning/tweaks.itely:3310 (comment)
+#. Documentation/learning/tweaks.itely:3383 (comment)
 msgid "Move the c2 out of the main note column"
 msgstr "Sacar el Do blanca de la columna principal de notas"
 
-#. Documentation/learning/tweaks.itely:3310 (comment)
-#. Documentation/learning/tweaks.itely:3383 (comment)
+#. Documentation/learning/tweaks.itely:3311 (comment)
+#. Documentation/learning/tweaks.itely:3384 (comment)
 msgid "so the merge will work"
 msgstr "para que la fusión funcione"
 
-#. Documentation/learning/tweaks.itely:3315 (comment)
-#. Documentation/learning/tweaks.itely:3390 (comment)
+#. Documentation/learning/tweaks.itely:3316 (comment)
+#. Documentation/learning/tweaks.itely:3391 (comment)
 #. Documentation/cs/learning/tweaks.itely:3631 (comment)
 #. Documentation/cs/learning/tweaks.itely:3706 (comment)
 msgid "Stem on the d2 must be down to permit merging"
 msgstr "La plica del Re blanca debe estar hacia abajo para permitir la fusión"
 
-#. Documentation/learning/tweaks.itely:3380 (comment)
+#. Documentation/learning/tweaks.itely:3381 (comment)
 #. Documentation/cs/learning/tweaks.itely:3697 (comment)
 msgid "Reposition the c2 to the right of the merged note"
 msgstr "Recolocar el Do blanca a la derecha de la nota fundida"
 
-#. Documentation/learning/tweaks.itely:3392 (comment)
+#. Documentation/learning/tweaks.itely:3393 (comment)
 #. Documentation/cs/learning/tweaks.itely:3708 (comment)
 msgid "Stem on the d2 should be invisible"
 msgstr "La plica del Re2 debería ser invisible"
 
-#. Documentation/learning/tweaks.itely:3529 (comment)
-#. Documentation/learning/tweaks.itely:3551 (comment)
+#. Documentation/learning/tweaks.itely:3530 (comment)
+#. Documentation/learning/tweaks.itely:3552 (comment)
 #. Documentation/cs/learning/tweaks.itely:3859 (comment)
 #. Documentation/cs/learning/tweaks.itely:3878 (comment)
 msgid "Visible tempo marking"
 msgstr "Indicación metronómica visible"
 
-#. Documentation/learning/tweaks.itely:3533 (comment)
-#. Documentation/learning/tweaks.itely:3555 (comment)
+#. Documentation/learning/tweaks.itely:3534 (comment)
+#. Documentation/learning/tweaks.itely:3556 (comment)
 #. Documentation/cs/learning/tweaks.itely:3863 (comment)
 #. Documentation/cs/learning/tweaks.itely:3882 (comment)
 msgid "Invisible tempo marking to lengthen fermata in MIDI"
 msgstr "Indicación metronómica invisible para prolongar el calderón en el MIDI"
 
-#. Documentation/learning/tweaks.itely:3536 (comment)
-#. Documentation/learning/tweaks.itely:3558 (comment)
+#. Documentation/learning/tweaks.itely:3537 (comment)
+#. Documentation/learning/tweaks.itely:3559 (comment)
 #. Documentation/cs/learning/tweaks.itely:3866 (comment)
 #. Documentation/cs/learning/tweaks.itely:3885 (comment)
 msgid "New tempo for next section"
 msgstr "Tempo nuevo para la sección siguiente"
 
-#. Documentation/learning/tweaks.itely:3619 (variable)
+#. Documentation/learning/tweaks.itely:3620 (variable)
 #. Documentation/cs/learning/tweaks.itely:3955 (variable)
 msgid "emphasize"
 msgstr "enfatizar"
 
-#. Documentation/learning/tweaks.itely:3624 (variable)
+#. Documentation/learning/tweaks.itely:3625 (variable)
 #. Documentation/cs/learning/tweaks.itely:3959 (variable)
 msgid "normal"
 msgstr "normal"
 
-#. Documentation/learning/tweaks.itely:3631 (variable)
+#. Documentation/learning/tweaks.itely:3632 (variable)
 #. Documentation/cs/learning/tweaks.itely:3966 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:64 (variable)
-#. Documentation/snippets/hymn-template.ly:69 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:65 (variable)
+#. Documentation/snippets/hymn-template.ly:70 (variable)
 msgid "SopranoMusic"
 msgstr "musicaSoprano"
 
-#. Documentation/learning/tweaks.itely:3656 (context id)
+#. Documentation/learning/tweaks.itely:3657 (context id)
 #. Documentation/notation/input.itely:1608 (context id)
 #. Documentation/cs/learning/tweaks.itely:3991 (context id)
-#. Documentation/snippets/anglican-psalm-template.ly:105 (context id)
+#. Documentation/snippets/anglican-psalm-template.ly:106 (context id)
 #. Documentation/snippets/chords-headword.ly:44 (variable)
-#. Documentation/snippets/hymn-template.ly:99 (context id)
+#. Documentation/snippets/hymn-template.ly:100 (context id)
 msgid "Soprano"
 msgstr "Soprano"
 
-#. Documentation/learning/tweaks.itely:3687 (variable)
+#. Documentation/learning/tweaks.itely:3688 (variable)
 #. Documentation/cs/learning/tweaks.itely:4024 (variable)
 msgid "mpdolce"
 msgstr "mpdolce"
 
-#. Documentation/learning/tweaks.itely:3694 (variable)
+#. Documentation/learning/tweaks.itely:3696 (variable)
 #. Documentation/cs/learning/tweaks.itely:4031 (variable)
 msgid "inst"
 msgstr "inst"
 
-#. Documentation/learning/tweaks.itely:4172 (comment)
+#. Documentation/learning/tweaks.itely:4157 (comment)
 #. Documentation/cs/learning/tweaks.itely:4557 (comment)
 msgid "Arrange to obtain color from color-notehead procedure"
 msgstr "Truco para obtener color a partir del procedimiento color-notehead"
@@ -2974,10 +2981,6 @@ msgstr "Piano y melodía con letra"
 msgid "Piano centered lyrics"
 msgstr "Piano con letra centrada"
 
-#. @appendixsubsec in Documentation/learning/templates.itely
-msgid "Piano centered dynamics"
-msgstr "Piano con dinámicas centradas"
-
 #. @node in Documentation/learning/templates.itely
 #. @appendixsec in Documentation/learning/templates.itely
 #. @appendixsubsec in Documentation/learning/templates.itely
@@ -3059,10 +3062,10 @@ msgstr "Términos musicales de la A a la Z"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/notation/changing-defaults.itely:454 (context id)
-#. Documentation/notation/changing-defaults.itely:460 (context id)
-#. Documentation/notation/changing-defaults.itely:468 (context id)
-#. Documentation/notation/changing-defaults.itely:470 (context id)
+#. Documentation/notation/changing-defaults.itely:453 (context id)
+#. Documentation/notation/changing-defaults.itely:459 (context id)
+#. Documentation/notation/changing-defaults.itely:467 (context id)
+#. Documentation/notation/changing-defaults.itely:469 (context id)
 msgid "A"
 msgstr "A"
 
@@ -3114,7 +3117,7 @@ msgstr "alteración"
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
 #. Documentation/snippets/jazz-combo-template.ly:130 (variable)
-#. Documentation/snippets/satb-choir-template---four-staves.ly:86 (context id)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:87 (context id)
 msgid "alto"
 msgstr "alto"
 
@@ -3160,9 +3163,9 @@ msgstr "autógrafo"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/notation/changing-defaults.itely:455 (context id)
-#. Documentation/notation/changing-defaults.itely:464 (context id)
-#. Documentation/notation/changing-defaults.itely:469 (context id)
+#. Documentation/notation/changing-defaults.itely:454 (context id)
+#. Documentation/notation/changing-defaults.itely:463 (context id)
+#. Documentation/notation/changing-defaults.itely:468 (context id)
 msgid "B"
 msgstr "B"
 
@@ -3194,11 +3197,11 @@ msgstr "clave de barítono (do en quinta)"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:48 (variable)
+#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:49 (variable)
 #. Documentation/snippets/fretted-headword.ly:108 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:263 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:311 (context id)
-#. Documentation/snippets/satb-choir-template---four-staves.ly:100 (context id)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:101 (context id)
 msgid "bass"
 msgstr "bajo"
 
@@ -3264,7 +3267,7 @@ msgstr "cadenza"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/snippets/breathing-signs.ly:39 (comment)
+#. Documentation/snippets/breathing-signs.ly:40 (comment)
 msgid "caesura"
 msgstr "cesura"
 
@@ -4019,8 +4022,8 @@ msgstr "ornamento"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/snippets/flamenco-notation.ly:187 (variable)
-#. Documentation/snippets/flamenco-notation.ly:284 (context id)
+#. Documentation/snippets/flamenco-notation.ly:169 (variable)
+#. Documentation/snippets/flamenco-notation.ly:266 (context id)
 msgid "part"
 msgstr "parte"
 
@@ -4274,7 +4277,7 @@ msgstr "textos de canciones"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/snippets/satb-choir-template---four-staves.ly:79 (context id)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:80 (context id)
 msgid "soprano"
 msgstr "soprano"
 
@@ -4360,7 +4363,7 @@ msgstr "temperamento"
 
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
-#. Documentation/snippets/satb-choir-template---four-staves.ly:93 (context id)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:94 (context id)
 msgid "tenor"
 msgstr "tenor"
 
@@ -4404,11 +4407,6 @@ msgstr "compás"
 msgid "tone"
 msgstr "tonalidad"
 
-#. @node in Documentation/music-glossary.tely
-#. @section in Documentation/music-glossary.tely
-msgid "tonic"
-msgstr "tónica"
-
 #. @node in Documentation/music-glossary.tely
 #. @section in Documentation/music-glossary.tely
 msgid "transposing instrument"
@@ -4584,32 +4582,30 @@ msgstr "Notación musical"
 msgid "Specialist notation"
 msgstr "Notación especializada"
 
-#. Documentation/notation/input.itely:598 (comment)
+#. Documentation/notation/input.itely:597 (comment)
 msgid "Do not display the tagline for this book"
 msgstr "No imprimir la línea de etiqueta en este libro"
 
-#. Documentation/notation/input.itely:610 (comment)
-#. Documentation/notation/input.itely:623 (comment)
+#. Documentation/notation/input.itely:609 (comment)
+#. Documentation/notation/input.itely:622 (comment)
 msgid "Do not display the subtitle for this score"
 msgstr "No imprimir el subtítulo en esta partitura"
 
-#. Documentation/notation/input.itely:646 (comment)
+#. Documentation/notation/input.itely:645 (comment)
 msgid "The following fields are centered"
 msgstr "Los campos siguientes están centrados"
 
-#. Documentation/notation/input.itely:653 (comment)
+#. Documentation/notation/input.itely:652 (comment)
 msgid "The following fields are left-aligned on the left side"
-msgstr ""
-"Los campos siguientes están alineados a la izquierda en la parte izquierda"
+msgstr "Los campos siguientes están alineados a la izquierda en la parte izquierda"
 
-#. Documentation/notation/input.itely:657 (comment)
+#. Documentation/notation/input.itely:656 (comment)
 msgid "The following fields are right-aligned on the right side"
 msgstr "Los campos siguientes están alineados a la derecha en la parte derecha"
 
-#. Documentation/notation/input.itely:665 (comment)
+#. Documentation/notation/input.itely:664 (comment)
 msgid "The following fields are placed at opposite ends of the same line"
-msgstr ""
-"Los campos siguientes están situados en extremos opuestos de la misma línea"
+msgstr "Los campos siguientes están situados en extremos opuestos de la misma línea"
 
 #. Documentation/notation/input.itely:939 (comment)
 #. Documentation/notation/input.itely:953 (comment)
@@ -4624,20 +4620,20 @@ msgstr "letraCompleta"
 #. Documentation/notation/input.itely:1714 (variable)
 #. Documentation/notation/input.itely:1751 (variable)
 #. Documentation/notation/input.itely:1766 (variable)
-#. Documentation/notation/spacing.itely:1563 (variable)
-#. Documentation/notation/spacing.itely:1617 (variable)
-#. Documentation/notation/spacing.itely:1642 (variable)
-#. Documentation/notation/changing-defaults.itely:459 (variable)
-#. Documentation/notation/changing-defaults.itely:494 (context id)
-#. Documentation/notation/changing-defaults.itely:544 (context id)
-#. Documentation/snippets/automatically-change-durations.ly:23 (variable)
-#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:34 (variable)
-#. Documentation/snippets/controlling-tuplet-bracket-visibility.ly:53 (variable)
+#. Documentation/notation/spacing.itely:1570 (variable)
+#. Documentation/notation/spacing.itely:1623 (variable)
+#. Documentation/notation/spacing.itely:1648 (variable)
+#. Documentation/notation/changing-defaults.itely:458 (variable)
+#. Documentation/notation/changing-defaults.itely:493 (context id)
+#. Documentation/notation/changing-defaults.itely:543 (context id)
+#. Documentation/snippets/automatically-change-durations.ly:24 (variable)
+#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:35 (variable)
+#. Documentation/snippets/controlling-tuplet-bracket-visibility.ly:54 (variable)
 #. Documentation/snippets/guitar-slides.ly:47 (variable)
-#. Documentation/snippets/letter-tablature-formatting.ly:29 (variable)
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:163 (variable)
-#. Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly:172 (variable)
-#. Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly:71 (variable)
+#. Documentation/snippets/letter-tablature-formatting.ly:28 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:164 (variable)
+#. Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly:199 (variable)
+#. Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly:72 (variable)
 msgid "music"
 msgstr "musica"
 
@@ -4698,8 +4694,7 @@ msgstr "Explicación de los bloques de título"
 #. @node in Documentation/notation/input.itely
 #. @unnumberedsubsubsec in Documentation/notation/input.itely
 msgid "Default layout of book and score title blocks"
-msgstr ""
-"Disposición predeterminada de los bloques de título de libros y partituras"
+msgstr "Disposición predeterminada de los bloques de título de libros y partituras"
 
 #. @node in Documentation/notation/input.itely
 #. @unnumberedsubsubsec in Documentation/notation/input.itely
@@ -4924,69 +4919,65 @@ msgstr "Presentación de expresiones musicales de Scheme"
 msgid "Saving music events to a file"
 msgstr "Guardar eventos de música a un archivo"
 
-#. Documentation/notation/spacing.itely:2086 (comment)
+#. Documentation/notation/spacing.itely:2091 (comment)
 msgid "The very low note here needs more room than 'basic-distance"
 msgstr "Esta nota tan grave requiere más espacio de que 'basic-distance"
 
-#. Documentation/notation/spacing.itely:2087 (comment)
+#. Documentation/notation/spacing.itely:2092 (comment)
 msgid "can provide, so the distance between this staff and the next"
-msgstr ""
-"puede ofrecer, por lo que la distancia entre este pentagrama y el siguiente"
+msgstr "puede ofrecer, por lo que la distancia entre este pentagrama y el siguiente"
 
-#. Documentation/notation/spacing.itely:2088 (comment)
+#. Documentation/notation/spacing.itely:2093 (comment)
 msgid "is determined by 'padding."
 msgstr "viene determinado por 'padding."
 
-#. Documentation/notation/spacing.itely:2091 (comment)
+#. Documentation/notation/spacing.itely:2096 (comment)
 msgid "Here, 'basic-distance provides enough room, and there is no"
 msgstr "Aquí, 'basic-distance da espacio suficiente, y no hay"
 
-#. Documentation/notation/spacing.itely:2092 (comment)
+#. Documentation/notation/spacing.itely:2097 (comment)
 msgid "need to compress the space (towards 'minimum-distance) to make"
-msgstr ""
-"necesidad de comprimir el espacio (mediante 'minimum-distance) para hacer"
+msgstr "necesidad de comprimir el espacio (mediante 'minimum-distance) para hacer"
 
-#. Documentation/notation/spacing.itely:2093 (comment)
+#. Documentation/notation/spacing.itely:2098 (comment)
 msgid "room for anything else on the page, so the distance between"
-msgstr ""
-"sitio para cualquier otra cosa en la página, por lo que la distancia entre"
+msgstr "sitio para cualquier otra cosa en la página, por lo que la distancia entre"
 
-#. Documentation/notation/spacing.itely:2094 (comment)
+#. Documentation/notation/spacing.itely:2099 (comment)
 msgid "this staff and the next is determined by 'basic-distance."
 msgstr "este pentagrama y el siguiente viene determinado por 'basic-distance"
 
-#. Documentation/notation/spacing.itely:2097 (comment)
+#. Documentation/notation/spacing.itely:2102 (comment)
 msgid "By setting 'padding to a negative value, staves can be made to"
 msgstr ""
 "Estableciendo 'padding a un valor negativo, se puede hacer que los "
 "pentagramas"
 
-#. Documentation/notation/spacing.itely:2098 (comment)
+#. Documentation/notation/spacing.itely:2103 (comment)
 msgid "collide.  The lowest acceptable value for 'basic-distance is 0."
 msgstr "colisionen.  El valor más bajo aceptable para 'basic-distance es cero."
 
-#. Documentation/notation/spacing.itely:2529 (comment)
+#. Documentation/notation/spacing.itely:2532 (comment)
 msgid "this time the text will be closer to the staff"
 msgstr "esta vez el texto estará más cerca del pentagrama"
 
-#. Documentation/notation/spacing.itely:2531 (comment)
+#. Documentation/notation/spacing.itely:2534 (comment)
 msgid "by setting outside-staff-priority to a non-number,"
-msgstr ""
-"ajustando el valor de outside-staff-priority a algo que no sea un número,"
+msgstr "ajustando el valor de outside-staff-priority a algo que no sea un número,"
 
-#. Documentation/notation/spacing.itely:2532 (comment)
+#. Documentation/notation/spacing.itely:2535 (comment)
 msgid "we disable the automatic collision avoidance"
 msgstr "desactivamos la evitación automática de colisiones"
 
-#. Documentation/notation/spacing.itely:2535 (comment)
+#. Documentation/notation/spacing.itely:2538 (comment)
 msgid "now they will collide"
 msgstr "ahora se producirá la colisión"
 
-#. Documentation/notation/spacing.itely:2561 (comment)
+#. Documentation/notation/spacing.itely:2564 (comment)
 msgid "the markup is too close to the following note"
 msgstr "el marcado está demasiado cerca de la nota siguiente"
 
-#. Documentation/notation/spacing.itely:2565 (comment)
+#. Documentation/notation/spacing.itely:2568 (comment)
 msgid "setting outside-staff-horizontal-padding fixes this"
 msgstr "ajustar outside-staff-horizontal-padding corrige esto"
 
@@ -5015,8 +5006,8 @@ msgstr "Tamaño del papel y escalado automático"
 
 #. @node in Documentation/notation/spacing.itely
 #. @unnumberedsubsubsec in Documentation/notation/spacing.itely
-msgid "Setting paper size"
-msgstr "Establecer el tamaño de la página"
+msgid "Setting the paper size"
+msgstr "Establecer el tamaño del papel"
 
 #. @node in Documentation/notation/spacing.itely
 #. @unnumberedsubsubsec in Documentation/notation/spacing.itely
@@ -5275,172 +5266,178 @@ msgstr "Mostrar el espaciado"
 msgid "Changing spacing"
 msgstr "Cambiar el espaciado"
 
-#. Documentation/notation/changing-defaults.itely:450 (variable)
+#. Documentation/notation/changing-defaults.itely:449 (variable)
 msgid "musicA"
 msgstr "musicaA"
 
-#. Documentation/notation/changing-defaults.itely:451 (variable)
+#. Documentation/notation/changing-defaults.itely:450 (variable)
 msgid "musicB"
 msgstr "musicaB"
 
-#. Documentation/notation/changing-defaults.itely:452 (variable)
+#. Documentation/notation/changing-defaults.itely:451 (variable)
 msgid "keepVoicesAlive"
 msgstr "mantenVocesVivas"
 
-#. Documentation/notation/changing-defaults.itely:454 (comment)
+#. Documentation/notation/changing-defaults.itely:453 (comment)
 msgid "Keep Voice \\\"A\\\" alive for 5 bars"
 msgstr "Mantener viva la voz \\\"A\\\" durante 5 compases"
 
-#. Documentation/notation/changing-defaults.itely:455 (comment)
+#. Documentation/notation/changing-defaults.itely:454 (comment)
 msgid "Keep Voice \\\"B\\\" alive for 5 bars"
 msgstr "Mantener viva la voz \\\"B\\\" durante 5 compases"
 
-#. Documentation/notation/changing-defaults.itely:490 (variable)
-#. Documentation/notation/changing-defaults.itely:501 (context id)
-#. Documentation/notation/changing-defaults.itely:507 (context id)
-#. Documentation/notation/changing-defaults.itely:509 (context id)
-#. Documentation/notation/changing-defaults.itely:512 (context id)
-#. Documentation/notation/changing-defaults.itely:534 (variable)
-#. Documentation/notation/changing-defaults.itely:550 (context id)
+#. Documentation/notation/changing-defaults.itely:489 (variable)
+#. Documentation/notation/changing-defaults.itely:500 (context id)
+#. Documentation/notation/changing-defaults.itely:506 (context id)
+#. Documentation/notation/changing-defaults.itely:508 (context id)
+#. Documentation/notation/changing-defaults.itely:511 (context id)
+#. Documentation/notation/changing-defaults.itely:533 (variable)
+#. Documentation/notation/changing-defaults.itely:549 (context id)
 msgid "accompaniment"
 msgstr "acompanamiento"
 
-#. Documentation/notation/changing-defaults.itely:491 (variable)
-#. Documentation/notation/changing-defaults.itely:540 (variable)
+#. Documentation/notation/changing-defaults.itely:490 (variable)
+#. Documentation/notation/changing-defaults.itely:539 (variable)
 #. Documentation/snippets/adding-orchestral-cues-to-a-vocal-score.ly:117 (variable)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:75 (variable)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:49 (variable)
 msgid "words"
 msgstr "letra"
 
-#. Documentation/notation/changing-defaults.itely:498 (comment)
+#. Documentation/notation/changing-defaults.itely:497 (comment)
 msgid "Keep Voice \\\"melody\\\" alive for 4 bars"
 msgstr "Mantener con vida la voz \\\"melodia\\\" durante 4 compases"
 
-#. Documentation/notation/changing-defaults.itely:529 (comment)
-#. Documentation/notation/changing-defaults.itely:531 (comment)
+#. Documentation/notation/changing-defaults.itely:528 (comment)
+#. Documentation/notation/changing-defaults.itely:530 (comment)
 msgid "skip a bar"
 msgstr "saltar un compás"
 
-#. Documentation/notation/changing-defaults.itely:731 (variable)
+#. Documentation/notation/changing-defaults.itely:729 (variable)
 msgid "blubb"
 msgstr "blub"
 
-#. Documentation/notation/changing-defaults.itely:737 (variable)
+#. Documentation/notation/changing-defaults.itely:735 (variable)
 msgid "bla"
 msgstr "bla"
 
-#. Documentation/notation/changing-defaults.itely:2038 (comment)
+#. Documentation/notation/changing-defaults.itely:2027 (comment)
 msgid "default space between staves"
 msgstr "espacio predeterminado entre pentagramas"
 
-#. Documentation/notation/changing-defaults.itely:2044 (comment)
+#. Documentation/notation/changing-defaults.itely:2033 (comment)
 msgid "reduced space between staves"
 msgstr "espacio reducido entre pentagramas"
 
-#. Documentation/notation/changing-defaults.itely:2046 (comment)
+#. Documentation/notation/changing-defaults.itely:2035 (comment)
 msgid "this is the nested declaration"
 msgstr "esta es la declaración anidada"
 
-#. Documentation/notation/changing-defaults.itely:2473 (comment)
+#. Documentation/notation/changing-defaults.itely:2471 (comment)
 msgid "increase the length of the tie"
 msgstr "aumentar la longitud de la ligadura"
 
-#. Documentation/notation/changing-defaults.itely:2482 (comment)
+#. Documentation/notation/changing-defaults.itely:2480 (comment)
 msgid "increase the length of the rest bar"
 msgstr "aumentar la longitud del compás en silencio"
 
-#. Documentation/notation/changing-defaults.itely:2490 (comment)
+#. Documentation/notation/changing-defaults.itely:2488 (comment)
 msgid "increase the length of the hairpin"
 msgstr "aumentar la longitud del regulador"
 
-#. Documentation/notation/changing-defaults.itely:2518 (comment)
+#. Documentation/notation/changing-defaults.itely:2516 (comment)
 msgid "default"
 msgstr "predeterminado"
 
-#. Documentation/notation/changing-defaults.itely:2521 (comment)
-#. Documentation/notation/changing-defaults.itely:2534 (comment)
+#. Documentation/notation/changing-defaults.itely:2519 (comment)
+#. Documentation/notation/changing-defaults.itely:2532 (comment)
 msgid "not effective alone"
 msgstr "no es efectivo por sí solo"
 
-#. Documentation/notation/changing-defaults.itely:2525 (comment)
-#. Documentation/notation/changing-defaults.itely:2538 (comment)
+#. Documentation/notation/changing-defaults.itely:2523 (comment)
+#. Documentation/notation/changing-defaults.itely:2536 (comment)
 msgid "effective only when both overrides are present"
 msgstr "es efectivo sólo cuando las dos sobreescrituras están presentes"
 
-#. Documentation/notation/changing-defaults.itely:2915 (comment)
+#. Documentation/notation/changing-defaults.itely:2912 (comment)
 msgid "Remove bar line at the end of the current line"
 msgstr "Quitar la barra de compás al final de la línea en curso"
 
-#. Documentation/notation/changing-defaults.itely:2961 (comment)
+#. Documentation/notation/changing-defaults.itely:2958 (comment)
 msgid "Try to remove all key signatures"
 msgstr "Intentar quitar todas las armaduras"
 
-#. Documentation/notation/changing-defaults.itely:3384 (comment)
+#. Documentation/notation/changing-defaults.itely:3383 (comment)
 msgid "move horizontally left"
 msgstr "desplazar a la izquierda"
 
-#. Documentation/notation/changing-defaults.itely:3386 (comment)
+#. Documentation/notation/changing-defaults.itely:3385 (comment)
 msgid "move vertically up"
 msgstr "desplazar hacia arriba"
 
-#. Documentation/notation/changing-defaults.itely:3387 (comment)
+#. Documentation/notation/changing-defaults.itely:3386 (comment)
 msgid "third finger"
 msgstr "dedo tercero"
 
-#. Documentation/notation/changing-defaults.itely:3435 (comment)
-#. Documentation/notation/changing-defaults.itely:3474 (comment)
+#. Documentation/notation/changing-defaults.itely:3434 (comment)
+#. Documentation/notation/changing-defaults.itely:3473 (comment)
 msgid "The rehearsal mark will be centered above the Clef"
 msgstr "La marca de ensayo se centrará sobre la clave"
 
-#. Documentation/notation/changing-defaults.itely:3441 (comment)
+#. Documentation/notation/changing-defaults.itely:3440 (comment)
 msgid "The rehearsal mark will be centered above the Time Signature"
 msgstr "La marca de ensayo se centrará sobre la indicación de compás"
 
-#. Documentation/notation/changing-defaults.itely:3448 (comment)
+#. Documentation/notation/changing-defaults.itely:3447 (comment)
 msgid "The rehearsal mark will be centered above the Breath Mark"
 msgstr "La marca de ensayo se centrará sobre la respiración"
 
-#. Documentation/notation/changing-defaults.itely:3468 (comment)
+#. Documentation/notation/changing-defaults.itely:3467 (comment)
 msgid "The rehearsal mark will be centered above the Key Signature"
 msgstr "La marca de ensayo se centrará sobre la armadura de tonalidad"
 
-#. Documentation/notation/changing-defaults.itely:3481 (comment)
+#. Documentation/notation/changing-defaults.itely:3480 (comment)
 msgid "The rehearsal mark will be centered above the Bar Line"
 msgstr "La marca de ensayo se centrará sobre la línea divisoria"
 
-#. Documentation/notation/changing-defaults.itely:3496 (comment)
+#. Documentation/notation/changing-defaults.itely:3495 (comment)
 msgid "The RehearsalMark will be centered above the Key Signature"
 msgstr "La marca de ensayo se centrará sobre la armadura de tonalidad"
 
-#. Documentation/notation/changing-defaults.itely:3503 (comment)
-#. Documentation/notation/changing-defaults.itely:3519 (comment)
-#. Documentation/notation/changing-defaults.itely:3526 (comment)
-msgid ""
-"The RehearsalMark will be aligned with the left edge of the Key Signature"
+#. Documentation/notation/changing-defaults.itely:3502 (comment)
+#. Documentation/notation/changing-defaults.itely:3518 (comment)
+#. Documentation/notation/changing-defaults.itely:3525 (comment)
+msgid "The RehearsalMark will be aligned with the left edge of the Key Signature"
 msgstr ""
 "La marca de ensayo se alineará con el borde izquierdo de la armadura de "
 "tonalidad"
 
-#. Documentation/notation/changing-defaults.itely:3508 (comment)
-msgid ""
-"The RehearsalMark will be aligned with the right edge of the Key Signature"
+#. Documentation/notation/changing-defaults.itely:3507 (comment)
+msgid "The RehearsalMark will be aligned with the right edge of the Key Signature"
 msgstr ""
 "La marca de ensayo se alineará con el borde derecho de la armadura de "
 "tonalidad"
 
-#. Documentation/notation/changing-defaults.itely:3520 (comment)
+#. Documentation/notation/changing-defaults.itely:3519 (comment)
 msgid "and then shifted right by 3.5 staff-spaces"
 msgstr "y se desplaza 3.5 espacios a la derecha"
 
-#. Documentation/notation/changing-defaults.itely:3527 (comment)
+#. Documentation/notation/changing-defaults.itely:3526 (comment)
 msgid "and then shifted left by 2 staff-spaces"
 msgstr "y se desplaza 2 espacios a la izquierda"
 
-#. Documentation/notation/changing-defaults.itely:3575 (variable)
+#. Documentation/notation/changing-defaults.itely:3574 (variable)
 msgid "XinO"
 msgstr "X_O"
 
-#. Documentation/notation/changing-defaults.itely:3821 (variable)
+#. Documentation/notation/changing-defaults.itely:3761 (variable)
+msgid "squareLineCircleSpace"
+msgstr "cuadradoLineaCirculoEspacio"
+
+#. Documentation/notation/changing-defaults.itely:3765 (variable)
+msgid "smartSquareLineCircleSpace"
+msgstr "especialCuadradoLineaCirculoEspacio"
+
+#. Documentation/notation/changing-defaults.itely:3920 (variable)
 msgid "custosNote"
 msgstr "notaCustos"
 
@@ -5731,6 +5728,11 @@ msgstr "Modificación de las formas"
 msgid "Modifying ties and slurs"
 msgstr "Modificación de ligaduras de unión y de expresión"
 
+#. @node in Documentation/notation/changing-defaults.itely
+#. @subsection in Documentation/notation/changing-defaults.itely
+msgid "Unpure-pure containers"
+msgstr "Contenedores unpure-pure"
+
 #. @node in Documentation/notation/changing-defaults.itely
 #. @section in Documentation/notation/changing-defaults.itely
 msgid "Using music functions"
@@ -5771,6 +5773,11 @@ msgstr "Afinaciones de cuerdas predeterminadas"
 msgid "Predefined fretboard diagrams"
 msgstr "Diagramas predefinidos de trastes"
 
+#. @node in Documentation/notation/notation-appendices.itely
+#. @appendixsec in Documentation/notation/notation-appendices.itely
+msgid "Predefined paper sizes"
+msgstr "Tamaños de papel predefinidos"
+
 #. @node in Documentation/notation/notation-appendices.itely
 #. @appendixsec in Documentation/notation/notation-appendices.itely
 msgid "MIDI instruments"
@@ -5927,6 +5934,11 @@ msgstr "Glifos de notación estilo Petrucci"
 msgid "Solesmes glyphs"
 msgstr "Glifos de notación estilo Solesmes"
 
+#. @node in Documentation/notation/notation-appendices.itely
+#. @unnumberedsubsec in Documentation/notation/notation-appendices.itely
+msgid "Kievan Notation glyphs"
+msgstr "Glifos de la notación del canto kievano"
+
 #. @node in Documentation/notation/notation-appendices.itely
 #. @appendixsec in Documentation/notation/notation-appendices.itely
 msgid "Note head styles"
@@ -6141,12 +6153,14 @@ msgid "Standard shell commands"
 msgstr "Instrucciones de shell estándar"
 
 #. @node in Documentation/usage/running.itely
-msgid "Command line options for lilypond"
-msgstr "Opciones de la línea de órdenes para lilypond"
+#. @unnumberedsubsec in Documentation/usage/running.itely
+msgid "Basic command line options for LilyPond"
+msgstr "Opciones básicas de la línea de órdenes para LilyPond"
 
+#. @node in Documentation/usage/running.itely
 #. @unnumberedsubsec in Documentation/usage/running.itely
-msgid "Command line options for @command{lilypond}"
-msgstr "Opciones de la línea de órdenes para @command{lilypond}"
+msgid "Advanced command line options for LilyPond"
+msgstr "Opciones avanzadas de la línea de órdenes para LilyPond"
 
 #. @node in Documentation/usage/running.itely
 #. @unnumberedsubsec in Documentation/usage/running.itely
@@ -7287,10 +7301,6 @@ msgstr ""
 msgid "Klavír s vystředěným textem"
 msgstr ""
 
-#. @appendixsubsec in Documentation/cs/learning/templates.itely
-msgid "Klavír s vystředěným označením hlasitosti"
-msgstr ""
-
 #. @node in Documentation/cs/learning/templates.itely
 #. @appendixsec in Documentation/cs/learning/templates.itely
 msgid "Smyčcový kvartet"
@@ -7356,119 +7366,131 @@ msgstr ""
 msgid "Džezová skupina"
 msgstr ""
 
-#. Documentation/snippets/accordion-discant-symbols.ly:41 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:42 (variable)
 msgid "discant"
 msgstr "discanto"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:44 (variable)
-#. Documentation/snippets/anglican-psalm-template.ly:88 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:45 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:89 (variable)
 msgid "dot"
 msgstr "punto"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:50 (comment)
+#. Documentation/snippets/accordion-discant-symbols.ly:51 (comment)
 msgid "16 voets register"
 msgstr "registro de 16 pies"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:51 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:52 (variable)
 msgid "accBasson"
 msgstr "acordFagot"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:57 (comment)
+#. Documentation/snippets/accordion-discant-symbols.ly:58 (comment)
 msgid "een korig 8 en 16 voets register"
 msgstr "registro de een korig 8 en 16 pies"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:58 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:59 (variable)
 msgid "accBandon"
 msgstr "acordBandon"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:66 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:67 (variable)
 msgid "accVCello"
 msgstr "acordVCello"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:76 (comment)
+#. Documentation/snippets/accordion-discant-symbols.ly:77 (comment)
 msgid "4-8-16 voets register"
 msgstr "registro de 4-8-16 pies"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:77 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:78 (variable)
 msgid "accHarmon"
 msgstr "acordArmon"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:87 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:88 (variable)
 msgid "accTrombon"
 msgstr "acordTrombon"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:99 (comment)
+#. Documentation/snippets/accordion-discant-symbols.ly:100 (comment)
 msgid "eenkorig 4 en 16 voets register"
 msgstr "registro de eenkorig 4 y 16 pies"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:100 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:101 (variable)
 msgid "accOrgan"
 msgstr "acordOrgano"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:108 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:109 (variable)
 msgid "accMaster"
 msgstr "acordMaestro"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:122 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:123 (variable)
 msgid "accAccord"
 msgstr "acordAcordeon"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:134 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:135 (variable)
 msgid "accMusette"
 msgstr "accordMusette"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:144 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:145 (variable)
 msgid "accCeleste"
 msgstr "acordCeleste"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:152 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:153 (variable)
 msgid "accOboe"
 msgstr "acordOboe"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:160 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:161 (variable)
 msgid "accClarin"
 msgstr "acordClarin"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:166 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:167 (variable)
 msgid "accPiccolo"
 msgstr "acordPiccolo"
 
-#. Documentation/snippets/accordion-discant-symbols.ly:172 (variable)
+#. Documentation/snippets/accordion-discant-symbols.ly:173 (variable)
 msgid "accViolin"
 msgstr "acordViolin"
 
-#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:53 (variable)
+#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:54 (variable)
 msgid "continuo"
 msgstr "continuo"
 
-#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:65 (context id)
+#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:57 (comment)
+msgid "\\bassFigureStaffAlignmentUp"
+msgstr "\\bassFigureStaffAlignmentUp"
+
+#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:61 (comment)
+msgid "\\bassFigureStaffAlignmentDown"
+msgstr "\\bassFigureStaffAlignmentDown"
+
 #. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:66 (context id)
+#. Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly:67 (context id)
 msgid "bassStaff"
 msgstr "pentagramaBajo"
 
-#. Documentation/snippets/adding-drum-parts.ly:52 (variable)
+#. Documentation/snippets/adding-drum-parts.ly:53 (variable)
 msgid "drh"
 msgstr "drh"
 
-#. Documentation/snippets/adding-drum-parts.ly:53 (variable)
+#. Documentation/snippets/adding-drum-parts.ly:54 (variable)
 msgid "drl"
 msgstr "drl"
 
-#. Documentation/snippets/adding-drum-parts.ly:54 (variable)
+#. Documentation/snippets/adding-drum-parts.ly:55 (variable)
 msgid "timb"
 msgstr "timb"
 
-#. Documentation/snippets/adding-fingerings-to-tablatures.ly:38 (variable)
+#. Documentation/snippets/adding-extra-fingering-with-scheme.ly:44 (variable)
+msgid "addScript"
+msgstr "ponerScript"
+
+#. Documentation/snippets/adding-fingerings-to-tablatures.ly:40 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:237 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:246 (context id)
 msgid "two"
 msgstr "dos"
 
-#. Documentation/snippets/adding-fingerings-to-tablatures.ly:39 (variable)
+#. Documentation/snippets/adding-fingerings-to-tablatures.ly:41 (variable)
 msgid "threeTwo"
 msgstr "tresDos"
 
-#. Documentation/snippets/adding-fingerings-to-tablatures.ly:46 (variable)
+#. Documentation/snippets/adding-fingerings-to-tablatures.ly:48 (variable)
 msgid "threeFour"
 msgstr "tresCuatro"
 
@@ -7500,84 +7522,82 @@ msgstr "pianoMD"
 msgid "pianoLH"
 msgstr "pianoMI"
 
-#. Documentation/snippets/adding-the-current-date-to-a-score.ly:35 (comment)
+#. Documentation/snippets/adding-the-current-date-to-a-score.ly:36 (comment)
 msgid "first, define a variable to hold the formatted date:"
 msgstr "primero definimos una variable para almacenar la fecha con formato:"
 
-#. Documentation/snippets/adding-the-current-date-to-a-score.ly:36 (variable)
+#. Documentation/snippets/adding-the-current-date-to-a-score.ly:37 (variable)
 msgid "date"
 msgstr "fecha"
 
-#. Documentation/snippets/adding-the-current-date-to-a-score.ly:36 (comment)
+#. Documentation/snippets/adding-the-current-date-to-a-score.ly:37 (comment)
 msgid "d-%m-%Y\\\" (localtime (current-time)))"
 msgstr "d-%m-%Y\\\" (localtime (current-time)))"
 
-#. Documentation/snippets/adding-the-current-date-to-a-score.ly:38 (comment)
+#. Documentation/snippets/adding-the-current-date-to-a-score.ly:39 (comment)
 msgid "use it in the title block:"
 msgstr "usarla en el bloque de título:"
 
-#. Documentation/snippets/adding-the-current-date-to-a-score.ly:49 (comment)
+#. Documentation/snippets/adding-the-current-date-to-a-score.ly:50 (comment)
 msgid "and use it in a \\markup block:"
 msgstr "y usarla en un bloque \\markup:"
 
-#. Documentation/snippets/additional-voices-to-avoid-collisions.ly:54 (variable)
+#. Documentation/snippets/additional-voices-to-avoid-collisions.ly:55 (variable)
 msgid "voiceFive"
 msgstr "vozCinco"
 
-#. Documentation/snippets/adjusting-grace-note-spacing.ly:29 (variable)
+#. Documentation/snippets/adjusting-grace-note-spacing.ly:30 (variable)
 msgid "graceNotes"
 msgstr "notasDeAdorno"
 
-#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:38 (comment)
+#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:37 (comment)
 msgid "Default layout:"
 msgstr "Diseño predeterminado:"
 
-#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:47 (comment)
+#. Documentation/snippets/adjusting-lyrics-vertical-spacing.ly:53 (comment)
 msgid "Reducing the minimum space below the staff and above the lyrics:"
 msgstr "Reducir el espacio mínimo bajo el pentagrama y sobre la letra:"
 
-#. Documentation/snippets/aligning-bar-numbers.ly:64 (comment)
-#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:50 (comment)
+#. Documentation/snippets/aligning-bar-numbers.ly:65 (comment)
+#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:51 (comment)
 msgid "Increase the size of the bar number by 2"
 msgstr "Aumentar en 2 el tamaño del número de compás"
 
-#. Documentation/snippets/aligning-bar-numbers.ly:66 (comment)
-#. Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly:62 (comment)
+#. Documentation/snippets/aligning-bar-numbers.ly:67 (comment)
+#. Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly:63 (comment)
 msgid "Print a bar number every second measure"
 msgstr "Imprimir el número de compás cada dos compases"
 
-#. Documentation/snippets/aligning-bar-numbers.ly:69 (comment)
+#. Documentation/snippets/aligning-bar-numbers.ly:70 (comment)
 msgid "Center-align bar numbers"
 msgstr "Alinear números de compás al centro"
 
-#. Documentation/snippets/aligning-bar-numbers.ly:72 (comment)
+#. Documentation/snippets/aligning-bar-numbers.ly:73 (comment)
 msgid "Left-align bar numbers"
 msgstr "Alinear números de compás a la izquierda"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:89 (comment)
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:90 (comment)
 msgid "the RehearsalMark will be centered above the Clef"
 msgstr "la RehearsalMark se centra sobre la clave"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:96 (comment)
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:97 (comment)
 msgid "the RehearsalMark will be centered above the TimeSignature"
 msgstr "la RehearsalMark se centra sobre el compás"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:104 (comment)
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:105 (comment)
 msgid "the RehearsalMark will be centered above the KeySignature"
 msgstr "la RehearsalMark se centra sobre la armadura"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:115 (comment)
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:127 (comment)
-msgid ""
-"the RehearsalMark will be aligned with the left edge of the KeySignature"
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:116 (comment)
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:128 (comment)
+msgid "the RehearsalMark will be aligned with the left edge of the KeySignature"
 msgstr "la RehearsalMark se alinea por la izquierda con la armadura"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:121 (comment)
-msgid ""
-"the RehearsalMark will be aligned with the right edge of the KeySignature"
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:122 (comment)
+msgid "the RehearsalMark will be aligned with the right edge of the KeySignature"
 msgstr "la RehearsalMark se alinea por la derecha con la armadura"
 
-#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:128 (comment)
+#. Documentation/snippets/aligning-marks-with-various-notation-objects.ly:129 (comment)
 msgid "and then shifted right by one unit."
 msgstr "y se desplaza una unidad a la derecha."
 
@@ -7654,75 +7674,75 @@ msgstr "\\break % 11 (16*1)"
 msgid "\\break % 12 (8*1)"
 msgstr "\\break % 12 (8*1)"
 
-#. Documentation/snippets/ancient-headword.ly:29 (context id)
+#. Documentation/snippets/ancient-headword.ly:38 (context id)
 msgid "cantus"
 msgstr "cantus"
 
-#. Documentation/snippets/ancient-headword.ly:31 (comment)
+#. Documentation/snippets/ancient-headword.ly:40 (comment)
 msgid "Verse 1 — Salve, Regína"
 msgstr "Verso 1 — Salve, Regína"
 
-#. Documentation/snippets/ancient-headword.ly:42 (comment)
+#. Documentation/snippets/ancient-headword.ly:51 (comment)
 msgid "Verse 2 — Vita, dulcédo"
 msgstr "Verso 2 — Vita, dulcédo"
 
-#. Documentation/snippets/ancient-headword.ly:43 (comment)
+#. Documentation/snippets/ancient-headword.ly:52 (comment)
 msgid "a\\melisma \\[ a \\flexa g \\pes a\\melismaEnd \\] d"
 msgstr "a\\melisma \\[ a \\flexa g \\pes a\\melismaEnd \\] d"
 
-#. Documentation/snippets/ancient-headword.ly:44 (comment)
+#. Documentation/snippets/ancient-headword.ly:53 (comment)
 msgid "\\divisioMinima"
 msgstr "\\divisioMinima"
 
-#. Documentation/snippets/ancient-headword.ly:45 (comment)
+#. Documentation/snippets/ancient-headword.ly:54 (comment)
 msgid "\\[ a\\melisma \\flexa g\\melismaEnd \\]"
 msgstr "\\[ a\\melisma \\flexa g\\melismaEnd \\]"
 
-#. Documentation/snippets/ancient-headword.ly:46 (comment)
+#. Documentation/snippets/ancient-headword.ly:55 (comment)
 msgid "\\[ f\\melisma \\flexa e f \\pes g \\flexa f\\melismaEnd \\]"
 msgstr "\\[ f\\melisma \\flexa e f \\pes g \\flexa f\\melismaEnd \\]"
 
-#. Documentation/snippets/ancient-headword.ly:47 (comment)
+#. Documentation/snippets/ancient-headword.ly:56 (comment)
 msgid "\\[ e\\melisma \\flexa d\\melismaEnd \\]"
 msgstr "\\[ e\\melisma \\flexa d\\melismaEnd \\]"
 
-#. Documentation/snippets/ancient-headword.ly:48 (comment)
+#. Documentation/snippets/ancient-headword.ly:57 (comment)
 msgid "\\divisioMaior"
 msgstr "\\divisioMaior"
 
-#. Documentation/snippets/ancient-headword.ly:49 (comment)
+#. Documentation/snippets/ancient-headword.ly:58 (comment)
 msgid "c d \\[e\\melisma \\pes f\\melismaEnd \\] g"
 msgstr "c d \\[e\\melisma \\pes f\\melismaEnd \\] g"
 
-#. Documentation/snippets/ancient-headword.ly:50 (comment)
+#. Documentation/snippets/ancient-headword.ly:59 (comment)
 msgid "\\[d\\melisma \\pes e \\flexa c\\melismaEnd \\] d"
 msgstr "\\[d\\melisma \\pes e \\flexa c\\melismaEnd \\] d"
 
-#. Documentation/snippets/ancient-headword.ly:51 (comment)
+#. Documentation/snippets/ancient-headword.ly:60 (comment)
 msgid "\\finalis"
 msgstr "\\finalis"
 
-#. Documentation/snippets/ancient-headword.ly:52 (comment)
+#. Documentation/snippets/ancient-headword.ly:61 (comment)
 msgid "Verse 3 — Ad te clamámus"
 msgstr "Verso 3 — Ad te clamámus"
 
-#. Documentation/snippets/ancient-headword.ly:61 (comment)
+#. Documentation/snippets/ancient-headword.ly:70 (comment)
 msgid "Verse 4 — Ad te suspirámus"
 msgstr "Verso 4 — Ad te suspirámus"
 
-#. Documentation/snippets/ancient-headword.ly:74 (comment)
+#. Documentation/snippets/ancient-headword.ly:83 (comment)
 msgid "Verse 5 — Eia ergo, Advocáta nostra"
 msgstr "Verso 5 — Eia ergo, Advocáta nostra"
 
-#. Documentation/snippets/ancient-headword.ly:90 (comment)
+#. Documentation/snippets/ancient-headword.ly:99 (comment)
 msgid "Verse 6 — Et Jesum"
 msgstr "Verso 6 — Et Jesum"
 
-#. Documentation/snippets/ancient-headword.ly:104 (comment)
+#. Documentation/snippets/ancient-headword.ly:113 (comment)
 msgid "Verse 7 ad finem — O clemens: O pia: O dulcis Virgo María"
 msgstr "Verso 7 ad finem — O clemens: O pia: O dulcis Virgo María"
 
-#. Documentation/snippets/ancient-headword.ly:122 (comment)
+#. Documentation/snippets/ancient-headword.ly:131 (comment)
 msgid "Vi- ta, dul- cé- do, et spes no- stra, sal- ve."
 msgstr "Vi- ta, dul- cé- do, et spes no- stra, sal- ve."
 
@@ -7734,286 +7754,284 @@ msgstr "canto"
 msgid "verba"
 msgstr "verba"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:85 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:132 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:151 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:168 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:187 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:202 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:223 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:236 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:255 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:86 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:133 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:152 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:169 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:188 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:203 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:224 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:237 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:256 (comment)
 #. Documentation/snippets/incipit.ly:28 (variable)
 #. Documentation/snippets/incipit.ly:204 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:218 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:219 (comment)
 msgid "incipit"
 msgstr "incipit"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:87 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:88 (comment)
 msgid "Set tight spacing"
 msgstr "Establecer espaciado apretado"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:95 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:96 (comment)
 msgid "turn off bar lines"
 msgstr "oculter líneas divisorias"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:99 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:100 (comment)
 msgid "need this extra \\skip such that clef change comes"
 msgstr "se necesita este \\skip adicional tal que el cambio de clave aparezca"
 
 # También Líneas divisorias. FVD
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:100 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:101 (comment)
 msgid "after bar line"
 msgstr "después de la barra de compás"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:104 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:105 (comment)
 msgid "turn bar lines on again"
 msgstr "activar de nuevo las barras de compás"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:112 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:113 (comment)
 msgid "Setting printKeyCancellation back to #t must not"
 msgstr "Establecer de nuevo printKeyCancellation a #t no debe"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:113 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:114 (comment)
 msgid "occur in the first bar after the incipit.  Dto. for forceClef."
-msgstr ""
-"ocurrir en el primer compás después del incipit. Lo mismo para forceClef."
+msgstr "ocurrir en el primer compás después del incipit. Lo mismo para forceClef."
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:114 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:115 (comment)
 msgid "Therefore, we need an extra \\skip."
 msgstr "Por tanto, necesitamos un \\skip adicional."
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:119 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:120 (comment)
 #. Documentation/snippets/incipit.ly:78 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:41 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:42 (comment)
 msgid "the actual music"
 msgstr "la música en sí"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:121 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:122 (comment)
 #. Documentation/snippets/incipit.ly:81 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:42 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:43 (comment)
 msgid "let finis bar go through all staves"
 msgstr "hacer que la línea de finis cruce todas las pautas"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:124 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:125 (comment)
 #. Documentation/snippets/incipit.ly:84 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:44 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:45 (comment)
 msgid "finis bar"
 msgstr "línea de finis"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:128 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:129 (variable)
 #. Documentation/snippets/incipit.ly:101 (variable)
 #. Documentation/snippets/incipit.ly:235 (context id)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:48 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:237 (context id)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:49 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:238 (context id)
 msgid "discantusNotes"
 msgstr "notasDiscanto"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:134 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:171 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:177 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:191 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:205 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:207 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:216 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:227 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:239 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:74 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:84 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:97 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:104 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:139 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:165 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:191 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:193 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:220 (comment)
-msgid "two bars"
-msgstr "dos compases"
-
 #. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:135 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:238 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:140 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:219 (comment)
-msgid "eight bars"
-msgstr "ocho compases"
-
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:136 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:170 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:173 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:172 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:178 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:192 (comment)
 #. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:206 (comment)
 #. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:208 (comment)
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:209 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:217 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:228 (comment)
 #. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:240 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:164 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:75 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:85 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:98 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:105 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:140 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:166 (comment)
 #. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:192 (comment)
 #. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:194 (comment)
-msgid "one bar"
-msgstr "un compás"
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:221 (comment)
+msgid "two bars"
+msgstr "dos compases"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:150 (variable)
-#. Documentation/snippets/incipit.ly:115 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:61 (variable)
-msgid "discantusLyrics"
-msgstr "letraDiscanto"
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:136 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:239 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:141 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:220 (comment)
+msgid "eight bars"
+msgstr "ocho compases"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:164 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:137 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:171 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:174 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:207 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:209 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:210 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:241 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:165 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:193 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:195 (comment)
+msgid "one bar"
+msgstr "un compás"
+
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:151 (variable)
+#. Documentation/snippets/incipit.ly:115 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:62 (variable)
+msgid "discantusLyrics"
+msgstr "letraDiscanto"
+
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:165 (variable)
 #. Documentation/snippets/incipit.ly:138 (variable)
 #. Documentation/snippets/incipit.ly:242 (context id)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:71 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:244 (context id)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:72 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:245 (context id)
 msgid "altusNotes"
 msgstr "notasAlto"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:172 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:166 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:173 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:167 (comment)
 msgid "seven bars"
 msgstr "siete compases"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:186 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:187 (variable)
 #. Documentation/snippets/incipit.ly:152 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:83 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:84 (variable)
 msgid "altusLyrics"
 msgstr "letraAltus"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:198 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:199 (variable)
 #. Documentation/snippets/incipit.ly:176 (variable)
 #. Documentation/snippets/incipit.ly:249 (context id)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:91 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:251 (context id)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:92 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:252 (context id)
 msgid "tenorNotes"
 msgstr "notasTenor"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:204 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:190 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:205 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:191 (comment)
 msgid "four bars"
 msgstr "cuatro compases"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:222 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:223 (variable)
 #. Documentation/snippets/incipit.ly:190 (variable)
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:94 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:103 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:95 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:104 (variable)
 msgid "tenorLyrics"
 msgstr "letraTenor"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:232 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:233 (variable)
 #. Documentation/snippets/incipit.ly:212 (variable)
 #. Documentation/snippets/incipit.ly:256 (context id)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:109 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:258 (context id)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:110 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:259 (context id)
 msgid "bassusNotes"
 msgstr "notasBajo"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:254 (variable)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:255 (variable)
 #. Documentation/snippets/incipit.ly:226 (variable)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:122 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:123 (variable)
 msgid "bassusLyrics"
 msgstr "letraBajo"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:265 (context id)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:266 (context id)
 #. Documentation/snippets/incipit.ly:234 (context id)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:236 (context id)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:237 (context id)
 msgid "choirStaff"
 msgstr "pautaCoro"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:287 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:272 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:288 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:273 (comment)
 msgid "no bars in staves"
 msgstr "no poner barras dentro de los pentagramas"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:290 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:291 (comment)
 msgid "incipit should not start with a start delimiter"
 msgstr "el incipit no empieza con un delimitador de comienzo"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:296 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:297 (comment)
 #. Documentation/snippets/incipit.ly:279 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:287 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:288 (comment)
 msgid "no slurs"
 msgstr "sin ligaduras de expresión"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:299 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:300 (comment)
 msgid "The command below can be commented out in"
 msgstr "La instrucción siguiente se puede eliminar en"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:300 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:301 (comment)
 msgid "short scores, but especially for large scores you"
 msgstr "partituras cortas, pero especialmente para partituras extensas,"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:301 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:302 (comment)
 msgid "will typically yield better line breaking and improve"
 msgstr "probablemente consiga unos saltos de línea mejores y mejore"
 
-#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:302 (comment)
+#. Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly:303 (comment)
 msgid "overall spacing if you do not comment the command out."
 msgstr "el espaciado general si no elimina la instrucción."
 
-#. Documentation/snippets/anglican-psalm-template.ly:92 (variable)
+#. Documentation/snippets/anglican-psalm-template.ly:93 (variable)
 msgid "tick"
 msgstr "pulso"
 
-#. Documentation/snippets/anglican-psalm-template.ly:96 (comment)
+#. Documentation/snippets/anglican-psalm-template.ly:97 (comment)
 msgid "Use markup to center the chant on the page"
 msgstr "Usar marcado para centrar el canto sobre la página"
 
-#. Documentation/snippets/anglican-psalm-template.ly:99 (comment)
+#. Documentation/snippets/anglican-psalm-template.ly:100 (comment)
 msgid "centered"
 msgstr "centrado"
 
-#. Documentation/snippets/anglican-psalm-template.ly:139 (comment)
-#. Documentation/snippets/hymn-template.ly:126 (comment)
+#. Documentation/snippets/anglican-psalm-template.ly:140 (comment)
+#. Documentation/snippets/hymn-template.ly:127 (comment)
 msgid "End score"
 msgstr "Fin de la partitura"
 
-#. Documentation/snippets/anglican-psalm-template.ly:141 (comment)
+#. Documentation/snippets/anglican-psalm-template.ly:142 (comment)
 msgid "End markup"
 msgstr "Fin del marcado"
 
-#. Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly:100 (variable)
-#. Documentation/snippets/clusters.ly:28 (variable)
+#. Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly:123 (variable)
+#. Documentation/snippets/clusters.ly:29 (variable)
 msgid "fragment"
 msgstr "fragmento"
 
-#. Documentation/snippets/asymmetric-slurs.ly:30 (variable)
+#. Documentation/snippets/asymmetric-slurs.ly:31 (variable)
 msgid "slurNotes"
 msgstr "notasLigadura"
 
-#. Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly:43 (comment)
+#. Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly:44 (comment)
 msgid "Default behavior"
 msgstr "Comportamiento predeterminado"
 
-#. Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly:49 (comment)
+#. Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly:50 (comment)
 msgid "Corrected to avoid collisions"
 msgstr "Corregido para evitar colisiones"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:28 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:35 (comment)
 msgid "%%%%%%%  Cut here ----- Start 'bbarred.ly'"
 msgstr "%%%%%%%  Cortar por aquí ----- Inicio de 'bbarred.ly'"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:30 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:37 (comment)
 msgid "C with slash -------------------------------"
 msgstr "Do tachado -------------------------------"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:31 (variable)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:38 (variable)
 msgid "cWithSlash"
 msgstr "doTachado"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:34 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:41 (comment)
 msgid "Span -----------------------------------"
 msgstr "Extensión -----------------------------------"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:35 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:42 (comment)
 msgid "Syntax: \\bbarre #\\\"text\\\" { notes } - text = any number of box"
-msgstr ""
-"Sintaxis: \\bbarre #\\\"text\\\" { notas } - texto = cualquier número de caja"
+msgstr "Sintaxis: \\bbarre #\\\"text\\\" { notas } - texto = cualquier número de caja"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:36 (variable)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:43 (variable)
 msgid "bbarre"
 msgstr "bbarre"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:71 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:72 (comment)
 msgid "uncomment this line for make full barred"
 msgstr "quite el comentario de esta línea para hacer cejilla completa"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:72 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:73 (comment)
 msgid ""
 "\\once  \\override TextSpanner #'bound-details #'left #'text =  \\markup { \\"
 "\"B\\\" #str }"
@@ -8021,34 +8039,33 @@ msgstr ""
 "\\once  \\override TextSpanner #'bound-details #'left #'text =  \\markup { \\"
 "\"B\\\" #str }"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:76 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:77 (comment)
 msgid "%%%%%%%  Cut here ----- End 'bbarred.ly'"
 msgstr "%%%%%%%  Cortar por aquí ----- Final de 'bbarred.ly'"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:77 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:78 (comment)
 msgid "Copy and change the last line for full barred. Rename in 'fbarred.ly'"
 msgstr ""
 "Copie y cambie la última línea para cejilla completa. Cambie el nombre a "
 "'fbarred.ly'"
 
-#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:80 (comment)
+#. Documentation/snippets/bar-chords-notation-for-guitar--with-text-spanner.ly:81 (comment)
 msgid "Syntaxe: \\bbarre #\\\"text\\\" { notes } - text = any number of box"
-msgstr ""
-"Sintaxis: \\bbarre #\\\"text\\\" { notas } - texto = cualquier número de caja"
+msgstr "Sintaxis: \\bbarre #\\\"text\\\" { notas } - texto = cualquier número de caja"
 
-#. Documentation/snippets/beam-endings-in-score-context.ly:54 (comment)
+#. Documentation/snippets/beam-endings-in-score-context.ly:55 (comment)
 msgid "Set default beaming for all staves"
 msgstr "Establecer el barrado predeterminado para todos los pentagramas"
 
-#. Documentation/snippets/beam-endings-in-score-context.ly:62 (comment)
+#. Documentation/snippets/beam-endings-in-score-context.ly:63 (comment)
 msgid "Modify beaming for just this staff"
 msgstr "Modificar el barrado sólo para este pentagrama"
 
-#. Documentation/snippets/beam-endings-in-score-context.ly:67 (comment)
+#. Documentation/snippets/beam-endings-in-score-context.ly:68 (comment)
 msgid "Inherit beaming from Score context"
 msgstr "Heredar el barrado del contexto Score"
 
-#. Documentation/snippets/beam-endings-in-score-context.ly:73 (comment)
+#. Documentation/snippets/beam-endings-in-score-context.ly:74 (comment)
 msgid "Modify beaming for this voice only"
 msgstr "Modificar el barrado sólo para esta voz"
 
@@ -8056,50 +8073,49 @@ msgstr "Modificar el barrado sólo para esta voz"
 msgid "rhythm 2-3-2"
 msgstr "ritmo 2-3-2"
 
-#. Documentation/snippets/book-parts.ly:25 (comment)
+#. Documentation/snippets/book-parts.ly:26 (comment)
 msgid "book paper, which is inherited by all children bookparts"
 msgstr "bloque paper del book, que se hereda por todas las bookparts"
 
-#. Documentation/snippets/book-parts.ly:28 (comment)
+#. Documentation/snippets/book-parts.ly:29 (comment)
 msgid "Page footer: add a different part-tagline at part last page"
 msgstr ""
 "Pie de la página: añadir una línea de pie diferente para la parte en la "
 "última página de la parte"
 
-#. Documentation/snippets/book-parts.ly:32 (comment)
+#. Documentation/snippets/book-parts.ly:33 (comment)
 msgid "Copyright header field only on book first page."
 msgstr "Campo de cabecera Copyright sólo en la primera página del libro"
 
-#. Documentation/snippets/book-parts.ly:36 (comment)
+#. Documentation/snippets/book-parts.ly:37 (comment)
 msgid "Part tagline header field only on each part last page."
-msgstr ""
-"Cebecera de lína de pie de la parte sólo en la última página de cada parte"
+msgstr "Cebecera de lína de pie de la parte sólo en la última página de cada parte"
 
-#. Documentation/snippets/book-parts.ly:40 (comment)
+#. Documentation/snippets/book-parts.ly:41 (comment)
 msgid "Tagline header field only on book last page."
 msgstr "Campo de cabecera Tagline sólo en la última página del libro"
 
-#. Documentation/snippets/book-parts.ly:47 (comment)
+#. Documentation/snippets/book-parts.ly:48 (comment)
 msgid "book header, which is inherited by the first bookpart"
 msgstr "Cabecera del libro, que se hereda por la primera bookpart"
 
-#. Documentation/snippets/book-parts.ly:56 (comment)
+#. Documentation/snippets/book-parts.ly:57 (comment)
 msgid "a different page breaking function may be used on each part"
 msgstr "Se puede usar una función de salto de página diferente en cada parte"
 
-#. Documentation/snippets/breathing-signs.ly:23 (comment)
+#. Documentation/snippets/breathing-signs.ly:24 (comment)
 msgid "this bar contains no \\breathe"
 msgstr "este compás no tiene ningún \\breathe"
 
-#. Documentation/snippets/breathing-signs.ly:25 (comment)
+#. Documentation/snippets/breathing-signs.ly:26 (comment)
 msgid "Modern notation:"
 msgstr "Notación moderna:"
 
-#. Documentation/snippets/breathing-signs.ly:26 (comment)
+#. Documentation/snippets/breathing-signs.ly:27 (comment)
 msgid "by default, \\breathe uses the rcomma, just as if saying:"
 msgstr "de forma predeterminada, \\breathe usa la rcomma, como si dijésemos:"
 
-#. Documentation/snippets/breathing-signs.ly:27 (comment)
+#. Documentation/snippets/breathing-signs.ly:28 (comment)
 msgid ""
 "\\override BreathingSign #'text = #(make-musicglyph-markup \\\"scripts.rcomma"
 "\\\")"
@@ -8107,85 +8123,86 @@ msgstr ""
 "\\override BreathingSign #'text = #(make-musicglyph-markup \\\"scripts.rcomma"
 "\\\")"
 
-#. Documentation/snippets/breathing-signs.ly:30 (comment)
+#. Documentation/snippets/breathing-signs.ly:31 (comment)
 msgid "rvarcomma and lvarcomma are variations of the default rcomma and lcomma"
-msgstr ""
-"rvarcomma y lvarcomma son variantes de las rcomma y lcomma predeterminadas"
+msgstr "rvarcomma y lvarcomma son variantes de las rcomma y lcomma predeterminadas"
 
-#. Documentation/snippets/breathing-signs.ly:31 (comment)
+#. Documentation/snippets/breathing-signs.ly:32 (comment)
 msgid "N.B.: must use Staff context here, since we start a Voice below"
 msgstr ""
 "Nota: aquí hay que usar el contexto de Staff pues iniciamos una Voice más "
 "abajo"
 
-#. Documentation/snippets/breathing-signs.ly:35 (comment)
+#. Documentation/snippets/breathing-signs.ly:36 (comment)
 msgid "vee"
 msgstr "uve"
 
-#. Documentation/snippets/caesura-railtracks-with-fermata.ly:33 (comment)
+#. Documentation/snippets/caesura-railtracks-with-fermata.ly:34 (comment)
 msgid "construct the symbol"
 msgstr "construir el símbolo"
 
-#. Documentation/snippets/caesura-railtracks-with-fermata.ly:42 (comment)
+#. Documentation/snippets/caesura-railtracks-with-fermata.ly:43 (comment)
 msgid "set the breathe mark back to normal"
 msgstr "volver a poner la respiración normal"
 
-#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:32 (variable)
+#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:33 (variable)
 msgid "hairpinWithCenteredText"
 msgstr "reguladorConTextoCentrado"
 
-#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:44 (variable)
+#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:45 (variable)
 msgid "hairpinMolto"
 msgstr "reguladorMolto"
 
-#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:45 (variable)
+#. Documentation/snippets/center-text-below-hairpin-dynamics.ly:46 (variable)
 msgid "hairpinMore"
 msgstr "reguladorMas"
 
-#. Documentation/snippets/changing--flageolet-mark-size.ly:46 (variable)
-#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:27 (variable)
+#. Documentation/snippets/changing--flageolet-mark-size.ly:47 (variable)
+#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:33 (variable)
 msgid "smallFlageolet"
 msgstr "flageoletPequeño"
 
-#. Documentation/snippets/changing-the-ambitus-gap.ly:45 (comment)
+#. Documentation/snippets/changing-the-ambitus-gap.ly:53 (comment)
 msgid "Default setting"
 msgstr "Ajuste predeterminado"
 
-#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:39 (comment)
+#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:40 (comment)
 msgid "The following is only here to print the names of the"
 msgstr "Lo que sigue está solamente para poder imprimir los nombres de los"
 
-#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:40 (comment)
+#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:41 (comment)
 msgid "chords styles; it can be removed if you do not need to"
 msgstr "estilos de acorde; quítelos si no los quiere"
 
-#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:41 (comment)
+#. Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly:42 (comment)
 msgid "print them."
 msgstr "imprimir."
 
-#. Documentation/snippets/changing-the-default-text-font-family.ly:21 (comment)
+#. Documentation/snippets/changing-the-default-text-font-family.ly:22 (comment)
 msgid "change for other default global staff size."
 msgstr "cambiar para otro tamaño de pentagrama global predeterminado."
 
-#. Documentation/snippets/changing-the-default-text-font-family.ly:23 (comment)
-#. Documentation/snippets/engravers-one-by-one.ly:188 (comment)
+#. Documentation/snippets/changing-the-default-text-font-family.ly:24 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:186 (comment)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:116 (comment)
+#. Documentation/snippets/stem-cross-staff-engraver.ly:19 (comment)
 #. Documentation/snippets/utf-8.ly:27 (comment)
 msgid "{"
 msgstr "{"
 
-#. Documentation/snippets/changing-the-default-text-font-family.ly:27 (comment)
-#. Documentation/snippets/engravers-one-by-one.ly:190 (comment)
-#. Documentation/snippets/expressive-headword.ly:35 (comment)
-#. Documentation/snippets/expressive-headword.ly:36 (comment)
+#. Documentation/snippets/changing-the-default-text-font-family.ly:28 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:188 (comment)
+#. Documentation/snippets/expressive-headword.ly:37 (comment)
+#. Documentation/snippets/expressive-headword.ly:38 (comment)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:117 (comment)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:247 (comment)
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:228 (comment)
+#. Documentation/snippets/stem-cross-staff-engraver.ly:28 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:229 (comment)
 #. Documentation/snippets/utf-8.ly:41 (comment)
 msgid "}"
 msgstr "}"
 
-#. Documentation/snippets/changing-the-text-for-sustain-markings.ly:35 (variable)
+#. Documentation/snippets/changing-the-text-for-sustain-markings.ly:36 (variable)
 msgid "sustainNotes"
 msgstr "notasSostenuto"
 
@@ -8197,46 +8214,45 @@ msgstr "plicaSi"
 msgid "stemOff"
 msgstr "plicaNo"
 
-#. Documentation/snippets/chordchanges-for-fretboards.ly:48 (variable)
-msgid "myChords"
-msgstr "misAcordes"
-
-#. Documentation/snippets/chord-glissando-in-tablature.ly:54 (variable)
+#. Documentation/snippets/chord-glissando-in-tablature.ly:55 (variable)
 msgid "myMusic"
 msgstr "miMusica"
 
-#. Documentation/snippets/chord-name-exceptions.ly:49 (comment)
+#. Documentation/snippets/chord-name-exceptions.ly:47 (comment)
 msgid "modify maj9 and 6(add9)"
 msgstr "cambiar maj9 y 6(add9)"
 
-#. Documentation/snippets/chord-name-exceptions.ly:50 (comment)
+#. Documentation/snippets/chord-name-exceptions.ly:48 (comment)
 msgid "Exception music is chords with markups"
 msgstr "la Música de Excepciones son acordes con marcados"
 
-#. Documentation/snippets/chord-name-exceptions.ly:51 (variable)
+#. Documentation/snippets/chord-name-exceptions.ly:49 (variable)
 msgid "chExceptionMusic"
 msgstr "cambiaMusicaExcepciones"
 
-#. Documentation/snippets/chord-name-exceptions.ly:56 (comment)
+#. Documentation/snippets/chord-name-exceptions.ly:54 (comment)
 msgid "Convert music to list and prepend to existing exceptions."
-msgstr ""
-"Convertir la música en una lista y añadirla a las excepciones existentes."
+msgstr "Convertir la música en una lista y añadirla a las excepciones existentes."
 
-#. Documentation/snippets/chord-name-exceptions.ly:57 (variable)
+#. Documentation/snippets/chord-name-exceptions.ly:55 (variable)
 msgid "chExceptions"
 msgstr "cambiaExcepciones"
 
-#. Documentation/snippets/chord-name-exceptions.ly:61 (variable)
+#. Documentation/snippets/chord-name-exceptions.ly:59 (variable)
 msgid "theMusic"
 msgstr "laMusica"
 
+#. Documentation/snippets/chordchanges-for-fretboards.ly:50 (variable)
+msgid "myChords"
+msgstr "misAcordes"
+
 #. Documentation/snippets/chords-headword.ly:24 (variable)
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:39 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:40 (variable)
 msgid "theChords"
 msgstr "losAcordes"
 
 #. Documentation/snippets/chords-headword.ly:26 (comment)
-#. Documentation/snippets/pitches-headword.ly:136 (comment)
+#. Documentation/snippets/pitches-headword.ly:130 (comment)
 msgid "\\break"
 msgstr "\\break"
 
@@ -8252,26 +8268,25 @@ msgstr "estrofaDos"
 msgid "sop"
 msgstr "sop"
 
-#. Documentation/snippets/clip-systems.ly:68 (variable)
+#. Documentation/snippets/clip-systems.ly:67 (variable)
 msgid "origScore"
 msgstr "partituraOriginal"
 
-#. Documentation/snippets/clip-systems.ly:86 (comment)
+#. Documentation/snippets/clip-systems.ly:85 (comment)
 msgid "Each clip-region is a (START . END) pair"
 msgstr "cada zona clip-region es un par (INICIO . FIN)"
 
-#. Documentation/snippets/clip-systems.ly:87 (comment)
+#. Documentation/snippets/clip-systems.ly:86 (comment)
 msgid "where both are rhythmic-locations."
 msgstr "donde ambas son rhythmic-locations."
 
-#. Documentation/snippets/clip-systems.ly:89 (comment)
+#. Documentation/snippets/clip-systems.ly:88 (comment)
 msgid "(make-rhythmic-locations BAR-NUMBER NUM DEN)"
 msgstr "(make-rhythmic-locations NUM-COMPAS NUMERADOR DENOMINADOR)"
 
-#. Documentation/snippets/clip-systems.ly:90 (comment)
+#. Documentation/snippets/clip-systems.ly:89 (comment)
 msgid "means NUM/DEN whole-notes into bar numbered BAR-NUMBER"
-msgstr ""
-"significa NUMERADOR/DENOMINADOR redondas en el compás número NUM-COMPAS"
+msgstr "significa NUMERADOR/DENOMINADOR redondas en el compás número NUM-COMPAS"
 
 #. Documentation/snippets/coloring-notes-depending-on-their-pitch.ly:21 (comment)
 msgid "Association list of pitches to colors."
@@ -8281,15 +8296,15 @@ msgstr "Lista asociativa de alturas a colores."
 msgid "Compare pitch and alteration (not octave)."
 msgstr "Comparar la altura y la alteración (no la octava)."
 
-#. Documentation/snippets/combining-dynamics-with-markup-texts.ly:30 (variable)
+#. Documentation/snippets/combining-dynamics-with-markup-texts.ly:31 (variable)
 msgid "piuF"
 msgstr "piuF"
 
-#. Documentation/snippets/combining-two-parts-on-the-same-staff.ly:97 (variable)
+#. Documentation/snippets/combining-two-parts-on-the-same-staff.ly:98 (variable)
 msgid "musicUp"
 msgstr "musicaArriba"
 
-#. Documentation/snippets/combining-two-parts-on-the-same-staff.ly:104 (variable)
+#. Documentation/snippets/combining-two-parts-on-the-same-staff.ly:105 (variable)
 msgid "musicDown"
 msgstr "musicaAbajo"
 
@@ -8305,25 +8320,25 @@ msgstr "ocultar extensión de texto"
 msgid "show glissando"
 msgstr "mostrar glissando"
 
-#. Documentation/snippets/creating-double-digit-fingerings.ly:22 (variable)
+#. Documentation/snippets/creating-double-digit-fingerings.ly:23 (variable)
 msgid "ten"
 msgstr "ten"
 
-#. Documentation/snippets/creating-double-digit-fingerings.ly:26 (variable)
+#. Documentation/snippets/creating-double-digit-fingerings.ly:27 (variable)
 msgid "fifty"
 msgstr "cincuenta"
 
-#. Documentation/snippets/creating-double-digit-fingerings.ly:30 (variable)
+#. Documentation/snippets/creating-double-digit-fingerings.ly:31 (variable)
 msgid "finger"
 msgstr "dedo"
 
-#. Documentation/snippets/creating-double-digit-fingerings.ly:41 (comment)
+#. Documentation/snippets/creating-double-digit-fingerings.ly:42 (comment)
 msgid "optional override to remove warnings for fingerings larger than 5"
 msgstr ""
 "sobreescritura opcional para suprimir advertencas para digitaciones mayores "
 "de 5"
 
-#. Documentation/snippets/creating-real-parenthesized-dynamics.ly:48 (variable)
+#. Documentation/snippets/creating-real-parenthesized-dynamics.ly:49 (variable)
 msgid "parenF"
 msgstr "forteParen"
 
@@ -8335,336 +8350,330 @@ msgstr "el compás y barra ocultos"
 msgid "\\cadenzaOn turns off automatic calculation of bar numbers"
 msgstr "\\cadenzaOn desactiva el cálculo automático de números de compás"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:31 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:32 (comment)
 msgid "this is in half-spaces,"
 msgstr "esto está en semi-espacios,"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:32 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:33 (comment)
 msgid "so it makes stems 9.5 staffspaces long"
 msgstr "de forma que las plicas tengan 9.5 espacios de longitud"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:33 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:34 (comment)
 msgid "stems are normally lengthened"
 msgstr "Las plicas normalmente se alargan"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:34 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:35 (comment)
 msgid "upwards, so here we must lower the stem by the amount"
 msgstr "hacia arriba, por tanto debemos bajar la plica en una cantidad"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:35 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:36 (comment)
 msgid "equal to the lengthening - in this case (19 - 7) / 2"
 msgstr "igual al alargamiento: en este caso (19 - 7) / 2"
 
-#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:36 (comment)
+#. Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly:37 (comment)
 msgid "(7 is default stem length)"
 msgstr "(7 es la longitud de plica predeterminada)"
 
-#. Documentation/snippets/cross-staff-tremolos.ly:47 (context id)
+#. Documentation/snippets/cross-staff-tremolos.ly:48 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:273 (variable)
-#. Documentation/snippets/screech-and-boink.ly:18 (context id)
+#. Documentation/snippets/screech-and-boink.ly:21 (context id)
 msgid "up"
 msgstr "arriba"
 
-#. Documentation/snippets/cross-staff-tremolos.ly:52 (context id)
+#. Documentation/snippets/cross-staff-tremolos.ly:53 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:279 (variable)
-#. Documentation/snippets/screech-and-boink.ly:48 (context id)
+#. Documentation/snippets/screech-and-boink.ly:51 (context id)
 msgid "down"
 msgstr "abajo"
 
-#. Documentation/snippets/customizing-fretboard-fret-diagrams.ly:71 (comment)
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:60 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:30 (comment)
+#. Documentation/snippets/customizing-fretboard-fret-diagrams.ly:72 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:61 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:31 (comment)
 msgid "Set global properties of fret diagram"
 msgstr "Fijar propiedades globales del diagrama de posición"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:58 (context id)
-#. Documentation/snippets/formatting-lyrics-syllables.ly:33 (variable)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:28 (context id)
-#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:89 (context id)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:59 (context id)
+#. Documentation/snippets/formatting-lyrics-syllables.ly:40 (variable)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:29 (context id)
+#. Documentation/snippets/piano-template-with-melody-and-lyrics.ly:90 (context id)
 msgid "mel"
 msgstr "melo"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:67 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:68 (comment)
 msgid "C major for guitar, no barre, using defaults"
 msgstr "Do mayor para guitarra, sin cejilla, usar predeterminados"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:68 (comment)
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:118 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:69 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:119 (comment)
 msgid "terse style"
 msgstr "estilo escueto"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:71 (comment)
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:93 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:59 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:80 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:159 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:180 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:258 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:279 (comment)
-msgid "C major for guitar, barred on third fret"
-msgstr "Do mayor para guitarra, cejilla en el tercer traste"
-
 #. Documentation/snippets/customizing-markup-fret-diagrams.ly:72 (comment)
 #. Documentation/snippets/customizing-markup-fret-diagrams.ly:94 (comment)
 #. Documentation/snippets/fret-diagrams-explained-and-developed.ly:60 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:82 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:109 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:81 (comment)
 #. Documentation/snippets/fret-diagrams-explained-and-developed.ly:160 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:182 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:209 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:181 (comment)
 #. Documentation/snippets/fret-diagrams-explained-and-developed.ly:259 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:281 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:308 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:280 (comment)
+msgid "C major for guitar, barred on third fret"
+msgstr "Do mayor para guitarra, cejilla en el tercer traste"
+
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:73 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:95 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:61 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:83 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:110 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:161 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:183 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:210 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:260 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:282 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:309 (comment)
 msgid "verbose style"
 msgstr "estilo prolijo"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:73 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:74 (comment)
 msgid "size 1.0"
 msgstr "tamaño 1.0"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:74 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:61 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:161 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:260 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:75 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:62 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:162 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:261 (comment)
 msgid "roman fret label, finger labels below string, straight barre"
 msgstr ""
 "leyenda de posición en romana, leyendas de dedos debajo de las cuerdas, "
 "cejilla recta"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:76 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:77 (comment)
 msgid "standard size"
 msgstr "tamaño estándar"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:95 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:96 (comment)
 msgid "landscape orientation, arabic numbers, M for mute string"
 msgstr "orientación apaisada, números arábigos, M para cuerda muda"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:96 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:97 (comment)
 msgid "no barre, fret label down or left, small mute label font"
 msgstr ""
 "sin cejilla, leyenda de posición abajo o izquierda, fuente pequeña de "
 "indicación de cuerda muda"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:117 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:131 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:231 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:330 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:118 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:132 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:232 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:331 (comment)
 msgid "simple D chord"
 msgstr "acorde de Re sencillo"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:119 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:120 (comment)
 msgid "larger dots, centered dots, fewer frets"
 msgstr "puntos mayores, centrados, menos trastes"
 
-#. Documentation/snippets/customizing-markup-fret-diagrams.ly:120 (comment)
+#. Documentation/snippets/customizing-markup-fret-diagrams.ly:121 (comment)
 msgid "label below string"
 msgstr "leyenda debajo de la cuerda"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:42 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:29 (comment)
 msgid "Grob utilities"
 msgstr "Utilidades de Grob"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:44 (comment)
-msgid ""
-"These are literal rewrites of some C++ methods used by the ambitus engraver."
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:31 (comment)
+msgid "These are literal rewrites of some C++ methods used by the ambitus engraver."
 msgstr ""
 "Esto son reescrituras literales de algunos métodos en C++ utilizados por el "
 "grabador de tesitura."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:79 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:62 (comment)
 msgid "Ambitus data structure"
 msgstr "Estructura de datos de la tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:82 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:65 (comment)
 msgid "The <ambitus> class holds the various grobs that are created"
 msgstr "La clase <ambitus> guarda los distintos grobs que se crean"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:83 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:66 (comment)
 msgid "to print an ambitus:"
 msgstr "para imprimir una tesitura:"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:84 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:67 (comment)
 msgid "- ambitus-group: the grob that groups all the components of an ambitus"
-msgstr ""
-"- ambitus-group: el grob que agrupa todos los componentes de una tesitura"
+msgstr "- ambitus-group: el grob que agrupa todos los componentes de una tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:85 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:68 (comment)
 msgid "(Ambitus grob);"
 msgstr "(grob de la tesitura);"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:86 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:69 (comment)
 msgid "- ambitus-line: the vertical line between the upper and lower ambitus"
-msgstr ""
-"- ambitus-line: la línea vertical entre las notas alta y baja de la tesitura"
+msgstr "- ambitus-line: la línea vertical entre las notas alta y baja de la tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:87 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:70 (comment)
 msgid "notes (AmbitusLine grob);"
 msgstr "notas (grob AmbitusLine);"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:88 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:71 (comment)
 msgid "- ambitus-up-note and ambitus-down-note: the note head and accidental"
 msgstr "- ambitus-up-note y ambitus-down-note: la cabeza y su alteración"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:89 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:72 (comment)
 msgid "for the lower and upper note of the ambitus (see <ambitus-note> class"
 msgstr ""
 "para las notas inferior y superior de la tesitura (véase la clase <ambitus-"
 "note>"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:90 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:73 (comment)
 msgid "below)."
 msgstr "más abajo)."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:91 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:74 (comment)
 msgid "The other slots define the key and clef context of the engraver:"
-msgstr ""
-"Las otras ranuras definen los contextos de tonalidad y clave del grabador:"
+msgstr "Las otras ranuras definen los contextos de tonalidad y clave del grabador:"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:92 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:75 (comment)
 msgid "- start-c0: position of middle c at the beginning of the piece.  It"
 msgstr "- start-c0: posición del Do central al principio de la pieza."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:93 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:76 (comment)
 msgid "is used to place the ambitus notes according to their pitch;"
 msgstr "Se usa para colocar las notas de tesitura de acuerdo con su altura;"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:94 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:77 (comment)
 msgid "- start-key-sig: the key signature at the beginning of the piece.  It"
 msgstr "- start-key-sig: armadura al principio de la pieza."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:95 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:78 (comment)
 msgid "is used to determine if accidentals shall be printed next to ambitus"
 msgstr "Se usa para determinar si se deben imprimir alteraciones junto a las "
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:96 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:79 (comment)
 msgid "notes."
 msgstr "notas de tesitura."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:110 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:93 (comment)
 msgid "Accessor for the lower and upper note data of an ambitus"
 msgstr "Accesor para los datos de notas inferior y superior de la tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:118 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:101 (comment)
 msgid "The <ambitus-note> class holds the grobs that are specific to ambitus"
 msgstr "La clase <ambitus-note> guarda los grobs que son específicos de las"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:119 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:102 (comment)
 msgid "(lower and upper) notes:"
 msgstr "notas (inferior y superior):"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:120 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:103 (comment)
 msgid "- head: an AmbitusNoteHead grob;"
 msgstr "- head: un grob AmbitusNoteHead;"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:121 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:104 (comment)
 msgid "- accidental: an AmbitusAccidental grob, to be possibly printed next"
-msgstr ""
-"- accidental: un grob AmbitusAccidental a imprimir posiblemente junto a"
+msgstr "- accidental: un grob AmbitusAccidental a imprimir posiblemente junto a"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:122 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:105 (comment)
 msgid "to the ambitus note head."
 msgstr "la cabeza de la nota de tesitura."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:123 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:106 (comment)
 msgid "Moreover:"
 msgstr "Además:"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:124 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:107 (comment)
 msgid "- pitch is the absolute pitch of the note"
 msgstr "- pitch es la altura absoluta de la nota"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:125 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:108 (comment)
 msgid "- cause is the note event that causes this ambitus note, i.e. the lower"
 msgstr ""
 "- cause es el evento de nota que produce esta nota de tesitura, es decir, la "
 "nota"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:126 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:109 (comment)
 msgid "or upper note of the considered music sequence."
 msgstr "inferior o superior de la secuencia musical considerada."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:139 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:122 (comment)
 msgid "Ambitus engraving logics"
 msgstr "Lógica del grabado de la tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:141 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:124 (comment)
 msgid "Rewrite of the code from @file{lily/ambitus-engraver.cc}."
 msgstr "Reescritura del código de @file{lily/ambitus-engraver.cc}."
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:310 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:293 (comment)
 msgid "Ambitus engraver definition"
 msgstr "Definición del grabador de tesitura"
 
-#. Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly:335 (comment)
+#. Documentation/snippets/defining-an-engraver-in-scheme--ambitus-engraver.ly:319 (comment)
 msgid "Example"
 msgstr "Ejemplo"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:89 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:88 (comment)
 msgid "add FretBoards for the Cuatro"
 msgstr "añadir FretBoards para el cuatro venezolano"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:90 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:89 (comment)
 msgid "Note: This section could be put into a separate file"
 msgstr "Nota: esta sección se puede poner en un archivo aparte"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:91 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:90 (comment)
 msgid "predefined-cuatro-fretboards.ly"
 msgstr "posiciones-predefinidas-del-cuatro.ly"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:92 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:91 (comment)
 msgid "and \\included into each of your compositions"
 msgstr "e incluirse en todas sus composiciones con \\include"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:94 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:93 (variable)
 msgid "cuatroTuning"
 msgstr "afinacionCuatro"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:99 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:98 (variable)
 msgid "dSix"
 msgstr "sextaRe"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:100 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:99 (variable)
 msgid "dMajor"
 msgstr "reMayor"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:101 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:100 (variable)
 msgid "aMajSeven"
 msgstr "laSeptMayor"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:102 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:101 (variable)
 msgid "dMajSeven"
 msgstr "reSeptMayor"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:103 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:102 (variable)
 msgid "gMajor"
 msgstr "solMayor"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:121 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:120 (comment)
 msgid "end of potential include file /predefined-cuatro-fretboards.ly"
-msgstr ""
-"fin del potencial archivo de inclusión /posiciones-predefinidas-del-cuatro.ly"
+msgstr "fin del potencial archivo de inclusión /posiciones-predefinidas-del-cuatro.ly"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:126 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:125 (variable)
 msgid "primerosNames"
 msgstr "nombresPrimeros"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:130 (variable)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:129 (variable)
 msgid "primeros"
 msgstr "primeros"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:153 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:152 (comment)
 msgid "\\override FretBoard"
 msgstr "\\override FretBoard"
 
-#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:154 (comment)
+#. Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly:153 (comment)
 msgid "#'(fret-diagram-details string-count) = #'4"
 msgstr "#'(fret-diagram-details string-count) = #'4"
 
-#. Documentation/snippets/demo-midiinstruments.ly:27 (variable)
+#. Documentation/snippets/demo-midiinstruments.ly:28 (variable)
 msgid "baseMelody"
 msgstr "melodiaBase"
 
-#. Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly:76 (comment)
+#. Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly:77 (comment)
 msgid "Must be lower than the actual number of staff lines"
 msgstr "debe ser menor que el número real de líneas de la pauta"
 
@@ -8676,23 +8685,23 @@ msgstr "fixA"
 msgid "fixB"
 msgstr "fixB"
 
-#. Documentation/snippets/displaying-grob-ancestry.ly:200 (comment)
-msgid "\\\" (make-string 36 #\\-))"
-msgstr "\\\" (make-string 36 #\\-))"
+#. Documentation/snippets/displaying-grob-ancestry.ly:182 (comment)
+msgid "~a~&\\\""
+msgstr "~a~&\\\""
 
-#. Documentation/snippets/double-glissando.ly:24 (comment)
+#. Documentation/snippets/double-glissando.ly:25 (comment)
 msgid "new voice ( = \\voiceOne), hidden"
 msgstr "new voice ( = \\voiceOne), oculta"
 
-#. Documentation/snippets/double-glissando.ly:26 (comment)
+#. Documentation/snippets/double-glissando.ly:27 (comment)
 msgid "attach glissando to note heads"
 msgstr "aplicar glissando a la cabeza de las notas"
 
-#. Documentation/snippets/double-glissando.ly:31 (comment)
+#. Documentation/snippets/double-glissando.ly:32 (comment)
 msgid "original voice with chords rearranged so that"
 msgstr "voz original con acordes rehecha de forma que"
 
-#. Documentation/snippets/double-glissando.ly:32 (comment)
+#. Documentation/snippets/double-glissando.ly:33 (comment)
 msgid "glissando is attached to a & c"
 msgstr "el glissando se aplica al La y al Do"
 
@@ -8700,190 +8709,196 @@ msgstr "el glissando se aplica al La y al Do"
 msgid "circle"
 msgstr "círculo"
 
-#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:57 (comment)
-msgid ""
-"Two functions for (de)crescendo spanners where you can explicitly give the"
+#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:58 (comment)
+msgid "Two functions for (de)crescendo spanners where you can explicitly give the"
 msgstr "Dos funciones para extensores de (de)crescendo donde podemos dar el"
 
-#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:58 (comment)
+#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:59 (comment)
 msgid "spanner text."
 msgstr "texto de la extensión explícitamente."
 
-#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:59 (variable)
+#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:60 (variable)
 msgid "mycresc"
 msgstr "miCresc"
 
-#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:65 (variable)
+#. Documentation/snippets/dynamics-custom-text-spanner-postfix.ly:66 (variable)
 msgid "mydecresc"
 msgstr "miDecresc"
 
-#. Documentation/snippets/dynamics-text-spanner-postfix.ly:61 (comment)
+#. Documentation/snippets/dynamics-text-spanner-postfix.ly:62 (comment)
 msgid "Some sample text dynamic spanners, to be used as postfix operators"
-msgstr ""
-"Algunos extensores de texto de muestra, para usar como operadores posfijos"
+msgstr "Algunos extensores de texto de muestra, para usar como operadores posfijos"
 
-#. Documentation/snippets/dynamics-text-spanner-postfix.ly:62 (variable)
+#. Documentation/snippets/dynamics-text-spanner-postfix.ly:63 (variable)
 msgid "crpoco"
 msgstr "crpoco"
 
-#. Documentation/snippets/editorial-headword.ly:25 (comment)
+#. Documentation/snippets/editorial-headword.ly:38 (comment)
 msgid "NR 1.7 Editorial annotations"
 msgstr "NR 1.7 Anotaciones editoriales"
 
-#. Documentation/snippets/editorial-headword.ly:27 (comment)
+#. Documentation/snippets/editorial-headword.ly:40 (comment)
 msgid "Beethoven, Op. 31, No. 3"
 msgstr "Beethoven, Op. 31, No. 3"
 
-#. Documentation/snippets/editorial-headword.ly:28 (comment)
+#. Documentation/snippets/editorial-headword.ly:41 (comment)
 msgid "Piano sonata 18, Movt II, Scherzo"
 msgstr "Sonata para piano núm. 18, Mov. II, Scherzo"
 
-#. Documentation/snippets/editorial-headword.ly:29 (comment)
+#. Documentation/snippets/editorial-headword.ly:42 (comment)
 msgid "Measures 9 - 14"
 msgstr "Compases 9 a 14"
 
-#. Documentation/snippets/editorial-headword.ly:33 (comment)
-#. Documentation/snippets/expressive-headword.ly:40 (comment)
-#. Documentation/snippets/pitches-headword.ly:33 (comment)
-#. Documentation/snippets/rhythms-headword.ly:42 (comment)
+#. Documentation/snippets/editorial-headword.ly:46 (comment)
+#. Documentation/snippets/expressive-headword.ly:42 (comment)
+#. Documentation/snippets/pitches-headword.ly:27 (comment)
+#. Documentation/snippets/rhythms-headword.ly:37 (comment)
 msgid "RH Staff"
 msgstr "Pentagrama MD"
 
-#. Documentation/snippets/editorial-headword.ly:71 (comment)
-#. Documentation/snippets/expressive-headword.ly:172 (comment)
-#. Documentation/snippets/pitches-headword.ly:106 (comment)
-#. Documentation/snippets/rhythms-headword.ly:131 (comment)
+#. Documentation/snippets/editorial-headword.ly:84 (comment)
+#. Documentation/snippets/expressive-headword.ly:174 (comment)
+#. Documentation/snippets/pitches-headword.ly:100 (comment)
+#. Documentation/snippets/rhythms-headword.ly:126 (comment)
 msgid "LH Staff"
 msgstr "Pentagrama MI"
 
-#. Documentation/snippets/embedding-native-postscript-in-a--markup-block.ly:28 (comment)
+#. Documentation/snippets/embedding-native-postscript-in-a--markup-block.ly:29 (comment)
 msgid "PostScript is a registered trademark of Adobe Systems Inc."
 msgstr "PostScript is a registered trademark of Adobe Systems Inc."
 
-#. Documentation/snippets/engravers-one-by-one.ly:76 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:74 (comment)
 msgid "sample music"
 msgstr "música de ejemplo"
 
-#. Documentation/snippets/engravers-one-by-one.ly:77 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:75 (variable)
 msgid "topVoice"
 msgstr "vozSuperior"
 
-#. Documentation/snippets/engravers-one-by-one.ly:85 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:83 (variable)
 msgid "botVoice"
 msgstr "vozInferior"
 
-#. Documentation/snippets/engravers-one-by-one.ly:93 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:91 (variable)
 msgid "hoom"
 msgstr "hum"
 
-#. Documentation/snippets/engravers-one-by-one.ly:104 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:102 (variable)
 msgid "pah"
 msgstr "pa"
 
-#. Documentation/snippets/engravers-one-by-one.ly:114 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:112 (comment)
 msgid "setup for Request->Element conversion. Guru-only"
 msgstr "Sólo para gurús: tinglado para la conversión Request->Element"
 
-#. Documentation/snippets/engravers-one-by-one.ly:117 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:215 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:228 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:284 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:298 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:115 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:213 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:226 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:282 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:296 (variable)
 msgid "MyStaff"
 msgstr "miPentagrama"
 
-#. Documentation/snippets/engravers-one-by-one.ly:145 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:143 (comment)
 msgid "explicitly set instrumentName, so we don't get"
 msgstr "fijar instrumentName específicamente, para no obtener"
 
-#. Documentation/snippets/engravers-one-by-one.ly:146 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:144 (comment)
 msgid "weird effects when doing instrument names for"
 msgstr "efectos extraños al hacer nombres de instrumento para"
 
-#. Documentation/snippets/engravers-one-by-one.ly:147 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:145 (comment)
 msgid "piano staves"
 msgstr "sistemas de piano"
 
-#. Documentation/snippets/engravers-one-by-one.ly:156 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:242 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:255 (variable)
-#. Documentation/snippets/engravers-one-by-one.ly:268 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:154 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:240 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:253 (variable)
+#. Documentation/snippets/engravers-one-by-one.ly:266 (variable)
 msgid "MyVoice"
 msgstr "miVoz"
 
-#. Documentation/snippets/engravers-one-by-one.ly:171 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:169 (comment)
 msgid "must come before all"
 msgstr "ha de ir antes de todo"
 
-#. Documentation/snippets/engravers-one-by-one.ly:181 (comment)
+#. Documentation/snippets/engravers-one-by-one.ly:179 (comment)
 msgid "\\consists \\\"Rest_engraver\\\""
 msgstr "\\consists \\\"Rest_engraver\\\""
 
 #. Documentation/snippets/expressive-headword.ly:26 (comment)
+msgid "NR 1.3 Expressive marks"
+msgstr "Referencia de la notación 1.3 Marcas expresivas"
+
+#. Documentation/snippets/expressive-headword.ly:28 (comment)
 msgid "L. v. Beethoven, Op. 49 no. 1"
 msgstr "L. v. Beethoven, Op. 49 no. 1"
 
-#. Documentation/snippets/expressive-headword.ly:27 (comment)
+#. Documentation/snippets/expressive-headword.ly:29 (comment)
 msgid "Piano sonata 19 - \\\"Leichte Sonate\\\""
 msgstr "Sonata para piano núm. 19 - \\\"Leichte Sonate\\\""
 
-#. Documentation/snippets/expressive-headword.ly:28 (comment)
+#. Documentation/snippets/expressive-headword.ly:30 (comment)
 msgid "measures 1 - 12"
 msgstr "Compases 1 a 12"
 
-#. Documentation/snippets/expressive-headword.ly:30 (comment)
+#. Documentation/snippets/expressive-headword.ly:32 (comment)
 msgid "\\layout {"
 msgstr "\\layout {"
 
-#. Documentation/snippets/expressive-headword.ly:31 (comment)
+#. Documentation/snippets/expressive-headword.ly:33 (comment)
 msgid "\\context {"
 msgstr "\\context {"
 
-#. Documentation/snippets/expressive-headword.ly:32 (comment)
+#. Documentation/snippets/expressive-headword.ly:34 (comment)
 msgid "\\Score"
 msgstr "\\Score"
 
-#. Documentation/snippets/expressive-headword.ly:33 (comment)
+#. Documentation/snippets/expressive-headword.ly:35 (comment)
 msgid "\\override SpacingSpanner #'base-shortest-duration ="
 msgstr "\\override SpacingSpanner #'base-shortest-duration ="
 
-#. Documentation/snippets/expressive-headword.ly:34 (comment)
+#. Documentation/snippets/expressive-headword.ly:36 (comment)
 msgid "#(ly:make-moment 1 20)"
 msgstr "#(ly:make-moment 1 20)"
 
 #. Documentation/snippets/figured-bass-headword.ly:26 (comment)
+msgid "NR 2.7.3 Figured bass"
+msgstr "Referencia de la notación 2.7.3 bajo cifrado"
+
+#. Documentation/snippets/figured-bass-headword.ly:28 (comment)
 msgid "Arcangelo Corelli, 12 Sonate da Camera, Op. 2"
 msgstr "Arcangelo Corelli, 12 Sonate da Camera, Op. 2"
 
-#. Documentation/snippets/figured-bass-headword.ly:27 (comment)
+#. Documentation/snippets/figured-bass-headword.ly:29 (comment)
 msgid "Sonata II, Allemanda"
 msgstr "Sonata II, Allemanda"
 
-#. Documentation/snippets/figured-bass-headword.ly:28 (comment)
+#. Documentation/snippets/figured-bass-headword.ly:30 (comment)
 msgid "measures 1 - 88"
 msgstr "compases 1 a 88"
 
-#. Documentation/snippets/figured-bass-headword.ly:29 (comment)
+#. Documentation/snippets/figured-bass-headword.ly:31 (comment)
 msgid "Coded by Neil Puttock; modified by Carl Sorensen"
 msgstr "Codificado por Neil Puttock; modificado por Carl Sorensen"
 
-#. Documentation/snippets/figured-bass-headword.ly:31 (variable)
+#. Documentation/snippets/figured-bass-headword.ly:33 (variable)
 msgid "extendOn"
 msgstr "extendOn"
 
-#. Documentation/snippets/figured-bass-headword.ly:32 (variable)
+#. Documentation/snippets/figured-bass-headword.ly:34 (variable)
 msgid "extendOff"
 msgstr "extendOff"
 
-#. Documentation/snippets/figured-bass-headword.ly:40 (context id)
+#. Documentation/snippets/figured-bass-headword.ly:42 (context id)
 msgid "violinoI"
 msgstr "violinI"
 
-#. Documentation/snippets/figured-bass-headword.ly:58 (context id)
+#. Documentation/snippets/figured-bass-headword.ly:60 (context id)
 msgid "violinoII"
 msgstr "violinII"
 
-#. Documentation/snippets/figured-bass-headword.ly:76 (context id)
+#. Documentation/snippets/figured-bass-headword.ly:78 (context id)
 msgid "violone"
 msgstr "violone"
 
@@ -8892,123 +8907,123 @@ msgstr "violone"
 msgid "centermarkup"
 msgstr "marcadoCentro"
 
-#. Documentation/snippets/flamenco-notation.ly:97 (comment)
+#. Documentation/snippets/flamenco-notation.ly:79 (comment)
 msgid "Cut here ----- Start 'flamenco.ly'"
 msgstr "Cortar por aquí ----- Inicio 'flamenco.ly'"
 
-#. Documentation/snippets/flamenco-notation.ly:99 (comment)
+#. Documentation/snippets/flamenco-notation.ly:81 (comment)
 msgid "Text indicators"
 msgstr "Indicadores de texto"
 
-#. Documentation/snippets/flamenco-notation.ly:100 (variable)
+#. Documentation/snippets/flamenco-notation.ly:82 (variable)
 msgid "abanico"
 msgstr "abanico"
 
-#. Documentation/snippets/flamenco-notation.ly:101 (variable)
+#. Documentation/snippets/flamenco-notation.ly:83 (variable)
 msgid "rasgueaso"
 msgstr "rasgueo"
 
-#. Documentation/snippets/flamenco-notation.ly:102 (variable)
+#. Documentation/snippets/flamenco-notation.ly:84 (variable)
 msgid "alzapua"
 msgstr "alzapua"
 
-#. Documentation/snippets/flamenco-notation.ly:104 (comment)
+#. Documentation/snippets/flamenco-notation.ly:86 (comment)
 msgid "Finger stroke symbols"
 msgstr "Símbolos de golpes de dedo"
 
-#. Documentation/snippets/flamenco-notation.ly:105 (variable)
+#. Documentation/snippets/flamenco-notation.ly:87 (variable)
 msgid "strokeUp"
 msgstr "golpeArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:115 (variable)
+#. Documentation/snippets/flamenco-notation.ly:97 (variable)
 msgid "strokeDown"
 msgstr "golpeAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:125 (comment)
+#. Documentation/snippets/flamenco-notation.ly:107 (comment)
 msgid "Golpe symbol"
 msgstr "Símbolo de golpe"
 
-#. Documentation/snippets/flamenco-notation.ly:126 (variable)
+#. Documentation/snippets/flamenco-notation.ly:108 (variable)
 msgid "golpe"
 msgstr "golpe"
 
-#. Documentation/snippets/flamenco-notation.ly:140 (variable)
+#. Documentation/snippets/flamenco-notation.ly:122 (variable)
 msgid "strokeUpGolpe"
 msgstr "golpearArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:141 (variable)
+#. Documentation/snippets/flamenco-notation.ly:123 (variable)
 msgid "iUpGolpe"
 msgstr "iGolpeArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:143 (comment)
+#. Documentation/snippets/flamenco-notation.ly:125 (comment)
 msgid "Strokes for all fingers"
 msgstr "Golpes para todos los dedos"
 
-#. Documentation/snippets/flamenco-notation.ly:144 (variable)
+#. Documentation/snippets/flamenco-notation.ly:126 (variable)
 msgid "pUp"
 msgstr "pArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:145 (variable)
+#. Documentation/snippets/flamenco-notation.ly:127 (variable)
 msgid "pDown"
 msgstr "pAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:146 (variable)
+#. Documentation/snippets/flamenco-notation.ly:128 (variable)
 msgid "iUp"
 msgstr "iArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:147 (variable)
+#. Documentation/snippets/flamenco-notation.ly:129 (variable)
 msgid "iDown"
 msgstr "iAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:148 (variable)
+#. Documentation/snippets/flamenco-notation.ly:130 (variable)
 msgid "mUp"
 msgstr "mArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:149 (variable)
+#. Documentation/snippets/flamenco-notation.ly:131 (variable)
 msgid "mDown"
 msgstr "mAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:150 (variable)
+#. Documentation/snippets/flamenco-notation.ly:132 (variable)
 msgid "aUp"
 msgstr "aArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:151 (variable)
+#. Documentation/snippets/flamenco-notation.ly:133 (variable)
 msgid "aDown"
 msgstr "aAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:152 (variable)
+#. Documentation/snippets/flamenco-notation.ly:134 (variable)
 msgid "xUp"
 msgstr "xArriba"
 
-#. Documentation/snippets/flamenco-notation.ly:153 (variable)
+#. Documentation/snippets/flamenco-notation.ly:135 (variable)
 msgid "xDown"
 msgstr "xAbajo"
 
-#. Documentation/snippets/flamenco-notation.ly:156 (comment)
+#. Documentation/snippets/flamenco-notation.ly:138 (comment)
 msgid "Just handy :)"
 msgstr "Muy cómodo :)"
 
-#. Documentation/snippets/flamenco-notation.ly:157 (variable)
+#. Documentation/snippets/flamenco-notation.ly:139 (variable)
 msgid "tupletOff"
 msgstr "grupoNo"
 
-#. Documentation/snippets/flamenco-notation.ly:162 (variable)
+#. Documentation/snippets/flamenco-notation.ly:144 (variable)
 msgid "tupletsOff"
 msgstr "gruposNo"
 
-#. Documentation/snippets/flamenco-notation.ly:167 (variable)
+#. Documentation/snippets/flamenco-notation.ly:149 (variable)
 msgid "tupletsOn"
 msgstr "gruposSi"
 
-#. Documentation/snippets/flamenco-notation.ly:172 (variable)
+#. Documentation/snippets/flamenco-notation.ly:154 (variable)
 msgid "headsOff"
 msgstr "cabezasNo"
 
-#. Documentation/snippets/flamenco-notation.ly:178 (variable)
+#. Documentation/snippets/flamenco-notation.ly:160 (variable)
 msgid "headsOn"
 msgstr "cabezasSi"
 
-#. Documentation/snippets/flamenco-notation.ly:184 (comment)
+#. Documentation/snippets/flamenco-notation.ly:166 (comment)
 msgid "Cut here ----- End 'flamenco.ly'"
 msgstr "Cortar por aquí ----- Final 'flamenco.ly'"
 
@@ -9028,96 +9043,95 @@ msgstr "Ejemplo 3"
 msgid "Example 4"
 msgstr "Ejemplo 4"
 
-#. Documentation/snippets/flute-slap-notation.ly:21 (variable)
+#. Documentation/snippets/flute-slap-notation.ly:22 (variable)
 msgid "slap"
 msgstr "slap"
 
-#. Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly:23 (variable)
+#. Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly:24 (variable)
 msgid "example"
 msgstr "ejemplo"
 
-#. Documentation/snippets/formatting-lyrics-syllables.ly:34 (variable)
+#. Documentation/snippets/formatting-lyrics-syllables.ly:41 (variable)
 msgid "lyr"
 msgstr "letra"
 
-#. Documentation/snippets/fretboards-alternate-tables.ly:92 (comment)
-msgid "Make a blank new fretboard table"
-msgstr "Hacer una tabla de trastes en blanco"
-
-#. Documentation/snippets/fretboards-alternate-tables.ly:95 (comment)
-msgid "Make a new fretboard table as a copy of default-fret-table"
-msgstr "Hacer una tabla de trastes nueva como copia de default-fret-table"
-
-#. Documentation/snippets/fretboards-alternate-tables.ly:98 (comment)
-msgid "Add a chord to custom-fretboard-table-one"
-msgstr "Añadir un acorde a custom-fretboard-table-one"
-
-#. Documentation/snippets/fretboards-alternate-tables.ly:104 (comment)
-msgid "Add a chord to custom-fretboard-table-two"
-msgstr "Añadir un acorde a custom-fretboard-table-two"
-
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:36 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:37 (comment)
 msgid "A chord for ukulele"
 msgstr "Un acorde de ukelele"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:46 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:47 (comment)
 msgid "A chord for ukulele, with formatting defined in definition string"
-msgstr ""
-"Acorde para el ukelele, con el formato definido en la cadena de definición"
+msgstr "Acorde para el ukelele, con el formato definido en la cadena de definición"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:47 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:48 (comment)
 msgid "1.2 * size, 4 strings, 4 frets, fingerings below string"
 msgstr "1.2 * tamaño, 4 cuerdas, 4 trastes, digitación debajo de las cuerdas"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:48 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:49 (comment)
 msgid "dot radius .35 of fret spacing, dot position 0.55 of fret spacing"
 msgstr ""
 "redio del punto .35 del espacio de traste, posición del punto 0.55 del "
 "espacio de traste"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:57 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:58 (comment)
 msgid "These chords will be in normal orientation"
 msgstr "Estos acordes estarán en la orientación normal"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:63 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:84 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:111 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:163 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:184 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:211 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:262 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:283 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:310 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:64 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:85 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:112 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:164 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:185 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:212 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:263 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:284 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:311 (comment)
 #, python-format
 msgid "110% of default size"
 msgstr "110% del tamaño predeterminado"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:81 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:181 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:280 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:82 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:182 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:281 (comment)
 msgid "Double barre used to test barre function"
 msgstr "Doble barra utilizada para probar la función de barra"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:108 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:208 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:307 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:109 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:209 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:308 (comment)
 msgid "C major for guitar, with capo on third fret"
 msgstr "Do mayor para guitarra, cejilla en el tercer traste"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:143 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:242 (comment)
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:341 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:144 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:243 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:342 (comment)
 msgid "simple D chord, large top fret thickness"
 msgstr "acorde sencillo de Re, grosor del traste grande superior"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:155 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:156 (comment)
 msgid "These chords will be in landscape orientation"
 msgstr "Eestos acordes estarán en orientación horizontal"
 
-#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:254 (comment)
+#. Documentation/snippets/fret-diagrams-explained-and-developed.ly:255 (comment)
 msgid "These chords will be in opposing-landscape orientation"
 msgstr "Estos acordes estarán en orientación horizontal opuesta"
 
+#. Documentation/snippets/fretboards-alternate-tables.ly:90 (comment)
+msgid "Make a blank new fretboard table"
+msgstr "Hacer una tabla de trastes en blanco"
+
+#. Documentation/snippets/fretboards-alternate-tables.ly:93 (comment)
+msgid "Make a new fretboard table as a copy of default-fret-table"
+msgstr "Hacer una tabla de trastes nueva como copia de default-fret-table"
+
+#. Documentation/snippets/fretboards-alternate-tables.ly:96 (comment)
+msgid "Add a chord to custom-fretboard-table-one"
+msgstr "Añadir un acorde a custom-fretboard-table-one"
+
+#. Documentation/snippets/fretboards-alternate-tables.ly:102 (comment)
+msgid "Add a chord to custom-fretboard-table-two"
+msgstr "Añadir un acorde a custom-fretboard-table-two"
+
 #. Documentation/snippets/fretted-headword.ly:36 (comment)
 msgid "shortcuts"
 msgstr "atajos"
@@ -9299,8 +9313,8 @@ msgstr "c. 11"
 #. Documentation/snippets/fretted-headword.ly:143 (context id)
 #. Documentation/snippets/jazz-combo-template.ly:199 (variable)
 #. Documentation/snippets/jazz-combo-template.ly:309 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:62 (context id)
-#. Documentation/snippets/polyphony-in-tablature.ly:67 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:63 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:68 (context id)
 msgid "guitar"
 msgstr "guitarra"
 
@@ -9340,43 +9354,55 @@ msgstr "Crear un sello de corchete buscando el glifo en la fuente tipográfica"
 msgid "snippetexamplenotes"
 msgstr "notasdeejemplo"
 
-#. Documentation/snippets/grid-lines--changing-their-appearance.ly:56 (comment)
+#. Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly:74 (comment)
+msgid "Just some example score to show how to use these functions:"
+msgstr "Una simple partitura de ejemplo para mostrar la forma de uso de estas funciones:"
+
+#. Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly:100 (variable)
+msgid "oneNoteScore"
+msgstr "partituraDeUnaSolaNota"
+
+#. Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly:117 (comment)
+msgid "Top-level scores are also handled correctly"
+msgstr "Las partituras del nivel superior también se manejan correctamente"
+
+#. Documentation/snippets/grid-lines--changing-their-appearance.ly:57 (comment)
 msgid "this moves them up one staff space from the default position"
 msgstr "moverlas hacia arriba un espacio de pentagrama desde la posición de"
 
-#. Documentation/snippets/grid-lines--changing-their-appearance.ly:74 (comment)
+#. Documentation/snippets/grid-lines--changing-their-appearance.ly:75 (comment)
 msgid "set up grids"
 msgstr "establecer rejillas"
 
-#. Documentation/snippets/grid-lines--changing-their-appearance.ly:76 (comment)
+#. Documentation/snippets/grid-lines--changing-their-appearance.ly:77 (comment)
 msgid "set the grid interval to one quarter note"
 msgstr "establecer intervalo de rejilla a una negra"
 
-#. Documentation/snippets/grid-lines--changing-their-appearance.ly:82 (comment)
+#. Documentation/snippets/grid-lines--changing-their-appearance.ly:83 (comment)
 msgid "this moves them to the right half a staff space"
 msgstr "moverlas a la derecha medio espacio de pentagrama"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:41 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:42 (comment)
 msgid "hides staff and notes so that only the grid lines are visible"
 msgstr "ocultar pentagrama y notas para que sólo se vea la rejilla"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:48 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:49 (comment)
 msgid "dummy notes to force regular note spacing"
 msgstr "notas falsas para forzar el espaciado regular de las notas"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:64 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:65 (comment)
 msgid "center grid lines horizontally below note heads"
 msgstr "centrar las líneas de rejilla horizontalmente bajo las cabezas"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:71 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:72 (comment)
 msgid "set line length and positioning:"
 msgstr "fijar la longitud y la posición de la línea:"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:72 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:73 (comment)
 msgid "two staff spaces above center line on hidden staff"
 msgstr "dos espacios por encima de la línea central sobre el pentagrama oculto"
 
-#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:73 (comment)
+#. Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly:74 (comment)
 msgid "to four spaces below center line on visible staff"
 msgstr ""
 "hasta cuatro espacios por debajo de la línea central sobre el pentagrama "
@@ -9394,257 +9420,255 @@ msgstr "o a partir de un punto casual del mástil."
 msgid "hideFretNumber"
 msgstr "ocultarTraste"
 
-#. Documentation/snippets/heavily-customized-polymetric-time-signatures.ly:51 (variable)
+#. Documentation/snippets/heavily-customized-polymetric-time-signatures.ly:52 (variable)
 msgid "drum"
 msgstr "percusion"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:59 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:60 (comment)
 msgid "Solution 1: Using a simple markup with a particular halign value"
 msgstr "Solución 1: usar un marcado sencillo con un valor concreto de halign"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:60 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:61 (comment)
 msgid "Drawback: It's a markup, not a dynamic command, so \\dynamicDown"
 msgstr "Inconveniente: es un marcado, no una instrucción de matiz dinámico,"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:61 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:62 (comment)
 msgid "etc. will have no effect"
 msgstr "por lo que \\dynamicDown etc. no funcionan"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:62 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:63 (variable)
 msgid "semppMarkup"
 msgstr "semppMarcado"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:64 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:65 (comment)
 msgid "Solution 2: Using a dynamic script & shifting with"
 msgstr "Solución 2: usar una indicación de dinámica y desplazarla con"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:65 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:66 (comment)
 msgid "\\once \\override ... #'X-offset = .."
 msgstr "\\once \\override ... #'X-offset = .."
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:66 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:67 (comment)
 msgid "Drawback: \\once \\override needed for every invocation"
 msgstr "Inconveniente: se necesita \\once\\override para cada invocación"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:67 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:68 (variable)
 msgid "semppK"
 msgstr "semppK"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:74 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:75 (comment)
 msgid "Solution 3: Padding the dynamic script so the center-alignment"
 msgstr ""
 "Solución 3: aplicar relleno a la indicación dinámica para que el center-"
 "alignment"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:75 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:76 (comment)
 msgid "puts it at the correct position"
 msgstr "lo ponga en la posición correcta"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:76 (comment)
-msgid ""
-"Drawback: the padding really reserves the space, nothing else can be there"
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:77 (comment)
+msgid "Drawback: the padding really reserves the space, nothing else can be there"
 msgstr ""
 "Inconveniente: el relleno reserva el espacio realmente, no puede haber nada "
 "más aquí"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:77 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:78 (variable)
 msgid "semppT"
 msgstr "semppT"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:85 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:86 (comment)
 msgid "Solution 4: Dynamic, setting the dimensions of the additional text to 0"
 msgstr ""
 "Solución 4: indicación dinámica, fijando a 0 las dimensiones del texto "
 "adicional"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:86 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:87 (comment)
 msgid "Drawback: To lilypond \\\"sempre\\\" has no extent, so it might put"
 msgstr "Inconveniente: para lilypond \\\"sempre\\\" no tiene dimensiones,"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:87 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:88 (comment)
 msgid "other stuff there => collisions"
 msgstr "lo que podría dar lugar a colisiones"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:88 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:89 (comment)
 msgid "Drawback: Also, there seems to be some spacing, so it's not exactly the"
 msgstr "Inconveniente: asimismo, parece haber algo de espacio, por lo que"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:89 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:90 (comment)
 msgid "same alignment as without the additional text"
 msgstr "no es exactamente la misma alnieación que sin el texto adicional"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:90 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:91 (variable)
 msgid "semppM"
 msgstr "semppM"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:99 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:100 (comment)
 msgid "Solution 5: Dynamic with explicit shifting inside the scheme function"
 msgstr ""
 "Solución 5: indicación dinámica con desplazamiento explícito dentro de la "
 "función de Scheme"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:100 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:101 (variable)
 msgid "semppG"
 msgstr "semppG"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:108 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:109 (comment)
 msgid "Solution 6: Dynamic with explicit alignment. This has only effect"
-msgstr ""
-"Solución 6: indicación dinámica con alineación explícita. ¡Sólo tiene efecto "
+msgstr "Solución 6: indicación dinámica con alineación explícita. ¡Sólo tiene efecto "
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:109 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:110 (comment)
 msgid "if one sets X-offset!"
 msgstr "si se fija X-offset!"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:110 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:111 (comment)
 msgid "Drawback: One needs to set DynamicText #'X-offset!"
 msgstr "Inconveniente: ¡Hay que fijar DynamicText #'X-offset!"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:111 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:112 (comment)
 msgid "Drawback: Aligned at the right edge of the additional text,"
 msgstr "Inconveniente: alineado con el borde derecho del texto adicional,"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:112 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:113 (comment)
 msgid "not at the center of pp"
 msgstr "no con el centro del pp"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:113 (variable)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:114 (variable)
 msgid "semppMII"
 msgstr "semppMII"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:121 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:122 (context id)
 msgid "s"
 msgstr "s"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:128 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:129 (context id)
 msgid "sMarkup"
 msgstr "sMarkup"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:135 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:136 (context id)
 msgid "sK"
 msgstr "sK"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:146 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:147 (context id)
 msgid "sT"
 msgstr "sT"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:153 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:154 (context id)
 msgid "sM"
 msgstr "sM"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:160 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:161 (context id)
 msgid "sG"
 msgstr "sG"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:167 (context id)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:168 (context id)
 msgid "sMII"
 msgstr "sMII"
 
-#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:171 (comment)
+#. Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly:172 (comment)
 msgid "Setting to ##f (false) gives the same result"
 msgstr "Al fijarlo a ##f (falso) obtenemos el mismo resultado"
 
-#. Documentation/snippets/how-to-change-fret-diagram-position.ly:32 (variable)
+#. Documentation/snippets/how-to-change-fret-diagram-position.ly:33 (variable)
 #. Documentation/snippets/score-for-diatonic-accordion.ly:67 (variable)
-#. Documentation/snippets/showing-chords-at-changes.ly:48 (variable)
-#. Documentation/snippets/single-staff-template-with-notes-and-chords.ly:69 (variable)
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:72 (variable)
+#. Documentation/snippets/showing-chords-at-changes.ly:46 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly:73 (variable)
+#. Documentation/snippets/single-staff-template-with-notes-and-chords.ly:70 (variable)
 msgid "harmonies"
 msgstr "armonias"
 
-#. Documentation/snippets/how-to-change-fret-diagram-position.ly:35 (comment)
+#. Documentation/snippets/how-to-change-fret-diagram-position.ly:36 (comment)
 msgid "THE FOLLOWING IS THE COMMAND TO MOVE THE CHORD NAME"
 msgstr "a continuación la instrucción para mover el nombre del acorde"
 
-#. Documentation/snippets/how-to-change-fret-diagram-position.ly:38 (comment)
+#. Documentation/snippets/how-to-change-fret-diagram-position.ly:39 (comment)
 msgid "THIS LINE IS THE SECOND METHOD"
 msgstr "esta línea es el segundo método"
 
-#. Documentation/snippets/how-to-change-fret-diagram-position.ly:48 (comment)
+#. Documentation/snippets/how-to-change-fret-diagram-position.ly:49 (comment)
 msgid "THE FOLLOWING IS THE COMMAND TO MOVE THE FRET DIAGRAM"
 msgstr "a continuación la instrucción para mover el diagrama de posición"
 
-#. Documentation/snippets/how-to-change-fret-diagram-position.ly:51 (comment)
+#. Documentation/snippets/how-to-change-fret-diagram-position.ly:52 (comment)
 msgid "HERE IS THE SECOND METHOD"
 msgstr "aquí el segundo método"
 
-#. Documentation/snippets/hymn-template.ly:61 (variable)
+#. Documentation/snippets/hymn-template.ly:62 (variable)
 msgid "Timeline"
 msgstr "LineaDeTiempo"
 
-#. Documentation/snippets/hymn-template.ly:93 (comment)
+#. Documentation/snippets/hymn-template.ly:94 (comment)
 msgid "Start score"
 msgstr "Inicio de la partitura"
 
-#. Documentation/snippets/hymn-template.ly:95 (comment)
+#. Documentation/snippets/hymn-template.ly:96 (comment)
 msgid "Start pianostaff"
 msgstr "Iniciar sistema de piano"
 
-#. Documentation/snippets/hymn-template.ly:96 (comment)
+#. Documentation/snippets/hymn-template.ly:97 (comment)
 msgid "Start Staff = RH"
 msgstr "inicio de pentagrama MD"
 
-#. Documentation/snippets/hymn-template.ly:99 (comment)
+#. Documentation/snippets/hymn-template.ly:100 (comment)
 msgid "Start Voice = \\\"Soprano\\\""
 msgstr "Inicio de voz = \\\"Soprano\\\""
 
-#. Documentation/snippets/hymn-template.ly:103 (comment)
+#. Documentation/snippets/hymn-template.ly:104 (comment)
 msgid "End Voice = \\\"Soprano\\\""
 msgstr "Final de voz = \\\"Soprano\\\""
 
-#. Documentation/snippets/hymn-template.ly:104 (comment)
+#. Documentation/snippets/hymn-template.ly:105 (comment)
 msgid "Start Voice = \\\"Alto\\\""
 msgstr "Inicio de voz = \\\"Alto\\\""
 
-#. Documentation/snippets/hymn-template.ly:108 (comment)
+#. Documentation/snippets/hymn-template.ly:109 (comment)
 msgid "End Voice = \\\"Alto\\\""
 msgstr "Final de voz = \\\"Alto\\\""
 
-#. Documentation/snippets/hymn-template.ly:109 (comment)
+#. Documentation/snippets/hymn-template.ly:110 (comment)
 msgid "End Staff = RH"
 msgstr "Final de pentagrama MD"
 
-#. Documentation/snippets/hymn-template.ly:110 (comment)
+#. Documentation/snippets/hymn-template.ly:111 (comment)
 msgid "Start Staff = LH"
 msgstr "Inicio de pentagrama MI"
 
-#. Documentation/snippets/hymn-template.ly:113 (comment)
+#. Documentation/snippets/hymn-template.ly:114 (comment)
 msgid "Start Voice = \\\"Tenor\\\""
 msgstr "Inicio de voz = \\\"Tenor\\\""
 
-#. Documentation/snippets/hymn-template.ly:117 (comment)
+#. Documentation/snippets/hymn-template.ly:118 (comment)
 msgid "End Voice = \\\"Tenor\\\""
 msgstr "Final de voz = \\\"Tenor\\\""
 
-#. Documentation/snippets/hymn-template.ly:118 (comment)
+#. Documentation/snippets/hymn-template.ly:119 (comment)
 msgid "Start Voice = \\\"Bass\\\""
 msgstr "Inicio de voz = \\\"Bass\\\""
 
-#. Documentation/snippets/hymn-template.ly:122 (comment)
+#. Documentation/snippets/hymn-template.ly:123 (comment)
 msgid "End Voice = \\\"Bass\\\""
 msgstr "Final de voz = \\\"Bass\\\""
 
-#. Documentation/snippets/hymn-template.ly:123 (comment)
+#. Documentation/snippets/hymn-template.ly:124 (comment)
 msgid "End Staff = LH"
 msgstr "Final de pentagrama MI"
 
-#. Documentation/snippets/hymn-template.ly:124 (comment)
+#. Documentation/snippets/hymn-template.ly:125 (comment)
 msgid "End pianostaff"
 msgstr "Final del sistema de piano"
 
-#. Documentation/snippets/hymn-template.ly:145 (comment)
+#. Documentation/snippets/hymn-template.ly:146 (comment)
 msgid "Start paper block"
 msgstr "Inicio del bloque paper"
 
-#. Documentation/snippets/hymn-template.ly:146 (comment)
+#. Documentation/snippets/hymn-template.ly:147 (comment)
 msgid "don't indent first system"
 msgstr "no sangrar el primer sistema"
 
-#. Documentation/snippets/hymn-template.ly:147 (comment)
+#. Documentation/snippets/hymn-template.ly:148 (comment)
 msgid "shorten line length to suit music"
 msgstr "acortar la longitur de la línea para adecuarse a la música"
 
-#. Documentation/snippets/hymn-template.ly:148 (comment)
+#. Documentation/snippets/hymn-template.ly:149 (comment)
 msgid "End paper block"
 msgstr "Final del boque paper"
 
@@ -9686,10 +9710,9 @@ msgstr ""
 "compás"
 
 #. Documentation/snippets/incipit.ly:281 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:289 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:290 (comment)
 msgid "Comment in the below \\\"\\remove\\\" command to allow line"
-msgstr ""
-"Quite el comentario de la instrucción \\\"\\remove\\\" de abajo para permitir"
+msgstr "Quite el comentario de la instrucción \\\"\\remove\\\" de abajo para permitir"
 
 #. Documentation/snippets/incipit.ly:282 (comment)
 msgid "breaking also at those bar lines where a note overlaps"
@@ -9700,32 +9723,30 @@ msgid "into the next measure.  The command is commented out in this"
 msgstr "sobre el siguiente compás.  La instrucción es un comentario en este"
 
 #. Documentation/snippets/incipit.ly:284 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:292 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:293 (comment)
 msgid "short example score, but especially for large scores, you"
-msgstr ""
-"partitura corta de ejemplo, pero especialmente para partituras extensas,"
+msgstr "partitura corta de ejemplo, pero especialmente para partituras extensas,"
 
 #. Documentation/snippets/incipit.ly:285 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:293 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:294 (comment)
 msgid "will typically yield better line breaking and thus improve"
 msgstr "probablemente consiga unos saltos de línea mejores y así mejorar"
 
 #. Documentation/snippets/incipit.ly:286 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:294 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:295 (comment)
 msgid "overall spacing if you comment in the following command."
-msgstr ""
-"el espaciado general si elimina el comentario de la instrucción siguiente."
+msgstr "el espaciado general si elimina el comentario de la instrucción siguiente."
 
 #. Documentation/snippets/incipit.ly:287 (comment)
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:295 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:296 (comment)
 msgid "\\remove \\\"Forbid_line_break_engraver\\\""
 msgstr "\\remove \\\"Forbid_line_break_engraver\\\""
 
-#. Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly:20 (variable)
+#. Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly:21 (variable)
 msgid "tuning"
 msgstr "afinacion"
 
-#. Documentation/snippets/isolated-percent-repeats.ly:45 (variable)
+#. Documentation/snippets/isolated-percent-repeats.ly:46 (variable)
 msgid "makePercent"
 msgstr "hacerPorcentaje"
 
@@ -9918,96 +9939,96 @@ msgstr "saxobari"
 msgid "chords"
 msgstr "acordes"
 
-#. Documentation/snippets/keyboard-headword.ly:27 (comment)
-msgid "M. Ravel, Sonatine (1905)"
-msgstr "M. Ravel, Sonatine (1905)"
-
-#. Documentation/snippets/keyboard-headword.ly:28 (comment)
-msgid "First movement"
-msgstr "Primer movimiento"
-
-#. Documentation/snippets/keyboard-headword.ly:37 (variable)
-msgid "fermataLong"
-msgstr "calderonLargo"
-
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:53 (variable)
-#. Documentation/snippets/vocal-ensemble-template.ly:89 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:91 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:71 (variable)
-msgid "sopMusic"
-msgstr "musicaSoprano"
-
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:54 (comment)
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:60 (comment)
-msgid "VERSE ONE"
-msgstr "ESTROFA UNO"
-
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:82 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:123 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:126 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:101 (context id)
-msgid "women"
-msgstr "mujeres"
+#. Documentation/snippets/keyboard-headword.ly:19 (comment)
+msgid "M. Ravel, Sonatine (1905)"
+msgstr "M. Ravel, Sonatine (1905)"
 
-#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:94 (context id)
-#. Documentation/snippets/vocal-ensemble-template.ly:138 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:136 (context id)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:113 (context id)
-msgid "men"
-msgstr "hombres"
+#. Documentation/snippets/keyboard-headword.ly:20 (comment)
+msgid "First movement"
+msgstr "Primer movimiento"
+
+#. Documentation/snippets/keyboard-headword.ly:30 (variable)
+msgid "fermataLong"
+msgstr "calderonLargo"
 
 #. Documentation/snippets/makam-example.ly:58 (comment)
 msgid "Initialize makam settings"
 msgstr "Iniciar ajustes de makam"
 
-#. Documentation/snippets/manually-break-figured-bass-extenders-for-only-some-numbers.ly:23 (variable)
+#. Documentation/snippets/manually-break-figured-bass-extenders-for-only-some-numbers.ly:24 (variable)
 msgid "bassfigures"
 msgstr "cifrasbajo"
 
-#. Documentation/snippets/manually-controlling-beam-positions.ly:25 (comment)
+#. Documentation/snippets/manually-controlling-beam-positions.ly:26 (comment)
 msgid "from upper staff-line (position 2) to center (position 0)"
 msgstr "desde la quinta línea (posición 2) hasta la tercera (posición 0)"
 
-#. Documentation/snippets/manually-controlling-beam-positions.ly:28 (comment)
+#. Documentation/snippets/manually-controlling-beam-positions.ly:29 (comment)
 msgid "from center to one above center (position 1)"
 msgstr "desde tercera línea hasta la cuarta (posición 1)"
 
-#. Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly:21 (variable)
+#. Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly:22 (variable)
 msgid "speakOn"
 msgstr "hablarSi"
 
-#. Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly:38 (variable)
+#. Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly:39 (variable)
 msgid "speakOff"
 msgstr "hablarNo"
 
-#. Documentation/snippets/markup-lines.ly:26 (comment)
+#. Documentation/snippets/markup-lines.ly:27 (comment)
 msgid "Candide, Voltaire"
 msgstr "Candide, Voltaire"
 
-#. Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly:59 (comment)
+#. Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly:60 (comment)
 msgid "the final bar line is not interrupted"
 msgstr "la barra final no se interrumpe"
 
-#. Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly:21 (variable)
+#. Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly:22 (variable)
 msgid "normalPos"
 msgstr "posNormal"
 
-#. Documentation/snippets/modifying-default-values-for-articulation-shorthand-notation.ly:74 (variable)
+#. Documentation/snippets/modifying-default-values-for-articulation-shorthand-notation.ly:75 (variable)
 msgid "dashPlus"
 msgstr "dashPlus"
 
-#. Documentation/snippets/modifying-tuplet-bracket-length.ly:27 (comment)
+#. Documentation/snippets/modifying-tuplet-bracket-length.ly:28 (comment)
 msgid "Set tuplets to be extendable..."
 msgstr "Hacer los grupos especiales extensibles..."
 
-#. Documentation/snippets/modifying-tuplet-bracket-length.ly:29 (comment)
+#. Documentation/snippets/modifying-tuplet-bracket-length.ly:30 (comment)
 msgid "...to cover all items up to the next note"
 msgstr "... para que cubran todos los elementos hasta la nota siguiente"
 
-#. Documentation/snippets/modifying-tuplet-bracket-length.ly:33 (comment)
+#. Documentation/snippets/modifying-tuplet-bracket-length.ly:34 (comment)
 msgid "...or to cover just whitespace"
 msgstr "... o para cubrir sólo el espacio vacio"
 
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:27 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:91 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:72 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:89 (variable)
+msgid "sopMusic"
+msgstr "musicaSoprano"
+
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:28 (comment)
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:34 (comment)
+msgid "VERSE ONE"
+msgstr "ESTROFA UNO"
+
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:56 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:126 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:102 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:123 (context id)
+msgid "women"
+msgstr "mujeres"
+
+#. Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly:68 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:136 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:114 (context id)
+#. Documentation/snippets/vocal-ensemble-template.ly:138 (context id)
+msgid "men"
+msgstr "hombres"
+
 #. Documentation/snippets/open-string-harmonics-in-tablature.ly:41 (variable)
 msgid "openStringHarmonics"
 msgstr "armonicoAlAire"
@@ -10052,175 +10073,173 @@ msgstr "séptimo armónico"
 msgid "eighth harmonic"
 msgstr "octavo armónico"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:73 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:74 (comment)
 msgid "space for instrumentName"
 msgstr "espacio para instrumentName"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:74 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:75 (comment)
 msgid "space for shortInstrumentName"
 msgstr "espacio para shortInstrumentName"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:77 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:78 (variable)
 msgid "fluteMusic"
 msgstr "musicaFlauta"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:78 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:79 (comment)
 msgid "Pitches as written on a manuscript for Clarinet in A"
-msgstr ""
-"Las notas tal como están escritas en un manuscrito para clarinete en La"
+msgstr "Las notas tal como están escritas en un manuscrito para clarinete en La"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:79 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:80 (comment)
 msgid "are transposed to concert pitch."
 msgstr "se transcriben al tono de concierto."
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:80 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:81 (variable)
 msgid "clarinetMusic"
 msgstr "musicaClarinete"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:82 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:83 (variable)
 msgid "trumpetMusic"
 msgstr "musicaTrompeta"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:83 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:84 (comment)
 msgid "Key signature is often omitted for horns"
 msgstr "La armadura se suele omitir para las trompas"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:84 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:85 (variable)
 msgid "hornMusic"
 msgstr "musicaTrompa"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:86 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:87 (variable)
 msgid "percussionMusic"
 msgstr "musicaPercusion"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:89 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:90 (variable)
 msgid "altoIMusic"
 msgstr "musicaContraltoI"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:90 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:91 (variable)
 msgid "altoIIMusic"
 msgstr "musicaContraltoII"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:91 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:92 (variable)
 msgid "altoILyrics"
 msgstr "letraContraltoI"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:92 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:93 (variable)
 msgid "altoIILyrics"
 msgstr "letraContraltoII"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:95 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:96 (variable)
 msgid "pianoRHMusic"
 msgstr "musicaPianoMD"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:96 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:97 (variable)
 msgid "pianoLHMusic"
 msgstr "musicaPianoMI"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:97 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:98 (variable)
 msgid "violinIMusic"
 msgstr "musicaViolinI"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:98 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:99 (variable)
 msgid "violinIIMusic"
 msgstr "musicaViolinII"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:99 (variable)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:100 (variable)
 msgid "violaMusic"
 msgstr "musicaViola"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:108 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:109 (comment)
 msgid "shortInstrumentName, midiInstrument, etc."
 msgstr "shortInstrumentName, midiInstrument, etc."
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:109 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:110 (comment)
 msgid "may be set here as well"
 msgstr "se pueden fijar aquí también"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:115 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:116 (comment)
 msgid "Declare that written Middle C in the music"
 msgstr "Declarar que el Do central escrito en la música"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:116 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:117 (comment)
 msgid "to follow sounds a concert B flat, for"
 msgstr "que sigue suena un Si bemol de concierto, para"
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:117 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:118 (comment)
 msgid "output using sounded pitches such as MIDI."
 msgstr "la salida que utiliza alturas sonoras como el MIDI."
 
-#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:119 (comment)
+#. Documentation/snippets/orchestra,-choir-and-piano-template.ly:120 (comment)
 msgid "Print music for a B-flat clarinet"
 msgstr "Imprimir la música para un clarinete en Si bemol"
 
-#. Documentation/snippets/partcombine-and-autobeamoff.ly:149 (comment)
+#. Documentation/snippets/partcombine-and-autobeamoff.ly:150 (comment)
 msgid "\\set Staff.autoBeaming = ##f % turns off all autobeaming"
 msgstr "\\set Staff.autoBeaming = ##f % desactiva todo el barrado automático"
 
-#. Documentation/snippets/partcombine-and-autobeamoff.ly:152 (comment)
+#. Documentation/snippets/partcombine-and-autobeamoff.ly:153 (comment)
 msgid "applies to split up stems"
 msgstr "se aplica a las plicas divididas hacia arriba"
 
-#. Documentation/snippets/partcombine-and-autobeamoff.ly:154 (comment)
+#. Documentation/snippets/partcombine-and-autobeamoff.ly:155 (comment)
 msgid "\\autoBeamOff % applies to combined up stems"
 msgstr "\\autoBeamOff % se aplica a las plicas hacia arriba combinadas"
 
-#. Documentation/snippets/partcombine-and-autobeamoff.ly:159 (comment)
+#. Documentation/snippets/partcombine-and-autobeamoff.ly:160 (comment)
 msgid "applies to down stems"
 msgstr "se aplica a las plicas hacia abajo"
 
-#. Documentation/snippets/percussion-beaters.ly:22 (variable)
+#. Documentation/snippets/percussion-beaters.ly:23 (variable)
 msgid "stick"
 msgstr "baqueta"
 
-#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:56 (comment)
+#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:57 (comment)
 msgid "Permit line breaks within tuplets"
 msgstr "Permitir saltos de línea dentro de grupos especiales"
 
-#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:58 (comment)
+#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:59 (comment)
 msgid "Allow beams to be broken at line breaks"
 msgstr "Permitir romper barras en saltos de línea"
 
-#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:65 (comment)
+#. Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly:66 (comment)
 msgid "Insert a manual line break within a tuplet"
 msgstr "Insertar salto de línea manual dentro de un grupo especial"
 
-#. Documentation/snippets/pitches-headword.ly:27 (comment)
+#. Documentation/snippets/pitches-headword.ly:19 (comment)
 msgid "L. v. Beethoven"
 msgstr "L. van Beethoven"
 
-#. Documentation/snippets/pitches-headword.ly:28 (comment)
+#. Documentation/snippets/pitches-headword.ly:20 (comment)
 msgid "Piano sonata 21 - Dem Grafen von Waldstein Gewidmet"
 msgstr "Sonata para piano núm. 21 - Dem Grafen von Waldstein Gewidmet"
 
-#. Documentation/snippets/pitches-headword.ly:29 (comment)
+#. Documentation/snippets/pitches-headword.ly:21 (comment)
 msgid "chorale at measures 34 - 40+"
 msgstr "coral de los compases 34 a 40 y siguientes"
 
-#. Documentation/snippets/pitches-headword.ly:36 (comment)
+#. Documentation/snippets/pitches-headword.ly:30 (comment)
 msgid "RH Voice 1"
 msgstr "Voz 1 de la MD"
 
-#. Documentation/snippets/pitches-headword.ly:64 (comment)
+#. Documentation/snippets/pitches-headword.ly:58 (comment)
 msgid "("
 msgstr "("
 
-#. Documentation/snippets/pitches-headword.ly:69 (comment)
+#. Documentation/snippets/pitches-headword.ly:63 (comment)
 msgid ")"
 msgstr ")"
 
-#. Documentation/snippets/pitches-headword.ly:73 (comment)
+#. Documentation/snippets/pitches-headword.ly:67 (comment)
 msgid "RH Voice 2"
 msgstr "Voz 2 de la MD"
 
-#. Documentation/snippets/polyphony-in-tablature.ly:61 (context id)
+#. Documentation/snippets/polyphony-in-tablature.ly:62 (context id)
 msgid "tab"
 msgstr "tab"
 
 #. Documentation/snippets/positioning-multi-measure-rests.ly:66 (comment)
 msgid "Multi-measure rests by default are set under the fourth line"
-msgstr ""
-"Los silencios multicompás se establecen por omisión debajo de la cuarta línea"
+msgstr "Los silencios multicompás se establecen por omisión debajo de la cuarta línea"
 
 #. Documentation/snippets/positioning-multi-measure-rests.ly:68 (comment)
 msgid "They can be moved using an override"
@@ -10256,99 +10275,97 @@ msgstr ""
 msgid "in all voices to avoid multiple instances being printed"
 msgstr "en todas las voces para evitar que se imprima más de una instancia"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:32 (comment)
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:53 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:33 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:54 (comment)
 msgid "Set segno sign as rehearsal mark and adjust size if needed"
 msgstr "Fijar llamada como letra de ensayo y ajustar su tamaño si es necesario"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:33 (comment)
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:55 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:34 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:56 (comment)
 msgid "\\once \\override Score.RehearsalMark #'font-size = #3"
 msgstr "\\once \\override Score.RehearsalMark #'font-size = #3"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:39 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:40 (comment)
 msgid "Set coda sign as rehearsal mark and adjust size if needed"
-msgstr ""
-"Fijar llamada de coda como letra de ensayo y ajustar tamaño si es necesario"
+msgstr "Fijar llamada de coda como letra de ensayo y ajustar tamaño si es necesario"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:46 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:47 (comment)
 msgid "Should Coda be on anew line?"
 msgstr "¿Debe ir la Coda sobre una línea nueva?"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:47 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:48 (comment)
 msgid "Coda NOT on new line: use \\nobreak"
 msgstr "Coda NO en línea nueva: usar \\nobreak"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:48 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:49 (comment)
 msgid "Coda on new line: DON'T use \\nobreak"
 msgstr "Coda en línea nueva: NO USAR \\nobreak"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:49 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:50 (comment)
 msgid "\\noBreak"
 msgstr "\\noBreak"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:58 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:59 (comment)
 msgid "Here begins the trickery!"
 msgstr "¡Aquí comienzan los trucos!"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:59 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:60 (comment)
 msgid ""
 "\\cadenzaOn will suppress the bar count and \\stopStaff removes the staff "
 "lines."
-msgstr ""
-"\\cadenzaOn suprime la cuenta de compases y \\stopStaff quita el pentagrama"
+msgstr "\\cadenzaOn suprime la cuenta de compases y \\stopStaff quita el pentagrama"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:62 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:63 (comment)
 msgid "Some examples of possible text-displays"
 msgstr "Algunos ejemplos de text-displays posibles"
 
 # fuzzy. FVD
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:64 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:65 (comment)
 msgid "text line-aligned"
 msgstr "texto line-aligned"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:65 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:66 (comment)
 msgid "=================="
 msgstr "=================="
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:66 (comment)
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:72 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:67 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:73 (comment)
 msgid "Move text to the desired position"
 msgstr "Mover el texto a la posición deseada"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:67 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:68 (comment)
 msgid "\\once \\override TextScript #'extra-offset = #'( 2 . -3.5 )"
 msgstr "\\once \\override TextScript #'extra-offset = #'( 2 . -3.5 )"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:68 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:69 (comment)
 msgid "| s1*0^\\markup { D.S. al Coda } }"
 msgstr "| s1*0^\\markup { D.S. al Coda } }"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:70 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:71 (comment)
 msgid "text center-aligned"
 msgstr "texto center-aligned"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:71 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:72 (comment)
 msgid "===================="
 msgstr "===================="
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:73 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:74 (comment)
 msgid "\\once \\override TextScript #'extra-offset = #'( 6 . -5.0 )"
 msgstr "\\once \\override TextScript #'extra-offset = #'( 6 . -5.0 )"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:74 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:75 (comment)
 msgid "| s1*0^\\markup { \\center-column { D.S. \\\"al Coda\\\" } }"
 msgstr "| s1*0^\\markup { \\center-column { D.S. \\\"al Coda\\\" } }"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:76 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:77 (comment)
 msgid "text and symbols center-aligned"
 msgstr "texto y símbolos center-aligned"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:77 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:78 (comment)
 msgid "==============================="
 msgstr "==============================="
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:78 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:79 (comment)
 msgid ""
 "Move text to the desired position and tweak spacing for optimum text "
 "alignment"
@@ -10356,40 +10373,39 @@ msgstr ""
 "Mover el texto a la posición deseada y ajustar el espacio para una "
 "alineación óptima"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:79 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:80 (comment)
 msgid "\\once \\override TextScript #'extra-offset = #'( 8 . -5.5 )"
 msgstr "\\once \\override TextScript #'extra-offset = #'( 8 . -5.5 )"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:85 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:86 (comment)
 msgid "Increasing the unfold counter will expand the staff-free space"
 msgstr "El aumento del contador de despliegue expande el espacio de staff-free"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:90 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:91 (comment)
 msgid "Resume bar count and show staff lines again"
 msgstr "Reanudar la cuenta de compases y mostrar el pentagrama de nuevo"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:94 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:95 (comment)
 msgid "Should Coda be on new line?"
 msgstr "¿La Coda va en una línea nueva?"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:95 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:96 (comment)
 msgid "Coda NOT on new line: DON'T use \\break"
 msgstr "Coda NO en nueva línea: NO USAR \\break"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:96 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:97 (comment)
 msgid "Coda on new line: use \\break"
 msgstr "Coda en nueva línea: usar \\break"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:99 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:100 (comment)
 msgid "Show up, you clef and key!"
 msgstr "¡Mostraos, clave y armadura!"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:103 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:104 (comment)
 msgid "Set coda sign as rehearsal mark and adjust size and position"
-msgstr ""
-"Fijar el signo de coda como letra de enzayo y ajustar el tamaño y posición"
+msgstr "Fijar el signo de coda como letra de enzayo y ajustar el tamaño y posición"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:105 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:106 (comment)
 msgid ""
 "Put the coda sign ontop of the (treble-)clef dependend on coda's line-"
 "position"
@@ -10397,44 +10413,58 @@ msgstr ""
 "Poner el signo de coda encima de la clave dependiendo de la line-position de "
 "la coda"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:107 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:108 (comment)
 msgid "Coda NOT on new line, use this:"
 msgstr "Coda NO en nueva línea, hacer esto:"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:108 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:109 (comment)
 msgid "\\once \\override Score.RehearsalMark #'extra-offset = #'( -2 . 1.75 )"
 msgstr "\\once \\override Score.RehearsalMark #'extra-offset = #'( -2 . 1.75 )"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:110 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:111 (comment)
 msgid "Coda on new line, use this:"
 msgstr "Coda en nueva línea, hacer esto:"
 
-#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:116 (comment)
+#. Documentation/snippets/positioning-segno-and-coda-with-line-break.ly:117 (comment)
 msgid "The coda"
 msgstr "La coda"
 
-#. Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly:60 (comment)
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:31 (comment)
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:49 (comment)
+msgid "due to issue 2362 the following line is commented"
+msgstr "a causa del bug número 2362, la línea siguiente está comentada"
+
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:32 (comment)
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:50 (comment)
+msgid "\\mark \\\"Composed Feb 2007 - Feb 2008\\\""
+msgstr "\\mark \\\"Compuesto entre feb. de 2007 y feb. de 2008\\\""
+
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:33 (comment)
+#. Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly:51 (comment)
+msgid "and a shorter mark is used."
+msgstr "y se usa una marca más corta."
+
+#. Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly:61 (comment)
 msgid "Permit first bar number to be printed"
 msgstr "Habilitar la impresión del número del primer compás"
 
-#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:46 (comment)
+#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:47 (comment)
 msgid "Prevent bar numbers at the end of a line and permit them elsewhere"
-msgstr ""
-"No poner números de compás al final de la línea, pero sí en otros lugares"
+msgstr "No poner números de compás al final de la línea, pero sí en otros lugares"
 
-#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:53 (comment)
+#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:54 (comment)
 msgid "Draw a box round the following bar number(s)"
 msgstr "Pintar una caja rodeando al siguiente(s) número de compás"
 
-#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:58 (comment)
+#. Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly:59 (comment)
 msgid "Draw a circle round the following bar number(s)"
 msgstr "Rodear con un círculo el siguiente(s) número de compás"
 
-#. Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly:58 (comment)
+#. Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly:59 (comment)
 msgid "Metronome marks below the staff"
 msgstr "Las marcas de metrónomo debajo del pentagrama"
 
-#. Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly:63 (comment)
+#. Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly:64 (comment)
 msgid "Rehearsal marks below the staff"
 msgstr "Letras de ensayo debajo del pentagrama"
 
@@ -10450,22 +10480,22 @@ msgstr "Percusion"
 msgid "voc"
 msgstr "voc"
 
-#. Documentation/snippets/quoting-another-voice.ly:79 (variable)
-msgid "quoteMe"
-msgstr "citaMe"
-
-#. Documentation/snippets/quoting-another-voice.ly:84 (variable)
-msgid "original"
-msgstr "original"
-
-#. Documentation/snippets/quoting-another-voice-with-transposition.ly:72 (variable)
+#. Documentation/snippets/quoting-another-voice-with-transposition.ly:73 (variable)
 msgid "quoteTest"
 msgstr "pruebaDeCita"
 
-#. Documentation/snippets/quoting-another-voice-with-transposition.ly:73 (comment)
+#. Documentation/snippets/quoting-another-voice-with-transposition.ly:74 (comment)
 msgid "french horn"
 msgstr "trompa"
 
+#. Documentation/snippets/quoting-another-voice.ly:80 (variable)
+msgid "quoteMe"
+msgstr "citaMe"
+
+#. Documentation/snippets/quoting-another-voice.ly:85 (variable)
+msgid "original"
+msgstr "original"
+
 #. Documentation/snippets/recorder-fingering-chart.ly:39 (comment)
 msgid "range chart for paetzold contrabass recorder"
 msgstr "cuadro de rangos para la flauta dulce contabaja paetzold"
@@ -10478,106 +10508,121 @@ msgstr "inicioMusicaAcciaccatura"
 msgid "stopAcciaccaturaMusic"
 msgstr "finMusicaAcciaccatura"
 
-#. Documentation/snippets/removing-the-first-empty-line.ly:84 (comment)
+#. Documentation/snippets/removing-the-first-empty-line.ly:85 (comment)
 msgid "To use the setting globally, uncomment the following line:"
 msgstr ""
 "Para usar el ajuste de forma global, quite el comentario de la líne "
 "siguiente:"
 
-#. Documentation/snippets/removing-the-first-empty-line.ly:85 (comment)
+#. Documentation/snippets/removing-the-first-empty-line.ly:86 (comment)
 msgid "\\override VerticalAxisGroup #'remove-first = ##t"
 msgstr "\\override VerticalAxisGroup #'remove-first = ##t"
 
-#. Documentation/snippets/removing-the-first-empty-line.ly:94 (comment)
+#. Documentation/snippets/removing-the-first-empty-line.ly:95 (comment)
 msgid "To use the setting globally, comment this line,"
-msgstr ""
-"Para usar el ajuste globalmente, haga un comentario de la línea siguiente:"
+msgstr "Para usar el ajuste globalmente, haga un comentario de la línea siguiente:"
 
-#. Documentation/snippets/removing-the-first-empty-line.ly:95 (comment)
+#. Documentation/snippets/removing-the-first-empty-line.ly:96 (comment)
 msgid "uncomment the line in the \\layout block above"
 msgstr "quite el comentario de la línea del bloque \\layout de arriba"
 
-#. Documentation/snippets/reverting-default-beam-endings.ly:53 (comment)
+#. Documentation/snippets/repeats-headword.ly:19 (comment)
+msgid "Beethoven, Op. 57"
+msgstr "Beethoven, Op. 57"
+
+#. Documentation/snippets/repeats-headword.ly:20 (comment)
+msgid "Piano sonata 23 - Dem Grafen Franz von Brunswick Gewidmet"
+msgstr "Sonata para piano núm. 23; dedicada a Franz von Brunswick"
+
+#. Documentation/snippets/repeats-headword.ly:21 (comment)
+msgid "Movt II, Andante con moto"
+msgstr "Mov. II, Andante con moto"
+
+#. Documentation/snippets/repeats-headword.ly:22 (comment)
+msgid "Measures 9 - 16"
+msgstr "Compases 9 a 16"
+
+#. Documentation/snippets/reverting-default-beam-endings.ly:55 (comment)
 msgid "Default beaming"
 msgstr "Barrado predeterminado"
 
-#. Documentation/snippets/reverting-default-beam-endings.ly:56 (comment)
+#. Documentation/snippets/reverting-default-beam-endings.ly:58 (comment)
 msgid "Set new values for beam endings"
 msgstr "establecer valores nuevos para finales de barra"
 
-#. Documentation/snippets/rhythmic-slashes.ly:29 (comment)
+#. Documentation/snippets/rhythmic-slashes.ly:30 (comment)
 msgid "Macro to print single slash"
 msgstr "Macro para imprimir una barra inclinada única"
 
-#. Documentation/snippets/rhythmic-slashes.ly:30 (variable)
+#. Documentation/snippets/rhythmic-slashes.ly:31 (variable)
 msgid "rs"
 msgstr "rs"
 
-#. Documentation/snippets/rhythmic-slashes.ly:37 (comment)
+#. Documentation/snippets/rhythmic-slashes.ly:38 (comment)
 msgid "Function to print a specified number of slashes"
 msgstr "Función para imprimir un número especificado de barras inclinadas"
 
-#. Documentation/snippets/rhythmic-slashes.ly:38 (variable)
+#. Documentation/snippets/rhythmic-slashes.ly:39 (variable)
 msgid "comp"
 msgstr "comp"
 
-#. Documentation/snippets/rhythms-headword.ly:26 (comment)
+#. Documentation/snippets/rhythms-headword.ly:19 (comment)
 msgid "Beethoven, Op. 81a"
 msgstr "Beethoven, Op. 81a"
 
-#. Documentation/snippets/rhythms-headword.ly:27 (comment)
+#. Documentation/snippets/rhythms-headword.ly:20 (comment)
 msgid "Piano sonata 26 - Das Lebewohl"
 msgstr "Sonata para piano núm. 26 - Das Lebewohl"
 
-#. Documentation/snippets/rhythms-headword.ly:28 (comment)
+#. Documentation/snippets/rhythms-headword.ly:21 (comment)
 msgid "Movt II - Abwesenheit"
 msgstr "Mov. II - Abwesenheit"
 
-#. Documentation/snippets/rhythms-headword.ly:29 (comment)
+#. Documentation/snippets/rhythms-headword.ly:22 (comment)
 msgid "Measures 31 - 34"
 msgstr "Compases 31 a 34"
 
-#. Documentation/snippets/rhythms-headword.ly:36 (comment)
+#. Documentation/snippets/rhythms-headword.ly:31 (comment)
 msgid "\\override SpacingSpanner #'strict-grace-spacing = ##t"
 msgstr "\\override SpacingSpanner #'strict-grace-spacing = ##t"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:57 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:58 (variable)
 msgid "sopranonotes"
 msgstr "notasSoprano"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:60 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:61 (variable)
 msgid "sopranowords"
 msgstr "letraSoprano"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:61 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:62 (variable)
 msgid "altonotes"
 msgstr "notasAlto"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:64 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:65 (variable)
 msgid "altowords"
 msgstr "letraContralto"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:65 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:66 (variable)
 msgid "tenornotes"
 msgstr "notasTenor"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:69 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:70 (variable)
 msgid "tenorwords"
 msgstr "letraTenor"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:70 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:71 (variable)
 msgid "bassnotes"
 msgstr "notasBajo"
 
-#. Documentation/snippets/satb-choir-template---four-staves.ly:74 (variable)
+#. Documentation/snippets/satb-choir-template---four-staves.ly:75 (variable)
 msgid "basswords"
 msgstr "letraBajo"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:65 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:72 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:86 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:102 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:118 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:73 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:87 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:103 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:119 (comment)
 msgid "verse"
 msgstr "estrofa"
 
@@ -10606,8 +10651,7 @@ msgstr ""
 "se simula con una línea de rejilla"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:89 (comment)
-msgid ""
-"disable the following line to see the the noteheads while writing the song"
+msgid "disable the following line to see the the noteheads while writing the song"
 msgstr ""
 "Deshabilite la línea siguiente para ver las cabezas mientras escribe la "
 "canción"
@@ -10621,8 +10665,7 @@ msgid "How to fast write the push-lines:"
 msgstr "Cuán rápido escribir las líneas de cerrar:"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:95 (comment)
-msgid ""
-"1. write repeatedly 'c c c c c c c c |' for the whole length of the song"
+msgid "1. write repeatedly 'c c c c c c c c |' for the whole length of the song"
 msgstr "1. escriba repetidamente 'c c c c c c c c |' en toda la canción"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:96 (comment)
@@ -10638,8 +10681,7 @@ msgid "4. Mark the positions on which push/pull changes."
 msgstr "4. Marque las posiciones en las que cambia el abrir o cerrar"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:99 (comment)
-msgid ""
-"In the score-picture click on the position the push- or pull-part starts"
+msgid "In the score-picture click on the position the push- or pull-part starts"
 msgstr ""
 "En la imagen de la partitura pulse sobre la posición en que inician las "
 "partes de abrir o cerrar"
@@ -10658,8 +10700,7 @@ msgstr "a) Si en ese lugar empieza una parte de cerrar, cambie la 'c' por 'e['"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:103 (comment)
 msgid "b) If a pull-part starts there, replace the 'c' by an 's'"
-msgstr ""
-"b) Si en ese lugar empieza una parte de abrir, cambie la 'c' por una 's'"
+msgstr "b) Si en ese lugar empieza una parte de abrir, cambie la 'c' por una 's'"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:104 (comment)
 msgid "5. Switch into 'overwrite-mode' by pressing the 'ins' key."
@@ -10834,8 +10875,7 @@ msgid "staffbass"
 msgstr "bajoPentagrama"
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:213 (comment)
-msgid ""
-"This is not a RhythmicStaff  because it must be possible to append lyrics."
+msgid "This is not a RhythmicStaff  because it must be possible to append lyrics."
 msgstr "Esto no es un RhythmicStaff porque se debe poder aplicar letra."
 
 #. Documentation/snippets/score-for-diatonic-accordion.ly:215 (comment)
@@ -10856,79 +10896,79 @@ msgstr ""
 "Busque por el término 'grid' en esta página para hallar todas las funciones "
 "relacionadas"
 
-#. Documentation/snippets/setting-system-separators.ly:37 (variable)
+#. Documentation/snippets/setting-system-separators.ly:38 (variable)
 msgid "notes"
 msgstr "notas"
 
-#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:26 (comment)
+#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:32 (comment)
 msgid "The same as \\flageolet, just a little smaller"
 msgstr "Igual que \\flageolet, pero más pequeño"
 
-#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:36 (comment)
+#. Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly:42 (comment)
 msgid "The second fermata is ignored!"
 msgstr "¡El segundo calderón se ignora!"
 
-#. Documentation/snippets/simultaneous-headword.ly:24 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:21 (comment)
 msgid "NR 1.5 Simultaneous notes"
 msgstr "NR 1.5 Notas simultáneas"
 
-#. Documentation/snippets/simultaneous-headword.ly:26 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:23 (comment)
 msgid "L. v. Beethoven, Op. 111"
 msgstr "L. v. Beethoven, Op. 111"
 
-#. Documentation/snippets/simultaneous-headword.ly:27 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:24 (comment)
 msgid "Piano sonata 32"
 msgstr "Sonata para piano núm. 32"
 
-#. Documentation/snippets/simultaneous-headword.ly:28 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:25 (comment)
 msgid "Movt II - Arietta - Adagio molto semplice e cantabile"
 msgstr "Movto. II - Arietta - Adagio molto semplice e cantabile"
 
-#. Documentation/snippets/simultaneous-headword.ly:29 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:26 (comment)
 msgid "measures 108 - 118"
 msgstr "compases 108 a 118"
 
-#. Documentation/snippets/simultaneous-headword.ly:41 (variable)
+#. Documentation/snippets/simultaneous-headword.ly:38 (variable)
 msgid "trillFlat"
 msgstr "trinoBemol"
 
-#. Documentation/snippets/simultaneous-headword.ly:61 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:58 (comment)
 msgid "RH voice 1"
 msgstr "Voz MD 1"
 
-#. Documentation/snippets/simultaneous-headword.ly:138 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:135 (comment)
 msgid "RH voice 2"
 msgstr "Voz MD 2"
 
-#. Documentation/snippets/simultaneous-headword.ly:213 (comment)
+#. Documentation/snippets/simultaneous-headword.ly:210 (comment)
 msgid "LH staff"
 msgstr "pentragrama MI"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:29 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:30 (variable)
 msgid "verseI"
 msgstr "estrofaI"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:34 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:35 (variable)
 msgid "verseII"
 msgstr "estrofaII"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:40 (comment)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:41 (comment)
 msgid "insert chords for chordnames and fretboards here"
 msgstr "inserte aquí los acordes para chordnames y fretboards"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:44 (variable)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:45 (variable)
 msgid "staffMelody"
 msgstr "melodiaPentagrama"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:47 (comment)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:48 (comment)
 msgid "Type notes for melody here"
 msgstr "Teclee aquí las notas de la melodía"
 
-#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:57 (context id)
+#. Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly:58 (context id)
 msgid "voiceMelody"
 msgstr "melodiaVoz"
 
-#. Documentation/snippets/slides-in-tablature.ly:44 (variable)
+#. Documentation/snippets/slides-in-tablature.ly:45 (variable)
 msgid "slides"
 msgstr "deslizamientos"
 
@@ -10978,7 +11018,91 @@ msgstr "superiorA"
 msgid "lowera"
 msgstr "inferiorA"
 
-#. Documentation/snippets/stemlets.ly:39 (comment)
+#. Documentation/snippets/stem-cross-staff-engraver.ly:30 (comment)
+msgid "Values are close enough to ignore the difference"
+msgstr "Los valores son lo bastante parecidos como para ignorar la diferencia"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:34 (comment)
+msgid "Combine a list of extents"
+msgstr "Combinar una lista de dimensiones"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:40 (comment)
+msgid "Check if the stem is connectable to the root"
+msgstr "Comprobar si la plica conecta con la raíz"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:53 (comment)
+msgid "Connect stems if we have at least one stems connectable to the root"
+msgstr "Conectar las plicas si tenemos al menos una plica que se puede conectar con la raíz"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:74 (comment)
+msgid "Create a stem span as a child of the cross-staff stem (the root)"
+msgstr "Crear una plica extensa como hija de la plica de pauta cruzada (la raíz)"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:83 (comment)
+msgid "Set cross-staff property of the stem to this function to connect it to"
+msgstr "Establecer la propiedad cross-staff de la plica a esta función para conectarla a"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:84 (comment)
+msgid "other stems automatically"
+msgstr "otras plicas automáticamente"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:88 (comment)
+msgid "Check if automatic connecting of the stem was requested.  Stems connected"
+msgstr "Comprobar si se ha solicitado la conexión automática de la plica.  Las plicas conectadas"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:89 (comment)
+msgid "to cross-staff beams are cross-staff, but they should not be connected to"
+msgstr "a las barras de pauta cruzada son de pauta cruzada, pero no deben estar conectadas a"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:90 (comment)
+msgid "other stems just because of that."
+msgstr "otras plicas sólo por este motivo."
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:94 (comment)
+msgid "Create stem spans for cross-staff stems"
+msgstr "Crear plicas extensas para las plicas de pauta cruzada"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:102 (comment)
+msgid "Connect cross-staff stems to the stems above in the system"
+msgstr "Conectar las plicas de pauta cruzada a las plicas del sistema que están por encima"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:115 (variable)
+msgid "crossStaff"
+msgstr "pautaCruzada"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:130 (comment)
+msgid "Bar 1 - durations, beams, flags"
+msgstr "Compás 1: duraciones, barras, corchetes"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:135 (comment)
+msgid "Bar 2 - direction"
+msgstr "Compás 2: dirección"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:140 (comment)
+msgid "Bar 3 - multiple voice styles"
+msgstr "Compás 3: estilos de voz diversos"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:145 (comment)
+msgid "Bar 4 - grace notes"
+msgstr "Compás 4: notas de adorno"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:150 (comment)
+msgid "Bar 5 - cross-staff beams"
+msgstr "Compás 5: barras de pauta cruzada"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:159 (context id)
+msgid "staffone"
+msgstr "pautaUno"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:164 (context id)
+msgid "stafftwo"
+msgstr "pautaDos"
+
+#. Documentation/snippets/stem-cross-staff-engraver.ly:169 (context id)
+msgid "staffthree"
+msgstr "pautaTres"
+
+#. Documentation/snippets/stemlets.ly:40 (comment)
 msgid "N.B. use Score.Stem to set for the whole score."
 msgstr "Nota: use Score.Stem para establecerlo para la partitura entera."
 
@@ -10986,274 +11110,327 @@ msgstr "Nota: use Score.Stem para establecerlo para la partitura entera."
 msgid "stringNumberSpanner"
 msgstr "extensorNumeroCuerda"
 
-#. Documentation/snippets/string-quartet-template-simple.ly:66 (variable)
+#. Documentation/snippets/string-quartet-template-simple.ly:67 (variable)
 msgid "violinOne"
 msgstr "violinUno"
 
-#. Documentation/snippets/string-quartet-template-simple.ly:75 (variable)
+#. Documentation/snippets/string-quartet-template-simple.ly:76 (variable)
 msgid "violinTwo"
 msgstr "violinDos"
 
-#. Documentation/snippets/string-quartet-template-simple.ly:84 (variable)
+#. Documentation/snippets/string-quartet-template-simple.ly:85 (variable)
 msgid "viola"
 msgstr "viola"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:128 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:129 (comment)
 msgid "piece.ly"
 msgstr "pieza.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:129 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:130 (comment)
 msgid "(This is the global definitions file)"
 msgstr "(Este es el archivo de definiciones globales)"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:136 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:137 (variable)
 msgid "Violinone"
 msgstr "violinuno"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:141 (comment)
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:147 (comment)
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:154 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:142 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:148 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:155 (comment)
 msgid "*********************************"
 msgstr "*********************************"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:142 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:143 (variable)
 msgid "Violintwo"
 msgstr "ViolinDos"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:148 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:149 (variable)
 msgid "Viola"
 msgstr "Viola"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:155 (variable)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:156 (variable)
 msgid "Cello"
 msgstr "Cello"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:161 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:162 (comment)
 msgid "**********************************"
 msgstr "**********************************"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:172 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:173 (comment)
 msgid "These are the other files you need to save on your computer"
 msgstr "Estos son los tros archivos que debe guardar en su sistema"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:174 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:175 (comment)
 msgid "score.ly"
 msgstr "partitura.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:175 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:176 (comment)
 msgid "(This is the main file)"
 msgstr "(Este es el archivo principal)"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:177 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:178 (comment)
 msgid "uncomment the line below when using a separate file"
-msgstr ""
-"Quite la marca de comentario de este bloque si está usando archivos aparte"
+msgstr "Quite la marca de comentario de este bloque si está usando archivos aparte"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:178 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:179 (comment)
 msgid "\\include \\\"piece.ly\\\""
 msgstr "\\include \\\"pieza.ly\\\""
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:187 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:188 (comment)
 msgid "{ Uncomment this block when using separate files"
-msgstr ""
-"{ Quite la marca de comentario de este bloque si está usando archivos aparte"
+msgstr "{ Quite la marca de comentario de este bloque si está usando archivos aparte"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:189 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:190 (comment)
 msgid "vn1.ly"
 msgstr "vn1.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:190 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:191 (comment)
 msgid "(This is the Violin 1 part file)"
 msgstr "(Este es el archivo de particella del violín 1)"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:199 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:200 (comment)
 msgid "vn2.ly"
 msgstr "vn2.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:200 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:201 (comment)
 msgid "(This is the Violin 2 part file)"
 msgstr "(Este es el archivo de particella del violín 2)"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:209 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:210 (comment)
 msgid "vla.ly"
 msgstr "vla.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:210 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:211 (comment)
 msgid "(This is the Viola part file)"
 msgstr "(Este es el archivo de particella de la viola)"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:219 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:220 (comment)
 msgid "vlc.ly"
 msgstr "vlc.ly"
 
-#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:220 (comment)
+#. Documentation/snippets/string-quartet-template-with-separate-parts.ly:221 (comment)
 msgid "(This is the Cello part file)"
 msgstr "(Este es el archivo de particella del cello)"
 
-#. Documentation/snippets/subdividing-beams.ly:81 (comment)
+#. Documentation/snippets/subdividing-beams.ly:79 (comment)
 msgid "Set beam sub-group length to an eighth note"
 msgstr "Fijar la longitud del subgrupo de barras a una corchea"
 
-#. Documentation/snippets/subdividing-beams.ly:86 (comment)
+#. Documentation/snippets/subdividing-beams.ly:84 (comment)
 msgid "Set beam sub-group length to a sixteenth note"
 msgstr "Fijar la longitud del subgrupo de barras a una semicorchea"
 
-#. Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly:27 (variable)
+#. Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly:28 (variable)
 #. Documentation/snippets/unfretted-headword.ly:59 (variable)
 msgid "ignore"
 msgstr "ignorar"
 
-#. Documentation/snippets/text-headword.ly:24 (comment)
+#. Documentation/snippets/text-headword.ly:21 (comment)
 msgid "NR 1.8 Text"
 msgstr "NR 1.8 Texto"
 
-#. Documentation/snippets/text-headword.ly:26 (comment)
+#. Documentation/snippets/text-headword.ly:23 (comment)
 msgid "L. v. Beethoven, Op. 110"
 msgstr "L. v. Beethoven, Op. 110"
 
-#. Documentation/snippets/text-headword.ly:27 (comment)
+#. Documentation/snippets/text-headword.ly:24 (comment)
 msgid "Piano sonata 31"
 msgstr "Sonata para piano núm. 31"
 
-#. Documentation/snippets/text-headword.ly:28 (comment)
+#. Documentation/snippets/text-headword.ly:25 (comment)
 msgid "measures 1 - 7"
 msgstr "compases 1 a 7"
 
-#. Documentation/snippets/text-headword.ly:40 (comment)
+#. Documentation/snippets/text-headword.ly:37 (comment)
 msgid "RH staff"
 msgstr "pentagrama MD"
 
-#. Documentation/snippets/three-sided-box.ly:20 (comment)
+#. Documentation/snippets/three-sided-box.ly:21 (comment)
 msgid "New command to add a three sided box, with sides north, west and south"
 msgstr ""
 "Instrucción nueva para añadir una caja con tres lados apuntando al norte, "
 "oeste y sur"
 
-#. Documentation/snippets/three-sided-box.ly:21 (comment)
+#. Documentation/snippets/three-sided-box.ly:22 (comment)
 msgid "Based on the box-stencil command defined in scm/stencil.scm"
 msgstr "Basado en la instrucción box-stencil definida en scm/stencil.scm"
 
-#. Documentation/snippets/three-sided-box.ly:22 (comment)
+#. Documentation/snippets/three-sided-box.ly:23 (comment)
 msgid "Note that \\\";;\\\" is used to comment a line in Scheme"
 msgstr "Observe que utilizamos \\\";\\\" para comentar una línea en Scheme"
 
-#. Documentation/snippets/three-sided-box.ly:36 (comment)
+#. Documentation/snippets/three-sided-box.ly:37 (comment)
 msgid "The corresponding markup command, based on the \\box command defined"
 msgstr ""
 "La instrucción de marcado correspondiente, basada en la instrucción \\box "
 "definida"
 
-#. Documentation/snippets/three-sided-box.ly:37 (comment)
+#. Documentation/snippets/three-sided-box.ly:38 (comment)
 msgid "in scm/define-markup-commands.scm"
 msgstr "en scm/define-markup-commands.scm"
 
-#. Documentation/snippets/three-sided-box.ly:49 (comment)
+#. Documentation/snippets/three-sided-box.ly:50 (comment)
 msgid "Test it:"
 msgstr "Probarla:"
 
-#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:59 (comment)
+#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:60 (comment)
 msgid "Change the style permanently"
 msgstr "Cambiar el estilo permanentemente"
 
-#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:65 (comment)
+#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:66 (comment)
 msgid "Revert to default style:"
 msgstr "Retornar al estilo predeterminado:"
 
-#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:69 (comment)
+#. Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly:70 (comment)
 msgid "single-digit style only for the next time signature"
 msgstr "estilo de un solo dígito para el siguiente compás únicamente"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:39 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:40 (comment)
 msgid "make the staff lines invisible on staves"
 msgstr "hacer invisibles las líneas de los pentagramas"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:128 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:129 (variable)
 msgid "incipitDiscantus"
 msgstr "incipitDiscantus"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:153 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:154 (variable)
 msgid "incipitAltus"
 msgstr "incipitAltus"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:179 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:180 (variable)
 msgid "incipitTenor"
 msgstr "incipitTenor"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:207 (variable)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:208 (variable)
 msgid "incipitBassus"
 msgstr "incipitBassus"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:233 (comment)
-msgid ""
-"StaffGroup is used instead of ChoirStaff to get bar lines between systems"
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:234 (comment)
+msgid "StaffGroup is used instead of ChoirStaff to get bar lines between systems"
 msgstr ""
 "StaffGroup se usa en lugar de ChoirStaff para tener líneas divisorias entre "
 "los sistemas"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:265 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:266 (comment)
 msgid "Keep the bass lyrics outside of the staff group to avoid bar lines"
 msgstr ""
 "Mantener la letra del bajo fuera del grupo de pentagrama para evitar las "
 "barras de compás"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:266 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:267 (comment)
 msgid "between the lyrics."
 msgstr "entre las sílabas del texto"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:275 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:276 (comment)
 msgid "the next three instructions keep the lyrics between the bar lines"
 msgstr ""
 "las tres instrucciones siguientes hacen que la letra no choque con las "
 "divisorias"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:290 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:291 (comment)
 msgid "breaking also at those barlines where a note overlaps"
 msgstr "los saltos de línea también en aquellas barras donde"
 
-#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:291 (comment)
+#. Documentation/snippets/transcription-of-ancient-music-with-incipit.ly:292 (comment)
 msgid "into the next bar.  The command is commented out in this"
 msgstr ""
 "se superpone una nota con el siguiente compás. La instrucción es un "
 "comentario en esta"
 
-#. Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly:167 (variable)
+#. Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly:194 (variable)
 msgid "naturalizeMusic"
 msgstr "naturalizarMusica"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:154 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:191 (comment)
 msgid "The default treble clef"
 msgstr "Clave de sol predeterminada"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:156 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:193 (comment)
 msgid "The standard bass clef"
 msgstr "Clave de Fa estándar"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:161 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:198 (comment)
 msgid "The baritone clef"
 msgstr "Clave de barítono (do en quinta)"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:166 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:203 (comment)
 msgid "The standard choral tenor clef"
 msgstr "Clave estándar de tenor coral"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:172 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:209 (comment)
 msgid "A non-standard clef"
 msgstr "Clave no estándar"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:178 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:215 (comment)
 msgid "The following clef changes do not preserve"
 msgstr "Los siguientes cambios de clave no preservan"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:179 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:216 (comment)
 msgid "the normal relationship between notes and clefs:"
 msgstr "la relación normal entre notas y claves:"
 
-#. Documentation/snippets/tweaking-clef-properties.ly:194 (comment)
+#. Documentation/snippets/tweaking-clef-properties.ly:231 (comment)
 msgid "Return to the normal clef:"
 msgstr "Volver a la clave normal:"
 
+#. Documentation/snippets/unfretted-headword.ly:19 (comment)
+msgid "#!lilypond lcp-extract.ly -*- coding: utf-8; -*-"
+msgstr "#!lilypond lcp-extract.ly -*- coding: utf-8; -*-"
+
+#. Documentation/snippets/unfretted-headword.ly:22 (comment)
+msgid "les-cinq-pieds:"
+msgstr "les-cinq-pieds:"
+
+#. Documentation/snippets/unfretted-headword.ly:23 (comment)
+msgid "extract for the lilypond documentaton project"
+msgstr "extracto para el Proyecto de Documentación de LilyPond"
+
+#. Documentation/snippets/unfretted-headword.ly:26 (comment)
+msgid "Title:\tLes cinq pieds"
+msgstr "Título:\tLes cinq pieds"
+
+#. Documentation/snippets/unfretted-headword.ly:27 (comment)
+msgid "Composer: \tDavid Séverin"
+msgstr "Autor: \tDavid Séverin"
+
+#. Documentation/snippets/unfretted-headword.ly:28 (comment)
+msgid "Date:\tJuillet 2007"
+msgstr "Fecha:\tJulio 2007"
+
+#. Documentation/snippets/unfretted-headword.ly:29 (comment)
+msgid "Instrument:\tViolon Solo"
+msgstr "Instrumento:\tViolín Solo"
+
+#. Documentation/snippets/unfretted-headword.ly:30 (comment)
+msgid "Dedication:\tA mon épouse Lívia De Souza Vidal"
+msgstr "Dedicatoria:\tA mon épouse Lívia De Souza Vidal"
+
+#. Documentation/snippets/unfretted-headword.ly:31 (comment)
+msgid "Additional:\tavec l'aide de Krzysztof Wagenaar"
+msgstr "Adicional:\tavec l'aide de Krzysztof Wagenaar"
+
+#. Documentation/snippets/unfretted-headword.ly:33 (comment)
+msgid "Statement:"
+msgstr "Declaración:"
+
+#. Documentation/snippets/unfretted-headword.ly:35 (comment)
+msgid "Here by, I, the composer, agree that this extract of my composition"
+msgstr "Por la presente, yo, el autor, autorizo a que este extracto de mi obra"
+
+#. Documentation/snippets/unfretted-headword.ly:36 (comment)
+msgid "be in the public domain and can be part of, used and presented in"
+msgstr "esté en el Dominio Público y pueda formar parte, usarse y presentarse dentro del"
+
+#. Documentation/snippets/unfretted-headword.ly:37 (comment)
+msgid "the LilyPond Documention Project."
+msgstr "Proyecto de Documentación de LilyPond."
+
+#. Documentation/snippets/unfretted-headword.ly:39 (comment)
+msgid "Statement Date: Octber the 9th, 2008"
+msgstr "Fecha de la declaración: 9 de octubre de 2008"
+
 #. Documentation/snippets/unfretted-headword.ly:43 (comment)
-msgid "Abreviations"
+msgid "Abbreviations"
 msgstr "Abreviaturas"
 
 #. Documentation/snippets/unfretted-headword.ly:46 (variable)
@@ -11420,27 +11597,27 @@ msgstr "Partitura"
 msgid "testnotes"
 msgstr "notasPrueba"
 
-#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:116 (comment)
+#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:110 (comment)
 msgid "display grobs for each note head:"
 msgstr "imprimir grobs para todas las cabezas:"
 
-#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:117 (comment)
+#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:111 (comment)
 msgid "\\override NoteHead #'before-line-breaking = #display-grobs"
 msgstr "\\override NoteHead #'before-line-breaking = #display-grobs"
 
-#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:119 (comment)
+#. Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly:113 (comment)
 msgid "or just for one:"
 msgstr "o sólo para una:"
 
-#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:31 (variable)
+#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:32 (variable)
 msgid "parallelogram"
 msgstr "paralelogramo"
 
-#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:46 (variable)
+#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:47 (variable)
 msgid "myNoteHeads"
 msgstr "misCabezas"
 
-#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:47 (variable)
+#. Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly:48 (variable)
 msgid "normalNoteHeads"
 msgstr "cabezasNormales"
 
@@ -11485,7 +11662,7 @@ msgstr "\\\"una canción legal para ti\\\""
 msgid "portuguese"
 msgstr "portugues"
 
-#. Documentation/snippets/vertical-line-as-a-baroque-articulation-mark.ly:22 (variable)
+#. Documentation/snippets/vertical-line-as-a-baroque-articulation-mark.ly:23 (variable)
 msgid "upline"
 msgstr "lineaArriba"
 
@@ -11529,155 +11706,159 @@ msgstr "letraD"
 msgid "m"
 msgstr "m"
 
-#. Documentation/snippets/vocal-ensemble-template.ly:92 (variable)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:94 (variable)
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:74 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:75 (variable)
+#. Documentation/snippets/vocal-ensemble-template.ly:92 (variable)
 msgid "sopWords"
 msgstr "letraSoprano"
 
-#. Documentation/snippets/vocal-ensemble-template.ly:120 (comment)
-#. Documentation/snippets/vocal-ensemble-template.ly:135 (comment)
-msgid "this is needed for lyrics above a staff"
-msgstr "es necesario para la letra por encima del pentagrama"
-
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:123 (comment)
 #. Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly:132 (comment)
 msgid "This is needed for lyrics above a staff"
 msgstr "Necesario para la letra por encima del pentagrama"
 
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:109 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:110 (comment)
 msgid "we could remove the line about this with the line below, since"
 msgstr ""
 "podríamos quitar la línea anterior y sustituirla por la siguiente, pues "
 "queremos"
 
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:110 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:111 (comment)
 msgid "we want the alto lyrics to be below the alto Voice anyway."
 msgstr ""
 "que la letra de la contralto esté debajo de la voz de contralto de todas "
 "formas."
 
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:111 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:112 (comment)
 msgid "\\new Lyrics \\lyricsto \\\"altos\\\" \\altoWords"
 msgstr "\\new Lyrics \\lyricsto \\\"altos\\\" \\altoWords"
 
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:122 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:123 (comment)
 msgid "again, we could replace the line above this with the line below."
 msgstr "de nuevo podríamos sustituir la línea anterior con la línea siguiente."
 
-#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:123 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly:124 (comment)
 msgid "\\new Lyrics \\lyricsto \\\"basses\\\" \\bassWords"
 msgstr "\\new Lyrics \\lyricsto \\\"basses\\\" \\bassWords"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:77 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:90 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:105 (comment)
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:121 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:78 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:91 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:106 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:122 (comment)
 msgid "refrain"
 msgstr "estribillo"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:83 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:84 (variable)
 msgid "SoloNotes"
 msgstr "notasSolista"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:94 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:95 (variable)
 msgid "SoloLyrics"
 msgstr "letraSolista"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:99 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:100 (variable)
 msgid "SopranoNotes"
 msgstr "notasSoprano"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:110 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:111 (variable)
 msgid "SopranoLyrics"
 msgstr "letraSoprano"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:115 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:116 (variable)
 msgid "BassNotes"
 msgstr "notasBajo"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:126 (variable)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:127 (variable)
 msgid "BassLyrics"
 msgstr "letraBajo"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:133 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:134 (context id)
 msgid "SoloVoice"
 msgstr "vozSolista"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:137 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:138 (context id)
 msgid "SopranoVoice"
 msgstr "vozSoprano"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:140 (context id)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:141 (context id)
 msgid "BassVoice"
 msgstr "vozBajo"
 
-#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:147 (comment)
+#. Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly:148 (comment)
 msgid "these lines prevent empty staves from being printed"
 msgstr "estas líneas evitan que se impriman los pentagramas vacíos"
 
-#. Documentation/snippets/vocal-headword.ly:32 (comment)
+#. Documentation/snippets/vocal-ensemble-template.ly:120 (comment)
+#. Documentation/snippets/vocal-ensemble-template.ly:135 (comment)
+msgid "this is needed for lyrics above a staff"
+msgstr "es necesario para la letra por encima del pentagrama"
+
+#. Documentation/snippets/vocal-headword.ly:27 (comment)
 msgid "L. van Beethoven. Symphony No. 9 in D minor, op.125; Finale"
 msgstr "L. van Beethoven. Sinfonía Núm. 9 en Re menor, op.125; Finale"
 
-#. Documentation/snippets/vocal-headword.ly:33 (comment)
+#. Documentation/snippets/vocal-headword.ly:28 (comment)
 msgid "mm. 216 -- 236"
 msgstr "cc. 216 a 236"
 
-#. Documentation/snippets/vocal-headword.ly:34 (comment)
+#. Documentation/snippets/vocal-headword.ly:29 (comment)
 msgid "Text: F. von Schiller"
 msgstr "Texto: F. von Schiller"
 
-#. Documentation/snippets/vocal-headword.ly:39 (comment)
+#. Documentation/snippets/vocal-headword.ly:34 (comment)
 msgid "make first bar number be shown"
 msgstr "habilitar la impresión del número del primer compás"
 
-#. Documentation/snippets/vocal-headword.ly:41 (comment)
+#. Documentation/snippets/vocal-headword.ly:36 (comment)
 msgid "\\tempo \\\"Presto\\\""
 msgstr "\\tempo \\\"Presto\\\""
 
-#. Documentation/snippets/vocal-headword.ly:42 (comment)
+#. Documentation/snippets/vocal-headword.ly:37 (comment)
 msgid "\\compressFullBarRests  R2.*8"
 msgstr "\\compressFullBarRests  R2.*8"
 
-#. Documentation/snippets/vocal-headword.ly:64 (comment)
+#. Documentation/snippets/vocal-headword.ly:59 (comment)
 msgid "put fermata closer to staff"
 msgstr "poner calderón más cerca del pentagrama"
 
-#. Documentation/snippets/vocal-headword.ly:68 (comment)
+#. Documentation/snippets/vocal-headword.ly:63 (comment)
 msgid "\\time 4/4 \\tempo \\\"Allegro assai\\\""
 msgstr "\\time 4/4 \\tempo \\\"Allegro assai\\\""
 
-#. Documentation/snippets/vocal-headword.ly:69 (comment)
-#. Documentation/snippets/vocal-headword.ly:71 (comment)
+#. Documentation/snippets/vocal-headword.ly:64 (comment)
+#. Documentation/snippets/vocal-headword.ly:66 (comment)
 msgid "R1"
 msgstr "R1"
 
-#. Documentation/snippets/vocal-headword.ly:70 (comment)
+#. Documentation/snippets/vocal-headword.ly:65 (comment)
 msgid "e''4^\\f d r2"
 msgstr "e''4^\\f d r2"
 
-#. Documentation/snippets/vocal-headword.ly:72 (comment)
+#. Documentation/snippets/vocal-headword.ly:67 (comment)
 msgid "e4( ^\\f d2) a8([ g)]"
 msgstr "e4( ^\\f d2) a8([ g)]"
 
-#. Documentation/snippets/vocal-headword.ly:78 (comment)
+#. Documentation/snippets/vocal-headword.ly:73 (comment)
 msgid "Freu -- de, Freu -- de,__"
 msgstr "Freu -- de, Freu -- de,__"
 
-#. Documentation/snippets/volta-multi-staff.ly:20 (variable)
+#. Documentation/snippets/volta-multi-staff.ly:21 (variable)
 msgid "voltaMusic"
 msgstr "musicaRepeticion"
 
-#. Documentation/snippets/volta-text-markup-using-repeatcommands.ly:28 (variable)
+#. Documentation/snippets/volta-text-markup-using-repeatcommands.ly:29 (variable)
 msgid "voltaAdLib"
 msgstr "voltaAdLib"
 
-#. Documentation/snippets/wind-headword.ly:24 (comment)
+#. Documentation/snippets/wind-headword.ly:19 (comment)
+msgid "NR 2.whatever  Wind"
+msgstr "Núm. 2. viento"
+
+#. Documentation/snippets/wind-headword.ly:20 (comment)
 msgid "Tchaikovsky"
 msgstr "Tchaikovsky"
 
-#. Documentation/snippets/wind-headword.ly:25 (comment)
+#. Documentation/snippets/wind-headword.ly:21 (comment)
 msgid "Nutcracker Suite, VII Dance of the Merlitons"
 msgstr "Nutcracker Suite, VII Dance of the Merlitons"
 
@@ -11700,60 +11881,3 @@ msgstr "Notas al pie"
 msgid "Table of Contents"
 msgstr "Índice general"
 
-#~ msgid "coloredheads"
-#~ msgstr "cabezasColoreadas"
-
-#~ msgid "noclef"
-#~ msgstr "sinclave"
-
-#~ msgid "dummy action to deal with parser lookahead"
-#~ msgstr "acción vacía para la predicción del analizador sintáctico"
-
-#~ msgid "Music function syntax"
-#~ msgstr "Sintaxis de las funciones musicales"
-
-#~ msgid "Void functions"
-#~ msgstr "Funciones vacías"
-
-#~ msgid "Avoiding tweaks with slower processing"
-#~ msgstr "Evitar los trucos con un proceso ralentizado"
-
-#~ msgid "not printed"
-#~ msgstr "no impreso"
-
-#~ msgid "Custom headers, footers, and titles"
-#~ msgstr "Cabeceras, Pies y Títulos personalizados"
-
-#~ msgid "Aligning contexts"
-#~ msgstr "Alinear los contextos"
-
-#~ msgid "CHECK: no effect?"
-#~ msgstr "COMPROBAR: ¿no hace efecto?"
-
-#~ msgid "pScript"
-#~ msgstr "pScript"
-
-#~ msgid "change with B if you prefer"
-#~ msgstr "cambie por Si si lo prefiere"
-
-#~ msgid "(B)show %%change with C if you prefer"
-#~ msgstr "(B)show %% cambie por Do si lo prefiere"
-
-#~ msgid "MMR - Multi-Measure Rest"
-#~ msgstr "MMR - Silencio multicompás"
-
-#~ msgid "A value of 0 is the default position;"
-#~ msgstr "Un valor de cero es la posición predeterminada;"
-
-#~ msgid "They remain separated even in empty measures"
-#~ msgstr "Siguen estando separados incluso en compases vacíos"
-
-#~ msgid "This brings them together even though there are two voices"
-#~ msgstr "Así los juntamos incluso si hay dos voces"
-
-#~ msgid ""
-#~ "\\include \\\"piece.ly\\\"             %%% uncomment this line when using "
-#~ "a separate file"
-#~ msgstr ""
-#~ "\\include \\\"piece.ly\\\"             %%% quite la marca de comentario "
-#~ "de esta línea si está usando un archivo aparte"
index a3508cc1ed7bb8ebc1d96a687c8b5a996d2224de..ebeb4942d6375783076a69c1264538d163da0a18 100644 (file)
 
 %% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
   texidoces = "
-Este código muestra cómo usar la forma alternativa de la breve con dos
-líneas verticales a los lados de la cabeza, en lugar de una sola
-línea.
+Este código muestra cómo usar la forma alternativa de la breve o
+cuadrada con dos líneas verticales a los lados de la cabeza, en lugar
+de una sola línea.
 
 "
-  doctitlees = "Cabeza de breve alternativa con dobles líneas verticales"
+  doctitlees = "Cabeza de breve (cuadrada) alternativa"
 %% Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
 
 
index 5df79024ba56f2c59cbfc547fd5eec260543709c..e8092c38733a5c3155b875858529d77454343b99 100644 (file)
 
 %% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
   texidoces = "
-No está especificada ninguna agrupación predeterminada automática
-de las barras para el compás de 7/8, de forma que si se requieren
-barras automáticas se debe especificar la forma de agrupamiento.
-Por ejemplo, para agrupar todas las barras en la forma 2-3-2 en el
-compás de 7/8, especificamos los finales de barra en 2/8 y 5/8:
+No está especificada ninguna agrupación predeterminada automática de
+las barras para el compás de 7/8, de forma que si se requieren barras
+automáticas se debe especificar el agrupamiento mediante
+<code>beatStructure</code>.  Por ejemplo, para agrupar todas las
+barras en la forma 2-3-2 en el compás de 7/8, especificamos los
+finales de barra en 2/8 y 5/8:
 
 "
   doctitlees = "Agrupamiento de las barras en el compás de 7/8"
index 74ea26935c6721b1ff94915120951292b97a98c2..cdcd15fae2851513a9eb69836bc997373bc34988 100644 (file)
@@ -13,9 +13,9 @@
 
   texidoces = "
 Los deslizamientos para acordes se pueden indicar tanto en el contexto
-Staff como en TabStaff.  Los números de cuerda son necesarios para
-TabStaff porque los cálculos de cuerda automáticos son diferentes para
-los acordes y para notas sueltas.
+@code{Staff} como en @code{TabStaff}.  Los números de cuerda son
+necesarios para TabStaff porque los cálculos de cuerda automáticos son
+diferentes para los acordes y para notas sueltas.
 
 "
 
index e83b1f7753b8d12c139bef662e9f36cd47a48124..20bc4871b7ff3a85a6986ef1ad05c798d5366996 100644 (file)
@@ -7,6 +7,32 @@
 \version "2.14.2"
 
 \header {
+%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+  texidoces = "
+El motor de espaciado vertical cambió en la versión 2.14.  Esto puede
+hacer que se altere el espaciado de la letra de las canciones.  Es
+posible fijar propiedades para los contextos @code{Lyric} y
+@code{Staff} de forma que el motor de espaciado se comporte como lo
+hacía en la versión 2.12.
+
+"
+
+  doctitlees = "Conseguir el espaciado de la letra de la versión 2.12
+  en versiones más recientes"
+
+
+%% Translation of GIT committish: 0f93dd92ffa0319328e58148458d22c5448b3d58
+  texidocfr = "
+La version 2.14 a donné naissance à un nouveau moteur pour l'espacement
+vertical des paroles.  Celles-ci peuvent donc se retrouver positionnées
+différemment.  Le moteur adoptera les usages de la version 2.12 une fois
+que vous aurez réglé certaines propriétés des contextes @code{Lyric} et
+@code{Staff}.
+
+"
+  doctitlefr = "Espacement des paroles selon les pratiques de la version 2.12"
+
+
   lsrtags = "vocal-music"
 
   texidoc = "
index b0e2b8311ad0794e729b2f3bda1a64956140364b..e6b077d328972fbea17a9ccbd033c75f5af90bdd 100644 (file)
@@ -148,6 +148,44 @@ Read more in our @ref{Introduction}!
 @ifclear web_version
   @c do nothing
 @end ifclear
+@ifset web_version
+  @c make the box:
+@divId{wildCardBox}
+@subheading Pondings
+@divId{wildCardText}
+
+@divEnd
+@divEnd
+@end ifset
+
+@html
+
+<script language="JavaScript" type="text/javascript">
+  function loadXMLDoc(dname)
+    {
+      if (window.XMLHttpRequest)
+        {
+          xhttp=new XMLHttpRequest();
+        }
+      else
+        {
+          xhttp=new ActiveXObject("Microsoft.XMLHTTP");
+        }
+      xhttp.open("GET",dname,false);
+      xhttp.send();
+      return xhttp.responseXML;
+    }
+
+  var xmlDoc = loadXMLDoc("tweets.xml");
+  var tweets = xmlDoc.getElementsByTagName("tweet");
+  var index = Math.floor(Math.random() * tweets.length);
+  var tweet = tweets[index];
+  var text = tweet.childNodes[0];
+  document.getElementById("wildCardText").innerHTML = text.nodeValue;
+</script>
+
+@end html
+
 @ifset web_version
   @c make the box:
 @divId{latestVersion}
diff --git a/Documentation/web/server/tweets.xml b/Documentation/web/server/tweets.xml
new file mode 100644 (file)
index 0000000..fdf308e
--- /dev/null
@@ -0,0 +1,16 @@
+<tweets>
+<tweet>
+The Ensemble 101 is going on a European tour where they'll sing music
+typeset using LilyPond.  Click &lt;a target="_blank"
+href="http://www.kickstarter.com/projects/751757415/ensemble-101"
+&gt;here&lt;/a&gt; to learn more!
+</tweet>
+<tweet>
+2012-06-17: &lt;a target="_blank"
+href="http://en.wikipedia.org/wiki/Oskar_Fried"&gt;Oskar Fried&lt;/a&gt;
+(1871-1941) - Complete Songs. New revised
+edition, typeset using LilyPond, presented at a &lt;a target="_blank"
+href="http://www.hugo-wolf-akademie.de/veranstaltung/komponistenportraet-oskar-fried"&gt;
+concert in Stuttgart&lt;/a&gt;.
+</tweet>
+</tweets>
index 50c41a4ab46f5b28b50135ffde9fced8639149e3..97c0f6d79bb59ee9f790c250a71f66c120df3a99 100644 (file)
@@ -60,7 +60,7 @@ operator - (Direction const d)
   return other_dir (d);
 }
 
-// huh?
+// to be deleted soon (after coping with issues 2491 and 2493
 inline Direction
 flip (Direction *i)
 {
@@ -71,6 +71,16 @@ flip (Direction *i)
   return *i;
 }
 
+#define UP_and_DOWN(d) \
+  Direction d = UP; d != CENTER; d = (d == UP ? DOWN : CENTER)
+
+#define DOWN_and_UP(d) \
+  Direction d = DOWN; d != CENTER; d = (d == DOWN ? UP : CENTER)
+
+#define LEFT_and_RIGHT(d) \
+  Direction d = LEFT; d != CENTER; d = (d == LEFT ? RIGHT : CENTER)
+
+
 /**
    if d > 0: the max operator
    if d < 0: the min operator
index 3419f7304fa7f56dc60411c884d1e7381edf6793..49f811ce371cf222e2440e6de48b6082e5189f7e 100644 (file)
@@ -1,10 +1,12 @@
 \header {
-  texidoc = "Dot columns do not trigger beam slanting too early."
+  texidoc = "Dot columns do not trigger beam slanting too early.
+This input should compile with no programming error message,
+and the dots should be correctly placed on their rests."
 }
 
 \version "2.14.0"
 \paper{ ragged-right=##t }
 <<
-  { e''8 e''8 g'' g''} \\
-  { e8 r4. }
+  { e''8 e'' g'' g'' g''16[ r8. r8. g''16] } \\
+  { e8 r4. c'16[ r8. <a' b' c''>8. e'16] }
 >>
index c0204d55c71865f3c35ae69d28387916725b9adf..00cf863bd6f475e651e1cda8f359dc90a8183ff0 100644 (file)
@@ -6,11 +6,27 @@ and grob creation methods to create a fully functional text spanner
 in scheme."
 }
 
-#(define-event-class 'scheme-text-span-event
-   '(scheme-text-span-event
-     span-event
-     music-event
-     StreamEvent))
+#(define my-grob-descriptions '())
+
+#(define my-event-classes (ly:make-context-mod))
+
+defineEventClass =
+#(define-void-function (parser location class parent)
+   (symbol? symbol?)
+   (ly:add-context-mod
+    my-event-classes
+    `(apply
+      ,(lambda (context class parent)
+        (ly:context-set-property!
+         context
+         'EventClasses
+         (event-class-cons
+          class
+          parent
+          (ly:context-property context 'EventClasses '()))))
+      ,class ,parent)))
+
+\defineEventClass #'scheme-text-span-event #'span-event
 
 #(define (add-grob-definition grob-name grob-entry)
    (let* ((meta-entry   (assoc-get 'meta grob-entry))
@@ -33,9 +49,9 @@ in scheme."
      (set! meta-entry (assoc-set! meta-entry 'interfaces
                                   ifaces-entry))
      (set! grob-entry (assoc-set! grob-entry 'meta meta-entry))
-     (set! all-grob-descriptions
+     (set! my-grob-descriptions
            (cons (cons grob-name grob-entry)
-                 all-grob-descriptions))))
+                 my-grob-descriptions))))
 
 #(add-grob-definition
   'SchemeTextSpanner
@@ -181,7 +197,8 @@ schemeTextSpannerEnd =
 \layout {
   \context {
     \Global
-    \grobdescriptions #all-grob-descriptions
+    \grobdescriptions #my-grob-descriptions
+    #my-event-classes
   }
   \context {
     \Voice
index 2d2f027c4ee4277318da5c144051d8f8a1117fec..92fee10a50a3fddf160078537e9f5dfee526559e 100644 (file)
@@ -71,8 +71,7 @@ Ambitus_engraver::create_ambitus ()
 {
   ambitus_ = make_item ("AmbitusLine", SCM_EOL);
   group_ = make_item ("Ambitus", SCM_EOL);
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     {
       heads_[d] = make_item ("AmbitusNoteHead", SCM_EOL);
       accidentals_[d] = make_item ("AmbitusAccidental", SCM_EOL);
@@ -82,7 +81,6 @@ Ambitus_engraver::create_ambitus ()
       Axis_group_interface::add_element (group_, heads_[d]);
       Axis_group_interface::add_element (group_, accidentals_[d]);
     }
-  while (flip (&d) != DOWN);
 
   ambitus_->set_parent (heads_[DOWN], X_AXIS);
   Axis_group_interface::add_element (group_, ambitus_);
@@ -164,8 +162,7 @@ Ambitus_engraver::finalize ()
       Grob *accidental_placement
         = make_item ("AccidentalPlacement", accidentals_[DOWN]->self_scm ());
 
-      Direction d = DOWN;
-      do
+      for (DOWN_and_UP (d))
         {
           Pitch p = pitch_interval_[d];
           heads_[d]->set_property ("cause", causes_[d]->self_scm ());
@@ -205,19 +202,16 @@ Ambitus_engraver::finalize ()
                                              ly_symbol2scm ("note-heads"),
                                              heads_[d]);
         }
-      while (flip (&d) != DOWN);
 
       Axis_group_interface::add_element (group_, accidental_placement);
     }
   else
     {
-      Direction d = DOWN;
-      do
+      for (DOWN_and_UP (d))
         {
           accidentals_[d]->suicide ();
           heads_[d]->suicide ();
         }
-      while (flip (&d) != DOWN);
 
       ambitus_->suicide ();
     }
index 8857de109d6b3cb6ec438fae3578fe22386e2da0..1b937985eeee2aab63444c47401f2a49e9a59af7 100644 (file)
@@ -476,14 +476,12 @@ Axis_group_interface::internal_calc_pure_relevant_grobs (Grob *me, string grob_s
 
       if (Item *it = dynamic_cast<Item *> (elts[i]))
         {
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             {
               Item *piece = it->find_prebroken_piece (d);
               if (piece && to_boolean (scm_apply_1 (pure_relevant_p, piece->self_scm (), SCM_EOL)))
                 relevant_grobs.push_back (piece);
             }
-          while (flip (&d) != LEFT);
         }
     }
 
index f2c35973e4b8600fa71593095fd65bb0353dc824..ac845103ea8f56c75d608da171224756b557314e 100644 (file)
@@ -193,10 +193,8 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
     the stems.  Otherwise, we want to do initial slope calculations.
   */
   do_initial_slope_calculations_ = false;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     do_initial_slope_calculations_ |= isinf (unquanted_y_[d]) || isnan (unquanted_y_[d]);
-  while (flip (&d) != LEFT);
 
   /*
     Calculations are relative to a unit-scaled staff, i.e. the quants are
@@ -245,10 +243,8 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
       for (int a = 2; a--;)
         common[a] = common_refpoint_of_array (stems, beams[i], Axis (a));
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         common[X_AXIS] = beams[i]->get_bound (d)->common_refpoint (common[X_AXIS], X_AXIS);
-      while (flip (&d) != LEFT);
 
       // positions of the endpoints of this beam segment, including any overhangs
       const Interval x_pos = robust_scm2interval (beams[i]->get_property ("X-positions"),
@@ -309,8 +305,7 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
       // TODO - why are we dividing by staff_space_?
       beam_translation_ = Beam::get_beam_translation (beams[i]) / staff_space_;
 
-      d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           quant_range_[d].set_full ();
           if (!edge_stems[d])
@@ -325,7 +320,6 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
                        + (edge_beam_counts_[d] - 1) * beam_translation_ + beam_thickness_ * .5);
           quant_range_[d][-ed] = heads[ed] + stem_offset;
         }
-      while (flip (&d) != LEFT);
 
       segments_ = Beam::get_beam_segments (beams[i]);
       vector_sort (segments_, beam_segment_less);
@@ -355,10 +349,8 @@ void Beam_scoring_problem::init_instance_variables (Grob *me, Drul_array<Real> y
           Real width = b[X_AXIS].length ();
           Real width_factor = sqrt (width / staff_space_);
 
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             add_collision (b[X_AXIS][d], b[Y_AXIS], width_factor);
-          while (flip (&d) != LEFT);
 
           Grob *stem = unsmob_grob (collisions[j]->get_object ("stem"));
           if (stem && Stem::has_interface (stem) && Stem::is_normal_stem (stem))
@@ -794,23 +786,19 @@ Beam_scoring_problem::shift_region_to_valid ()
       if (collisions_[i].y_.length () < min_y_size)
         continue;
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Real dy = slope * collisions_[i].x_;
 
-          Direction yd = DOWN;
           Interval disallowed;
-          do
+          for (DOWN_and_UP (yd))
             {
               Real left_y = collisions_[i].y_[yd] - dy;
               disallowed[yd] = left_y;
             }
-          while (flip (&yd) != DOWN);
 
           forbidden_intervals.push_back (disallowed);
         }
-      while (flip (&d) != LEFT);
     }
 
   vector_sort (forbidden_intervals, Interval::left_less);
@@ -825,13 +813,11 @@ Beam_scoring_problem::shift_region_to_valid ()
 
   // if the beam placement falls out of the feasible region, we push it
   // to infinity so that it can never be a feasible candidate below
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     {
       if (!feasible_left_point.contains (feasible_beam_placements[d]))
         feasible_beam_placements[d] = d * infinity_f;
     }
-  while (flip (&d) != DOWN);
 
   if ((feasible_beam_placements[UP] == infinity_f && feasible_beam_placements[DOWN] == -infinity_f) && !feasible_left_point.is_empty ())
     {
@@ -892,8 +878,7 @@ Beam_scoring_problem::generate_quants (vector<Beam_configuration *> *scores) con
                                             Interval (unshifted_quants[i],
                                                       unshifted_quants[j]));
 
-        Direction d = LEFT;
-        do
+        for (LEFT_and_RIGHT (d))
           {
             if (!quant_range_[d].contains (c->y[d]))
               {
@@ -902,7 +887,6 @@ Beam_scoring_problem::generate_quants (vector<Beam_configuration *> *scores) con
                 break;
               }
           }
-        while (flip (&d) != LEFT);
         if (c)
           scores->push_back (c);
       }
@@ -1098,10 +1082,8 @@ Beam_scoring_problem::score_stem_lengths (Beam_configuration *config) const
     }
 
   /* Divide by number of stems, to make the measure scale-free. */
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     score[d] /= max (count[d], 1);
-  while (flip (&d) != DOWN);
 
   /*
     sometimes, two perfectly symmetric kneed beams will have the same score
@@ -1211,11 +1193,10 @@ Beam_scoring_problem::score_forbidden_quants (Beam_configuration *config) const
   Real extra_demerit = parameters_.SECONDARY_BEAM_DEMERIT
                        / max (edge_beam_counts_[LEFT], edge_beam_counts_[RIGHT]);
 
-  Direction d = LEFT;
   Real dem = 0.0;
   Real eps = parameters_.BEAM_EPS;
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       for (int j = 1; j <= edge_beam_counts_[d]; j++)
         {
@@ -1258,7 +1239,6 @@ Beam_scoring_problem::score_forbidden_quants (Beam_configuration *config) const
               }
         }
     }
-  while ((flip (&d)) != LEFT);
 
   if (max (edge_beam_counts_[LEFT], edge_beam_counts_[RIGHT]) >= 2)
     {
@@ -1267,8 +1247,7 @@ Beam_scoring_problem::score_forbidden_quants (Beam_configuration *config) const
       Real inter = 0.5;
       Real hang = 1.0 - (beam_thickness_ - line_thickness_) / 2;
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (edge_beam_counts_[d] >= 2
               && fabs (config->y[d] - edge_dirs_[d] * beam_translation_) < staff_radius_ + inter)
@@ -1296,7 +1275,6 @@ Beam_scoring_problem::score_forbidden_quants (Beam_configuration *config) const
                 dem += extra_demerit;
             }
         }
-      while (flip (&d) != LEFT);
     }
 
   config->add (dem, "F");
index 0cfc3e193cba6b3feea911abb09a6f9e5118d6c2..49253434c05d94faab4e471b44cc42898841f1e9 100644 (file)
@@ -284,9 +284,8 @@ Beam::calc_beaming (SCM smob)
                              last_dir ? last_dir : this_dir,
                              this_dir);
 
-          Direction d = LEFT;
           Slice new_slice;
-          do
+          for (LEFT_and_RIGHT (d))
             {
               new_slice.set_empty ();
               SCM s = index_get_cell (this_beaming, d);
@@ -299,7 +298,6 @@ Beam::calc_beaming (SCM smob)
                   scm_set_car_x (s, scm_from_int (new_beam_pos));
                 }
             }
-          while (flip (&d) != LEFT);
 
           if (!new_slice.is_empty ())
             last_int = new_slice;
@@ -351,10 +349,8 @@ Beam::calc_beam_segments (SCM smob)
   extract_grob_set (me, "stems", stems);
 
   Grob *commonx = common_refpoint_of_array (stems, me, X_AXIS);
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     commonx = me->get_bound (d)->common_refpoint (commonx, X_AXIS);
-  while (flip (&d) != LEFT);
 
   int gap_count = robust_scm2int (me->get_property ("gap-count"), 0);
   Real gap_length = robust_scm2double (me->get_property ("gap"), 0.0);
@@ -376,7 +372,7 @@ Beam::calc_beam_segments (SCM smob)
       Real stem_x = stem->relative_coordinate (commonx, X_AXIS);
       SCM beaming = stem->get_property ("beaming");
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           // Find the maximum and minimum beam ranks.
           // Given that RANKS is never reset to empty, the interval will always be
@@ -415,7 +411,6 @@ Beam::calc_beam_segments (SCM smob)
               stem_segments[beam_rank].push_back (seg);
             }
         }
-      while (flip (&d) != LEFT);
     }
 
   Drul_array<Real> break_overshoot
@@ -444,9 +439,8 @@ Beam::calc_beam_segments (SCM smob)
           // we are currently looking at (ie. if segs[j].dir_ == event_dir then we
           // are looking at that edge of the beam segment that is furthest from its
           // stem).
-          Direction event_dir = LEFT;
           Beam_stem_segment const &seg = segs[j];
-          do
+          for (LEFT_and_RIGHT (event_dir))
             {
               Beam_stem_segment const &neighbor_seg = segs[j + event_dir];
               // TODO: make names clearer? --jneem
@@ -542,7 +536,6 @@ Beam::calc_beam_segments (SCM smob)
                   current = Beam_segment ();
                 }
             }
-          while (flip (&event_dir) != LEFT);
         }
 
     }
@@ -583,10 +576,8 @@ Beam::calc_x_positions (SCM smob)
     {
       extract_grob_set (me, "stems", stems);
       Grob *common_x = common_refpoint_of_array (stems, me, X_AXIS);
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         x_positions[d] = me->relative_coordinate (common_x, X_AXIS);
-      while (flip (&d) != LEFT);
     }
   return ly_interval2scm (x_positions);
 }
@@ -621,10 +612,8 @@ Beam::print (SCM grob)
   */
   extract_grob_set (me, "stems", stems);
   Grob *commonx = common_refpoint_of_array (stems, me, X_AXIS);
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     commonx = me->get_bound (d)->common_refpoint (commonx, X_AXIS);
-  while (flip (&d) != LEFT);
 
   vector<Beam_segment> segments = get_beam_segments (me);
 
@@ -764,13 +753,11 @@ Beam::get_default_dir (Grob *me)
   for (iterof (s, stems); s != stems.end (); s++)
     {
       Interval positions = Stem::head_positions (*s);
-      Direction d = DOWN;
-      do
+      for (DOWN_and_UP (d))
         {
           if (sign (positions[d]) == d)
             extremes[d] = d * max (d * positions[d], d * extremes[d]);
         }
-      while (flip (&d) != DOWN);
     }
 
   Drul_array<int> total (0, 0);
@@ -1133,13 +1120,12 @@ Beam::set_beaming (Grob *me, Beaming_pattern const *beaming)
 {
   extract_grob_set (me, "stems", stems);
 
-  Direction d = LEFT;
   for (vsize i = 0; i < stems.size (); i++)
     {
       /*
         Don't overwrite user settings.
       */
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Grob *stem = stems[i];
           SCM beaming_prop = stem->get_property ("beaming");
@@ -1161,7 +1147,6 @@ Beam::set_beaming (Grob *me, Beaming_pattern const *beaming)
               Stem::set_beaming (stem, count, d);
             }
         }
-      while (flip (&d) != LEFT);
     }
 }
 
@@ -1243,10 +1228,8 @@ Beam::rest_collision_callback (SCM smob, SCM prev_offset)
   Drul_array<Real> pos (robust_scm2drul (beam->get_property ("positions"),
                                          Drul_array<Real> (0, 0)));
 
-  Direction dir = LEFT;
-  do
+  for (LEFT_and_RIGHT (dir))
     pos[dir] += beam->relative_coordinate (common_y, Y_AXIS);
-  while (flip (&dir) != LEFT);
 
   Real staff_space = Staff_symbol_referencer::staff_space (rest);
 
@@ -1306,36 +1289,39 @@ Beam::rest_collision_callback (SCM smob, SCM prev_offset)
   return scm_from_double (offset + staff_space * shift);
 }
 
+/*
+  Estimate the position of a rest under a beam,
+  as the average position of its neighboring heads.
+*/
 MAKE_SCHEME_CALLBACK_WITH_OPTARGS (Beam, pure_rest_collision_callback, 4, 1, "");
 SCM
 Beam::pure_rest_collision_callback (SCM smob,
-                                    SCM, /* prev_offset */
                                     SCM, /* start */
-                                    SCM /* end */)
+                                    SCM, /* end */
+                                    SCM prev_offset)
 {
-  Real amount = 0.0;
+  Real previous = robust_scm2double (prev_offset, 0.0);
 
   Grob *me = unsmob_grob (smob);
   Grob *stem = unsmob_grob (me->get_object ("stem"));
   if (!stem)
-    return scm_from_double (amount);
+    return scm_from_double (previous);
   Grob *beam = unsmob_grob (stem->get_object ("beam"));
   if (!beam
       || !Beam::normal_stem_count (beam)
       || !is_direction (beam->get_property_data ("direction")))
-    return scm_from_double (amount);
+    return scm_from_double (previous);
 
   Real ss = Staff_symbol_referencer::staff_space (me);
 
   /*
     This gives the extrema of rest positions.
-    In general, beams are never typeset more than one staff space away
-    from the staff in either direction.
+    Even with noteheads on ledgers, beams typically remain within the staff,
+    and push rests at most one staff-space (2 positions) from the staff.
   */
   Grob *staff = Staff_symbol_referencer::get_staff_symbol (me);
   Interval rest_max_pos = staff ? Staff_symbol::line_span (staff) : Interval (0.0, 0.0);
-  rest_max_pos.widen (1);
-  rest_max_pos *= ss / 2;
+  rest_max_pos.widen (2);
 
   extract_grob_set (beam, "stems", stems);
   vector<Grob *> my_stems;
@@ -1356,7 +1342,7 @@ Beam::pure_rest_collision_callback (SCM smob,
   Grob *right;
 
   if (idx == (vsize) - 1 || my_stems.size () == 1)
-    return scm_from_double (amount);
+    return scm_from_double (previous);
   else if (idx == 0)
     left = right = my_stems[1];
   else if (idx == my_stems.size () - 1)
@@ -1366,15 +1352,19 @@ Beam::pure_rest_collision_callback (SCM smob,
       left = my_stems[idx - 1];
       right = my_stems[idx + 1];
     }
-  Direction beamdir = get_grob_direction (beam);
-  /*
-    Take the position between the two bounding head_positions,
-    then bound it by the minimum and maximum positions outside the staff.
-    4.0 = 2.0 to get out of staff space * 2.0 for the average
-  */
-  amount = min (max ((Stem::head_positions (left)[beamdir] + Stem::head_positions (right)[beamdir]) / 4.0, rest_max_pos[DOWN]), rest_max_pos[UP]);
 
-  return scm_from_double (amount);
+  /* In stems with several heads, use the one closest to the beam. */
+  Direction beamdir = get_grob_direction (beam);
+  Real shift = min (max ( (Stem::head_positions (left)[beamdir]
+                           + Stem::head_positions (right)[beamdir]) / 2.0,
+                          rest_max_pos[DOWN]),
+                    rest_max_pos[UP]
+                   ) * ss / 2.0
+               - previous;
+  /* Always move by a whole number of staff spaces */
+  shift = ceil (fabs (shift / ss)) * ss * sign (shift);
+
+  return scm_from_double (previous + shift);
 }
 
 bool
index 56e14943f8d75c235c4af6abc589c5c129b19bb9..c4cdbb1c7b6c07d41bb338767994eef1bccc2ae4 100644 (file)
@@ -245,14 +245,12 @@ Bezier::minmax (Axis ax, Real l, Real r, Direction d) const
 
   //  or intersections of the curve with the bounding lines at L and R.
   Interval lr (l, r);
-  Direction dir = LEFT;
-  do
+  for (LEFT_and_RIGHT (dir))
     {
       vector<Real> v = get_other_coordinates (ax, lr[dir]);
       for (vsize i = v.size (); i--;)
         iv.add_point (v[i]);
     }
-  while (flip (&dir) != LEFT);
 
   if (iv.is_empty ())
     {
index ddaf9b4328e5d3df660bb21bcfe8357bd07af858..a0f03f753cc5b9d873223b9bb61537b3383dd513 100644 (file)
@@ -248,14 +248,12 @@ item_system_range (Item *it)
     return Slice (st->get_rank (), st->get_rank ());
 
   Slice sr;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *bi = it->find_prebroken_piece (d);
       if (bi && bi->get_system ())
         sr.add_point (bi->get_system ()->get_rank ());
     }
-  while (flip (&d) != LEFT);
 
   return sr;
 }
index f58a793ed4ef805fcbcf4cd47435e88de47edf82..4f3818ecd8a3cf87841fd7d9bccb4c34e7ca3759 100644 (file)
@@ -211,3 +211,15 @@ LY_DEFINE (ly_context_events_below, "ly:context-events-below",
   Context *ctx = unsmob_context (context);
   return ctx->events_below ()->self_scm ();
 }
+
+LY_DEFINE (ly_make_event_class, "ly:make-event-class",
+          2, 0, 0, (SCM context, SCM type),
+          "Make an event class (a list of types) from the given @var{type}"
+          " within the global context containing @var{context}.")
+{
+  LY_ASSERT_SMOB (Context, context, 1);
+  LY_ASSERT_TYPE (ly_is_symbol, type, 2);
+
+  Context *ctx = unsmob_context (context);
+  return ctx->make_event_class (type);
+}
index 34b75523ea38d3e1e2f76c68bf606c55c7e02ee7..4d949e8379c0a02f34003794b7f5e62bf3ec0b80 100644 (file)
@@ -91,6 +91,7 @@ Context::Context ()
   definition_mods_ = SCM_EOL;
   event_source_ = 0;
   events_below_ = 0;
+  ancestor_lookup_ = SCM_UNDEFINED;
 
   smobify_self ();
 
@@ -452,7 +453,7 @@ be called from any other place than the send_stream_event macro.
 void
 Context::internal_send_stream_event (SCM type, Input *origin, SCM props[])
 {
-  Stream_event *e = new Stream_event (type, origin);
+  Stream_event *e = new Stream_event (make_event_class (type), origin);
   for (int i = 0; props[i]; i += 2)
     {
       e->set_property (props[i], props[i + 1]);
@@ -593,6 +594,14 @@ Context::get_score_context () const
     return 0;
 }
 
+SCM
+Context::make_event_class (SCM event_type)
+{
+  if (SCM_UNBNDP (ancestor_lookup_))
+    ancestor_lookup_ = get_global_context ()->ancestor_lookup_;
+  return scm_hashq_ref (ancestor_lookup_, event_type, SCM_EOL);
+}
+
 Output_def *
 Context::get_output_def () const
 {
@@ -661,6 +670,8 @@ Context::mark_smob (SCM sm)
   if (me->events_below_)
     scm_gc_mark (me->events_below_->self_scm ());
 
+  scm_gc_mark (me->ancestor_lookup_);
+
   return me->properties_scm_;
 }
 
index 4c6064acb210b4c6486e56e2e4984ba7a9644dfd..6d930b944e2e2d958ee6c6f08bc3380144ba076f 100644 (file)
@@ -63,6 +63,36 @@ LY_DEFINE (ly_add_listener, "ly:add-listener",
   return SCM_UNDEFINED;
 }
 
+LY_DEFINE (ly_listened_event_types, "ly:listened-event-types",
+           1, 0, 0, (SCM disp),
+           "Return a list of all event types that @var{disp} listens"
+           " to.")
+{
+  LY_ASSERT_SMOB (Dispatcher, disp, 1);
+
+  SCM result = unsmob_dispatcher (disp)->listened_types ();
+
+  scm_remember_upto_here_1 (disp);
+
+  return result;
+}
+
+LY_DEFINE (ly_listened_event_class_p, "ly:listened-event-class?",
+           2, 0, 0, (SCM disp, SCM cl),
+           "Does @var{disp} listen to any event type in the list"
+           " @var{cl}?")
+{
+  LY_ASSERT_SMOB (Dispatcher, disp, 1);
+  LY_ASSERT_TYPE (scm_is_pair, cl, 2);
+
+  bool result = unsmob_dispatcher (disp)->is_listened_class (cl);
+
+  scm_remember_upto_here_1 (disp);
+
+  return scm_from_bool (result);
+}
+
+
 LY_DEFINE (ly_broadcast, "ly:broadcast",
            2, 0, 0, (SCM disp, SCM ev),
            "Send the stream event @var{ev} to the dispatcher @var{disp}.")
index 4db7c93a1555a66a9cffc6772ea9ac349a263379..c2e777a131de776b42eda946f84d4ac7018da217 100644 (file)
@@ -77,19 +77,13 @@ void
 Dispatcher::dispatch (SCM sev)
 {
   Stream_event *ev = unsmob_stream_event (sev);
-  SCM class_symbol = ev->get_property ("class");
-  if (!scm_is_symbol (class_symbol))
-    {
-      warning (_ ("Event class should be a symbol"));
-      return;
-    }
-
-  SCM class_list = scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), class_symbol);
+  SCM class_list = ev->get_property ("class");
   if (!scm_is_pair (class_list))
     {
-      ev->origin ()->warning (_f ("Unknown event class %s", ly_symbol2string (class_symbol).c_str ()));
+      ev->origin ()->warning (_ ("Event class should be a list"));
       return;
     }
+
 #if 0
   bool sent = false;
 #endif
@@ -174,17 +168,9 @@ Dispatcher::dispatch (SCM sev)
 }
 
 bool
-Dispatcher::is_listened (Stream_event *ev)
+Dispatcher::is_listened_class (SCM cl)
 {
-  SCM class_symbol = ev->get_property ("class");
-  if (!scm_is_symbol (class_symbol))
-    {
-      warning (_ ("Event class should be a symbol"));
-      return false;
-    }
-
-  for (SCM cl = scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), class_symbol);
-       scm_is_pair (cl); cl = scm_cdr (cl))
+  for (; scm_is_pair (cl); cl = scm_cdr (cl))
     {
       SCM list = scm_hashq_ref (listeners_, scm_car (cl), SCM_EOL);
       if (scm_is_pair (list))
@@ -193,6 +179,23 @@ Dispatcher::is_listened (Stream_event *ev)
   return false;
 }
 
+static SCM
+accumulate_types (void * /* closure */,
+                 SCM key,
+                 SCM val,
+                 SCM result)
+{
+  if (scm_is_pair (val))
+    return scm_cons (key, result);
+  return result;
+}
+
+SCM
+Dispatcher::listened_types ()
+{
+  return scm_internal_hash_fold ((scm_t_hash_fold_fn) &accumulate_types,
+                                 NULL, SCM_EOL, listeners_);
+}
 
 void
 Dispatcher::broadcast (Stream_event *ev)
index b584e603c9345dfc3f935185c6bbf23b237af9ac..265498658abb01358aa6cd86b18ee21986fa666b 100644 (file)
@@ -158,8 +158,8 @@ Dynamic_align_engraver::set_spanner_bounds (Spanner *line, bool end)
 {
   if (!line)
     return;
-  Direction d = LEFT;
-  do
+
+  for (LEFT_and_RIGHT (d))
     {
       if ((d == LEFT && !line->get_bound (LEFT))
           || (end && d == RIGHT && !line->get_bound (RIGHT)))
@@ -181,7 +181,6 @@ Dynamic_align_engraver::set_spanner_bounds (Spanner *line, bool end)
           line->set_bound (d, bound);
         }
     }
-  while (flip (&d) != LEFT);
 }
 
 void
index a3cb7795212c98da8bdd25a68c13e826064f5a82..c492e59c5540809829324fbf50bdcb6ad8f4ba88 100644 (file)
@@ -215,7 +215,7 @@ Dynamic_engraver::process_music ()
             TODO: Use symbols.
           */
 
-          SCM start_sym = current_cresc_ev_->get_property ("class");
+          SCM start_sym = scm_car (current_cresc_ev_->get_property ("class"));
           string start_type;
 
           if (start_sym == ly_symbol2scm ("decrescendo-event"))
index b8bf1234c04d625fe36c635c38aa3bad1a24c85b..db1303d63ce3b918f95e5d9f254c589a84bf89ea 100644 (file)
@@ -53,7 +53,7 @@ Engraver::make_grob_info (Grob *e, SCM cause)
   /* TODO: Remove Music code when it's no longer needed */
   if (Music *m = unsmob_music (cause))
     {
-      cause = m->to_event ()->unprotect ();
+      cause = m->to_event (context ())->unprotect ();
     }
   if (e->get_property ("cause") == SCM_EOL
       && (unsmob_stream_event (cause) || unsmob_grob (cause)))
index 6034a34641a0e0b6bfc86c23cc58550155408816..bc216a2c4ab7609b222217652e2c20580a3390d5 100644 (file)
@@ -64,10 +64,10 @@ Figured_bass_continuation::print (SCM grob)
       * robust_scm2double (me->get_property ("thickness"), 1);
 
   Interval spanned;
-  Direction d = LEFT;
+
   Grob *common = me->get_bound (LEFT)->common_refpoint (me->get_bound (RIGHT),
                                                         X_AXIS);
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *bound = me->get_bound (d);
       Direction extdir
@@ -78,7 +78,6 @@ Figured_bass_continuation::print (SCM grob)
         = robust_relative_extent (bound, common, X_AXIS)[extdir]
           - me->relative_coordinate (common, X_AXIS);
     }
-  while (flip (&d) != LEFT);
   spanned.widen (- robust_scm2double (me->get_property ("padding"), 0.2));
 
   Stencil extender;
index 9a4d4c51ffe938af36b5d9e698bd2b936bb01d27..3384133f353ab9e9546d50c55f88f18a52862bdc 100644 (file)
@@ -51,6 +51,13 @@ Global_context::Global_context (Output_def *o)
     programming_error ("no `Global' context found");
   else
     globaldef->apply_default_property_operations (this);
+
+  SCM p = get_property ("EventClasses");
+
+  ancestor_lookup_ = scm_make_hash_table (scm_length (p));
+  for (;scm_is_pair (p); p = scm_cdr (p))
+    scm_hashq_set_x (ancestor_lookup_, scm_caar (p), scm_car (p));
+
   accepts_list_ = scm_list_1 (ly_symbol2scm ("Score"));
 }
 
index 7ef0f847a1e8fdf30e3231434cbb84209d119f57..7639ddd78e774210ebcea9de2da6b772a493564a 100644 (file)
@@ -69,19 +69,16 @@ Hairpin::broken_bound_padding (SCM smob)
 
   Grob *my_vertical_axis_group = Grob::get_vertical_axis_group (me);
   Drul_array<Grob *> vertical_axis_groups;
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     vertical_axis_groups[d] = d == dir
                               ? sys->get_neighboring_staff (d, my_vertical_axis_group, Interval_t<int> (me->spanned_rank_interval ()))
                               : my_vertical_axis_group;
-  while (flip (&d) != DOWN);
 
   if (!vertical_axis_groups[dir])
     return scm_from_double (0.0);
 
   Drul_array<Grob *> span_bars (0, 0);
-  d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     {
       extract_grob_set (vertical_axis_groups[d], "elements", elts);
       for (vsize i = elts.size (); i--;)
@@ -98,7 +95,6 @@ Hairpin::broken_bound_padding (SCM smob)
       if (!span_bars[d])
         return scm_from_double (0.0);
     }
-  while (flip (&d) != DOWN);
 
   if (span_bars[DOWN] != span_bars[UP])
     return scm_from_double (0.0);
@@ -125,13 +121,11 @@ Hairpin::print (SCM smob)
 
   Drul_array<bool> broken;
   Drul_array<Item *> bounds;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       bounds[d] = me->get_bound (d);
       broken[d] = bounds[d]->break_status_dir () != CENTER;
     }
-  while (flip (&d) != LEFT);
 
   broken[RIGHT] = broken[RIGHT] && me->broken_neighbor (RIGHT);
   broken[RIGHT] = broken[RIGHT] && me->broken_neighbor (RIGHT)->is_live ();
@@ -162,7 +156,7 @@ Hairpin::print (SCM smob)
     thick = robust_scm2double (me->get_property ("thickness"), 1.0)
             * Staff_symbol_referencer::line_thickness (me);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *b = bounds[d];
       Interval e = (Paper_column::has_interface (b) && b->break_status_dir ())
@@ -254,7 +248,6 @@ Hairpin::print (SCM smob)
             }
         }
     }
-  while (flip (&d) != LEFT);
 
   Real width = x_points[RIGHT] - x_points[LEFT];
 
index 7f3c839e9121bb261c2487e57ab7c007e0c5d58e..279ee0baf291bf2083f3979cd02704c09179da00 100644 (file)
@@ -53,8 +53,7 @@ Horizontal_bracket::make_bracket (Grob *me,
     = robust_scm2booldrul (me->get_property ("connect-to-neighbor"),
                            Drul_array<bool> (false, false));
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (connect_to_other[d])
         {
@@ -63,7 +62,6 @@ Horizontal_bracket::make_bracket (Grob *me,
           shorten[d] = 0.0;
         }
     }
-  while (flip (&d) != LEFT);
 
   /*
     ugh, Tuplet_bracket should use Horizontal_bracket, not the other way around.
@@ -113,14 +111,12 @@ Horizontal_bracket::print (SCM smob)
       return SCM_EOL;
     }
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *b = me->get_bound (d);
       if (b->break_status_dir ())
         enclosed.push_back (b);
     }
-  while (flip (&d) != LEFT);
 
   Stencil b = make_enclosing_bracket (me, me, enclosed, X_AXIS, get_grob_direction (me));
   return b.smobbed_copy ();
index 5c60e14c8076e9fa6ca49011139a2e316ec21d67..116ae6aa5730a72ad616594c69bc89bb34991672 100644 (file)
@@ -70,7 +70,7 @@ public:
   static vector<Beam_segment> get_beam_segments (Grob *me_grob, Grob **common);
 
   DECLARE_SCHEME_CALLBACK (rest_collision_callback, (SCM element, SCM prev_off));
-  DECLARE_SCHEME_CALLBACK (pure_rest_collision_callback, (SCM element, SCM prev_off, SCM, SCM));
+  DECLARE_SCHEME_CALLBACK (pure_rest_collision_callback, (SCM element, SCM, SCM, SCM prev_off));
   DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (calc_beaming, (SCM));
   DECLARE_SCHEME_CALLBACK (calc_stem_shorten, (SCM));
index 6a9e59358cdb5633549ac89e90e9846cd28b5dc8..5543235c25d4b668d2140300697bcb2914a68799 100644 (file)
@@ -117,6 +117,13 @@ public:
   virtual Moment now_mom () const;
   virtual Context *get_default_interpreter (string context_id = "");
 
+  // It would make some sense to have the following just available in
+  // a global context.  It would be decidedly tricky, however, to have
+  // it initialized before the constructor of its Context base class
+  // was able to trigger garbage collection.
+  SCM ancestor_lookup_;
+  SCM make_event_class (SCM);
+
   bool is_alias (SCM) const;
   void add_alias (SCM);
   void add_context (Context *trans);
index b11167121bb93ebf2b1a83f8c3ec7f0349bdbccf..31bed90c7eed6030ae55bae2d5bdf6a2530009c2 100644 (file)
@@ -39,7 +39,8 @@ class Dispatcher
 public:
   Dispatcher ();
   void broadcast (Stream_event *ev);
-  bool is_listened (Stream_event *ev);
+  bool is_listened_class (SCM);
+  SCM listened_types ();
   void add_listener (Listener, SCM event_class);
   void remove_listener (Listener, SCM event_class);
   void register_as_listener (Dispatcher *dist);
index 83cc5ff4c3148a4add8d1c7b165bc46a0bfe8829..b0f48371048a50bc6f4a3d953d89fc20828a88da 100644 (file)
@@ -24,6 +24,7 @@
 #include "moment.hh"
 #include "pitch.hh"
 #include "prob.hh"
+#include "context.hh"
 
 #define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x))
 
@@ -39,7 +40,7 @@ public:
 
   bool internal_is_music_type (SCM) const;
 
-  Stream_event *to_event () const;
+  Stream_event *to_event (Context *) const;
 
   DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM));
   Pitch to_relative_octave (Pitch);
index 7bab0cfa74e848f13568a43d9b58f955ad7303b5..fec5aaacb121f76d7e5d8774e4d66d640328f9eb 100644 (file)
@@ -36,8 +36,8 @@
   static void _ ## T ## _adder ()                                       \
   {                                                                     \
     T *t = new T;                                                       \
-    T::static_description_ = t->static_translator_description ();       \
-    scm_permanent_object (T::static_description_);                      \
+    T::static_description_ =                                           \
+      scm_permanent_object (t->static_translator_description ());      \
     add_translator (t);                                                 \
   }                                                                     \
   SCM T::translator_description () const                                \
index 7571e219ece4d062563c826d4be455c5e931cd4c..ffe784fae81ca4eb8fca4b81f88e62b8e8b15eea 100644 (file)
@@ -58,8 +58,7 @@ Interval_minefield::solve ()
       dirty = false;
       for (vsize i = 0; i < forbidden_intervals_.size (); i++)
         {
-          Direction d = DOWN;
-          do
+          for (DOWN_and_UP (d))
             {
               Interval feasible_widened = Interval (feasible_placements_[d], feasible_placements_[d]);
               feasible_widened.widen (bulk_ / 2.);
@@ -75,8 +74,7 @@ Interval_minefield::solve ()
                   dirty = true;
                 }
             }
-          while (flip (&d) != DOWN);
         }
     }
   while (dirty);
-}
\ No newline at end of file
+}
index 0c3169a7766f31860ef77b978ad7829c017f58b1..9941bc13c2abf79bc36fd25f952a084633d6e635 100644 (file)
@@ -77,15 +77,13 @@ void
 Item::copy_breakable_items ()
 {
   Drul_array<Item *> new_copies;
-  Direction i = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *dolly = clone ();
       Item *item = dynamic_cast<Item *> (dolly);
       get_root_system (this)->typeset_grob (item);
-      new_copies[i] = item;
+      new_copies[d] = item;
     }
-  while (flip (&i) != LEFT);
 
   broken_to_drul_ = new_copies;
 }
@@ -115,14 +113,12 @@ Item::find_broken_piece (System *l) const
   if (get_system () == l)
     return (Item *) (this);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *s = broken_to_drul_[d];
       if (s && s->get_system () == l)
         return s;
     }
-  while (flip (&d) != LEFT);
 
   return 0;
 }
@@ -202,21 +198,18 @@ spanned_time_interval (Item *l, Item *r)
   Drul_array<Item *> bounds (l, r);
   Interval_t<Moment> iv;
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (bounds[d] && bounds[d]->get_column ())
         iv[d] = robust_scm2moment (bounds[d]->get_column ()->get_property ("when"),
                                    iv[d]);
     }
-  while (flip (&d) != LEFT);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!bounds[d] || !bounds[d]->get_column ())
         iv[d] = iv[-d];
     }
-  while (flip (&d) != LEFT);
 
   return iv;
 }
index 83304acff7a4b39cd2a814827f4bf5b24d9da083..20e4b59fc34f2bfd9312dabc7c1408ed3210d700 100644 (file)
@@ -227,8 +227,7 @@ Ledger_line_spanner::print (SCM smob)
       if (last == reqs.end ())
         continue;
 
-      Direction d = DOWN;
-      do
+      for (DOWN_and_UP (d))
         {
           if (!staff_extent.contains (last->second[d].position_)
               && !staff_extent.contains (i->second[d].position_))
@@ -237,8 +236,7 @@ Ledger_line_spanner::print (SCM smob)
                 = (last->second[d].head_extent_[RIGHT]
                    + i->second[d].head_extent_[LEFT]) / 2;
 
-              Direction which = LEFT;
-              do
+              for (LEFT_and_RIGHT (which))
                 {
                   Ledger_request &lr = ((which == LEFT) ? * last : *i).second[d];
 
@@ -253,10 +251,8 @@ Ledger_line_spanner::print (SCM smob)
                   lr.ledger_extent_.at (-which)
                     = which * max (which * lr.ledger_extent_[-which], which * limit);
                 }
-              while (flip (&which) != LEFT);
             }
         }
-      while (flip (&d) != DOWN);
     }
 
   // create ledgers for note heads
index 418a0648748abd9736b7a9032ddfea504640606a..2d43a71fa4f0006943990e89e390fcdf4c71b28b 100644 (file)
@@ -270,8 +270,7 @@ Line_spanner::print (SCM smob)
 
   Drul_array<Offset> span_points;
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Offset z (robust_scm2double (ly_assoc_get (ly_symbol2scm ("X"),
                                                  bounds[d], SCM_BOOL_F), 0.0),
@@ -280,7 +279,6 @@ Line_spanner::print (SCM smob)
 
       span_points[d] = z;
     }
-  while (flip (&d) != LEFT);
 
   Drul_array<Real> gaps (0, 0);
   Drul_array<bool> arrows (0, 0);
@@ -291,7 +289,7 @@ Line_spanner::print (SCM smob)
   Real magstep
     = pow (2, robust_scm2double (me->get_property ("font-size"), 0.0) / 6);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       gaps[d] = robust_scm2double (ly_assoc_get (ly_symbol2scm ("padding"),
                                                  bounds[d], SCM_BOOL_F), 0.0);
@@ -304,15 +302,13 @@ Line_spanner::print (SCM smob)
       if (!common_y[d])
         common_y[d] = me;
     }
-  while (flip (&d) != LEFT);
 
   Grob *my_common_y = common_y[LEFT]->common_refpoint (common_y[RIGHT], Y_AXIS);
 
   if (!simple_y)
     {
-      do
+      for (LEFT_and_RIGHT (d))
         span_points[d][Y_AXIS] += common_y[d]->relative_coordinate (my_common_y, Y_AXIS);
-      while (flip (&d) != LEFT);
     }
 
   Interval normalized_endpoints = robust_scm2interval (me->get_property ("normalized-endpoints"), Interval (0, 1));
@@ -329,7 +325,7 @@ Line_spanner::print (SCM smob)
     }
 
   Stencil line;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       span_points[d] += -d * gaps[d] * magstep * dz.direction ();
 
@@ -350,15 +346,13 @@ Line_spanner::print (SCM smob)
           line.add_stencil (s);
         }
     }
-  while (flip (&d) != LEFT);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (stencils[d])
         span_points[d] += dz_dir *
                           (stencils[d]->extent (X_AXIS)[-d] / dz_dir[X_AXIS]);
     }
-  while (flip (&d) != LEFT);
 
   Offset adjust = dz.direction () * Staff_symbol_referencer::staff_space (me);
 
index 4d4c0bdf6a6966925a91ec7d254808fa60554a57..1acb34f783cf83dab6b0cc503f8d55fb47852a0e 100644 (file)
@@ -333,11 +333,10 @@ Stencil
 Lookup::frame (Box b, Real thick, Real blot)
 {
   Stencil m;
-  Direction d = LEFT;
   for (Axis a = X_AXIS; a < NO_AXES; a = Axis (a + 1))
     {
       Axis o = Axis ((a + 1) % NO_AXES);
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Box edges;
           edges[a] = b[a][d] + 0.5 * thick * Interval (-1, 1);
@@ -346,7 +345,6 @@ Lookup::frame (Box b, Real thick, Real blot)
 
           m.add_stencil (round_filled_box (edges, blot));
         }
-      while (flip (&d) != LEFT);
     }
   return m;
 }
index 4ce2fddeb86724b23b2da75f03fd482b8b357253..21ec770ea13d43c2a2f5ccba4ee6491f1f785a74 100644 (file)
@@ -47,8 +47,7 @@ Lyric_hyphen::print (SCM smob)
   Grob *common = bounds[LEFT]->common_refpoint (bounds[RIGHT], X_AXIS);
 
   Interval span_points;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Interval iv = bounds[d]->break_status_dir ()
                     ? Axis_group_interface::generic_bound_extent (bounds[d], common, X_AXIS)
@@ -58,7 +57,6 @@ Lyric_hyphen::print (SCM smob)
                        ? bounds[d]->relative_coordinate (common, X_AXIS)
                        : iv[-d];
     }
-  while (flip (&d) != LEFT);
 
   Real lt = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
   Real th = robust_scm2double (me->get_property ("thickness"), 1) * lt;
@@ -125,14 +123,12 @@ Lyric_hyphen::set_spacing_rods (SCM smob)
   Spanner *sp = dynamic_cast<Spanner *> (me);
 
   r.distance_ = robust_scm2double (me->get_property ("minimum-distance"), 0);
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       r.item_drul_[d] = sp->get_bound (d);
       if (r.item_drul_[d])
         r.distance_ += -d * r.item_drul_[d]->extent (r.item_drul_[d], X_AXIS)[-d];
     }
-  while (flip (&d) != LEFT);
 
   if (r.item_drul_[LEFT]
       && r.item_drul_[RIGHT])
index 69865104f9fc8a7d67252c7bd1fab13ed0687ced..7fede1a3e70a095d71401d65b65cf7035b5d4054 100644 (file)
@@ -127,8 +127,7 @@ Multi_measure_rest_engraver::process_music ()
           /*
             Stack different scripts.
           */
-          Direction d = DOWN;
-          do
+          for (DOWN_and_UP (d))
             {
               Grob *last = 0;
               for (vsize i = 0; i < numbers_.size (); i++)
@@ -141,7 +140,6 @@ Multi_measure_rest_engraver::process_music ()
                     }
                 }
             }
-          while (flip (&d) != DOWN);
         }
 
       for (vsize i = 0; i < numbers_.size (); i++)
index 9ffaf4e18c03986b1852919ea893f652f6f9606f..c0f26f5c857c394f1db2de658594919de77e5414 100644 (file)
@@ -42,8 +42,7 @@ Multi_measure_rest::bar_width (Spanner *me)
 {
   SCM spacing_pair = me->get_property ("spacing-pair");
   Interval iv;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *col = me->get_bound (d)->get_column ();
       SCM align_sym
@@ -54,7 +53,6 @@ Multi_measure_rest::bar_width (Spanner *me)
 
       iv[d] = coldim[-d];
     }
-  while (flip (&d) != LEFT);
 
   return iv;
 }
index 7927fe3067cc8b855743e6e5c5ad06ae5c1b18a9..cc814c074b456256eeb8f089781957c178091a46 100644 (file)
@@ -271,7 +271,7 @@ Music::origin () const
   ES TODO: This method should probably be reworked or junked.
 */
 Stream_event *
-Music::to_event () const
+Music::to_event (Context *c) const
 {
   SCM class_name = ly_camel_case_2_lisp_identifier (get_property ("name"));
 
@@ -279,7 +279,8 @@ Music::to_event () const
   if (!internal_is_music_type (class_name))
     programming_error ("Not a music type");
 
-  Stream_event *e = new Stream_event (class_name, mutable_property_alist_);
+  Stream_event *e = new Stream_event (c->make_event_class (class_name),
+                                     mutable_property_alist_);
   Moment length = get_length ();
   if (length.to_bool ())
     e->set_property ("length", length.smobbed_copy ());
@@ -292,7 +293,7 @@ Music::to_event () const
       for (; scm_is_pair (art_mus); art_mus = scm_cdr (art_mus))
         {
           Music *m = unsmob_music (scm_car (art_mus));
-          art_ev = scm_cons (m->to_event ()->unprotect (), art_ev);
+          art_ev = scm_cons (m->to_event (c)->unprotect (), art_ev);
         }
       e->set_property ("articulations", scm_reverse_x (art_ev, SCM_EOL));
     }
@@ -309,7 +310,7 @@ Music::to_event () const
 void
 Music::send_to_context (Context *c)
 {
-  Stream_event *ev = to_event ();
+  Stream_event *ev = to_event (c);
   c->event_source ()->broadcast (ev);
   ev->unprotect ();
 }
index 1388235b1bcbec277bb50214f183165966a24038..749f9aaa164c496b4c9267df920f13db75ba9cdc 100644 (file)
@@ -242,7 +242,7 @@ string
 New_dynamic_engraver::get_spanner_type (Stream_event *ev)
 {
   string type;
-  SCM start_sym = ev->get_property ("class");
+  SCM start_sym = scm_car (ev->get_property ("class"));
 
   if (start_sym == ly_symbol2scm ("decrescendo-event"))
     type = "decrescendo";
index b6275b07216cc598316508a4e43402c228ae35aa..0ad31ec1265d4d30cb8724c7a3bf0aacb2ca707b 100644 (file)
@@ -291,9 +291,8 @@ New_fingering_engraver::position_scripts (SCM orientations,
       f->set_property ("direction", scm_from_int (hordir));
     }
 
-  Direction d = DOWN;
   Drul_array< vector<Finger_tuple> > vertical (down, up);
-  do
+  for (DOWN_and_UP (d))
     {
       for (vsize i = 0; i < vertical[d].size (); i++)
         {
@@ -311,7 +310,6 @@ New_fingering_engraver::position_scripts (SCM orientations,
           f->set_property ("direction", scm_from_int (d));
         }
     }
-  while (flip (&d) != DOWN);
 }
 
 void
index 7c43dddd4860bac3e2a608659ee92f0610d4e592..c0391f5015d4a51e72f40ecd266ec1d79d243482 100644 (file)
@@ -360,13 +360,11 @@ check_meshing_chords (Grob *me,
         }
     }
 
-  Direction d = UP;
-  do
+  for (UP_and_DOWN (d))
     {
       for (vsize i = 0; i < clash_groups[d].size (); i++)
         (*offsets)[d][i] += d * shift_amount;
     }
-  while ((flip (&d)) != UP);
 }
 
 MAKE_SCHEME_CALLBACK (Note_collision_interface, calc_positioning_done, 1)
@@ -378,8 +376,7 @@ Note_collision_interface::calc_positioning_done (SCM smob)
 
   Drul_array<vector<Grob *> > clash_groups = get_clash_groups (me);
 
-  Direction d = UP;
-  do
+  for (UP_and_DOWN (d))
     {
       for (vsize i = clash_groups[d].size (); i--;)
         {
@@ -389,13 +386,12 @@ Note_collision_interface::calc_positioning_done (SCM smob)
           clash_groups[d][i]->extent (me, X_AXIS);
         }
     }
-  while (flip (&d) != UP);
 
   SCM autos (automatic_shift (me, clash_groups));
   SCM hand (forced_shift (me));
 
   Real wid = 0.0;
-  do
+  for (UP_and_DOWN (d))
     {
       if (clash_groups[d].size ())
         {
@@ -405,7 +401,6 @@ Note_collision_interface::calc_positioning_done (SCM smob)
             wid = fh->extent (h, X_AXIS).length ();
         }
     }
-  while (flip (&d) != UP);
 
   vector<Grob *> done;
   Real left_most = 1e6;
@@ -460,13 +455,11 @@ Note_collision_interface::get_clash_groups (Grob *me)
         }
     }
 
-  Direction d = UP;
-  do
+  for (UP_and_DOWN (d))
     {
       vector<Grob *> &clashes (clash_groups[d]);
       vector_sort (clashes, Note_column::shift_less);
     }
-  while ((flip (&d)) != UP);
 
   return clash_groups;
 }
@@ -482,8 +475,7 @@ Note_collision_interface::automatic_shift (Grob *me,
   Drul_array < vector<int> > shifts;
   SCM tups = SCM_EOL;
 
-  Direction d = UP;
-  do
+  for (UP_and_DOWN (d))
     {
       vector<int> &shift (shifts[d]);
       vector<Grob *> &clashes (clash_groups[d]);
@@ -508,12 +500,10 @@ Note_collision_interface::automatic_shift (Grob *me,
             }
         }
     }
-  while ((flip (&d)) != UP);
 
   Drul_array<vector<Slice> > extents;
   Drul_array<vector<Real> > offsets;
-  d = UP;
-  do
+  for (UP_and_DOWN (d))
     {
       for (vsize i = 0; i < clash_groups[d].size (); i++)
         {
@@ -524,7 +514,6 @@ Note_collision_interface::automatic_shift (Grob *me,
           offsets[d].push_back (d * 0.5 * i);
         }
     }
-  while ((flip (&d)) != UP);
 
   /*
    * do horizontal shifts of each direction
@@ -535,7 +524,7 @@ Note_collision_interface::automatic_shift (Grob *me,
    *   x|
   */
 
-  do
+  for (UP_and_DOWN (d))
     {
       for (vsize i = 1; i < clash_groups[d].size (); i++)
         {
@@ -547,7 +536,6 @@ Note_collision_interface::automatic_shift (Grob *me,
               offsets[d][j] += d * 0.5;
         }
     }
-  while ((flip (&d)) != UP);
 
   /*
     see input/regression/dot-up-voice-collision.ly
@@ -571,14 +559,13 @@ Note_collision_interface::automatic_shift (Grob *me,
 
   check_meshing_chords (me, &offsets, extents, clash_groups);
 
-  do
+  for (UP_and_DOWN (d))
     {
       for (vsize i = 0; i < clash_groups[d].size (); i++)
         tups = scm_cons (scm_cons (clash_groups[d][i]->self_scm (),
                                    scm_from_double (offsets[d][i])),
                          tups);
     }
-  while (flip (&d) != UP);
 
   return tups;
 }
index 79a57bd47e6d83fcf7fd8ffbb89b57eb94b51658..477236775d553d750f40e4d795e1f52aa71dcccb 100644 (file)
@@ -222,8 +222,6 @@ Note_spacing::stem_dir_correction (Grob *me, Item *rcolumn,
   Interval bar_xextent;
   Interval bar_yextent;
 
-  Direction d = LEFT;
-
   bool acc_right = false;
 
   Grob *bar = Spacing_interface::extremal_break_aligned_grob (me, RIGHT,
@@ -232,7 +230,7 @@ Note_spacing::stem_dir_correction (Grob *me, Item *rcolumn,
   if (bar && dynamic_cast<Item *> (bar)->get_column () == rcolumn)
     bar_yextent = Staff_spacing::bar_y_positions (bar);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       vector<Grob *> const &items (ly_scm2link_array (props [d]));
       for (vsize i = 0; i < items.size (); i++)
@@ -280,7 +278,6 @@ Note_spacing::stem_dir_correction (Grob *me, Item *rcolumn,
             }
         }
     }
-  while (flip (&d) != LEFT);
 
   Real correction = 0.0;
 
index b3d5fe1f7b12d9767e9edf1975e2f8b3d258b74c..2b0910f8873600feebf136424c8ffa823d0f93d6 100644 (file)
@@ -161,8 +161,7 @@ Optimal_page_breaking::solve ()
     }
 
   /* try a larger number of systems than the ideal line breaking number. This
-     is more or less C&P, but the loop bounds make it difficult to try something
-     like do {...} while (flip(&d) != UP). */
+     is more or less C&P. */
   bound = ideal_line_division;
   for (vsize sys_count = ideal_sys_count + 1; sys_count <= max_sys_count; sys_count++)
     {
index cbe9928b6e977b12b31d4e31aa913c9e2c667232..f70a30b404e1125ed6ee252c1a820f581b8d52d6 100644 (file)
@@ -56,8 +56,7 @@ Ottava_bracket::print (SCM smob)
   Output_def *layout = me->layout ();
 
   Drul_array<bool> broken;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *b = me->get_bound (d);
       broken[d] = (b->break_status_dir () != CENTER);
@@ -75,7 +74,6 @@ Ottava_bracket::print (SCM smob)
             }
         }
     }
-  while (flip (&d) != LEFT);
 
   SCM properties = Font_interface::text_font_alist_chain (me);
   SCM markup = me->get_property ("text");
@@ -91,7 +89,7 @@ Ottava_bracket::print (SCM smob)
     TODO: we should check if there are ledgers, and modify length of
     the spanner to that.
   */
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *b = me->get_bound (d);
 
@@ -122,7 +120,6 @@ Ottava_bracket::print (SCM smob)
       else
         span_points[d] = ext[d];
     }
-  while (flip (&d) != LEFT);
 
   /*
     0.3 is ~ italic correction.
@@ -144,13 +141,12 @@ Ottava_bracket::print (SCM smob)
   Drul_array<Real> flare = robust_scm2interval (me->get_property ("bracket-flare"),
                                                 Interval (0, 0));
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       edge_height[d] *= -get_grob_direction (me);
       if (broken[d])
         edge_height[d] = 0.0;
     }
-  while (flip (&d) != LEFT);
 
   Stencil b;
   Interval empty;
index aafae77401e461555bd3701b35dd022c274de3a3..bd39702bdb59da5c14ef516551455c8f9ce57673 100644 (file)
@@ -99,8 +99,7 @@ Ottava_spanner_engraver::typeset_all ()
 {
   if (finished_)
     {
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (!finished_->get_bound (RIGHT))
             {
@@ -108,7 +107,6 @@ Ottava_spanner_engraver::typeset_all ()
               finished_->set_bound (d, e);
             }
         }
-      while (flip (&d) != LEFT);
 
       finished_ = 0;
     }
index b18531cc1a13623a28a6ecd2a12d884e01aac11e..d7c7ccec3258a19940c6bb92eb1fdddeda525efb 100644 (file)
@@ -172,7 +172,7 @@ IMPLEMENT_TRANSLATOR_LISTENER (Page_turn_engraver, break);
 void
 Page_turn_engraver::listen_break (Stream_event *ev)
 {
-  string name = ly_symbol2string (ev->get_property ("class"));
+  string name = ly_symbol2string (scm_car (ev->get_property ("class")));
 
   if (name == "page-turn-event")
     {
index de550aeb73738779a9ef64285e26ac903f1ee41c..8ff894d8facbc9f402af3d33d2834125d95d97d6 100644 (file)
@@ -162,7 +162,7 @@ Paper_column_engraver::handle_manual_breaks (bool only_do_permissions)
   for (vsize i = 0; i < break_events_.size (); i++)
     {
       string prefix;
-      SCM name_sym = break_events_[i]->get_property ("class");
+      SCM name_sym = scm_car (break_events_[i]->get_property ("class"));
       string name = ly_symbol2string (name_sym);
       size_t end = name.rfind ("-event");
       if (end)
index a8c5e0eea8d7ed1d1d163606ba91f327f4907912..cdf3d595ca554ec9ee0c1afcf5deaf9fa7aa493f 100644 (file)
@@ -168,14 +168,12 @@ Paper_column::minimum_distance (Grob *left, Grob *right)
   Drul_array<Grob *> cols (left, right);
   Drul_array<Skyline> skys = Drul_array<Skyline> (Skyline (RIGHT), Skyline (LEFT));
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Skyline_pair *sp = Skyline_pair::unsmob (cols[d]->get_property ("horizontal-skylines"));
       if (sp)
         skys[d] = (*sp)[-d];
     }
-  while (flip (&d) != LEFT);
 
   skys[RIGHT].merge (Separation_item::conditional_skyline (right, left));
 
index 36d91f9ddfe0683a0f58a85632850874fe9dbc82..6d11c155f8dcab531f3325f1dbad67f26a2fb91a 100644 (file)
@@ -79,7 +79,7 @@ Part_combine_engraver::Part_combine_engraver ()
 void
 Part_combine_engraver::create_item (Stream_event *ev)
 {
-  SCM what = ev->get_property ("class");
+  SCM what = scm_car (ev->get_property ("class"));
   SCM text = SCM_EOL;
   if (what == ly_symbol2scm ("solo-one-event"))
     text = get_property ("soloText");
index db6b77cbc614f1b7146aa5b925e1eea9d2cde0a8..06449fb5dca228c13dd6a9daa0269cbce80c400e 100644 (file)
@@ -223,7 +223,9 @@ Part_combine_iterator::kill_mmrest (int in)
 
   if (!mmrest_event_)
     {
-      mmrest_event_ = new Stream_event (ly_symbol2scm ("multi-measure-rest-event"));
+      mmrest_event_ = new Stream_event
+       (handles_[in].get_context ()->make_event_class
+        (ly_symbol2scm ("multi-measure-rest-event")));
       mmrest_event_->set_property ("duration", SCM_EOL);
       mmrest_event_->unprotect ();
     }
@@ -254,14 +256,15 @@ Part_combine_iterator::unisono (bool silent)
       if (playing_state_ != UNISONO
           && newstate == UNISONO)
         {
+          Context *out = (last_playing_ == SOLO2 ? second_iter_ : first_iter_)
+                         ->get_outlet ();
           if (!unisono_event_)
             {
-              unisono_event_ = new Stream_event (ly_symbol2scm ("unisono-event"));
+              unisono_event_ = new Stream_event
+               (out->make_event_class (ly_symbol2scm ("unisono-event")));
               unisono_event_->unprotect ();
             }
 
-          Context *out = (last_playing_ == SOLO2 ? second_iter_ : first_iter_)
-                         ->get_outlet ();
           out->event_source ()->broadcast (unisono_event_);
           playing_state_ = UNISONO;
         }
@@ -286,7 +289,9 @@ Part_combine_iterator::solo1 ()
         {
           if (!solo_one_event_)
             {
-              solo_one_event_ = new Stream_event (ly_symbol2scm ("solo-one-event"));
+              solo_one_event_ = new Stream_event
+               (first_iter_->get_outlet ()->make_event_class
+                (ly_symbol2scm ("solo-one-event")));
               solo_one_event_->unprotect ();
             }
 
@@ -311,7 +316,9 @@ Part_combine_iterator::solo2 ()
         {
           if (!solo_two_event_)
             {
-              solo_two_event_ = new Stream_event (ly_symbol2scm ("solo-two-event"));
+              solo_two_event_ = new Stream_event
+               (second_iter_->get_outlet ()->make_event_class
+                (ly_symbol2scm ("solo-two-event")));
               solo_two_event_->unprotect ();
             }
 
index 4c8efd4d0f7d61b93f33092e724e835c12f3b7f9..534d5812ec95c1c8cfaa88670a8f2fdda2e4e3cf 100644 (file)
@@ -51,8 +51,7 @@ Piano_pedal_bracket::print (SCM smob)
     common = common->common_refpoint (textbit, X_AXIS);
 
   Interval span_points (0, 0);
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *b = me->get_bound (d);
       broken[d] = b->break_status_dir () != CENTER;
@@ -71,7 +70,6 @@ Piano_pedal_bracket::print (SCM smob)
       else
         span_points[d] = b->relative_coordinate (common, X_AXIS);
     }
-  while (flip (&d) != LEFT);
 
   /* For 'Mixed' style pedals, i.e.  a bracket preceded by text:  Ped._____|
      need to shorten by the extent of the text grob
index 4c08264687e746063dcd57c3bd38a571fa84df4a..8ba647e2019d8201d3698dbaa39cdd74f6671e90 100644 (file)
@@ -146,13 +146,11 @@ Rest_collision::calc_positioning_done (SCM smob)
             rests[d]->warning (_ ("cannot resolve rest collision: rest direction not set"));
         }
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         vector_sort (ordered_rests[d], rest_shift_less);
-      while (flip (&d) != LEFT)
-        ;
 
-      do
+
+      for (LEFT_and_RIGHT (d))
         {
           if (ordered_rests[d].size () < 1)
             {
@@ -162,7 +160,6 @@ Rest_collision::calc_positioning_done (SCM smob)
               return SCM_BOOL_T;
             }
         }
-      while (flip (&d) != LEFT);
 
       Grob *common = common_refpoint_of_array (ordered_rests[DOWN], me, Y_AXIS);
       common = common_refpoint_of_array (ordered_rests[UP], common, Y_AXIS);
@@ -182,7 +179,7 @@ Rest_collision::calc_positioning_done (SCM smob)
                              2 * int (ceil (diff)));
         }
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           for (vsize i = ordered_rests[d].size () - 1; i-- > 0;)
             {
@@ -194,7 +191,6 @@ Rest_collision::calc_positioning_done (SCM smob)
                 Rest::translate (ordered_rests[d][i], d * (int) ceil (diff) * 2);
             }
         }
-      while (flip (&d) != LEFT);
     }
   else
     {
index 427436a12f00ba96c0c96ac438056cf36dfa1b49..951c145ec83c65cee469f4cec50c6c1adafab3a5 100644 (file)
@@ -47,7 +47,7 @@ Rhythmic_music_iterator::process (Moment m)
       descend_to_bottom_context ();
 
       Context *c = get_outlet ();
-      Stream_event *ev = get_music ()->to_event ();
+      Stream_event *ev = get_music ()->to_event (c);
       SCM arts = ev->get_property ("articulations");
 
       if (scm_is_pair (arts))
@@ -61,7 +61,8 @@ Rhythmic_music_iterator::process (Moment m)
             {
              SCM art = scm_car (arts);
 
-              if (c->event_source ()->is_listened (unsmob_stream_event (art)))
+              if (c->event_source ()->is_listened_class
+                 (unsmob_stream_event (art)->get_property ("class")))
                 listened = scm_cons (art, listened);
               else
                 unlistened = scm_cons (art, unlistened);
index d5eaa4de3fd57c578d9c88aa1dbc176d9875df14..f7b38397c5d632de983f5051ac2697aab550fd1f 100644 (file)
@@ -37,14 +37,12 @@ Rod::columnize ()
       || !item_drul_[RIGHT])
     return;
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Paper_column *pc = item_drul_[d]->get_column ();
       distance_ += -d * item_drul_[d]->relative_coordinate (pc, X_AXIS);
       item_drul_[d] = pc;
     }
-  while ((flip (&d)) != LEFT);
 }
 
 void
index d2655dc773f08f17b76b4d995a25afac41d2d66c..0a014a38008bb3e57aafb92a3671aa90b0c8ac95 100644 (file)
@@ -132,8 +132,7 @@ Script_column::order_grobs (vector<Grob *> grobs)
       scripts_drul[d] = scm_cons (g->self_scm (), scripts_drul[d]);
     }
 
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     {
       SCM ss = scm_reverse_x (scripts_drul[d], SCM_EOL);
       ss = scm_stable_sort_x (ss, ly_grob_script_priority_less_proc);
@@ -172,7 +171,6 @@ Script_column::order_grobs (vector<Grob *> grobs)
             }
         }
     }
-  while (flip (&d) != DOWN);
 }
 
 ADD_INTERFACE (Script_column,
index 32597210e1d1057e3bc7c675e2019bda646c171a..d6d231de305e2b90c6aabdb80ea581c6dfb35064 100644 (file)
@@ -93,10 +93,8 @@ fit_factor (Offset dz_unit, Offset dz_perp, Real close_to_edge_length,
                 d * dot_product (z, dz_perp));
 
       bool close_to_edge = false;
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         close_to_edge = close_to_edge || -d * (p[X_AXIS] - curve_xext[d]) < close_to_edge_length;
-      while (flip (&d) != LEFT);
 
       if (close_to_edge)
         continue;
@@ -333,11 +331,11 @@ Slur_configuration::score_extra_encompass (Slur_score_state const &state)
         to prevent numerical inaccuracies in
         Bezier::get_other_coordinate ().
       */
-      Direction d = LEFT;
+
       bool found = false;
       Real y = 0.0;
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           /*
             We need to check for the bound explicitly, since the
@@ -358,7 +356,6 @@ Slur_configuration::score_extra_encompass (Slur_score_state const &state)
             }
 
         }
-      while (flip (&d) != LEFT);
 
       if (!found)
         {
@@ -396,11 +393,11 @@ Slur_configuration::score_extra_encompass (Slur_score_state const &state)
 void
 Slur_configuration::score_edges (Slur_score_state const &state)
 {
-  Direction d = LEFT;
+
   Offset dz = attachment_[RIGHT]
               - attachment_[LEFT];
   Real slope = dz[Y_AXIS] / dz[X_AXIS];
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Real y = attachment_[d][Y_AXIS];
       Real dy = fabs (y - state.base_attachments_[d][Y_AXIS]);
@@ -419,7 +416,6 @@ Slur_configuration::score_edges (Slur_score_state const &state)
       string dir_str = d == LEFT ? "L" : "R";
       add_score (demerit, dir_str + " edge");
     }
-  while (flip (&d) != LEFT);
 }
 
 void
index 543137dc486b368edea25cb69ac2eaf536512df8..eaadde5c587031a50ae5ad35be5e55ed59d22f84 100644 (file)
@@ -156,10 +156,9 @@ Slur_score_state::get_bound_info () const
 {
   Drul_array<Bound_info> extremes;
 
-  Direction d = LEFT;
   Direction dir = dir_;
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       extremes[d].bound_ = slur_->get_bound (d);
       if (Note_column::has_interface (extremes[d].bound_))
@@ -203,7 +202,6 @@ Slur_score_state::get_bound_info () const
 
         }
     }
-  while (flip (&d) != LEFT);
 
   return extremes;
 }
@@ -240,8 +238,7 @@ Slur_score_state::fill (Grob *me)
       common_[a] = common_refpoint_of_array (columns, me, a);
       common_[a] = common_refpoint_of_array (extra_objects, common_[a], a);
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           /*
             If bound is not in note-columns, we don't want to know about
@@ -250,7 +247,6 @@ Slur_score_state::fill (Grob *me)
           if (a != Y_AXIS)
             common_[a] = common_[a]->common_refpoint (sp->get_bound (d), a);
         }
-      while (flip (&d) != LEFT);
     }
 
   extremes_ = get_bound_info ();
@@ -287,8 +283,7 @@ Slur_score_state::fill (Grob *me)
               && !Clef::has_interface (extra_encompass_infos_[i].grob_)
               && !Time_signature::has_interface (extra_encompass_infos_[i].grob_)))
         {
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             additional_ys[d] = minmax (dir_,
                                        additional_ys[d],
                                        (dir_
@@ -298,14 +293,11 @@ Slur_score_state::fill (Grob *me)
                                                          base_attachments_[RIGHT][X_AXIS],
                                                          base_attachments_[LEFT][X_AXIS])
                                               + (dir_ == LEFT ? 0 : -1)))));
-          while (flip (&d) != LEFT);
         }
     }
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     end_ys[d] += additional_ys[d];
-  while (flip (&d) != LEFT);
 
   configurations_ = enumerate_attachments (end_ys);
   for (vsize i = 0; i < columns_.size (); i++)
@@ -314,14 +306,13 @@ Slur_score_state::fill (Grob *me)
   valid_ = true;
 
   musical_dy_ = 0.0;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!is_broken_
           && extremes_[d].slur_head_)
         musical_dy_ += d
                        * extremes_[d].slur_head_->relative_coordinate (common_[Y_AXIS], Y_AXIS);
     }
-  while (flip (&d) != LEFT);
 
   edge_has_beams_
     = (extremes_[LEFT].stem_ && Stem::get_beam (extremes_[LEFT].stem_))
@@ -457,8 +448,7 @@ Drul_array<Real>
 Slur_score_state::get_y_attachment_range () const
 {
   Drul_array<Real> end_ys;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (extremes_[d].note_column_)
         {
@@ -471,7 +461,6 @@ Slur_score_state::get_y_attachment_range () const
       else
         end_ys[d] = base_attachments_[d][Y_AXIS] + parameters_.region_size_ * dir_;
     }
-  while (flip (&d) != LEFT);
 
   return end_ys;
 }
@@ -480,13 +469,11 @@ bool
 spanner_less (Spanner *s1, Spanner *s2)
 {
   Slice b1, b2;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       b1[d] = s1->get_bound (d)->get_column ()->get_rank ();
       b2[d] = s2->get_bound (d)->get_column ()->get_rank ();
     }
-  while (flip (&d) != LEFT);
 
   return b2[LEFT] <= b1[LEFT] && b2[RIGHT] >= b1[RIGHT]
          && (b2[LEFT] != b1[LEFT] || b2[RIGHT] != b1[RIGHT]);
@@ -496,8 +483,7 @@ Drul_array<Offset>
 Slur_score_state::get_base_attachments () const
 {
   Drul_array<Offset> base_attachment;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *stem = extremes_[d].stem_;
       Grob *head = extremes_[d].slur_head_;
@@ -532,9 +518,8 @@ Slur_score_state::get_base_attachments () const
         }
       base_attachment[d] = Offset (x, y);
     }
-  while (flip (&d) != LEFT);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!extremes_[d].note_column_)
         {
@@ -570,9 +555,8 @@ Slur_score_state::get_base_attachments () const
           base_attachment[d] = Offset (x, y);
         }
     }
-  while (flip (&d) != LEFT);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       for (int a = X_AXIS; a < NO_AXES; a++)
         {
@@ -585,7 +569,6 @@ Slur_score_state::get_base_attachments () const
             }
         }
     }
-  while (flip (&d) != LEFT);
 
   return base_attachment;
 }
@@ -687,9 +670,9 @@ Slur_score_state::enumerate_attachments (Drul_array<Real> end_ys) const
       os[RIGHT] = base_attachments_[RIGHT];
       for (int j = 0; dir_ * os[RIGHT][Y_AXIS] <= dir_ * end_ys[RIGHT]; j++)
         {
-          Direction d = LEFT;
+
           Drul_array<bool> attach_to_stem (false, false);
-          do
+          for (LEFT_and_RIGHT (d))
             {
               os[d][X_AXIS] = base_attachments_[d][X_AXIS];
               if (extremes_[d].stem_
@@ -711,14 +694,13 @@ Slur_score_state::enumerate_attachments (Drul_array<Real> end_ys) const
                     os[d][X_AXIS] = extremes_[d].stem_extent_[X_AXIS].center ();
                 }
             }
-          while (flip (&d) != LEFT);
 
           Offset dz;
           dz = os[RIGHT] - os[LEFT];
           if (dz[X_AXIS] < minimum_length
               || fabs (dz[Y_AXIS] / dz[X_AXIS]) > parameters_.max_slope_)
             {
-              do
+              for (LEFT_and_RIGHT (d))
                 {
                   if (extremes_[d].slur_head_
                       && !extremes_[d].slur_head_x_extent_.is_empty ())
@@ -727,11 +709,10 @@ Slur_score_state::enumerate_attachments (Drul_array<Real> end_ys) const
                       attach_to_stem[d] = false;
                     }
                 }
-              while (flip (&d) != LEFT);
             }
 
           dz = os[RIGHT] - os[LEFT];
-          do
+          for (LEFT_and_RIGHT (d))
             {
               if (extremes_[d].slur_head_
                   && !attach_to_stem[d])
@@ -745,7 +726,6 @@ Slur_score_state::enumerate_attachments (Drul_array<Real> end_ys) const
                      * sin (dz.arg ()) / 3;
                 }
             }
-          while (flip (&d) != LEFT);
 
           scores.push_back (Slur_configuration::new_config (os, scores.size ()));
 
index d82633da18b86b6838380e619bfffa9321ee503f..a41aada7a7e5c31ef9e0aaadefe74a79d9486ad3 100644 (file)
@@ -101,10 +101,8 @@ Slur::pure_height (SCM smob, SCM start_scm, SCM end_scm)
       Interval d = encompasses[i]->pure_height (parent, start, end);
       if (!d.is_empty ())
         {
-          Direction downup = DOWN;
-          do
+          for (DOWN_and_UP (downup))
             ret.add_point (d[dir]);
-          while (flip (&downup) != DOWN);
 
           if (extremal_heights[LEFT] == infinity_f)
             extremal_heights[LEFT] = d[dir];
@@ -117,10 +115,8 @@ Slur::pure_height (SCM smob, SCM start_scm, SCM end_scm)
 
   Interval extremal_span;
   extremal_span.set_empty ();
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     extremal_span.add_point (extremal_heights[d]);
-  while (flip (&d) != LEFT);
   ret[-dir] = minmax (dir, extremal_span[-dir], ret[-dir]);
 
   /*
@@ -314,10 +310,8 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm)
     return offset_scm;
 
   bool contains = false;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     contains |= slur_wid.contains (xext[d]);
-  while (flip (&d) != LEFT);
 
   if (!contains)
     return offset_scm;
@@ -335,8 +329,7 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm)
   Real EPS = 1.0e-5;
   if (avoid == ly_symbol2scm ("outside"))
     {
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Real x = minmax (-d, xext[d], curve.control_[d == LEFT ? 0 : 3][X_AXIS] + -d * EPS);
           Real y = curve.get_other_coordinate (X_AXIS, x);
@@ -344,14 +337,12 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm)
           if (do_shift)
             break;
         }
-      while (flip (&d) != LEFT);
     }
   else
     {
       for (int a = X_AXIS; a < NO_AXES; a++)
         {
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             {
               vector<Real> coords = curve.get_other_coordinates (Axis (a), exts[a][d]);
               for (vsize i = 0; i < coords.size (); i++)
@@ -363,7 +354,6 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm)
               if (do_shift)
                 break;
             }
-          while (flip (&d) != LEFT);
           if (do_shift)
             break;
         }
index 4fe7885259a336b259e18061252a7cc83b9d7007..785f01039caed06049c4bede4fc60f36555bbc80 100644 (file)
@@ -134,10 +134,9 @@ Spacing_spanner::set_distances_for_loose_col (Grob *me, Grob *c,
                                               Drul_array<Item *> next_door,
                                               Spacing_options const *options)
 {
-  Direction d = LEFT;
   Drul_array<Real> dists (0, 0);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Item *lc = dynamic_cast<Item *> ((d == LEFT) ? next_door[LEFT] : c);
       Item *rc = dynamic_cast<Item *> (d == LEFT ? c : next_door[RIGHT]);
@@ -171,7 +170,6 @@ Spacing_spanner::set_distances_for_loose_col (Grob *me, Grob *c,
             programming_error ("Subversive spacing wish");
         }
     }
-  while (flip (&d) != LEFT);
 
   Rod r;
   r.distance_ = dists[LEFT] + dists[RIGHT];
index 82eb11ef5f1d3816d2e59274c77b531d48236f81..27c99bb15933b06d8279cdf434e937ac6c30ad4b 100644 (file)
@@ -55,8 +55,7 @@ Spacing_interface::skylines (Grob *me, Grob *right_col)
 
   Drul_array<Grob *> columns (left_col, right_col);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       for (vsize i = 0; i < items[d].size (); i++)
         {
@@ -88,7 +87,6 @@ Spacing_interface::skylines (Grob *me, Grob *right_col)
             }
         }
     }
-  while (flip (&d) != LEFT);
 
   return skylines;
 }
index 1af0ba372075b8746c3eb7c438d03b61129fc088..657ff0cd6a9d2b6541b87bfdd8f6a789dbdcf13b 100644 (file)
@@ -261,8 +261,7 @@ set_column_rods (vector<Grob *> const &cols, Real padding)
           Real left_stickout = skys ? (*skys)[RIGHT].max_height () : 0.0;
           bool done = true;
 
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             {
               if (j < i - 1)
                 cur_dist[d] += distances[j];
@@ -287,8 +286,10 @@ set_column_rods (vector<Grob *> const &cols, Real padding)
 
               cur_dist[d] = max (cur_dist[d], dist);
               done = done && !touches;
+
+              if (!rb)
+                break;
             }
-          while (flip (&d) != LEFT && rb);
 
           /* we need the empty check for gregorian notation, where there are a lot of
              extraneous paper-columns that we need to skip over */
index 92cb9cdf14b102875d0977938f862197ef828a58..9a8ff83a3ffca20c2579e67ec9770b716c5779bc 100644 (file)
@@ -50,8 +50,7 @@ Spanner::do_break_processing ()
       /*
         If we have a spanner spanning one column, we must break it
         anyway because it might provide a parent for another item.  */
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Item *bound = left->find_prebroken_piece (d);
           if (!bound)
@@ -67,7 +66,6 @@ Spanner::do_break_processing ()
               broken_intos_.push_back (span);
             }
         }
-      while ((flip (&d)) != LEFT);
     }
   else
     {
@@ -95,13 +93,11 @@ Spanner::do_break_processing ()
           Drul_array<Item *> bounds;
           bounds[LEFT] = break_points[i - 1];
           bounds[RIGHT] = break_points[i];
-          Direction d = LEFT;
-          do
+          for (LEFT_and_RIGHT (d))
             {
               if (!bounds[d]->get_system ())
                 bounds[d] = bounds[d]->find_prebroken_piece (- d);
             }
-          while ((flip (&d)) != LEFT);
 
           if (!bounds[LEFT] || ! bounds[RIGHT])
             {
@@ -151,13 +147,11 @@ Spanner::get_break_index () const
 void
 Spanner::set_my_columns ()
 {
-  Direction i = (Direction) LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
-      if (!spanned_drul_[i]->get_system ())
-        set_bound (i, spanned_drul_[i]->find_prebroken_piece ((Direction) - i));
+      if (!spanned_drul_[d]->get_system ())
+        set_bound (d, spanned_drul_[d]->find_prebroken_piece ((Direction) - d));
     }
-  while (flip (&i) != LEFT);
 }
 
 Interval_t<int>
@@ -256,19 +250,15 @@ Spanner::spanner_length () const
       Drul_array<SCM> bounds (get_property ("left-bound-info"),
                               get_property ("right-bound-info"));
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         lr[d] = robust_scm2double (ly_assoc_get (ly_symbol2scm ("X"),
                                                  bounds[d], SCM_BOOL_F), -d);
-      while (flip (&d) != LEFT);
     }
 
   if (lr.is_empty ())
     {
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         lr[d] = spanned_drul_[d]->relative_coordinate (0, X_AXIS);
-      while (flip (&d) != LEFT);
     }
 
   if (lr.is_empty ())
@@ -360,11 +350,9 @@ Spanner::derived_mark () const
 {
   scm_gc_mark (pure_property_cache_);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     if (spanned_drul_[d])
       scm_gc_mark (spanned_drul_[d]->self_scm ());
-  while (flip (&d) != LEFT)
     ;
 
   for (vsize i = broken_intos_.size (); i--;)
index 98627e5783f812ca3c396c6d1feacb636b60a3c7..3b0eef00b5f278e1c52000b3adc2a730d9a24007 100644 (file)
@@ -50,8 +50,7 @@ Staff_symbol::print (SCM smob)
   Real t = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
   t *= robust_scm2double (me->get_property ("thickness"), 1.0);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       SCM width_scm = me->get_property ("width");
       if (d == RIGHT && scm_is_number (width_scm))
@@ -75,7 +74,6 @@ Staff_symbol::print (SCM smob)
 
       span_points[d] -= d * t / 2;
     }
-  while (flip (&d) != LEFT);
 
   Stencil m;
 
index 47e679712519e198cbc295763c3009cd17706d88..4b5a68510b2752cc43fe4a160e40add3d4673c0b 100644 (file)
@@ -225,8 +225,7 @@ Stem::extremal_heads (Grob *me)
       Grob *n = heads[i];
       int p = Staff_symbol_referencer::get_rounded_position (n);
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (d * p > d * extpos[d])
             {
@@ -234,7 +233,6 @@ Stem::extremal_heads (Grob *me)
               extpos[d] = p;
             }
         }
-      while (flip (&d) != DOWN);
     }
   return exthead;
 }
@@ -319,10 +317,8 @@ Stem::internal_pure_height (Grob *me, bool calc_beam)
     {
       Interval overshoot;
       Direction dir = get_grob_direction (me);
-      Direction d = DOWN;
-      do
+      for (DOWN_and_UP (d))
         overshoot[d] = d == dir ? dir * infinity_f : iv[d];
-      while (flip (&d) != DOWN);
 
       vector<Interval> heights;
       vector<Grob *> my_stems;
@@ -370,10 +366,8 @@ Stem::cache_pure_height (Grob *me, Interval iv, Interval my_iv)
 {
   Interval overshoot;
   Direction dir = get_grob_direction (me);
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     overshoot[d] = d == dir ? dir * infinity_f : my_iv[d];
-  while (flip (&d) != DOWN);
 
   iv.intersect (overshoot);
   dynamic_cast<Item *> (me)->cache_pure_height (iv);
index ef801efc621d7c3b9befefcceade4795e23a5bcd..5ce03ec08d0d21883b0e3249eea1685326fdcbc9 100644 (file)
@@ -69,7 +69,6 @@ bool
 Stream_event::internal_in_event_class (SCM class_name)
 {
   SCM cl = get_property ("class");
-  cl = scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), cl);
   return scm_c_memq (class_name, cl) != SCM_BOOL_F;
 }
 
index 7208a2622bcfc5dccdad051d6bee0866ecab0c86..d4b523c06c63b82094346bc1d13d08af83ae4a4a 100644 (file)
@@ -47,10 +47,8 @@ System_start_delimiter::staff_bracket (Grob *me, Real height)
            * (height / 2 + overlap));
 
   Stencil bracket = Lookup::filled_box (box);
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     bracket.add_at_edge (Y_AXIS, d, tips[d], -overlap);
-  while (flip (&d) != DOWN);
   bracket = Stencil (box, bracket.expr ());
 
   bracket.translate_axis (-0.8, X_AXIS);
index f58f1158d483ef54288b07aff00d81d64d66ce64..fdcc2b133d1b056f78482087218aac7abbc559ff 100644 (file)
@@ -874,14 +874,12 @@ System::calc_pure_relevant_grobs (SCM smob)
 
           if (Item *it = dynamic_cast<Item *> (elts[i]))
             {
-              Direction d = LEFT;
-              do
+              for (LEFT_and_RIGHT (d))
                 {
                   Item *piece = it->find_prebroken_piece (d);
                   if (piece && to_boolean (scm_apply_1 (pure_relevant_p, piece->self_scm (), SCM_EOL)))
                     relevant_grobs.push_back (piece);
                 }
-              while (flip (&d) != LEFT);
             }
         }
     }
index 62edbf68901e23fb69163f22827f5bfa1e67f800..bc14eb9bdf7ea04ffd8b38832bf5e02076bedb7c 100644 (file)
@@ -67,14 +67,12 @@ Tie_column::before_line_breaking (SCM smob)
   for (SCM s = me->get_property ("ties"); scm_is_pair (s); s = scm_cdr (s))
     {
       Spanner *tie = dynamic_cast<Spanner *> (unsmob_grob (scm_car (s)));
-      Direction dir = LEFT;
-      do
+      for (LEFT_and_RIGHT (dir))
         {
           if (dir * tie->get_bound (dir)->get_column ()->get_rank ()
               > dir * me->get_bound (dir)->get_column ()->get_rank ())
             me->set_bound (dir, Tie::head (tie, dir));
         }
-      while (flip (&dir) != LEFT);
     }
 
   return SCM_UNSPECIFIED;
index 6734003dc142bc4b722f5c996274b6975569ff38..40da0d3e8410663881acd57eb0d191a87626ee35 100644 (file)
@@ -347,16 +347,14 @@ Tie_engraver::typeset_tie (Grob *her)
   if (! (Tie::head (her, LEFT) && Tie::head (her, RIGHT)))
     warning (_ ("lonely tie"));
 
-  Direction d = LEFT;
   Drul_array<Grob *> new_head_drul;
   new_head_drul[LEFT] = Tie::head (her, LEFT);
   new_head_drul[RIGHT] = Tie::head (her, RIGHT);
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!Tie::head (her, d))
         new_head_drul[d] = Tie::head (her, (Direction) - d);
     }
-  while (flip (&d) != LEFT);
 
   Spanner *sp = dynamic_cast<Spanner *> (her);
   sp->set_bound (LEFT, new_head_drul[LEFT]);
index c4e8a22eb9fc30854393ff1c7c20462dc0d36a43..d93df73abf2ef3db0d49169833cba4b7a2b7dd76 100644 (file)
@@ -56,8 +56,8 @@ Interval
 Tie_formatting_problem::get_attachment (Real y, Drul_array<int> columns) const
 {
   Interval attachments (0, 0);
-  Direction d = LEFT;
-  do
+
+  for (LEFT_and_RIGHT (d))
     {
       Tuple2<int> key (columns[d], int (d));
       Chord_outline_map::const_iterator i (chord_outlines_.find (key));
@@ -66,7 +66,6 @@ Tie_formatting_problem::get_attachment (Real y, Drul_array<int> columns) const
       else
         attachments[d] = i->second.height (y);
     }
-  while (flip (&d) != LEFT);
 
   return attachments;
 }
@@ -227,8 +226,7 @@ Tie_formatting_problem::set_column_chord_outline (vector<Item *> bounds,
 
     }
 
-  Direction updowndir = DOWN;
-  do
+  for (DOWN_and_UP (updowndir))
     {
       Interval x;
       Interval y;
@@ -244,7 +242,6 @@ Tie_formatting_problem::set_column_chord_outline (vector<Item *> bounds,
       if (!x.is_empty ())
         boxes.push_back (Box (x, y));
     }
-  while (flip (&updowndir) != DOWN);
 
   /* todo: the horizon_padding is somewhat arbitrary */
   chord_outlines_[key] = Skyline (boxes, details_.skyline_padding_, Y_AXIS, -dir);
@@ -340,8 +337,7 @@ Tie_formatting_problem::from_ties (vector<Grob *> const &ties)
 
   details_.from_grob (ties[0]);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       vector<Item *> bounds;
 
@@ -356,19 +352,17 @@ Tie_formatting_problem::from_ties (vector<Grob *> const &ties)
 
       set_chord_outline (bounds, d);
     }
-  while (flip (&d) != LEFT);
 
   for (vsize i = 0; i < ties.size (); i++)
     {
       Tie_specification spec;
       spec.from_grob (ties[i]);
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           spec.note_head_drul_[d] = Tie::head (ties[i], d);
           spec.column_ranks_[d] = Tie::get_column_rank (ties[i], d);
         }
-      while (flip (&d) != LEFT);
       specifications_.push_back (spec);
     }
 }
@@ -565,8 +559,7 @@ Tie_formatting_problem::generate_configuration (int pos, Direction dir,
         It would be better to check D against HEAD-DIRECTION if
         applicable.
       */
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Real y = conf->position_ * details_.staff_space_ * 0.5 + conf->delta_y_;
           if (get_stem_extent (conf->column_ranks_[d], d, X_AXIS).is_empty ()
@@ -577,7 +570,6 @@ Tie_formatting_problem::generate_configuration (int pos, Direction dir,
             = d * min (d * conf->attachment_x_[d],
                        d * (get_stem_extent (conf->column_ranks_[d], d, X_AXIS)[-d] - d * details_.stem_gap_));
         }
-      while (flip (&d) != LEFT);
     }
   return conf;
 }
@@ -631,8 +623,7 @@ Tie_formatting_problem::score_aptitude (Tie_configuration *conf,
       penalty += p;
   }
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!spec.note_head_drul_[d])
         continue;
@@ -652,14 +643,12 @@ Tie_formatting_problem::score_aptitude (Tie_configuration *conf,
         penalty += p;
 
     }
-  while (flip (&d) != LEFT);
 
   if (ties_conf
       && ties_conf->size () == 1)
     {
-      Direction d = LEFT;
       Drul_array<Grob *> stems (0, 0);
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (!spec.note_head_drul_[d])
             continue;
@@ -669,7 +658,6 @@ Tie_formatting_problem::score_aptitude (Tie_configuration *conf,
               && Stem::is_normal_stem (stem))
             stems[d] = stem;
         }
-      while (flip (&d) != LEFT);
 
       bool tie_stem_dir_ok = true;
       bool tie_position_dir_ok = true;
@@ -1038,11 +1026,10 @@ vector<Tie_configuration_variation>
 Tie_formatting_problem::generate_extremal_tie_variations (Ties_configuration const &ties) const
 {
   vector<Tie_configuration_variation> vars;
-  Direction d = DOWN;
   for (int i = 1; i <= details_.multi_tie_region_size_; i++)
     {
       Drul_array<Tie_configuration *> configs (0, 0);
-      do
+      for (DOWN_and_UP (d))
         {
           const Tie_configuration &config = boundary (ties, d, 0);
           if (config.dir_ == d
@@ -1057,7 +1044,6 @@ Tie_formatting_problem::generate_extremal_tie_variations (Ties_configuration con
               vars.push_back (var);
             }
         }
-      while (flip (&d) != DOWN);
       if (configs[LEFT] && configs[RIGHT])
         {
           Tie_configuration_variation var;
@@ -1080,8 +1066,7 @@ Tie_formatting_problem::generate_single_tie_variations (Ties_configuration const
     sz = 1;
   for (int i = 0; i < sz; i++)
     {
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (i == 0
               && ties[0].dir_ == d)
@@ -1100,7 +1085,6 @@ Tie_formatting_problem::generate_single_tie_variations (Ties_configuration const
               vars.push_back (var);
             }
         }
-      while (flip (&d) != LEFT);
     }
   return vars;
 }
index 84dfa29a8239f76e2e6f946e29e2b5307051efca..aaac5fbbd484433bf7498315d7fc7ec3971fbb3c 100644 (file)
@@ -92,14 +92,12 @@ Tie::get_column_rank (Grob *me, Direction d)
 int
 Tie::get_position (Grob *me)
 {
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *h = head (me, d);
       if (h)
         return (int) rint (Staff_symbol_referencer::get_position (h));
     }
-  while (flip (&d) != LEFT);
 
   /*
     TODO: this is theoretically possible for ties across more than 2
@@ -125,8 +123,7 @@ Direction
 Tie::get_default_dir (Grob *me)
 {
   Drul_array<Grob *> stems;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *one_head = head (me, d);
       if (!one_head && dynamic_cast<Spanner *> (me))
@@ -138,7 +135,6 @@ Tie::get_default_dir (Grob *me)
 
       stems[d] = stem;
     }
-  while (flip (&d) != LEFT);
 
   if (stems[LEFT] && stems[RIGHT])
     {
index a35a1a1d24ad7ecb1137997fc2e625c8f5d691a8..154ffa4b08cbd20321f906f2f3820a8e18368a24 100644 (file)
@@ -133,38 +133,6 @@ Translator::disconnect_from_context (Context *c)
                                          r->event_class_);
 }
 
-static SCM listened_event_class_table;
-void
-ensure_listened_hash ()
-{
-  if (!listened_event_class_table)
-    listened_event_class_table = scm_permanent_object (scm_c_make_hash_table (61));
-}
-
-LY_DEFINE (ly_get_listened_event_classes, "ly:get-listened-event-classes",
-           0, 0, 0, (),
-           "Return a list of all event classes that some translator listens"
-           " to.")
-{
-  ensure_listened_hash ();
-  return ly_hash_table_keys (listened_event_class_table);
-}
-
-LY_DEFINE (ly_is_listened_event_class, "ly:is-listened-event-class",
-           1, 0, 0, (SCM sym),
-           "Is @var{sym} a listened event class?")
-{
-  ensure_listened_hash ();
-  return scm_hashq_ref (listened_event_class_table, sym, SCM_BOOL_F);
-}
-
-void
-add_listened_event_class (SCM sym)
-{
-  ensure_listened_hash ();
-  scm_hashq_set_x (listened_event_class_table, sym, SCM_BOOL_T);
-}
-
 /*
   internally called once, statically, for each translator
   listener. Connects the name of an event class with a procedure that
@@ -184,9 +152,11 @@ Translator::add_translator_listener (translator_listener_record **listener_list,
   name = replace_all (&name, '_', '-');
   name += "-event";
 
-  SCM class_sym = scm_from_locale_symbol (name.c_str ());
+  // we make the symbol permanent in order not to have to bother about
+  // the static translator_listener_record chains while garbage
+  // collecting.
 
-  add_listened_event_class (class_sym);
+  SCM class_sym = scm_permanent_object (scm_from_locale_symbol (name.c_str ()));
 
   r->event_class_ = class_sym;
   r->get_listener_ = get_listener;
index ba0ef6e236b3df365c876ae25d8b1528699bc0ac..37099683bf859b33cf91cbcf5fea282f60c74087 100644 (file)
@@ -106,10 +106,8 @@ Tuplet_bracket::parallel_beam (Grob *me_grob, vector<Grob *> const &cols,
     return 0;
 
   Drul_array<Grob *> beams;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     beams[d] = stems[d] ? Stem::get_beam (stems[d]) : 0;
-  while (flip (&d) != LEFT);
 
   *equally_long = false;
   if (! (beams[LEFT] && (beams[LEFT] == beams[RIGHT]) && !me->is_broken ()))
@@ -140,8 +138,7 @@ Tuplet_bracket::calc_connect_to_neighbors (SCM smob)
                              get_x_bound_item (me, RIGHT, dir));
 
   Drul_array<bool> connect_to_other (false, false);
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Direction break_dir = bounds[d]->break_status_dir ();
       Spanner *orig_spanner = dynamic_cast<Spanner *> (me->original ());
@@ -161,7 +158,6 @@ Tuplet_bracket::calc_connect_to_neighbors (SCM smob)
            && neighbor_idx < orig_spanner->broken_intos_.size ()
            && orig_spanner->broken_intos_[neighbor_idx]->is_live ());
     }
-  while (flip (&d) != LEFT);
 
   if (connect_to_other[LEFT] || connect_to_other[RIGHT])
     return scm_cons (scm_from_bool (connect_to_other[LEFT]),
@@ -201,8 +197,7 @@ Tuplet_bracket::calc_x_positions (SCM smob)
                            Drul_array<bool> (false, false));
 
   Interval x_span;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       x_span[d] = bounds[d]->break_status_dir ()
                   ? Axis_group_interface::generic_bound_extent (bounds[d], commonx, X_AXIS)[d]
@@ -245,7 +240,6 @@ Tuplet_bracket::calc_x_positions (SCM smob)
           x_span[d] = coord - padding;
         }
     }
-  while (flip (&d) != LEFT);
 
   return ly_interval2scm (x_span - me->get_bound (LEFT)->relative_coordinate (commonx, X_AXIS));
 }
@@ -303,10 +297,8 @@ Tuplet_bracket::print (SCM smob)
   Interval positions = robust_scm2interval (scm_positions, Interval (0.0, 0.0));
 
   Drul_array<Offset> points;
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     points[d] = Offset (x_span[d], positions[d]);
-  while (flip (&d) != LEFT);
 
   Output_def *pap = me->layout ();
 
@@ -351,8 +343,7 @@ Tuplet_bracket::print (SCM smob)
         = robust_scm2booldrul (me->get_property ("connect-to-neighbor"),
                                Drul_array<bool> (false, false));
 
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (connect_to_other[d])
             {
@@ -380,7 +371,6 @@ Tuplet_bracket::print (SCM smob)
                 }
             }
         }
-      while (flip (&d) != LEFT);
 
       Stencil brack = make_bracket (me, Y_AXIS,
                                     points[RIGHT] - points[LEFT],
@@ -392,12 +382,11 @@ Tuplet_bracket::print (SCM smob)
                                     Interval (-0.5, 0.5) * gap + 0.1,
                                     flare, shorten);
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           if (!edge_stencils[d].is_empty ())
             brack.add_stencil (edge_stencils[d]);
         }
-      while (flip (&d) != LEFT);
 
       mol.add_stencil (brack);
     }
@@ -430,29 +419,25 @@ Tuplet_bracket::make_bracket (Grob *me, // for line properties.
 
   Drul_array<Offset> straight_corners = corners;
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     straight_corners[d] += -d * shorten[d] / length * dz;
-  while (flip (&d) != LEFT);
 
   if (!gap.is_empty ())
     {
-      do
+      for (LEFT_and_RIGHT (d))
         gap_corners[d] = (dz * 0.5) + gap[d] / length * dz;
-      while (flip (&d) != LEFT);
     }
 
   Drul_array<Offset> flare_corners = straight_corners;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       flare_corners[d][bracket_axis] = straight_corners[d][bracket_axis];
       flare_corners[d][protrusion_axis] += height[d];
       straight_corners[d][bracket_axis] += -d * flare[d];
     }
-  while (flip (&d) != LEFT);
 
   Stencil m;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!gap.is_empty ())
         m.add_stencil (Line_interface::line (me, straight_corners[d],
@@ -462,8 +447,6 @@ Tuplet_bracket::make_bracket (Grob *me, // for line properties.
                                            flare_corners[d]));
     }
 
-  while (flip (&d) != LEFT);
-
   if (gap.is_empty ())
     m.add_stencil (Line_interface::line (me, straight_corners[LEFT],
                                          straight_corners[RIGHT]));
@@ -551,8 +534,7 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy)
                                 Note_column::get_stem (columns.back ()));
 
       Interval poss;
-      Direction side = LEFT;
-      do
+      for (LEFT_and_RIGHT (side))
         {
           // Trigger setting of stem lengths if necessary.
           if (Grob *beam = Stem::get_beam (stems[side]))
@@ -560,7 +542,6 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy)
           poss[side] = stems[side]->extent (stems[side], Y_AXIS)[get_grob_direction (stems[side])]
                        + stems[side]->get_parent (Y_AXIS)->relative_coordinate (commony, Y_AXIS);
         }
-      while (flip (&side) != LEFT);
 
       *dy = poss[RIGHT] - poss[LEFT];
       points.push_back (Offset (stems[LEFT]->relative_coordinate (commonx, X_AXIS) - x0, poss[LEFT]));
@@ -630,14 +611,13 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy)
       if (!tuplets[i]->is_live ())
         continue;
 
-      Direction d = LEFT;
       Drul_array<Real> positions
         = robust_scm2interval (tuplets[i]->get_property ("positions"),
                                Interval (0, 0));
 
       Real other_dy = positions[RIGHT] - positions[LEFT];
 
-      do
+      for (LEFT_and_RIGHT (d))
         {
           Real y
             = tuplet_y.linear_combination (d * sign (other_dy));
@@ -650,7 +630,7 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy)
 
           points.push_back (Offset (tuplet_x[d] - x0, y));
         }
-      while (flip (&d) != LEFT);
+
       // Check for number-on-bracket collisions
       Grob *number = unsmob_grob (tuplets[i]->get_object ("tuplet-number"));
       if (number)
@@ -779,10 +759,8 @@ Tuplet_bracket::get_default_dir (Grob *me)
           Direction d = Note_column::dir (columns[i]);
           extremal_positions[d] = minmax (d, 1.0 * Note_column::head_positions_interval (columns[i])[d], extremal_positions[d]);
         }
-      Direction d = LEFT;
-      do
+      for (LEFT_and_RIGHT (d))
         extremal_positions[d] = -d * (staff_extent[d] - extremal_positions[d]);
-      while (flip (&d) != LEFT);
 
       return extremal_positions[UP] <= extremal_positions[DOWN] ? UP : DOWN;
     }
index dbc8dbea56b086840fd47b5ea01284d17139c174..6e8210b9c183f788e5ab0bff425d6aaaf65d415d 100644 (file)
@@ -26,6 +26,7 @@
   \defaultchild "Score"
   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
   \grobdescriptions #all-grob-descriptions
+  EventClasses = #all-event-classes
 }
 
 \context {
index 98ae0ceb8f6bfffe46783dc4b493d2ec43462d40..0ad1e2964ee9cab5e4b7b7f030b00f1fed8ffd71 100644 (file)
@@ -35,6 +35,7 @@
   \name Global
   \accepts Score
   \description "Hard coded entry point for LilyPond.  Cannot be tuned."
+  EventClasses = #all-event-classes
 }
 
 \context {
index cec33d9a42530e46a9a26f712c4cc08506924cd6..c0b352254ad0f195cb20d99465180ca5c706440a 100644 (file)
@@ -248,6 +248,7 @@ hideNotes = {
   \override Beam #'transparent = ##t
   \override Accidental #'transparent = ##t
   \override Rest #'transparent = ##t
+  \override TabNoteHead #'transparent = ##t
 }
 unHideNotes = {
   \revert Accidental #'transparent
@@ -258,6 +259,7 @@ unHideNotes = {
   \revert NoteHead #'no-ledgers
   \revert Dots #'transparent
   \revert Rest #'transparent
+  \revert TabNoteHead #'transparent
 }
 
 
index ce7627b720700937010bcf8b06ea76877b8785f7..ad11f04379fc1937646e82df063417a92fb566c7 100644 (file)
@@ -141,7 +141,7 @@ css-files = $(css-src-files:%=$(OUT)/website/css/%)
 example-src-files := $(notdir $(wildcard $(EXAMPLES)/*))
 example-files = $(example-src-files:%=$(OUT)/website/ly-examples/%)
 
-misc-src-files := $(filter-out GNUmakefile,$(notdir $(wildcard $(top-src-dir)/Documentation/misc/*)))
+misc-src-files := $(notdir $(wildcard $(top-src-dir)/Documentation/misc/*.*))
 misc-files += $(misc-src-files:%=$(OUT)/website/misc/%)
 
 picture-src-files := $(notdir $(wildcard $(PICTURES)/*))
@@ -155,6 +155,7 @@ post-files = $(OUT)/website/index.html
 root-files = $(OUT)/.htaccess \
              $(OUT)/website/.htaccess \
              $(OUT)/website/favicon.ico \
+             $(OUT)/website/tweets.xml \
              $(OUT)/website/robots.txt
 
 texinfo-files = $(OUT)/index.html $(WEB_LANGS:%=$(OUT)/%/index.html)
@@ -289,6 +290,9 @@ $(OUT)/website/favicon.ico: $(SERVER_FILES)/favicon.ico
 $(OUT)/website/robots.txt: $(SERVER_FILES)/robots.txt
        cp $< $@
 
+$(OUT)/website/tweets.xml: $(SERVER_FILES)/tweets.xml
+       cp $< $@
+
 $(OUT)/.htaccess: $(top-htaccess)
        cp $< $@
 
index 90a981abbd2d1529fdaf5054427b7830a8e9a289..c8d4a2323a27facc4d7a14034143160fd1341bac 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -1,4 +1,4 @@
-# translation of lilypond-2.15.29.po to Español
+# translation of lilypond-2.15.37.1.po to Español
 # Spanish translation of GNU Lilypond - http://lilypond.org
 # Copyright (C) 2002, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 #
@@ -6,14 +6,15 @@
 #
 # Quique <quique@sindominio.net>, 2002, 2004.
 # Daniel Tonda <daniel dot tonda (at) gmail dot com>, 2006.
-# Francisco Vila <francisco.vila@hispalinux.es>, 2007, 2008, 2009, 2010, 2011, 2012.
 # This file is distributed under the same license as the lilypond package.
+# Francisco Vila <francisco.vila@hispalinux.es>, 2007, 2008, 2009, 2010, 2011, 2012.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond-2.15.29\n"
-"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2012-02-04 15:42+0100\n"
-"PO-Revision-Date: 2012-02-09 17:29+0100\n"
+"Project-Id-Version: lilypond-2.15.37\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-04-21 20:51+0200\n"
+"PO-Revision-Date: 2012-04-29 14:00+0200\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "Language: es\n"
@@ -21,7 +22,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: fontextract.py:25
 #, python-format
@@ -1051,7 +1052,7 @@ msgstr ""
 "Convertir MusicXML desde ARCHIVO.xml a entrada de LilyPond.\n"
 "SI el nombre de archivo aportado es -, musicxml2ly lee de la línea de órdenes.\n"
 
-#: musicxml2ly.py:2570 midi2ly.py:1060 abc2ly.py:1387 lilypond-book.py:141
+#: musicxml2ly.py:2570 midi2ly.py:1062 abc2ly.py:1388 lilypond-book.py:140
 #: convert-ly.py:92 etf2ly.py:1204 main.cc:153
 msgid "show this help and exit"
 msgstr "mostrar esta ayuda y salir"
@@ -1068,12 +1069,12 @@ msgstr ""
 "    Jan Nieuwenhuizen <janneke@gnu.org> y\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 
-#: musicxml2ly.py:2588 midi2ly.py:1091 abc2ly.py:1383 lilypond-book.py:232
+#: musicxml2ly.py:2588 midi2ly.py:1095 abc2ly.py:1385 lilypond-book.py:231
 #: convert-ly.py:88 etf2ly.py:1208 main.cc:174
 msgid "show version number and exit"
 msgstr "mostrar el número de versión y salir"
 
-#: musicxml2ly.py:2594 midi2ly.py:1085 lilypond-book.py:224
+#: musicxml2ly.py:2594 midi2ly.py:1090 lilypond-book.py:223
 msgid "be verbose"
 msgstr "ser prolijo"
 
@@ -1101,11 +1102,11 @@ msgstr "IDIOMA"
 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
 msgstr "usar IDIOMA para los nombres de las notas, p.ej. 'espanol' para los nombres de las notas en español"
 
-#: musicxml2ly.py:2625 lilypond-book.py:180 convert-ly.py:105
+#: musicxml2ly.py:2625 lilypond-book.py:179 convert-ly.py:105
 msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
 msgstr "Imprimir los mensajes de registro según NIVEL_DE_REGISTRO (NONE (ninguno), ERROR (error), WARNING (advertencias), PROGRESS (avance; predeterminado), DEBUG (depuración))"
 
-#: musicxml2ly.py:2627 lilypond-book.py:164 lilypond-book.py:182
+#: musicxml2ly.py:2627 lilypond-book.py:163 lilypond-book.py:181
 #: convert-ly.py:107 main.cc:167
 msgid "LOGLEVEL"
 msgstr "NIVEL_DE_REGISTRO"
@@ -1126,7 +1127,7 @@ msgstr "no convertir la disposición y saltos de página exactos"
 msgid "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr "no convertir la información de barrado, en vez de ello utilizar el barrado automático de lilypond"
 
-#: musicxml2ly.py:2657 midi2ly.py:1065 midi2ly.py:1070 etf2ly.py:1210
+#: musicxml2ly.py:2657 midi2ly.py:1067 midi2ly.py:1072 etf2ly.py:1210
 #: main.cc:159 main.cc:171
 msgid "FILE"
 msgstr "ARCHIVO"
@@ -1143,7 +1144,7 @@ msgstr "añadir bloque midi al archivo .ly"
 #. "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"
-#: musicxml2ly.py:2672 midi2ly.py:1104 abc2ly.py:1396 lilypond-book.py:259
+#: musicxml2ly.py:2672 midi2ly.py:1107 abc2ly.py:1403 lilypond-book.py:258
 #: convert-ly.py:146 etf2ly.py:1218 main.cc:285
 #, c-format, python-format
 msgid "Report bugs via %s"
@@ -1184,16 +1185,16 @@ msgstr "La salida se dirige hacia `%s'"
 msgid "Unable to find input file %s"
 msgstr "No se encuentra el archivo de entrada %s"
 
-#: midi2ly.py:81 lilypond-book.py:116 convert-ly.py:75 etf2ly.py:1191
+#: midi2ly.py:81 lilypond-book.py:115 convert-ly.py:75 etf2ly.py:1191
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr "Copyright (c) %s por"
 
-#: midi2ly.py:83 lilypond-book.py:118 convert-ly.py:77 etf2ly.py:1193
+#: midi2ly.py:83 lilypond-book.py:117 convert-ly.py:77 etf2ly.py:1193
 msgid "Distributed under terms of the GNU General Public License."
 msgstr "Distribuido bajo los términos de la Licencia Pública General de GNU."
 
-#: midi2ly.py:84 lilypond-book.py:119 convert-ly.py:78 etf2ly.py:1194
+#: midi2ly.py:84 lilypond-book.py:118 convert-ly.py:78 etf2ly.py:1194
 msgid "It comes with NO WARRANTY."
 msgstr "Se distribuye SIN NINGUNA GARANTÍA."
 
@@ -1201,7 +1202,7 @@ msgstr "Se distribuye SIN NINGUNA GARANTÍA."
 msgid "warning: "
 msgstr "advertencia: "
 
-#: midi2ly.py:93 midi2ly.py:1121
+#: midi2ly.py:93 midi2ly.py:1124
 msgid "error: "
 msgstr "error: "
 
@@ -1209,99 +1210,103 @@ msgstr "error: "
 msgid "Exiting... "
 msgstr "Saliendo... "
 
-#: midi2ly.py:834
+#: midi2ly.py:835
 msgid "found more than 5 voices on a staff, expect bad output"
 msgstr "se han encontrado más de 5 voces en una sola pauta, es de esperar un resultado defectuoso"
 
-#: midi2ly.py:1030
+#: midi2ly.py:1032
 #, python-format
 msgid "%s output to `%s'..."
 msgstr "salida de %s hacia «%s»..."
 
-#: midi2ly.py:1042 abc2ly.py:1374 lilypond-book.py:123 convert-ly.py:81
+#: midi2ly.py:1044 abc2ly.py:1376 lilypond-book.py:122 convert-ly.py:81
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr "%s [OPCIÓN]... ARCHIVO"
 
-#: midi2ly.py:1043
+#: midi2ly.py:1045
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
 msgstr "Convertir %s a entrada de LilyPond.\n"
 
-#: midi2ly.py:1048
+#: midi2ly.py:1050
 msgid "print absolute pitches"
 msgstr "mostrar las alturas absolutas"
 
-#: midi2ly.py:1050 midi2ly.py:1075
+#: midi2ly.py:1052 midi2ly.py:1080
 msgid "DUR"
 msgstr "DURACIÓN"
 
-#: midi2ly.py:1051
+#: midi2ly.py:1053
 msgid "quantise note durations on DUR"
 msgstr "cuantizar las duraciones de las notas sobre DURACIÓN"
 
-#: midi2ly.py:1054
+#: midi2ly.py:1056
 msgid "debug printing"
 msgstr "impresión de depuración"
 
-#: midi2ly.py:1057
+#: midi2ly.py:1059
 msgid "print explicit durations"
 msgstr "mostrar las duraciones explícitas"
 
-#: midi2ly.py:1062
+#: midi2ly.py:1064
 msgid "prepend FILE to output"
 msgstr "anteponer AARCHIVO a la salida"
 
-#: midi2ly.py:1066
+#: midi2ly.py:1068
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "establecer la tonalidad: ALT=+sostenidos|-bemoles; MENOR=1"
 
-#: midi2ly.py:1067
+#: midi2ly.py:1069
 msgid "ALT[:MINOR]"
 msgstr "ALT[:MENOR]"
 
-#: midi2ly.py:1069 abc2ly.py:1389 etf2ly.py:1209
+#: midi2ly.py:1071 abc2ly.py:1391 etf2ly.py:1209
 msgid "write output to FILE"
 msgstr "escribir la salida en el ARCHIVO"
 
-#: midi2ly.py:1072
+#: midi2ly.py:1074
 msgid "preview of first 4 bars"
 msgstr "vista previa de los cuatro primeros compases"
 
-#: midi2ly.py:1074
+#: midi2ly.py:1078
+msgid "suppress progress messages and warnings about excess voices"
+msgstr "suprimir los mensajes de avance y las advertencias sobre exceso de voces"
+
+#: midi2ly.py:1079
 msgid "quantise note starts on DUR"
 msgstr "cuantizar los comienzos de las notras sobre DURACIÓN"
 
-#: midi2ly.py:1078
+#: midi2ly.py:1083
 msgid "use s instead of r for rests"
 msgstr "use s en lugar de r para silencios"
 
-#: midi2ly.py:1080
+#: midi2ly.py:1085
 msgid "DUR*NUM/DEN"
 msgstr "DURACIÓN*NUMERADOR/DENOMINADOR"
 
-#: midi2ly.py:1083
+#: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "permitir duraciones de grupos irregulares DURACIÓN*NUMERADOR/DENOMINADOR"
 
-#: midi2ly.py:1092 lilypond-book.py:235 convert-ly.py:141 etf2ly.py:1212
+#: midi2ly.py:1096 lilypond-book.py:234 convert-ly.py:141 etf2ly.py:1212
 #: main.cc:176
 msgid "show warranty and copyright"
 msgstr "mostrar los avisos de garantía y de copyright"
 
-#: midi2ly.py:1095
+#: midi2ly.py:1098
 msgid "treat every text as a lyric"
 msgstr "tratar todos los textos como letra"
 
-#: midi2ly.py:1098
+#: midi2ly.py:1101
 msgid "Examples"
 msgstr "Ejemplos"
 
-#: midi2ly.py:1122
+#: midi2ly.py:1125
 msgid "no files specified on command line."
 msgstr "no se ha especificado ningún archivo en la línea de órdenes."
 
-#: abc2ly.py:1375
+#: abc2ly.py:1377
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
@@ -1310,14 +1315,18 @@ msgstr ""
 "abc2ly convierte archivos de música de ABC\n"
 "(véase %s) en código de entrada de LilyPond.\n"
 
-#: abc2ly.py:1391
+#: abc2ly.py:1394
 msgid "be strict about success"
 msgstr "ser estricto respecto al éxito"
 
-#: abc2ly.py:1393
+#: abc2ly.py:1397
 msgid "preserve ABC's notion of beams"
 msgstr "preservar la noción de las barras de ABC"
 
+#: abc2ly.py:1400
+msgid "suppress progress messages"
+msgstr "suprimir mensajes de avance"
+
 #: lilypond-book.py:80
 msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr "Procesar los fragmentos de LylyPond en un documento de HTML híbrido, LaTeX, texinfo o DocBook."
@@ -1335,92 +1344,92 @@ msgstr "LIBRO"
 msgid "Exiting (%d)..."
 msgstr "Saliendo (%d)..."
 
-#: lilypond-book.py:128
+#: lilypond-book.py:127
 msgid "FILTER"
 msgstr "FILTRO"
 
-#: lilypond-book.py:131
+#: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
 msgstr "redirigir fragmentos a través de FILTRO [predeterminado: `convert-ly -n -']"
 
-#: lilypond-book.py:135
+#: lilypond-book.py:134
 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr "usar el formato de salida FORMATO (texi [predeterminado], texi-html, latex, html, docbook)"
 
-#: lilypond-book.py:136
+#: lilypond-book.py:135
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: lilypond-book.py:143
+#: lilypond-book.py:142
 msgid "add DIR to include path"
 msgstr "añadir DIRECTORIO a la ruta de inclusión"
 
-#: lilypond-book.py:144 lilypond-book.py:151 lilypond-book.py:170
-#: lilypond-book.py:188 lilypond-book.py:209 lilypond-book.py:215 main.cc:158
+#: 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:158
 msgid "DIR"
 msgstr "DIRECTORIO"
 
-#: lilypond-book.py:149
+#: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
 msgstr "formatear la salida de Texinfo de manera que Info busque las imágenes de música en DIRECTORIO"
 
-#: lilypond-book.py:156
+#: lilypond-book.py:155
 msgid "PAD"
 msgstr "RELLENAR"
 
-#: lilypond-book.py:158
+#: lilypond-book.py:157
 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
 msgstr "rellenar el lado izquierdo de la música para alinear la música aunque haya un número desigual de compases (en mm)"
 
-#: lilypond-book.py:163
+#: lilypond-book.py:162
 msgid "Print lilypond log messages according to LOGLEVEL"
 msgstr "Imprimir los mensajes de registro de lilypond según NIVEL_DE_REGISTRO"
 
-#: lilypond-book.py:169
+#: lilypond-book.py:168
 msgid "write lily-XXX files to DIR, link into --output dir"
 msgstr "escribir archivos lily-XXX en DIR, enlazar al directorio de --output"
 
-#: lilypond-book.py:174
+#: lilypond-book.py:173
 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
 msgstr "Cargar el PAQUETE adicional de python (que contiene p.ej. un formato de salida personalizado)"
 
-#: lilypond-book.py:175
+#: lilypond-book.py:174
 msgid "PACKAGE"
 msgstr "PAQUETE"
 
-#: lilypond-book.py:187
+#: lilypond-book.py:186
 msgid "write output to DIR"
 msgstr "escribir la salida en el DIRECTORIO"
 
-#: lilypond-book.py:192
+#: lilypond-book.py:191
 msgid "COMMAND"
 msgstr "INSTRUCCIÓN"
 
-#: lilypond-book.py:193
+#: lilypond-book.py:192
 msgid "process ly_files using COMMAND FILE..."
 msgstr "procesar ly_files utilizando INSTRUCCIÓN ARCHIVO..."
 
-#: lilypond-book.py:198
+#: lilypond-book.py:197
 msgid "Redirect the lilypond output"
 msgstr "Redirigir la salida de lilypond"
 
-#: lilypond-book.py:202
+#: lilypond-book.py:201
 msgid "Compile snippets in safe mode"
 msgstr "Compilar los fragmentos de código en modo seguro"
 
-#: lilypond-book.py:208
+#: lilypond-book.py:207
 msgid "do not fail if no lilypond output is found"
 msgstr "no fracasar si no se encuentra ninguna salida de lilypond"
 
-#: lilypond-book.py:214
+#: lilypond-book.py:213
 msgid "do not fail if no PNG images are found for EPS files"
 msgstr "no fracasar si no se encuentra ninguna imagen PNG para los archivos EPS"
 
-#: lilypond-book.py:220
+#: lilypond-book.py:219
 msgid "write snippet output files with the same base name as their source file"
 msgstr "escribir los archivos de salida de los fragmentos de código con el mismo nombra de base que su archivo fuente"
 
-#: lilypond-book.py:240
+#: lilypond-book.py:239
 msgid ""
 "run executable PROG instead of latex, or in\n"
 "case --pdf option is set instead of pdflatex"
@@ -1428,84 +1437,84 @@ msgstr ""
 "ejecutar PROG en lugar de latex, o en caso de que\n"
 "esté seleccionada la opción --pdf, en lugar de pdflatex"
 
-#: lilypond-book.py:242 lilypond-book.py:247
+#: lilypond-book.py:241 lilypond-book.py:246
 msgid "PROG"
 msgstr "PROGRAMA"
 
-#: lilypond-book.py:246
+#: lilypond-book.py:245
 msgid "run executable PROG instead of texi2pdf"
 msgstr "ejecutar PROG en lugar de texi2pdf"
 
-#: lilypond-book.py:253
+#: lilypond-book.py:252
 msgid "create PDF files for use with PDFTeX"
 msgstr "crear archivos PDF para su utilización con PDFTeX"
 
-#: lilypond-book.py:456
+#: lilypond-book.py:455
 msgid "Writing snippets..."
 msgstr "Escribiendo fragmentos..."
 
-#: lilypond-book.py:461
+#: lilypond-book.py:460
 msgid "Processing..."
 msgstr "Procesando..."
 
-#: lilypond-book.py:466
+#: lilypond-book.py:465
 msgid "All snippets are up to date..."
 msgstr "Todos los fragmentos están actualizados..."
 
-#: lilypond-book.py:485
+#: lilypond-book.py:484
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr "no se puede determinar el formato de: %s"
 
-#: lilypond-book.py:494
+#: lilypond-book.py:493
 #, python-format
 msgid "%s is up to date."
 msgstr "%s está actualizado."
 
-#: lilypond-book.py:507
+#: lilypond-book.py:506
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Escribiendo «%s»..."
 
-#: lilypond-book.py:568
+#: lilypond-book.py:567
 msgid "Output would overwrite input file; use --output."
 msgstr "La salida sobreescribiría el archivo de entrada; utilice --output."
 
-#: lilypond-book.py:572
+#: lilypond-book.py:571
 #, python-format
 msgid "Reading %s..."
 msgstr "Leyendo %s..."
 
-#: lilypond-book.py:579
+#: lilypond-book.py:578
 msgid "Dissecting..."
 msgstr "Diseccionando..."
 
-#: lilypond-book.py:590
+#: lilypond-book.py:589
 #, python-format
 msgid "Compiling %s..."
 msgstr "Compilando %s..."
 
-#: lilypond-book.py:598
+#: lilypond-book.py:597
 #, python-format
 msgid "Processing include: %s"
 msgstr "Procesando el archivo de inclusión: %s"
 
-#: lilypond-book.py:609
+#: lilypond-book.py:608
 #, python-format
 msgid "Removing `%s'"
 msgstr "Suprimiendo «%s»"
 
-#: lilypond-book.py:676
+#: lilypond-book.py:699
 #, python-format
 msgid "Setting LilyPond's loglevel to %s"
 msgstr "Se establece el nivel de registro de LilyPond a %s"
 
-#: lilypond-book.py:680
+#: lilypond-book.py:703
 #, python-format
 msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
 msgstr "Se establece el nivel de registro de LilyPond a %s (a partir de la variable de entorno LILYPOND_LOGLEVEL)"
 
-#: lilypond-book.py:683
+#: lilypond-book.py:706
 msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
 msgstr "Se establece la salida de LilyPond a --verbose (prolija), implícita por el ajuste de lilypond-book"
 
@@ -1611,6 +1620,11 @@ msgstr "Inglés"
 msgid "Other languages"
 msgstr "Otros idiomas"
 
+#: website_post.py:127
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "Acerca de la <a href=\"%s\">selección automática del idioma</a>."
+
 #: warn.cc:56
 #, c-format
 msgid "Log level set to %d\n"
@@ -1676,12 +1690,12 @@ msgstr "opción no reconocida: «%s»"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argumento no válido «%s» para la opción «%s»"
 
-#: flag.cc:110
+#: flag.cc:113
 #, c-format
 msgid "flag `%s' not found"
 msgstr "no se encuentra el indicador «%s»"
 
-#: flag.cc:130
+#: flag.cc:133
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "no se encuentra la forma del glifo del corchete «%s»"
@@ -1835,16 +1849,16 @@ msgstr "no se encuentra o no se puede crear «%s» llamado «%s»"
 msgid "cannot find or create: `%s'"
 msgstr "no se encuentra o no se puede crear «%s»"
 
-#: dispatcher.cc:82
+#: dispatcher.cc:83
 msgid "Event class should be a symbol"
 msgstr "La clase del evento debe ser un símbolo"
 
-#: dispatcher.cc:89
+#: dispatcher.cc:90
 #, c-format
 msgid "Unknown event class %s"
 msgstr "Clase de evento %s desconocida"
 
-#: dispatcher.cc:171
+#: dispatcher.cc:172
 #, c-format
 msgid "Junking event: %s"
 msgstr "se elimina el evento: %s"
@@ -2094,7 +2108,7 @@ msgstr "Pista..."
 msgid "MIDI output to `%s'..."
 msgstr "Salida MIDI hacia «%s»..."
 
-#: note-collision.cc:504
+#: note-collision.cc:506
 msgid "ignoring too many clashing note columns"
 msgstr "demasiadas columnas de notas que chocan entre sí; se ignoran"
 
@@ -2116,20 +2130,20 @@ msgstr "ya hay un trazador finalizado"
 msgid "giving up"
 msgstr "abandonando"
 
-#: page-layout-problem.cc:709
+#: page-layout-problem.cc:721
 msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
 msgstr "la música no cabe en la página: se ha solicitado la no justificación del espaciado, pero la página ha resultado comprimida"
 
-#: page-layout-problem.cc:712
+#: page-layout-problem.cc:724
 #, c-format
 msgid "cannot fit music on page: overflow is %f"
 msgstr "la música no cabe en la página: el exceso es %f"
 
-#: page-layout-problem.cc:714
+#: page-layout-problem.cc:726
 msgid "compressing music to fit"
 msgstr "comprimiendo la música para que quepa"
 
-#: page-layout-problem.cc:1176
+#: page-layout-problem.cc:1188
 msgid "staff-affinities should only decrease"
 msgstr "staff-affinities solo debe disminuir"
 
@@ -2146,16 +2160,16 @@ msgstr "rehearsalMark debe tener un valor entero"
 msgid "mark label must be a markup object"
 msgstr "la etiqueta de marcado debe ser un objeto de marcado"
 
-#: stem-engraver.cc:105
+#: stem-engraver.cc:110
 msgid "tremolo duration is too long"
 msgstr "la duración del trémolo es demasiado larga"
 
-#: stem-engraver.cc:157
+#: stem-engraver.cc:162
 #, c-format
 msgid "adding note head to incompatible stem (type = %d/%d)"
 msgstr "añadiendo cabeza de nota a una plica incompatible (tipo = %d/%d)"
 
-#: stem-engraver.cc:160
+#: stem-engraver.cc:165
 msgid "maybe input should specify polyphonic voices"
 msgstr "quizá la entrada debiera especificar voces polifónicas"
 
@@ -2249,7 +2263,7 @@ msgstr "instrucción de relocalización %s desconocida"
 msgid "cannot have note heads and rests together on a stem"
 msgstr "no se pueden tener cabezas de nota y silencios en la misma plica"
 
-#: beam.cc:180
+#: beam.cc:181
 msgid "removing beam with no stems"
 msgstr "se suprime la barra sin plicas"
 
@@ -2963,7 +2977,7 @@ msgstr "no se ha encontrado ninguna configuración inicial viable; puede que no
 msgid "unterminated percent repeat"
 msgstr "repetición de porcentaje sin terminar"
 
-#: note-head.cc:85
+#: note-head.cc:86
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
 msgstr "no se encuentran las cabezas de nota «%s» ni «%s»"
@@ -2997,7 +3011,7 @@ msgstr "no se encuentra la tipografía «%s»"
 msgid "Conversion of string `%s' to UTF-16be failed: %s"
 msgstr "La conversión de la cadena `%s' a UTF-16be ha fallado: %s"
 
-#: rest.cc:171
+#: rest.cc:193
 #, c-format
 msgid "rest `%s' not found"
 msgstr "no se ha encontrado el silencio «%s»"
@@ -3016,13 +3030,13 @@ msgstr "dirección inválida de %s: %d"
 msgid "unterminated slur"
 msgstr "ligadura de expresión sin terminar"
 
-#: slur-engraver.cc:191
+#: slur-engraver.cc:199
 msgid "cannot end slur"
 msgstr "no se puede terminar la ligadura de expresión"
 
 #. We already have a slur, so give a warning and completely ignore
 #. the new slur.
-#: slur-engraver.cc:208
+#: slur-engraver.cc:216
 msgid "already have slur"
 msgstr "ya tiene una ligadura de expresión"
 
@@ -3060,15 +3074,15 @@ msgstr "ya tiene una ligadura de fraseo"
 msgid "Parsing..."
 msgstr "Analizando..."
 
-#: score.cc:176
+#: score.cc:172
 msgid "already have music in score"
 msgstr "ya tiene música en la partitura"
 
-#: score.cc:177
+#: score.cc:173
 msgid "this is the previous music"
 msgstr "esta es la música precedente"
 
-#: score.cc:182
+#: score.cc:178
 msgid "errors found, ignoring music expression"
 msgstr "se han encontrado errores, se ignora la expresión musical"
 
@@ -3115,52 +3129,52 @@ msgstr "La profundidad del marcado supera el valor máximo de %d; Elemento de ma
 msgid "Too much lookahead"
 msgstr "Lectura previa por delante excesiva"
 
-#: parser.yy:827 parser.yy:1193 parser.yy:1226
+#: parser.yy:828 parser.yy:1229
 msgid "not a context mod"
 msgstr "no es un modificador de contexto"
 
-#: parser.yy:995
+#: parser.yy:1013
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "no se puede usar \\paper dentro de \\score, utilice \\layout en su lugar"
 
-#: parser.yy:1019
+#: parser.yy:1037
 msgid "need \\paper for paper block"
 msgstr "es necesario \\paper para el bloque 'paper'"
 
-#: parser.yy:1943
-msgid "only \\consists takes non-string argument."
-msgstr "solo \\consists admite un argumento no de cadena."
+#: parser.yy:1979
+msgid "only \\consists and \\remove take non-string argument."
+msgstr "solo \\consists y \\remove admiten un argumento no de cadena."
 
-#: parser.yy:1956
+#: parser.yy:1992
 msgid "Grob name should be alphanumeric"
 msgstr "El nombre del objeto gráfico ha de ser alfanumérico"
 
-#: parser.yy:2150
+#: parser.yy:2194
 msgid "not a rhythmic event"
 msgstr "no es un evento rítmico"
 
-#: parser.yy:2246 parser.yy:2251
+#: parser.yy:2290 parser.yy:2295
 msgid "have to be in Lyric mode for lyrics"
 msgstr "para la letra se debe estar en el modo Lyric"
 
-#: parser.yy:2366
+#: parser.yy:2410
 msgid "expecting string as script definition"
 msgstr "se espera una cadena como definición del guión"
 
-#: parser.yy:2518 parser.yy:2569
+#: parser.yy:2570 parser.yy:2621
 #, c-format
 msgid "not a duration: %d"
 msgstr "no es una duración: %d"
 
-#: parser.yy:2688
+#: parser.yy:2740
 msgid "have to be in Note mode for notes"
 msgstr "para las notas se debe estar en el modo Note"
 
-#: parser.yy:2737
+#: parser.yy:2795
 msgid "have to be in Chord mode for chords"
 msgstr "para los acordes se debe estar en el modo Chord"
 
-#: parser.yy:2997
+#: parser.yy:3055
 msgid "not a markup"
 msgstr "no es una instrucción de marcado"
 
@@ -3225,35 +3239,35 @@ msgstr "se ha encontrado EOF (fin de archivo) dentro de un comentario"
 msgid "invalid character: `%s'"
 msgstr "carácter no válido: «%s»"
 
-#: lexer.ll:868 lexer.ll:869
+#: lexer.ll:878 lexer.ll:879
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "cadena de escape desconocida: `\\%s'"
 
-#: lexer.ll:1117 lexer.ll:1118
+#: lexer.ll:1127 lexer.ll:1128
 msgid "non-UTF-8 input"
 msgstr "la entrada no es UTF-8"
 
-#: lexer.ll:1161 lexer.ll:1162
+#: lexer.ll:1171 lexer.ll:1172
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr "archivo demasiado antiguo: %s (el más antiguo que se puede tratar es: %s)"
 
-#: lexer.ll:1162 lexer.ll:1163
+#: lexer.ll:1172 lexer.ll:1173
 msgid "consider updating the input with the convert-ly script"
 msgstr "considere la actualización de la entrada mediante el guión (script) convert-ly"
 
-#: lexer.ll:1168 lexer.ll:1169
+#: lexer.ll:1178 lexer.ll:1179
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr "el programa es demasiado antiguo: %s (el archivo necesita: %s)"
 
-#: parser-clef.scm:141 parser-clef.scm:181
+#: parser-clef.scm:143 parser-clef.scm:183
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr "tipo de clave desconocido: «~a» "
 
-#: parser-clef.scm:142 parser-clef.scm:182
+#: parser-clef.scm:144 parser-clef.scm:184
 #, scheme-format
 msgid "supported clefs: ~a"
 msgstr "claves soportadas: ~a"
@@ -3291,12 +3305,12 @@ msgstr "Escribiendo «~a»..."
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr "Se ha encontrado Infinito o NaN en la salida. Se sustituye por 0.0"
 
-#: output-ps.scm:313 output-svg.scm:556
+#: output-ps.scm:277 output-svg.scm:524
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr "estilo de extremo de línea line-cap-style desconocido: ~S"
 
-#: output-ps.scm:318 output-svg.scm:562
+#: output-ps.scm:282 output-svg.scm:530
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr "estilo de unión de líneas line-join-style desconocido: ~S"
@@ -3305,19 +3319,19 @@ msgstr "estilo de unión de líneas line-join-style desconocido: ~S"
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr "set-global-staff-size: no está en el ámbito de nivel más alto"
 
-#: paper.scm:304
+#: paper.scm:314
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "Esto no es un objeto de \\layout {} , ~S"
 
-#: paper.scm:316
+#: paper.scm:326
 #, scheme-format
 msgid "Unknown paper size: ~a"
 msgstr "Tamaño de papel desconocido: ~a"
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:331
+#: paper.scm:341
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "Debe usar #(set-paper-size .. ) dentro de \\paper { ... }"
 
@@ -3430,20 +3444,20 @@ msgstr "Guile 1.8\n"
 msgid "cannot find: ~A"
 msgstr "no se encuentra: ~A"
 
-#: lily.scm:701
+#: lily.scm:707
 msgid "Success: compilation successfully completed"
 msgstr "Enhorabuena. La compilación se ha completado satisfactoriamente."
 
-#: lily.scm:702
+#: lily.scm:708
 msgid "Compilation completed with warnings or errors"
 msgstr "Compilación completada con advertencias o errores"
 
-#: lily.scm:764
+#: lily.scm:770
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr "la tarea ~a ha terminado con la señal: ~a"
 
-#: lily.scm:767
+#: lily.scm:773
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
@@ -3452,22 +3466,35 @@ msgstr ""
 "archivo de registro ~a (salida ~a):\n"
 "~a"
 
-#: lily.scm:789 lily.scm:869
+#: lily.scm:795 lily.scm:881
 #, scheme-format
 msgid "failed files: ~S"
 msgstr "archivos que han fallado: ~S"
 
-#: lily.scm:860
+#: lily.scm:872
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr "Redirigiendo la salida hacia ~a..."
 
-#: lily.scm:879 ps-to-png.scm:66
+#: lily.scm:891 ps-to-png.scm:66
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr "Invocando «~a»...\n"
 
-#: lily-library.scm:761
+#: lily-library.scm:299
+msgid "Music unsuitable for context-mod"
+msgstr "Música no apta para context-mod"
+
+#: lily-library.scm:349
+#, scheme-format
+msgid "Cannot find context-def \\~a"
+msgstr "No se encuentra la definición de contexto \\~a"
+
+#: lily-library.scm:365
+msgid "Music unsuitable for output-def"
+msgstr "Música no apta para output-def"
+
+#: lily-library.scm:888
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
@@ -3477,17 +3504,17 @@ msgstr ""
 "que produce la correspondencia más cercana a @var{target-val} cuando\n"
 "se aplica a la función @var{getter}."
 
-#: lily-library.scm:835
+#: lily-library.scm:962
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr "unidad desconocida: ~S "
 
-#: lily-library.scm:860
+#: lily-library.scm:987
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr "no se ha encontrado ninguna instrucción \\version, escriba~apara disponer de compatibilidad en el futuro"
 
-#: lily-library.scm:866
+#: lily-library.scm:993
 msgid "old relative compatibility not used"
 msgstr "no se ha usado la compatibilidad con el modo relativo antiguo"
 
@@ -3501,43 +3528,43 @@ msgstr "Actualizando la fuente tipográfica en: ~a"
 msgid "quoted music `~a' is empty"
 msgstr "la cita musical «~a» está vacía"
 
-#: music-functions.scm:273
+#: music-functions.scm:274
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr "Hay más alternativas que repeticiones.  Se recortan las alternativas excedentes"
 
-#: music-functions.scm:302
+#: music-functions.scm:303
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr "número de repeticiones no válido para el trémolo: ~a"
 
-#: music-functions.scm:634
+#: music-functions.scm:662
 msgid "Bad chord repetition"
 msgstr "repetición de acorde errónea"
 
-#: music-functions.scm:669
+#: music-functions.scm:697
 #, scheme-format
 msgid "music expected: ~S"
 msgstr "se esperaba algo de música: ~S"
 
-#: music-functions.scm:985
+#: music-functions.scm:1013
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr "no se encuentra la música citada: «~S»"
 
-#: music-functions.scm:1123
+#: music-functions.scm:1151
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr "Añadir @var{octave-shift} a la octava de @var{pitch}."
 
-#: music-functions.scm:1183
+#: music-functions.scm:1211
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr "Tipo de octavación desconocido: ~S "
 
-#: music-functions.scm:1184
+#: music-functions.scm:1212
 msgid "Defaulting to 'any-octave."
 msgstr "Fijando al valor predeterminado 'any-octave."
 
-#: music-functions.scm:1521
+#: music-functions.scm:1549
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr "estilo de alteración ~S desconocido"
@@ -3648,54 +3675,54 @@ msgstr "Error en la cuantización de la barra.  Se esperaba (~S,~S), se ha encon
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Error en la cuantización de la barra.  Se esperaba ~S 0, se ha encontrado ~S."
 
-#: define-music-types.scm:752
+#: define-music-types.scm:765
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr "se esperaba un símbolo: ~S"
 
-#: define-music-types.scm:755
+#: define-music-types.scm:768
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr "no se encuentra el objeto musical ~S"
 
-#: define-music-types.scm:774
+#: define-music-types.scm:787
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr "tipo de repetición «~S» desconocido"
 
-#: define-music-types.scm:775
+#: define-music-types.scm:788
 msgid "See define-music-types.scm for supported repeats"
 msgstr "Consulte el archivo define-music-types.scm para ver los tipos de repetición soportados"
 
-#: translation-functions.scm:351
+#: translation-functions.scm:358
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr "Traste negativo para la nota ~a de la cuerda ~a"
 
-#: translation-functions.scm:402
+#: translation-functions.scm:409
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr "No hay cuerda al aire para la nota ~a"
 
-#: translation-functions.scm:417 translation-functions.scm:429
+#: translation-functions.scm:424 translation-functions.scm:436
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr "La cuerda solicitada para la nota requiere un traste negativo: cuerda ~a nota ~a"
 
-#: translation-functions.scm:420
+#: translation-functions.scm:427
 msgid "Ignoring string request and recalculating."
 msgstr "Se ignora la solicitud de cuerda; volviendo a calcular."
 
-#: translation-functions.scm:432
+#: translation-functions.scm:439
 msgid "Ignoring note in tablature."
 msgstr "Se ignora la nota en la tablatura."
 
-#: translation-functions.scm:455
+#: translation-functions.scm:462
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr "No hay ninguna cuerda para la nota ~a (dados los trastes ~a)"
 
-#: translation-functions.scm:560
+#: translation-functions.scm:567
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
@@ -3753,17 +3780,17 @@ msgstr "no se encuentra la descripción de la propiedad `~S' (~S)"
 msgid "cannot find description for property ~S (~S)"
 msgstr "no se encuentra la descripción de la propiedad ~S (~S)"
 
-#: ly-syntax-constructors.scm:65
+#: ly-syntax-constructors.scm:66
 #, scheme-format
 msgid "~a function cannot return ~a"
 msgstr "la función ~a no puede devolver ~a"
 
-#: ly-syntax-constructors.scm:74
+#: ly-syntax-constructors.scm:75
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr "tipo equivocado para el argumento ~a.  Se esperaba ~a, se encontró ~s"
 
-#: ly-syntax-constructors.scm:187
+#: ly-syntax-constructors.scm:188
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr "Operación de propiedad ~a inválida"
index 3a2eb2f12004ae5164c8e14bcfd81f17adab2276..1ffefb72650fd1bc4e15aefcf8e9a24508a381f5 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.15.29\n"
-"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2012-02-04 15:42+0100\n"
-"PO-Revision-Date: 2012-02-07 20:31+0100\n"
+"Project-Id-Version: lilypond 2.15.37\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-04-21 20:51+0200\n"
+"PO-Revision-Date: 2012-04-29 14:00+0200\n"
 "Last-Translator: Jean-Charles Malahieude <lilyfan@orange.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -1077,7 +1077,7 @@ msgstr ""
 "Convertit FICHIER.xml (MusicXML) au format LilyPond.\n"
 "Si le nom du fichier est « - », musicxml2ly lira la ligne de commande.\n"
 
-#: musicxml2ly.py:2570 midi2ly.py:1060 abc2ly.py:1387 lilypond-book.py:141
+#: musicxml2ly.py:2570 midi2ly.py:1062 abc2ly.py:1388 lilypond-book.py:140
 #: convert-ly.py:92 etf2ly.py:1204 main.cc:153
 msgid "show this help and exit"
 msgstr "visualiser cette aide et quitter"
@@ -1094,12 +1094,12 @@ msgstr ""
 "    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 
-#: musicxml2ly.py:2588 midi2ly.py:1091 abc2ly.py:1383 lilypond-book.py:232
+#: musicxml2ly.py:2588 midi2ly.py:1095 abc2ly.py:1385 lilypond-book.py:231
 #: convert-ly.py:88 etf2ly.py:1208 main.cc:174
 msgid "show version number and exit"
 msgstr "affiche le numéro de version et quitte"
 
-#: musicxml2ly.py:2594 midi2ly.py:1085 lilypond-book.py:224
+#: musicxml2ly.py:2594 midi2ly.py:1090 lilypond-book.py:223
 msgid "be verbose"
 msgstr "passe en mode verbeux"
 
@@ -1131,13 +1131,13 @@ msgstr ""
 "utilise une autre définition linguistique (LANG),\n"
 "p.ex. deutsch pour l'allemand"
 
-#: musicxml2ly.py:2625 lilypond-book.py:180 convert-ly.py:105
+#: musicxml2ly.py:2625 lilypond-book.py:179 convert-ly.py:105
 msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
 msgstr ""
 "Afficher les informations selon le niveau de LOGLEVEL\n"
 "(NONE, ERROR, WARNING, PROGRESS (par défaut), DEBUG)"
 
-#: musicxml2ly.py:2627 lilypond-book.py:164 lilypond-book.py:182
+#: musicxml2ly.py:2627 lilypond-book.py:163 lilypond-book.py:181
 #: convert-ly.py:107 main.cc:167
 msgid "LOGLEVEL"
 msgstr "LOGLEVEL"
@@ -1162,7 +1162,7 @@ msgstr ""
 "ne convertit pas les informations de ligature ; \n"
 "laisse LilyPond gérer les ligatures automatiques"
 
-#: musicxml2ly.py:2657 midi2ly.py:1065 midi2ly.py:1070 etf2ly.py:1210
+#: musicxml2ly.py:2657 midi2ly.py:1067 midi2ly.py:1072 etf2ly.py:1210
 #: main.cc:159 main.cc:171
 msgid "FILE"
 msgstr "FICHIER"
@@ -1179,7 +1179,7 @@ msgstr "ajout d'une setcion midi au fichier .ly"
 #. "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"
-#: musicxml2ly.py:2672 midi2ly.py:1104 abc2ly.py:1396 lilypond-book.py:259
+#: musicxml2ly.py:2672 midi2ly.py:1107 abc2ly.py:1403 lilypond-book.py:258
 #: convert-ly.py:146 etf2ly.py:1218 main.cc:285
 #, c-format, python-format
 msgid "Report bugs via %s"
@@ -1226,16 +1226,16 @@ msgstr "Fichier de sortie : « %s »"
 msgid "Unable to find input file %s"
 msgstr "Impossible de trouver le fichier d'entrée : « %s »"
 
-#: midi2ly.py:81 lilypond-book.py:116 convert-ly.py:75 etf2ly.py:1191
+#: midi2ly.py:81 lilypond-book.py:115 convert-ly.py:75 etf2ly.py:1191
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr "Copyright (c) %s détenu par"
 
-#: midi2ly.py:83 lilypond-book.py:118 convert-ly.py:77 etf2ly.py:1193
+#: midi2ly.py:83 lilypond-book.py:117 convert-ly.py:77 etf2ly.py:1193
 msgid "Distributed under terms of the GNU General Public License."
 msgstr "Distribué selon les termes de la GNU General Public License."
 
-#: midi2ly.py:84 lilypond-book.py:119 convert-ly.py:78 etf2ly.py:1194
+#: midi2ly.py:84 lilypond-book.py:118 convert-ly.py:78 etf2ly.py:1194
 msgid "It comes with NO WARRANTY."
 msgstr "Le logiciel est distribué SANS GARANTIE."
 
@@ -1243,7 +1243,7 @@ msgstr "Le logiciel est distribué SANS GARANTIE."
 msgid "warning: "
 msgstr "Avertissement : "
 
-#: midi2ly.py:93 midi2ly.py:1121
+#: midi2ly.py:93 midi2ly.py:1124
 msgid "error: "
 msgstr "Erreur : "
 
@@ -1251,101 +1251,105 @@ msgstr "Erreur : "
 msgid "Exiting... "
 msgstr "Fin d'exécution... "
 
-#: midi2ly.py:834
+#: midi2ly.py:835
 msgid "found more than 5 voices on a staff, expect bad output"
 msgstr ""
 "l'une des portées contient plus de cinq voix ;\n"
 "attendez-vous à un piètre résultat."
 
-#: midi2ly.py:1030
+#: midi2ly.py:1032
 #, python-format
 msgid "%s output to `%s'..."
 msgstr "%s reproduit dans « %s »..."
 
-#: midi2ly.py:1042 abc2ly.py:1374 lilypond-book.py:123 convert-ly.py:81
+#: midi2ly.py:1044 abc2ly.py:1376 lilypond-book.py:122 convert-ly.py:81
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr "%s [OPTIONS]... FICHIER"
 
-#: midi2ly.py:1043
+#: midi2ly.py:1045
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
 msgstr "convertit %s au format source LilyPond.\n"
 
-#: midi2ly.py:1048
+#: midi2ly.py:1050
 msgid "print absolute pitches"
 msgstr "affecte des hauteurs absolues"
 
-#: midi2ly.py:1050 midi2ly.py:1075
+#: midi2ly.py:1052 midi2ly.py:1080
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:1051
+#: midi2ly.py:1053
 msgid "quantise note durations on DUR"
 msgstr "quantifie les durées de note d'après DUR"
 
-#: midi2ly.py:1054
+#: midi2ly.py:1056
 msgid "debug printing"
 msgstr "affiche des informations de débogage"
 
-#: midi2ly.py:1057
+#: midi2ly.py:1059
 msgid "print explicit durations"
 msgstr "affecte des durées explicites"
 
-#: midi2ly.py:1062
+#: midi2ly.py:1064
 msgid "prepend FILE to output"
 msgstr "ajoute FICHIER à la sortie"
 
-#: midi2ly.py:1066
+#: midi2ly.py:1068
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "définit l'armure : ALT=+dièse|-bémol; MINEUR=1"
 
-#: midi2ly.py:1067
+#: midi2ly.py:1069
 msgid "ALT[:MINOR]"
 msgstr "ALT[:MINEUR]"
 
-#: midi2ly.py:1069 abc2ly.py:1389 etf2ly.py:1209
+#: midi2ly.py:1071 abc2ly.py:1391 etf2ly.py:1209
 msgid "write output to FILE"
 msgstr "produit la sortie dans le FICHIER"
 
-#: midi2ly.py:1072
+#: midi2ly.py:1074
 msgid "preview of first 4 bars"
 msgstr "prévisualisation des quatre premières mesures"
 
-#: midi2ly.py:1074
+#: midi2ly.py:1078
+msgid "suppress progress messages and warnings about excess voices"
+msgstr "n'affiche aucun message de progression ni de nombre excessif de voix"
+
+#: midi2ly.py:1079
 msgid "quantise note starts on DUR"
 msgstr "quantifie les débuts de note sur DUR"
 
-#: midi2ly.py:1078
+#: midi2ly.py:1083
 msgid "use s instead of r for rests"
 msgstr "traduit les silences en « s », non en « r »"
 
-#: midi2ly.py:1080
+#: midi2ly.py:1085
 msgid "DUR*NUM/DEN"
 msgstr "DUR*NUM/DEN"
 
-#: midi2ly.py:1083
+#: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "permet des n-olets de durée DUR*NUM/DEN"
 
-#: midi2ly.py:1092 lilypond-book.py:235 convert-ly.py:141 etf2ly.py:1212
+#: midi2ly.py:1096 lilypond-book.py:234 convert-ly.py:141 etf2ly.py:1212
 #: main.cc:176
 msgid "show warranty and copyright"
 msgstr "affiche les notices de garantie et du droit d'auteur"
 
-#: midi2ly.py:1095
+#: midi2ly.py:1098
 msgid "treat every text as a lyric"
 msgstr "traite tout texte comme étant des paroles"
 
-#: midi2ly.py:1098
+#: midi2ly.py:1101
 msgid "Examples"
 msgstr "Exemples"
 
-#: midi2ly.py:1122
+#: midi2ly.py:1125
 msgid "no files specified on command line."
 msgstr "aucun fichier spéficié sur la ligne de commande."
 
-#: abc2ly.py:1375
+#: abc2ly.py:1377
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
@@ -1354,14 +1358,18 @@ msgstr ""
 "abc2ly convertit les fichiers musicaux ABC (voir\n"
 "%s) au format LilyPond.\n"
 
-#: abc2ly.py:1391
+#: abc2ly.py:1394
 msgid "be strict about success"
 msgstr "être strict sur la réussite"
 
-#: abc2ly.py:1393
+#: abc2ly.py:1397
 msgid "preserve ABC's notion of beams"
 msgstr "préserver la notion de ligature propre à ABC"
 
+#: abc2ly.py:1400
+msgid "suppress progress messages"
+msgstr "n'affiche pas les messages de progression"
+
 #: lilypond-book.py:80
 msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr ""
@@ -1381,104 +1389,104 @@ msgstr "LIVRE"
 msgid "Exiting (%d)..."
 msgstr "Fin d'exécution (%d)..."
 
-#: lilypond-book.py:128
+#: lilypond-book.py:127
 msgid "FILTER"
 msgstr "FILTRE"
 
-#: lilypond-book.py:131
+#: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
 msgstr "passe les extraits à travers le FILTRE [par défaut : `convert-ly -n -']"
 
-#: lilypond-book.py:135
+#: lilypond-book.py:134
 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
 "utilise le format de sortie FORMAT (texi par défaut, texi-html, latex,\n"
 "html ou docbook)"
 
-#: lilypond-book.py:136
+#: lilypond-book.py:135
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: lilypond-book.py:143
+#: lilypond-book.py:142
 msgid "add DIR to include path"
 msgstr "ajoute le RÉP au chemin de recherche des inclusions"
 
-#: lilypond-book.py:144 lilypond-book.py:151 lilypond-book.py:170
-#: lilypond-book.py:188 lilypond-book.py:209 lilypond-book.py:215 main.cc:158
+#: 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:158
 msgid "DIR"
 msgstr "RÉP"
 
-#: lilypond-book.py:149
+#: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
 msgstr "formate la sortie Texinfo pour qu'Info cherche les images dans RÉP"
 
-#: lilypond-book.py:156
+#: lilypond-book.py:155
 msgid "PAD"
 msgstr "PAD"
 
-#: lilypond-book.py:158
+#: lilypond-book.py:157
 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
 msgstr ""
 "tasse la musique par la gauche pour la répartir en dépit du nombre irrégulier\n"
 "de mesures (en mm)"
 
-#: lilypond-book.py:163
+#: lilypond-book.py:162
 msgid "Print lilypond log messages according to LOGLEVEL"
 msgstr "Affiche les messages du journal selon la vakeur de LOGLEVEL"
 
-#: lilypond-book.py:169
+#: lilypond-book.py:168
 msgid "write lily-XXX files to DIR, link into --output dir"
 msgstr ""
 "écrit les fichiers lily-XXX dans RÉP et crée un lien vers le répertoire\n"
 "spécifié par --output"
 
-#: lilypond-book.py:174
+#: lilypond-book.py:173
 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
 msgstr ""
 "charge le PAQUETAGE python supplémentaire (contenant p.ex. un format\n"
 "de sortie particulier)"
 
-#: lilypond-book.py:175
+#: lilypond-book.py:174
 msgid "PACKAGE"
 msgstr "PAQUETAGE"
 
-#: lilypond-book.py:187
+#: lilypond-book.py:186
 msgid "write output to DIR"
 msgstr "produit la sortie dans RÉP"
 
-#: lilypond-book.py:192
+#: lilypond-book.py:191
 msgid "COMMAND"
 msgstr "COMMANDE"
 
-#: lilypond-book.py:193
+#: lilypond-book.py:192
 msgid "process ly_files using COMMAND FILE..."
 msgstr "traîte ly_files en utilisant COMMANDE FICHIER..."
 
-#: lilypond-book.py:198
+#: lilypond-book.py:197
 msgid "Redirect the lilypond output"
 msgstr "redirige la sortie la sortie lilypond"
 
-#: lilypond-book.py:202
+#: lilypond-book.py:201
 msgid "Compile snippets in safe mode"
 msgstr "compile des extraits en mode protégé"
 
-#: lilypond-book.py:208
+#: lilypond-book.py:207
 msgid "do not fail if no lilypond output is found"
 msgstr "désactive la mise en échec en l’absence de sortie de lilypond"
 
-#: lilypond-book.py:214
+#: lilypond-book.py:213
 msgid "do not fail if no PNG images are found for EPS files"
 msgstr ""
 "désactive la mise en échec en l’absence d’images PNG\n"
 "correspondant aux fichiers EPS"
 
-#: lilypond-book.py:220
+#: lilypond-book.py:219
 msgid "write snippet output files with the same base name as their source file"
 msgstr ""
 "affecte au résultat des extraits la même racine\n"
 "que celle des fichiers source"
 
-#: lilypond-book.py:240
+#: lilypond-book.py:239
 msgid ""
 "run executable PROG instead of latex, or in\n"
 "case --pdf option is set instead of pdflatex"
@@ -1486,86 +1494,86 @@ msgstr ""
 "utilise l’exécutable PROG en lieu et place de latex,\n"
 "ou lorsque l'option --pdf remplace pdflatex"
 
-#: lilypond-book.py:242 lilypond-book.py:247
+#: lilypond-book.py:241 lilypond-book.py:246
 msgid "PROG"
 msgstr "PROG"
 
-#: lilypond-book.py:246
+#: lilypond-book.py:245
 msgid "run executable PROG instead of texi2pdf"
 msgstr "utilise l'exécutable PROG au lieu de texi2pdf"
 
-#: lilypond-book.py:253
+#: lilypond-book.py:252
 msgid "create PDF files for use with PDFTeX"
 msgstr "crée des fichiers PDF pour utilisation par PDFTeX"
 
-#: lilypond-book.py:456
+#: lilypond-book.py:455
 msgid "Writing snippets..."
 msgstr "Écriture des extraits..."
 
-#: lilypond-book.py:461
+#: lilypond-book.py:460
 msgid "Processing..."
 msgstr "Traitement..."
 
-#: lilypond-book.py:466
+#: lilypond-book.py:465
 msgid "All snippets are up to date..."
 msgstr "Tous les extraits sont à jour..."
 
-#: lilypond-book.py:485
+#: lilypond-book.py:484
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr "format indéterminé pour %s"
 
-#: lilypond-book.py:494
+#: lilypond-book.py:493
 #, python-format
 msgid "%s is up to date."
 msgstr "%s est à jour."
 
-#: lilypond-book.py:507
+#: lilypond-book.py:506
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Écriture de « %s »..."
 
-#: lilypond-book.py:568
+#: lilypond-book.py:567
 msgid "Output would overwrite input file; use --output."
 msgstr "La sortie va écraser le fichier d'entrée ; utiliser --output"
 
-#: lilypond-book.py:572
+#: lilypond-book.py:571
 #, python-format
 msgid "Reading %s..."
 msgstr "Lecture en cours de %s..."
 
-#: lilypond-book.py:579
+#: lilypond-book.py:578
 msgid "Dissecting..."
 msgstr "Dissection en cours..."
 
-#: lilypond-book.py:590
+#: lilypond-book.py:589
 #, python-format
 msgid "Compiling %s..."
 msgstr "Compilation de %s..."
 
-#: lilypond-book.py:598
+#: lilypond-book.py:597
 #, python-format
 msgid "Processing include: %s"
 msgstr "Traitement d'inclusion : %s"
 
-#: lilypond-book.py:609
+#: lilypond-book.py:608
 #, python-format
 msgid "Removing `%s'"
 msgstr "Suppression de « %s »"
 
-#: lilypond-book.py:676
+#: lilypond-book.py:699
 #, python-format
 msgid "Setting LilyPond's loglevel to %s"
 msgstr "Niveau de journalisation de LilyPond fixé à %s"
 
-#: lilypond-book.py:680
+#: lilypond-book.py:703
 #, python-format
 msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
 msgstr ""
 "Détermination du niveau de journalisation de LilyPond à %s\n"
 "(à partir de la variable d'environnement LILYPOND_LOGLEVEL)"
 
-#: lilypond-book.py:683
+#: lilypond-book.py:706
 msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
 msgstr "Utilisation de l'option LilyPond --verbose (réglage implicite de lilypond-book)"
 
@@ -1674,6 +1682,11 @@ msgstr "Anglais"
 msgid "Other languages"
 msgstr "Autres langues"
 
+#: website_post.py:127
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "À propos de la <a href=\"%s\">sélection automatique de la langue</a>."
+
 #: warn.cc:56
 #, c-format
 msgid "Log level set to %d\n"
@@ -1739,12 +1752,12 @@ msgstr "option non reconnue : « %s »"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argument « %s » invalide pour l'option « %s »"
 
-#: flag.cc:110
+#: flag.cc:113
 #, c-format
 msgid "flag `%s' not found"
 msgstr "crochet inconnu : « %s »"
 
-#: flag.cc:130
+#: flag.cc:133
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "type de crochet inconnu : « %s »"
@@ -1902,16 +1915,16 @@ msgstr "impossible de trouver ou créer « %s » dénommé « %s »"
 msgid "cannot find or create: `%s'"
 msgstr "impossible de trouver ou créer « %s »"
 
-#: dispatcher.cc:82
+#: dispatcher.cc:83
 msgid "Event class should be a symbol"
 msgstr "La classe Event devrait être un symbole"
 
-#: dispatcher.cc:89
+#: dispatcher.cc:90
 #, c-format
 msgid "Unknown event class %s"
 msgstr "Classe d'événement inconnue : « %s »"
 
-#: dispatcher.cc:171
+#: dispatcher.cc:172
 #, c-format
 msgid "Junking event: %s"
 msgstr "Événement escamoté : « %s »"
@@ -2166,7 +2179,7 @@ msgstr "Piste..."
 msgid "MIDI output to `%s'..."
 msgstr "Sortie MIDI vers « %s »..."
 
-#: note-collision.cc:504
+#: note-collision.cc:506
 msgid "ignoring too many clashing note columns"
 msgstr "trop d'empilements de notes se chevauchent. On fera au mieux."
 
@@ -2187,22 +2200,22 @@ msgstr "a déjà une extension terminée"
 msgid "giving up"
 msgstr "abandon"
 
-#: page-layout-problem.cc:709
+#: page-layout-problem.cc:721
 msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
 msgstr ""
 "impossible de faire tenir la musique sur la page :\n"
 "  justification demandée, mais page déjà compressée"
 
-#: page-layout-problem.cc:712
+#: page-layout-problem.cc:724
 #, c-format
 msgid "cannot fit music on page: overflow is %f"
 msgstr "impossible de faire tenir la musique sur la page.  Débordement de %f"
 
-#: page-layout-problem.cc:714
+#: page-layout-problem.cc:726
 msgid "compressing music to fit"
 msgstr "compression de la musique pour que cela tienne"
 
-#: page-layout-problem.cc:1176
+#: page-layout-problem.cc:1188
 msgid "staff-affinities should only decrease"
 msgstr "staff-affinities devraient aller en ordre décroissant"
 
@@ -2219,16 +2232,16 @@ msgstr "rehearsalMark doit être un entier"
 msgid "mark label must be a markup object"
 msgstr "les étiquettes de marque doivent être des objets de type \"markup\""
 
-#: stem-engraver.cc:105
+#: stem-engraver.cc:110
 msgid "tremolo duration is too long"
 msgstr "durée du tremolo trop longue"
 
-#: stem-engraver.cc:157
+#: stem-engraver.cc:162
 #, c-format
 msgid "adding note head to incompatible stem (type = %d/%d)"
 msgstr "Ajout d'une tête de note à une hampe incompatible (type = %d/%d)"
 
-#: stem-engraver.cc:160
+#: stem-engraver.cc:165
 msgid "maybe input should specify polyphonic voices"
 msgstr "la source devrait spécifier des voix polyphoniques"
 
@@ -2322,7 +2335,7 @@ msgstr "Commande de relocalisation inconnue : %s"
 msgid "cannot have note heads and rests together on a stem"
 msgstr "impossible de superposer une note et un silence sur une même hampe"
 
-#: beam.cc:180
+#: beam.cc:181
 msgid "removing beam with no stems"
 msgstr "suppression d'une ligature ayant moins de deux hampes"
 
@@ -3065,7 +3078,7 @@ msgstr ""
 msgid "unterminated percent repeat"
 msgstr "répétition en pourcent non terminée"
 
-#: note-head.cc:85
+#: note-head.cc:86
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
 msgstr "tête de note « %s » ou « %s » non trouvée"
@@ -3101,7 +3114,7 @@ msgstr ""
 "La conversion de la chaîne « %s » en UTF-16be a échoué :\n"
 " %s"
 
-#: rest.cc:171
+#: rest.cc:193
 #, c-format
 msgid "rest `%s' not found"
 msgstr "silence « %s » inconnu"
@@ -3120,13 +3133,13 @@ msgstr "l'orientation de %s n'est pas valide : %d"
 msgid "unterminated slur"
 msgstr "liaison non terminée"
 
-#: slur-engraver.cc:191
+#: slur-engraver.cc:199
 msgid "cannot end slur"
 msgstr "impossible de terminer la liaison"
 
 #. We already have a slur, so give a warning and completely ignore
 #. the new slur.
-#: slur-engraver.cc:208
+#: slur-engraver.cc:216
 msgid "already have slur"
 msgstr "a déjà une liaison"
 
@@ -3164,15 +3177,15 @@ msgstr "il y a déjà une liaison de phrasé"
 msgid "Parsing..."
 msgstr "Analyse..."
 
-#: score.cc:176
+#: score.cc:172
 msgid "already have music in score"
 msgstr "il y a déjà de la musique dans la partition"
 
-#: score.cc:177
+#: score.cc:173
 msgid "this is the previous music"
 msgstr "voici la musique précédente"
 
-#: score.cc:182
+#: score.cc:178
 msgid "errors found, ignoring music expression"
 msgstr "suite à des erreurs répétées, l'expression musicale sera ignorée"
 
@@ -3225,52 +3238,52 @@ msgstr ""
 msgid "Too much lookahead"
 msgstr "Trop d'anticipation"
 
-#: parser.yy:827 parser.yy:1193 parser.yy:1226
+#: parser.yy:828 parser.yy:1229
 msgid "not a context mod"
 msgstr "ceci n'est pas un module de contexte"
 
-#: parser.yy:995
+#: parser.yy:1013
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "dans la section \\score, utiliser \\layout au lieu de \\paper"
 
-#: parser.yy:1019
+#: parser.yy:1037
 msgid "need \\paper for paper block"
 msgstr "\\paper est nécessaire pour définir les paramètres de la page"
 
-#: parser.yy:1943
-msgid "only \\consists takes non-string argument."
-msgstr "seul \\consists peut prendre un argument autre qu'une chaîne"
+#: parser.yy:1979
+msgid "only \\consists and \\remove take non-string argument."
+msgstr "seuls \\consists et \\remove peuvent prendre un argument autre qu'une chaîne"
 
-#: parser.yy:1956
+#: parser.yy:1992
 msgid "Grob name should be alphanumeric"
 msgstr "Un nom de Grob devrait être alphanumérique"
 
-#: parser.yy:2150
+#: parser.yy:2194
 msgid "not a rhythmic event"
 msgstr "événement non rythmique"
 
-#: parser.yy:2246 parser.yy:2251
+#: parser.yy:2290 parser.yy:2295
 msgid "have to be in Lyric mode for lyrics"
 msgstr "doit être en mode Lyric pour des paroles"
 
-#: parser.yy:2366
+#: parser.yy:2410
 msgid "expecting string as script definition"
 msgstr "chaîne requise pour définir un script"
 
-#: parser.yy:2518 parser.yy:2569
+#: parser.yy:2570 parser.yy:2621
 #, c-format
 msgid "not a duration: %d"
 msgstr "%d n'est pas une durée"
 
-#: parser.yy:2688
+#: parser.yy:2740
 msgid "have to be in Note mode for notes"
 msgstr "doit être en mode Note pour des notes"
 
-#: parser.yy:2737
+#: parser.yy:2795
 msgid "have to be in Chord mode for chords"
 msgstr "doit être en mode Chord pour des accords"
 
-#: parser.yy:2997
+#: parser.yy:3055
 msgid "not a markup"
 msgstr "n'est pas un « markup »"
 
@@ -3334,37 +3347,37 @@ msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
 msgid "invalid character: `%s'"
 msgstr "caractère invalide : « %s »"
 
-#: lexer.ll:868 lexer.ll:869
+#: lexer.ll:878 lexer.ll:879
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "chaîne d'échappement inconnue : « \\%s »"
 
-#: lexer.ll:1117 lexer.ll:1118
+#: lexer.ll:1127 lexer.ll:1128
 msgid "non-UTF-8 input"
 msgstr "la source n'est pas en UTF-8"
 
-#: lexer.ll:1161 lexer.ll:1162
+#: lexer.ll:1171 lexer.ll:1172
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 "%s est plus qu'obsolète ;\n"
 "le plus ancien pouvant être supporté est %s"
 
-#: lexer.ll:1162 lexer.ll:1163
+#: lexer.ll:1172 lexer.ll:1173
 msgid "consider updating the input with the convert-ly script"
 msgstr "Envisagez la mise à jour de la source à l'aide du script convert-ly"
 
-#: lexer.ll:1168 lexer.ll:1169
+#: lexer.ll:1178 lexer.ll:1179
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr "Programme plus qu'obsolète : %s (le fichier requiert %s)"
 
-#: parser-clef.scm:141 parser-clef.scm:181
+#: parser-clef.scm:143 parser-clef.scm:183
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr "type de clef inconnu : « ~a »"
 
-#: parser-clef.scm:142 parser-clef.scm:182
+#: parser-clef.scm:144 parser-clef.scm:184
 #, scheme-format
 msgid "supported clefs: ~a"
 msgstr "clefs reconnues : ~a"
@@ -3402,12 +3415,12 @@ msgstr "Écriture de ~a..."
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr "Détection d'une valeur infini ou non numérique. Substitution par 0.0"
 
-#: output-ps.scm:313 output-svg.scm:556
+#: output-ps.scm:277 output-svg.scm:524
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr "line-cap-style inconnu : ~S"
 
-#: output-ps.scm:318 output-svg.scm:562
+#: output-ps.scm:282 output-svg.scm:530
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr "line-join-style inconnu : ~S"
@@ -3416,19 +3429,19 @@ msgstr "line-join-style inconnu : ~S"
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr "set-global-staff-size n'est pas à un niveau de portée globale"
 
-#: paper.scm:304
+#: paper.scm:314
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "~S n'est pas un objet de \\layout {}"
 
-#: paper.scm:316
+#: paper.scm:326
 #, scheme-format
 msgid "Unknown paper size: ~a"
 msgstr "Format de papier inconnu : ~a"
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:331
+#: paper.scm:341
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "#(set-paper-size ..) doit être dans la section \\paper { ... }"
 
@@ -3541,20 +3554,20 @@ msgstr "Guile 1.8\n"
 msgid "cannot find: ~A"
 msgstr "impossible de trouver ~A"
 
-#: lily.scm:701
+#: lily.scm:707
 msgid "Success: compilation successfully completed"
 msgstr "Compilation menée à son terme, avec succès."
 
-#: lily.scm:702
+#: lily.scm:708
 msgid "Compilation completed with warnings or errors"
 msgstr "Compilation menée à son terme, avec des avertissements ou erreurs."
 
-#: lily.scm:764
+#: lily.scm:770
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr "le travail ~a s'est terminé avec le signal ~a"
 
-#: lily.scm:767
+#: lily.scm:773
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
@@ -3563,22 +3576,35 @@ msgstr ""
 "fichier journal ~a (sortie ~a) :\n"
 "~a"
 
-#: lily.scm:789 lily.scm:869
+#: lily.scm:795 lily.scm:881
 #, scheme-format
 msgid "failed files: ~S"
 msgstr "erreur sur les fichiers ~S"
 
-#: lily.scm:860
+#: lily.scm:872
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr "Redirection de la sortie vers ~a..."
 
-#: lily.scm:879 ps-to-png.scm:66
+#: lily.scm:891 ps-to-png.scm:66
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr "Appel de « ~a »...\n"
 
-#: lily-library.scm:761
+#: lily-library.scm:299
+msgid "Music unsuitable for context-mod"
+msgstr "Inadéquation entre la musique et le context-mod"
+
+#: lily-library.scm:349
+#, scheme-format
+msgid "Cannot find context-def \\~a"
+msgstr "Impossible de repérer un context-def (définition de contexte) \\~a"
+
+#: lily-library.scm:365
+msgid "Music unsuitable for output-def"
+msgstr "Inadéquation entre la musique et le output-def"
+
+#: lily-library.scm:888
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
@@ -3588,19 +3614,19 @@ msgstr ""
 "(nombre entier) qui soit le plus proche de @var{valeur-cible}\n"
 "lorsqu'appliqué à la fonction @var{appelant}."
 
-#: lily-library.scm:835
+#: lily-library.scm:962
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr "unité inconnue : ~S"
 
-#: lily-library.scm:860
+#: lily-library.scm:987
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 "déclaration de \\version absente ;\n"
 "ajoutez ~a pour une compatibilité future"
 
-#: lily-library.scm:866
+#: lily-library.scm:993
 msgid "old relative compatibility not used"
 msgstr "compatibilité avec l'ancien mode relatif non utilisée"
 
@@ -3614,45 +3640,45 @@ msgstr "Actualisation de la fonte dans ~a"
 msgid "quoted music `~a' is empty"
 msgstr "il n'y a rien à reproduire de « ~a » "
 
-#: music-functions.scm:273
+#: music-functions.scm:274
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
 "Plus d'alternatives que de répétitions.\n"
 " Escamotage des alternatives surnuméraires."
 
-#: music-functions.scm:302
+#: music-functions.scm:303
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr "nombre de répétition en trémolo invalide : ~a"
 
-#: music-functions.scm:634
+#: music-functions.scm:662
 msgid "Bad chord repetition"
 msgstr "Mauvaise répétition d'accord"
 
-#: music-functions.scm:669
+#: music-functions.scm:697
 #, scheme-format
 msgid "music expected: ~S"
 msgstr "~S requiert de la musique"
 
-#: music-functions.scm:985
+#: music-functions.scm:1013
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr "impossible de trouver la citation de musique « ~S »"
 
-#: music-functions.scm:1123
+#: music-functions.scm:1151
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr "Ajoute @var{octave-shift} à l'octave de @var{hauteur}."
 
-#: music-functions.scm:1183
+#: music-functions.scm:1211
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr "Octave inconnue : « ~S »"
 
-#: music-functions.scm:1184
+#: music-functions.scm:1212
 msgid "Defaulting to 'any-octave."
 msgstr "Application de la valeur par défaut 'any-octave."
 
-#: music-functions.scm:1521
+#: music-functions.scm:1549
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr "style d'altération inconnu : ~S"
@@ -3771,58 +3797,58 @@ msgstr "Erreur de définition de ligature : attendait (~S,~S), ~S trouvé."
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Erreur de définition de ligature : attendait ~S 0, repéré ~S."
 
-#: define-music-types.scm:752
+#: define-music-types.scm:765
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr "symbole requis : ~S"
 
-#: define-music-types.scm:755
+#: define-music-types.scm:768
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr "impossible de trouver l'objet de type musique : ~S"
 
-#: define-music-types.scm:774
+#: define-music-types.scm:787
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr "type de répétition inconnu : « ~S »"
 
-#: define-music-types.scm:775
+#: define-music-types.scm:788
 msgid "See define-music-types.scm for supported repeats"
 msgstr ""
 "Consulter define-music-types.scm pour connaître les répétitions\n"
 " prises en charge"
 
-#: translation-functions.scm:351
+#: translation-functions.scm:358
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr "La hauteur ~a sur la corde ~a donne un fret négatif"
 
-#: translation-functions.scm:402
+#: translation-functions.scm:409
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr "Pas de corde à vide pour la hauteur ~a"
 
-#: translation-functions.scm:417 translation-functions.scm:429
+#: translation-functions.scm:424 translation-functions.scm:436
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 "Hauteur et corde requises demandent un fret négatif :\n"
 " corde ~a hauteur ~a"
 
-#: translation-functions.scm:420
+#: translation-functions.scm:427
 msgid "Ignoring string request and recalculating."
 msgstr "Cette corde sera ignorée et redéfinie."
 
-#: translation-functions.scm:432
+#: translation-functions.scm:439
 msgid "Ignoring note in tablature."
 msgstr "Cette note sera ignorée dans la tablature."
 
-#: translation-functions.scm:455
+#: translation-functions.scm:462
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr "Aucune corde ne contient la hauteur ~a avec un fret ~a"
 
-#: translation-functions.scm:560
+#: translation-functions.scm:567
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
@@ -3884,19 +3910,19 @@ msgstr ""
 "impossible de trouver une description de la propriété ~S\n"
 " (~S)"
 
-#: ly-syntax-constructors.scm:65
+#: ly-syntax-constructors.scm:66
 #, scheme-format
 msgid "~a function cannot return ~a"
 msgstr "La fonction ~a ne peut retourner ~a."
 
-#: ly-syntax-constructors.scm:74
+#: ly-syntax-constructors.scm:75
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 "type d'argument erroné pour ~a.\n"
 " Attendait ~a, ~s trouvé"
 
-#: ly-syntax-constructors.scm:187
+#: ly-syntax-constructors.scm:188
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr "Opération de propriété invalide : ~a"
index bb732612298cc74531dca6de7c0b85ae9f800a6b..34a24d7e8d36d5caac9716e622bf0119d4f3a990 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -4,14 +4,14 @@
 #
 # Tineke de Munnik <jantien@xs4all.nl>, 1998.
 # Maurizio Umberto Puxeddu <umbpux@tin.it>, 1999
-# Federico Bruni <fedelogy@gmail.com>, 2009-2012.
+# Federico Bruni <fedelogy@gmail.com>, 2009-2012, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.15.29\n"
-"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2012-02-04 15:42+0100\n"
-"PO-Revision-Date: 2012-02-22 01:00+0100\n"
+"Project-Id-Version: lilypond 2.15.37\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-04-21 20:51+0200\n"
+"PO-Revision-Date: 2012-04-29 14:00+0200\n"
 "Last-Translator: Federico Bruni <fedelogy@gmail.com>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "Language: it\n"
@@ -1039,7 +1039,7 @@ msgstr ""
 "Converte FILE.xml (MusicXML) in input di LilyPond.\n"
 "Se il nome del file è -, musicxml2ly legge dalla riga di comando.\n"
 
-#: musicxml2ly.py:2570 midi2ly.py:1060 abc2ly.py:1387 lilypond-book.py:141
+#: musicxml2ly.py:2570 midi2ly.py:1062 abc2ly.py:1388 lilypond-book.py:140
 #: convert-ly.py:92 etf2ly.py:1204 main.cc:153
 msgid "show this help and exit"
 msgstr "mostra questo messaggio di aiuto ed esce"
@@ -1056,12 +1056,12 @@ msgstr ""
 "    Jan Nieuwenhuizen <janneke@gnu.org> e\n"
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 
-#: musicxml2ly.py:2588 midi2ly.py:1091 abc2ly.py:1383 lilypond-book.py:232
+#: musicxml2ly.py:2588 midi2ly.py:1095 abc2ly.py:1385 lilypond-book.py:231
 #: convert-ly.py:88 etf2ly.py:1208 main.cc:174
 msgid "show version number and exit"
 msgstr "mostra il numero di versione ed esce"
 
-#: musicxml2ly.py:2594 midi2ly.py:1085 lilypond-book.py:224
+#: musicxml2ly.py:2594 midi2ly.py:1090 lilypond-book.py:223
 msgid "be verbose"
 msgstr "passa in modalità prolissa"
 
@@ -1089,11 +1089,11 @@ msgstr "LINGUA"
 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
 msgstr "usa LINGUA per i nomi delle altezze, ad esempio 'deutsch' per i nomi delle note in tedesco"
 
-#: musicxml2ly.py:2625 lilypond-book.py:180 convert-ly.py:105
+#: musicxml2ly.py:2625 lilypond-book.py:179 convert-ly.py:105
 msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
 msgstr "Mostra i messaggi di log in base a LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
 
-#: musicxml2ly.py:2627 lilypond-book.py:164 lilypond-book.py:182
+#: musicxml2ly.py:2627 lilypond-book.py:163 lilypond-book.py:181
 #: convert-ly.py:107 main.cc:167
 msgid "LOGLEVEL"
 msgstr "LOGLEVEL"
@@ -1114,7 +1114,7 @@ msgstr "non converte l'esatta formattazione di pagina e gli a capo"
 msgid "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr "non converte le informazioni relative alle travature, usare invece la disposizione automatica delle travature di lilypond"
 
-#: musicxml2ly.py:2657 midi2ly.py:1065 midi2ly.py:1070 etf2ly.py:1210
+#: musicxml2ly.py:2657 midi2ly.py:1067 midi2ly.py:1072 etf2ly.py:1210
 #: main.cc:159 main.cc:171
 msgid "FILE"
 msgstr "FILE"
@@ -1131,7 +1131,7 @@ msgstr "aggiunge il blocco midi al file .ly"
 #. "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"
-#: musicxml2ly.py:2672 midi2ly.py:1104 abc2ly.py:1396 lilypond-book.py:259
+#: musicxml2ly.py:2672 midi2ly.py:1107 abc2ly.py:1403 lilypond-book.py:258
 #: convert-ly.py:146 etf2ly.py:1218 main.cc:285
 #, c-format, python-format
 msgid "Report bugs via %s"
@@ -1170,16 +1170,16 @@ msgstr "Output inviato a «%s»"
 msgid "Unable to find input file %s"
 msgstr "Impossibile trovare il file di input %s"
 
-#: midi2ly.py:81 lilypond-book.py:116 convert-ly.py:75 etf2ly.py:1191
+#: midi2ly.py:81 lilypond-book.py:115 convert-ly.py:75 etf2ly.py:1191
 #, python-format
 msgid "Copyright (c) %s by"
 msgstr "Copyright (c) %s di"
 
-#: midi2ly.py:83 lilypond-book.py:118 convert-ly.py:77 etf2ly.py:1193
+#: midi2ly.py:83 lilypond-book.py:117 convert-ly.py:77 etf2ly.py:1193
 msgid "Distributed under terms of the GNU General Public License."
 msgstr "Distribuito secondo i termini della GNU General Public License."
 
-#: midi2ly.py:84 lilypond-book.py:119 convert-ly.py:78 etf2ly.py:1194
+#: midi2ly.py:84 lilypond-book.py:118 convert-ly.py:78 etf2ly.py:1194
 msgid "It comes with NO WARRANTY."
 msgstr "È distribuito con NESSUNA GARANZIA."
 
@@ -1187,7 +1187,7 @@ msgstr "È distribuito con NESSUNA GARANZIA."
 msgid "warning: "
 msgstr "attenzione: "
 
-#: midi2ly.py:93 midi2ly.py:1121
+#: midi2ly.py:93 midi2ly.py:1124
 msgid "error: "
 msgstr "errore: "
 
@@ -1195,99 +1195,103 @@ msgstr "errore: "
 msgid "Exiting... "
 msgstr "Uscita... "
 
-#: midi2ly.py:834
+#: midi2ly.py:835
 msgid "found more than 5 voices on a staff, expect bad output"
 msgstr "trovate più di 5 voci in un rigo, è probabile che l'output sia sbagliato"
 
-#: midi2ly.py:1030
+#: midi2ly.py:1032
 #, python-format
 msgid "%s output to `%s'..."
 msgstr "%s output inviato a «%s»..."
 
-#: midi2ly.py:1042 abc2ly.py:1374 lilypond-book.py:123 convert-ly.py:81
+#: midi2ly.py:1044 abc2ly.py:1376 lilypond-book.py:122 convert-ly.py:81
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr "%s [OPZIONE]... FILE"
 
-#: midi2ly.py:1043
+#: midi2ly.py:1045
 #, python-format
 msgid "Convert %s to LilyPond input.\n"
 msgstr "Converte %s in input LilyPond.\n"
 
-#: midi2ly.py:1048
+#: midi2ly.py:1050
 msgid "print absolute pitches"
 msgstr "stampa altezze assolute"
 
-#: midi2ly.py:1050 midi2ly.py:1075
+#: midi2ly.py:1052 midi2ly.py:1080
 msgid "DUR"
 msgstr "DURATA"
 
-#: midi2ly.py:1051
+#: midi2ly.py:1053
 msgid "quantise note durations on DUR"
 msgstr "quantificare la durata delle note in DURATA"
 
-#: midi2ly.py:1054
+#: midi2ly.py:1056
 msgid "debug printing"
 msgstr "mostra le informazioni di debug"
 
-#: midi2ly.py:1057
+#: midi2ly.py:1059
 msgid "print explicit durations"
 msgstr "stampa durate esplicite"
 
-#: midi2ly.py:1062
+#: midi2ly.py:1064
 msgid "prepend FILE to output"
 msgstr "antepone FILE all'output"
 
-#: midi2ly.py:1066
+#: midi2ly.py:1068
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "imposta la tonalità: ALTERAZIONE=+diesis|-bemolle; MINORE=1"
 
-#: midi2ly.py:1067
+#: midi2ly.py:1069
 msgid "ALT[:MINOR]"
 msgstr "ALTERAZIONE[:MINORE]"
 
-#: midi2ly.py:1069 abc2ly.py:1389 etf2ly.py:1209
+#: midi2ly.py:1071 abc2ly.py:1391 etf2ly.py:1209
 msgid "write output to FILE"
 msgstr "scrive l'output in FILE"
 
-#: midi2ly.py:1072
+#: midi2ly.py:1074
 msgid "preview of first 4 bars"
 msgstr "anteprima delle prime 4 battute"
 
-#: midi2ly.py:1074
+#: midi2ly.py:1078
+msgid "suppress progress messages and warnings about excess voices"
+msgstr "sopprime i messaggi di avanzamento e gli avvertimenti relativi alle voci in eccesso"
+
+#: midi2ly.py:1079
 msgid "quantise note starts on DUR"
 msgstr "quantifica l'inizio di una nota in DURATA"
 
-#: midi2ly.py:1078
+#: midi2ly.py:1083
 msgid "use s instead of r for rests"
 msgstr "si usi s invece di r per indicare le pause"
 
-#: midi2ly.py:1080
+#: midi2ly.py:1085
 msgid "DUR*NUM/DEN"
 msgstr "DURATA*NUMERATORE/DENOMINATORE"
 
-#: midi2ly.py:1083
+#: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "consente le durate DURATA*NUMERATORE/DENOMINATORE nei gruppi irregolari"
 
-#: midi2ly.py:1092 lilypond-book.py:235 convert-ly.py:141 etf2ly.py:1212
+#: midi2ly.py:1096 lilypond-book.py:234 convert-ly.py:141 etf2ly.py:1212
 #: main.cc:176
 msgid "show warranty and copyright"
 msgstr "mostra la garanzia e il copyright"
 
-#: midi2ly.py:1095
+#: midi2ly.py:1098
 msgid "treat every text as a lyric"
 msgstr "tratta ogni testo come il testo di una canzone"
 
-#: midi2ly.py:1098
+#: midi2ly.py:1101
 msgid "Examples"
 msgstr "Esempi"
 
-#: midi2ly.py:1122
+#: midi2ly.py:1125
 msgid "no files specified on command line."
 msgstr "nessun file specificato nella riga di comando."
 
-#: abc2ly.py:1375
+#: abc2ly.py:1377
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
@@ -1296,14 +1300,18 @@ msgstr ""
 "abc2ly converte file musicali ABC (si veda\n"
 "%s) in input LilyPond.\n"
 
-#: abc2ly.py:1391
+#: abc2ly.py:1394
 msgid "be strict about success"
 msgstr "è severo rispetto all'esito"
 
-#: abc2ly.py:1393
+#: abc2ly.py:1397
 msgid "preserve ABC's notion of beams"
 msgstr "preserva la nozione di travatura di ABC"
 
+#: abc2ly.py:1400
+msgid "suppress progress messages"
+msgstr "sopprime i messaggi di avanzamento"
+
 #: lilypond-book.py:80
 msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
 msgstr "Elaborare i frammenti di codice LilyPond in un documento HTML ibrido, LaTeX, texinfo o DocBook."
@@ -1321,94 +1329,94 @@ msgstr "LIBRO"
 msgid "Exiting (%d)..."
 msgstr "Uscita (%d)..."
 
-#: lilypond-book.py:128
+#: lilypond-book.py:127
 msgid "FILTER"
 msgstr "FILTRO"
 
-#: lilypond-book.py:131
+#: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
 msgstr "redirige i frammenti di codice attraverso FILTRO [predefinito: `convert-ly -n -']"
 
-#: lilypond-book.py:135
+#: lilypond-book.py:134
 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr "usa il formato di output FORMATO (texi [predefinito], texi-html, latex, html, docbook)"
 
-#: lilypond-book.py:136
+#: lilypond-book.py:135
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: lilypond-book.py:143
+#: lilypond-book.py:142
 msgid "add DIR to include path"
 msgstr "aggiunge DIR al percorso di inclusione"
 
-#: lilypond-book.py:144 lilypond-book.py:151 lilypond-book.py:170
-#: lilypond-book.py:188 lilypond-book.py:209 lilypond-book.py:215 main.cc:158
+#: 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:158
 msgid "DIR"
 msgstr "DIR"
 
-#: lilypond-book.py:149
+#: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
 msgstr "formatta l'output di Texinfo in modo che Info cerchi le immagini in DIR"
 
-#: lilypond-book.py:156
+#: lilypond-book.py:155
 msgid "PAD"
 msgstr "PAD"
 
-#: lilypond-book.py:158
+#: lilypond-book.py:157
 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
 msgstr "aumenta il lato sinistro della musica (in mm) per allinearla nonostante il numero irregolare di battute"
 
-#: lilypond-book.py:163
+#: lilypond-book.py:162
 msgid "Print lilypond log messages according to LOGLEVEL"
 msgstr "Mostra i messaggi di log di lilypond in base a LOGLEVEL"
 
-#: lilypond-book.py:169
+#: lilypond-book.py:168
 msgid "write lily-XXX files to DIR, link into --output dir"
 msgstr ""
 "scrive i file lily-XXX in DIR e crea un collegamento verso\n"
 "la directory specificata con --output"
 
-#: lilypond-book.py:174
+#: lilypond-book.py:173
 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
 msgstr "Carica il PACCHETTO python supplementare (contenente ad esempio un formato di output personalizzato)"
 
-#: lilypond-book.py:175
+#: lilypond-book.py:174
 msgid "PACKAGE"
 msgstr "PACCHETTO"
 
-#: lilypond-book.py:187
+#: lilypond-book.py:186
 msgid "write output to DIR"
 msgstr "scrive l'output in DIR"
 
-#: lilypond-book.py:192
+#: lilypond-book.py:191
 msgid "COMMAND"
 msgstr "COMANDO"
 
-#: lilypond-book.py:193
+#: lilypond-book.py:192
 msgid "process ly_files using COMMAND FILE..."
 msgstr "elabora ly_files con COMANDO FILE..."
 
-#: lilypond-book.py:198
+#: lilypond-book.py:197
 msgid "Redirect the lilypond output"
 msgstr "Redirezione dell'output di lilypond"
 
-#: lilypond-book.py:202
+#: lilypond-book.py:201
 msgid "Compile snippets in safe mode"
 msgstr "Compila i frammenti di codice in modalità sicura"
 
-#: lilypond-book.py:208
+#: lilypond-book.py:207
 msgid "do not fail if no lilypond output is found"
 msgstr "non si interrompe se non si trova alcun output di lilypond"
 
-#: lilypond-book.py:214
+#: lilypond-book.py:213
 msgid "do not fail if no PNG images are found for EPS files"
 msgstr "non si interrompe se non si trovano immagini PNG per i file EPS"
 
-#: lilypond-book.py:220
+#: lilypond-book.py:219
 msgid "write snippet output files with the same base name as their source file"
 msgstr "scrive i file di output dei frammenti di codice con lo stesso nome di base dei file sorgenti"
 
-#: lilypond-book.py:240
+#: lilypond-book.py:239
 msgid ""
 "run executable PROG instead of latex, or in\n"
 "case --pdf option is set instead of pdflatex"
@@ -1416,84 +1424,84 @@ msgstr ""
 "eseguire il PROGRAMMA eseguibile invece di latex, o nel caso in\n"
 "cui viene impostata l'opzione --pdf invece di usare pdflatex"
 
-#: lilypond-book.py:242 lilypond-book.py:247
+#: lilypond-book.py:241 lilypond-book.py:246
 msgid "PROG"
 msgstr "PROGRAMMA"
 
-#: lilypond-book.py:246
+#: lilypond-book.py:245
 msgid "run executable PROG instead of texi2pdf"
 msgstr "esegue l'eseguibile PROGRAMMA invece di texi2pdf"
 
-#: lilypond-book.py:253
+#: lilypond-book.py:252
 msgid "create PDF files for use with PDFTeX"
 msgstr "creare file PDF per l'utilizzo con PDFTeX"
 
-#: lilypond-book.py:456
+#: lilypond-book.py:455
 msgid "Writing snippets..."
 msgstr "Scrittura dei frammenti di codice..."
 
-#: lilypond-book.py:461
+#: lilypond-book.py:460
 msgid "Processing..."
 msgstr "In elaborazione..."
 
-#: lilypond-book.py:466
+#: lilypond-book.py:465
 msgid "All snippets are up to date..."
 msgstr "Tutti i frammenti di codice sono aggiornati..."
 
-#: lilypond-book.py:485
+#: lilypond-book.py:484
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr "impossibile determinare il formato per: %s"
 
-#: lilypond-book.py:494
+#: lilypond-book.py:493
 #, python-format
 msgid "%s is up to date."
 msgstr "%s è aggiornato."
 
-#: lilypond-book.py:507
+#: lilypond-book.py:506
 #, python-format
 msgid "Writing `%s'..."
 msgstr "Scrittura di «%s»..."
 
-#: lilypond-book.py:568
+#: lilypond-book.py:567
 msgid "Output would overwrite input file; use --output."
 msgstr "L'output sovrascriverebbe il file di input; usare --output."
 
-#: lilypond-book.py:572
+#: lilypond-book.py:571
 #, python-format
 msgid "Reading %s..."
 msgstr "Lettura di %s..."
 
-#: lilypond-book.py:579
+#: lilypond-book.py:578
 msgid "Dissecting..."
 msgstr "Dissezione di..."
 
-#: lilypond-book.py:590
+#: lilypond-book.py:589
 #, python-format
 msgid "Compiling %s..."
 msgstr "Compilazione di %s"
 
-#: lilypond-book.py:598
+#: lilypond-book.py:597
 #, python-format
 msgid "Processing include: %s"
 msgstr "Elaborazione di include: %s"
 
-#: lilypond-book.py:609
+#: lilypond-book.py:608
 #, python-format
 msgid "Removing `%s'"
 msgstr "Eliminazione di «%s»"
 
-#: lilypond-book.py:676
+#: lilypond-book.py:699
 #, python-format
 msgid "Setting LilyPond's loglevel to %s"
 msgstr "Si imposta il loglevel di LilyPond su %s"
 
-#: lilypond-book.py:680
+#: lilypond-book.py:703
 #, python-format
 msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
 msgstr "Si imposta il loglevel di LilyPond su %s (dalla variabile d'ambiente LILYPOND_LOGLEVEL)"
 
-#: lilypond-book.py:683
+#: lilypond-book.py:706
 msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
 msgstr "Si imposta l'output di LilyPond su --verbose, come implicato dall'impostazione di lilypond-book"
 
@@ -1597,6 +1605,11 @@ msgstr "Inglese"
 msgid "Other languages"
 msgstr "Altre lingue"
 
+#: website_post.py:127
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "Informazioni sulla <a href=\"%s\">selezione automatica della lingua</a>."
+
 #: warn.cc:56
 #, c-format
 msgid "Log level set to %d\n"
@@ -1662,12 +1675,12 @@ msgstr "opzione non riconosciuta: «%s»"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argomento «%s» non valido per l'opzione «%s»"
 
-#: flag.cc:110
+#: flag.cc:113
 #, c-format
 msgid "flag `%s' not found"
 msgstr "non si trova la coda uncinata «%s»"
 
-#: flag.cc:130
+#: flag.cc:133
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "non si trova il tratto «%s» della coda uncinata"
@@ -1821,16 +1834,16 @@ msgstr "impossibile trovare o creare «%s» chiamato «%s»"
 msgid "cannot find or create: `%s'"
 msgstr "impossibile trovare o creare: «%s»"
 
-#: dispatcher.cc:82
+#: dispatcher.cc:83
 msgid "Event class should be a symbol"
 msgstr "La classe evento dovrebbe essere un simbolo"
 
-#: dispatcher.cc:89
+#: dispatcher.cc:90
 #, c-format
 msgid "Unknown event class %s"
 msgstr "Classe di evento %s sconosciuta"
 
-#: dispatcher.cc:171
+#: dispatcher.cc:172
 #, c-format
 msgid "Junking event: %s"
 msgstr "Eliminazione dell'evento: %s"
@@ -2079,7 +2092,7 @@ msgstr "Traccia..."
 msgid "MIDI output to `%s'..."
 msgstr "L'output MIDI è inviato a «%s»..."
 
-#: note-collision.cc:504
+#: note-collision.cc:506
 msgid "ignoring too many clashing note columns"
 msgstr "troppe collisioni tra colonne di note, ignorate"
 
@@ -2100,20 +2113,20 @@ msgstr "è già presente uno spanner terminato"
 msgid "giving up"
 msgstr "rinuncia"
 
-#: page-layout-problem.cc:709
+#: page-layout-problem.cc:721
 msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
 msgstr "impossibile far entrare la musica nella pagina: richiesta la spaziatura ridotta, ma la pagina è già stata compressa"
 
-#: page-layout-problem.cc:712
+#: page-layout-problem.cc:724
 #, c-format
 msgid "cannot fit music on page: overflow is %f"
 msgstr "impossibile far entrare la musica nella pagina: l'eccesso è %f"
 
-#: page-layout-problem.cc:714
+#: page-layout-problem.cc:726
 msgid "compressing music to fit"
 msgstr "si comprime la musica per farla entrare"
 
-#: page-layout-problem.cc:1176
+#: page-layout-problem.cc:1188
 msgid "staff-affinities should only decrease"
 msgstr "staff-affinities deve solo diminuire"
 
@@ -2130,16 +2143,16 @@ msgstr "rehearsalMark deve avere un valore intero"
 msgid "mark label must be a markup object"
 msgstr "l'etichetta del segno deve essere un oggetto di markup"
 
-#: stem-engraver.cc:105
+#: stem-engraver.cc:110
 msgid "tremolo duration is too long"
 msgstr "la durata del tremolo è troppo lunga"
 
-#: stem-engraver.cc:157
+#: stem-engraver.cc:162
 #, c-format
 msgid "adding note head to incompatible stem (type = %d/%d)"
 msgstr "si aggiunge la testa della nota a un gambo incompatibile (tipo = %d/%d)"
 
-#: stem-engraver.cc:160
+#: stem-engraver.cc:165
 msgid "maybe input should specify polyphonic voices"
 msgstr "forse l'input dovrebbe specificare le voci polifoniche"
 
@@ -2233,7 +2246,7 @@ msgstr "Comando di rilocazione sconosciuto %s"
 msgid "cannot have note heads and rests together on a stem"
 msgstr "impossibile avere teste e pause insieme su un gambo"
 
-#: beam.cc:180
+#: beam.cc:181
 msgid "removing beam with no stems"
 msgstr "rimozione delle travature senza gambi"
 
@@ -2788,7 +2801,7 @@ msgstr "la lista tipografica delle alterazioni deve iniziare con context-name: %
 #: accidental-engraver.cc:209
 #, c-format
 msgid "procedure or context-name expected for accidental rule, found %s"
-msgstr "si aspettava una procedura o un nome di contesto per la regola di alterazione accidentale, si è trovato %s"
+msgstr "si aspettava una procedura o context-name per la regola di alterazione accidentale, si è trovato %s"
 
 #: rest-collision.cc:146
 msgid "cannot resolve rest collision: rest direction not set"
@@ -2928,7 +2941,7 @@ msgstr "nessuna configurazione iniziale fattibile trovata: si potrebbe non trova
 msgid "unterminated percent repeat"
 msgstr "ripetizione percentuale non terminata"
 
-#: note-head.cc:85
+#: note-head.cc:86
 #, c-format
 msgid "none of note heads `%s' or `%s' found"
 msgstr "non si è trovata alcuna delle teste delle note «%s» o «%s»"
@@ -2962,7 +2975,7 @@ msgstr "impossibile trovare il tipo di carattere: «%s»"
 msgid "Conversion of string `%s' to UTF-16be failed: %s"
 msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s"
 
-#: rest.cc:171
+#: rest.cc:193
 #, c-format
 msgid "rest `%s' not found"
 msgstr "pausa «%s» non trovata"
@@ -2981,13 +2994,13 @@ msgstr "direzione di %s non valida: %d"
 msgid "unterminated slur"
 msgstr "legatura di portamento non terminata"
 
-#: slur-engraver.cc:191
+#: slur-engraver.cc:199
 msgid "cannot end slur"
 msgstr "impossibile terminare la legatura di portamento"
 
 #. We already have a slur, so give a warning and completely ignore
 #. the new slur.
-#: slur-engraver.cc:208
+#: slur-engraver.cc:216
 msgid "already have slur"
 msgstr "legatura già presente"
 
@@ -3025,15 +3038,15 @@ msgstr "legatura di frase già presente"
 msgid "Parsing..."
 msgstr "Analisi..."
 
-#: score.cc:176
+#: score.cc:172
 msgid "already have music in score"
 msgstr "musica già presente nello spartito"
 
-#: score.cc:177
+#: score.cc:173
 msgid "this is the previous music"
 msgstr "questa è la musica precedente"
 
-#: score.cc:182
+#: score.cc:178
 msgid "errors found, ignoring music expression"
 msgstr "trovati degli errori, si ignora l'espressione musicale"
 
@@ -3080,52 +3093,52 @@ msgstr "La profondità di markup eccede il valore massimo di %d; Markup: %s"
 msgid "Too much lookahead"
 msgstr "Troppa ricerca in avanti (lookahead)"
 
-#: parser.yy:827 parser.yy:1193 parser.yy:1226
+#: parser.yy:828 parser.yy:1229
 msgid "not a context mod"
 msgstr "non è una modalità di contesto"
 
-#: parser.yy:995
+#: parser.yy:1013
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr "non si può usare \\paper dentro \\score, usare \\layout al suo posto"
 
-#: parser.yy:1019
+#: parser.yy:1037
 msgid "need \\paper for paper block"
 msgstr "è necessario \\paper per il blocco \"paper\""
 
-#: parser.yy:1943
-msgid "only \\consists takes non-string argument."
-msgstr "solo \\consists prende un argomento diverso da una stringa"
+#: parser.yy:1979
+msgid "only \\consists and \\remove take non-string argument."
+msgstr "solo \\consists e \\remove prendono un argomento diverso da una stringa"
 
-#: parser.yy:1956
+#: parser.yy:1992
 msgid "Grob name should be alphanumeric"
 msgstr "Il nome del grob deve essere alfanumerico"
 
-#: parser.yy:2150
+#: parser.yy:2194
 msgid "not a rhythmic event"
 msgstr "non è un evento ritmico"
 
-#: parser.yy:2246 parser.yy:2251
+#: parser.yy:2290 parser.yy:2295
 msgid "have to be in Lyric mode for lyrics"
 msgstr "bisogna essere in modo \"Lyric\" per i testi"
 
-#: parser.yy:2366
+#: parser.yy:2410
 msgid "expecting string as script definition"
 msgstr "ci si aspetta una stringa come definizione dello script"
 
-#: parser.yy:2518 parser.yy:2569
+#: parser.yy:2570 parser.yy:2621
 #, c-format
 msgid "not a duration: %d"
 msgstr "non è una durata: %d"
 
-#: parser.yy:2688
+#: parser.yy:2740
 msgid "have to be in Note mode for notes"
 msgstr "bisogna essere in modo \"Note\" per le note"
 
-#: parser.yy:2737
+#: parser.yy:2795
 msgid "have to be in Chord mode for chords"
 msgstr "bisogna essere in modo \"Chord\" per gli accordi"
 
-#: parser.yy:2997
+#: parser.yy:3055
 msgid "not a markup"
 msgstr "non è un markup"
 
@@ -3189,35 +3202,35 @@ msgstr "fine del file (EOF) trovata in un commento"
 msgid "invalid character: `%s'"
 msgstr "carattere non valido: «%s»"
 
-#: lexer.ll:868 lexer.ll:869
+#: lexer.ll:878 lexer.ll:879
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "stringa di escape sconosciuta: «\\%s»"
 
-#: lexer.ll:1117 lexer.ll:1118
+#: lexer.ll:1127 lexer.ll:1128
 msgid "non-UTF-8 input"
 msgstr "input non UTF-8"
 
-#: lexer.ll:1161 lexer.ll:1162
+#: lexer.ll:1171 lexer.ll:1172
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr "file troppo vecchio: %s (il più vecchio che si può gestire è: %s)"
 
-#: lexer.ll:1162 lexer.ll:1163
+#: lexer.ll:1172 lexer.ll:1173
 msgid "consider updating the input with the convert-ly script"
 msgstr "si consideri di aggiornare l'input con lo script convert-ly"
 
-#: lexer.ll:1168 lexer.ll:1169
+#: lexer.ll:1178 lexer.ll:1179
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr "programma troppo vecchio: %s (il file richiede: %s)"
 
-#: parser-clef.scm:141 parser-clef.scm:181
+#: parser-clef.scm:143 parser-clef.scm:183
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr "tipo di chiave sconosciuto «~a»"
 
-#: parser-clef.scm:142 parser-clef.scm:182
+#: parser-clef.scm:144 parser-clef.scm:184
 #, scheme-format
 msgid "supported clefs: ~a"
 msgstr "chiavi supportate: ~a"
@@ -3255,12 +3268,12 @@ msgstr "Scrittura di ~a..."
 msgid "Found infinity or nan in output.  Substituting 0.0"
 msgstr "Trovato infinito o un valore non numerico nell'output.  Sostituito con 0.0"
 
-#: output-ps.scm:313 output-svg.scm:556
+#: output-ps.scm:277 output-svg.scm:524
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr "line-cap-style sconosciuto: ~S"
 
-#: output-ps.scm:318 output-svg.scm:562
+#: output-ps.scm:282 output-svg.scm:530
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr "line-join-style sconosciuto: ~S"
@@ -3269,19 +3282,19 @@ msgstr "line-join-style sconosciuto: ~S"
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr "set-global-staff-size: non è nell'ambito di livello più alto"
 
-#: paper.scm:304
+#: paper.scm:314
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr "Questo non è un oggetto \\layout {}, ~S"
 
-#: paper.scm:316
+#: paper.scm:326
 #, scheme-format
 msgid "Unknown paper size: ~a"
 msgstr "Dimensione del foglio sconosciuta: ~a"
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:331
+#: paper.scm:341
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr "Si deve usare #(set-paper-size .. ) all'interno di \\paper { ... }"
 
@@ -3394,20 +3407,20 @@ msgstr "Guile 1.8\n"
 msgid "cannot find: ~A"
 msgstr "impossibile trovare ~A"
 
-#: lily.scm:701
+#: lily.scm:707
 msgid "Success: compilation successfully completed"
 msgstr "Successo: compilazione completata con successo"
 
-#: lily.scm:702
+#: lily.scm:708
 msgid "Compilation completed with warnings or errors"
 msgstr "Compilazione completata con avvertimenti o errori"
 
-#: lily.scm:764
+#: lily.scm:770
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr "il lavoro ~a è terminato col segnale ~a"
 
-#: lily.scm:767
+#: lily.scm:773
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
@@ -3416,22 +3429,35 @@ msgstr ""
 "file di registro ~a (uscita ~a):\n"
 "~a"
 
-#: lily.scm:789 lily.scm:869
+#: lily.scm:795 lily.scm:881
 #, scheme-format
 msgid "failed files: ~S"
 msgstr "errore nei file: ~S"
 
-#: lily.scm:860
+#: lily.scm:872
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr "Redirezione dell'output verso ~a..."
 
-#: lily.scm:879 ps-to-png.scm:66
+#: lily.scm:891 ps-to-png.scm:66
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr "Chiamata di «~a»...\n"
 
-#: lily-library.scm:761
+#: lily-library.scm:299
+msgid "Music unsuitable for context-mod"
+msgstr "Musica non adatta per context-mod"
+
+#: lily-library.scm:349
+#, scheme-format
+msgid "Cannot find context-def \\~a"
+msgstr "Impossibile trovare context-def \\~a"
+
+#: lily-library.scm:365
+msgid "Music unsuitable for output-def"
+msgstr "Musica non adatta per output-def"
+
+#: lily-library.scm:888
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
@@ -3441,17 +3467,17 @@ msgstr ""
 "che produca l'abbinamento più vicino al @var{target-val} quando\n"
 "applicato alla funzione @var{getter}."
 
-#: lily-library.scm:835
+#: lily-library.scm:962
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr "unità sconosciuta: ~S"
 
-#: lily-library.scm:860
+#: lily-library.scm:987
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr "dichiarazione di \\version assente; si aggiunga ~a per compatibilità futura"
 
-#: lily-library.scm:866
+#: lily-library.scm:993
 msgid "old relative compatibility not used"
 msgstr "compatibilità col vecchio modo relativo non utilizzata"
 
@@ -3465,43 +3491,43 @@ msgstr "Aggiornamento dei tipi di carattere in: ~a"
 msgid "quoted music `~a' is empty"
 msgstr "la musica quotata «~a» è vuota"
 
-#: music-functions.scm:273
+#: music-functions.scm:274
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr "Più alternative che ripetizioni.  Vengono tralasciate le alternative in eccesso"
 
-#: music-functions.scm:302
+#: music-functions.scm:303
 #, scheme-format
 msgid "invalid tremolo repeat count: ~a"
 msgstr "numero di ripetizioni di tremolo non valido: ~a"
 
-#: music-functions.scm:634
+#: music-functions.scm:662
 msgid "Bad chord repetition"
 msgstr "Ripetizione di accordi sbagliata"
 
-#: music-functions.scm:669
+#: music-functions.scm:697
 #, scheme-format
 msgid "music expected: ~S"
 msgstr "musica attesa: ~S"
 
-#: music-functions.scm:985
+#: music-functions.scm:1013
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr "impossibile trovare la musica citata: «~S»"
 
-#: music-functions.scm:1123
+#: music-functions.scm:1151
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr "Aggiungere @var{octave-shift} all'ottava di @var{altezza}."
 
-#: music-functions.scm:1183
+#: music-functions.scm:1211
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr "Tipo di ottava sconosciuto: ~S "
 
-#: music-functions.scm:1184
+#: music-functions.scm:1212
 msgid "Defaulting to 'any-octave."
 msgstr "Applicazione del valore predefinito 'any-octave."
 
-#: music-functions.scm:1521
+#: music-functions.scm:1549
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr "stile di alterazione sconosciuto: ~S"
@@ -3612,54 +3638,54 @@ msgstr "Errore nella definizione delle travature. Previste (~S,~S), trovate ~S."
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr "Errore nella definizione delle travature.  Previste ~S 0, trovate ~S."
 
-#: define-music-types.scm:752
+#: define-music-types.scm:765
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr "simbolo atteso: ~S"
 
-#: define-music-types.scm:755
+#: define-music-types.scm:768
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr "impossibile trovare l'oggetto musicale: ~S"
 
-#: define-music-types.scm:774
+#: define-music-types.scm:787
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr "tipo di ripetizione sconosciuto «~S»"
 
-#: define-music-types.scm:775
+#: define-music-types.scm:788
 msgid "See define-music-types.scm for supported repeats"
 msgstr "Si veda define-music-types.scm per le ripetizioni supportate"
 
-#: translation-functions.scm:351
+#: translation-functions.scm:358
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr "Tasto negativo per l'altezza ~a sulla corda ~a"
 
-#: translation-functions.scm:402
+#: translation-functions.scm:409
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr "Nessuna corda a vuoto per l'altezza ~a"
 
-#: translation-functions.scm:417 translation-functions.scm:429
+#: translation-functions.scm:424 translation-functions.scm:436
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr "La corda richiesta per questa altezza necessita un tasto negativo: corda ~a altezza ~a"
 
-#: translation-functions.scm:420
+#: translation-functions.scm:427
 msgid "Ignoring string request and recalculating."
 msgstr "Ignorata la richiesta di questa corda, viene ricalcolata."
 
-#: translation-functions.scm:432
+#: translation-functions.scm:439
 msgid "Ignoring note in tablature."
 msgstr "Ignorata la nota nell'intavolatura."
 
-#: translation-functions.scm:455
+#: translation-functions.scm:462
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr "Nessuna corda per l'altezza ~a (se i tasti sono ~a)"
 
-#: translation-functions.scm:560
+#: translation-functions.scm:567
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
@@ -3717,17 +3743,17 @@ msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)"
 msgid "cannot find description for property ~S (~S)"
 msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)"
 
-#: ly-syntax-constructors.scm:65
+#: ly-syntax-constructors.scm:66
 #, scheme-format
 msgid "~a function cannot return ~a"
 msgstr "la funzione ~a non può restituire ~a"
 
-#: ly-syntax-constructors.scm:74
+#: ly-syntax-constructors.scm:75
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s"
 
-#: ly-syntax-constructors.scm:187
+#: ly-syntax-constructors.scm:188
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr "Operazione di proprietà non valida: ~a"
@@ -3849,10 +3875,6 @@ msgstr "Operazione di proprietà non valida: ~a"
 #~ msgid "Incorrect lilypond version: %s (%s, %s)"
 #~ msgstr "versione di mudela errata: %s (%s, %s)"
 
-#, fuzzy
-#~ msgid "cannot find `%s' context"
-#~ msgstr "non trovo `%s'"
-
 #~ msgid "Creator: "
 #~ msgstr "Autore: "
 
index 54f5e96250ce90e376a9113856ac28f419e1a3b2..14252e4b1db607a22c3df8fb1f6306a1e2b12742 100644 (file)
@@ -11,7 +11,7 @@
               (evs (map car (cdar event-list)))
               (now (car now-tun))
               (notes (filter (lambda (x)
-                               (equal? (ly:event-property  x 'class) 'note-event))
+                               (ly:in-event-class? x 'note-event))
                              evs))
               (pitch (if (pair? notes)
                          (ly:event-property (car notes) 'pitch)
index 15c717ffd1d480ba969caa7aac4987991db97798..59baec69ad6b7140a0af48a1dad37a0d043c721b 100644 (file)
@@ -583,6 +583,7 @@ are described in @rinternals{bar-line-interface}.")
      (apply translator-property-description x))
 
    `(
+     (EventClasses ,cheap-list? "The initial list of event classes.")
 
      (associatedVoiceContext ,ly:context? "The context object of the
 @code{Voice} that has the melody for this @code{Lyrics}.")
index fee440ad508f1924691f15d7e2e1e18e6eb20c78..e093337091d7610af2d36b2bc1e68c9c5bc5476b 100644 (file)
     (Announcement . (AnnounceNewContext))
     ))
 
-;; Maps event-class to a list of ancestors (inclusive)
-(define ancestor-lookup (make-hash-table 11))
+(define-public (event-class-cons class parent classlist)
+  (let ((lineage (assq parent classlist)))
+    (if (not lineage)
+       (begin
+         (if (not (null? parent))
+             (ly:warning (_ "unknown parent class `~a'") parent))
+         (set! lineage '())))
+    (if (symbol? class)
+       (acons class lineage classlist)
+       (fold (lambda (elt alist)
+               (acons elt lineage alist))
+             classlist class))))
 
 ;; Each class will be defined as
 ;; (class parent grandparent .. )
 ;; so that (eq? (cdr class) parent) holds.
-(for-each
- (lambda (rel)
-   (for-each
-    (lambda (type)
-      (hashq-set! ancestor-lookup type
-                 (cons type (hashq-ref ancestor-lookup (car rel) '()))))
-    (cdr rel)))
- event-classes)
-
-(define-public (define-event-class leaf heritage)
-  (cond
-   ((not (eq? leaf (car heritage)))
-    (ly:warning (_ "All classes must be the last in their matrilineal line.")))
-   ((not (equal? (cdr heritage)
-                 (list-head (hashq-ref ancestor-lookup (cadr heritage) '())
-                            (length (cdr heritage)))))
-    (ly:warning (_ "All classes must have a well-defined pedigree in the existing class hierarchy.")))
-   (else (hashq-set! ancestor-lookup
-                     leaf
-                     (cons leaf
-                           (hashq-ref ancestor-lookup
-                                      (cadr heritage)
-                                      '())))))
-  *unspecified*)
-
-;; TODO: Allow entering more complex classes, by taking unions.
-(define-public (ly:make-event-class leaf)
- (hashq-ref ancestor-lookup leaf))
 
 (define-public (ly:in-event-class? ev cl)
   "Does event @var{ev} belong to event class @var{cl}?"
-  (memq cl (ly:make-event-class (ly:event-property ev 'class))))
+  (memq cl (ly:event-property ev 'class)))
+
+(define-public all-event-classes
+  (fold (lambda (elt classlist)
+         (event-class-cons (cdr elt) (car elt) classlist))
+       '() event-classes))
 
 ;; does this exist in guile already?
 (define (map-tree f t)
        (cons root (map expand-event-tree (cdr children)))
        root)))
 
-;; All leaf event classes that no translator listens to
-;; directly.  Avoids printing a warning.
-(define unlistened-music-event-classes
-  '(harmonic-event line-break-event page-break-event page-turn-event label-event
-                  solo-one-event solo-two-event skip-event unisono-event
-                  part-combine-force-event break-dynamic-span-event
-                  stroke-finger-event))
-
 ;; produce neater representation of music event tree.
 ;; TODO: switch to this representation for the event-classes list?
 (define music-event-tree (expand-event-tree 'music-event))
 ;;(use-modules (ice-9 pretty-print))
 ;;(pretty-print (cons (car music-event-tree) (sort-tree (cdr music-event-tree))))
 
-;; check that the music event tree corresponds well with the set of
-;; available translators; print warnings otherwise.
-(map-tree (lambda (sym)
-           (if (and (symbol? sym)
-                    (not (ly:is-listened-event-class sym))
-                    (not (assq sym event-classes))
-                    (not (memq sym unlistened-music-event-classes)))
-               (ly:programming-error (_ "event class ~A seems to be unused") sym)))
-         music-event-tree)
-
-(map (lambda (sym)
-       (if (not (pair? (ly:make-event-class sym)))
-          ;; should be programming-error
-          (ly:error (_ "translator listens to nonexisting event class ~A") sym)))
-     (ly:get-listened-event-classes))
-
 (defmacro-public make-stream-event (expr)
   (Stream_event::undump (primitive-eval (list 'quasiquote expr))))
 
index c9bb9f011b1d96e634215fa7313bce30a1e31544..7d7e2a9942b974169b722eb2ec39b2e33200c390 100644 (file)
@@ -16,6 +16,8 @@
 ;;;; You should have received a copy of the GNU General Public License
 ;;;; along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
+(define doc-context (ly:make-global-context $defaultlayout))
+
 (define (music-props-doc)
   (make <texi-node>
     #:name "Music properties"
@@ -31,7 +33,7 @@
 (define music-types->names (make-hash-table 61))
 (filter-map (lambda (entry)
              (let* ((class (ly:camel-case->lisp-identifier (car entry)))
-                    (classes (ly:make-event-class class)))
+                    (classes (ly:make-event-class doc-context class)))
                (if classes
                    (map
                     (lambda (cl)
@@ -88,7 +90,7 @@
   (let* ((namesym  (car obj))
         (props (cdr obj))
         (class (ly:camel-case->lisp-identifier namesym))
-        (classes (ly:make-event-class class))
+        (classes (ly:make-event-class doc-context class))
         (accept-list (if classes
                          (human-listify
                           (map ref-ify
index bb8f4ddf50d96c80bdece61ebb473d1d36604396..95fefbdb3a856eba58842d315401551f1d6ab77f 100644 (file)
@@ -900,7 +900,7 @@ and duration-log @var{log}."
 ;; dynamics
 
 (define-public (hairpin::calc-grow-direction grob)
-  (if (eq? (ly:event-property (event-cause grob) 'class) 'decrescendo-event)
+  (if (ly:in-event-class? (event-cause grob) 'decrescendo-event)
       START
       STOP))
 
index 88c0b88fa6be7d94d61f6d8f40c946176c449309..7deeeeb4815615f4ffb5e9ff48b1dcda321a716a 100644 (file)
@@ -41,7 +41,7 @@
 
 (define-method (note-events (vs <Voice-state>))
   (define (f? x)
-    (equal? (ly:event-property x 'class) 'note-event))
+    (ly:in-event-class? x 'note-event))
   (filter f? (events vs)))
 
 (define-method (previous-voice-state (vs <Voice-state>))
@@ -130,19 +130,19 @@ Voice-state objects
     "Analyse EVS at INDEX, given state ACTIVE."
 
     (define (analyse-tie-start active ev)
-      (if (equal? (ly:event-property ev 'class) 'tie-event)
+      (if (ly:in-event-class? ev 'tie-event)
          (acons 'tie (split-index (vector-ref voice-state-vec index))
                 active)
          active))
 
     (define (analyse-tie-end active ev)
-      (if (equal? (ly:event-property ev 'class) 'note-event)
+      (if (ly:in-event-class? ev 'note-event)
          (assoc-remove! active 'tie)
          active))
 
     (define (analyse-absdyn-end active ev)
-      (if (or (equal? (ly:event-property ev 'class) 'absolute-dynamic-event)
-             (and (equal? (ly:event-property ev 'class) 'crescendo-event)
+      (if (or (ly:in-event-class? ev 'absolute-dynamic-event)
+             (and (ly:in-event-class? ev 'span-dynamic-event)
                   (equal? STOP (ly:event-property ev 'span-direction))))
          (assoc-remove! (assoc-remove! active 'cresc) 'decr)
          active))
@@ -153,7 +153,7 @@ Voice-state objects
            (else (< (cdr a) (cdr b)))))
 
     (define (analyse-span-event active ev)
-      (let* ((name (ly:event-property ev 'class))
+      (let* ((name (car (ly:event-property ev 'class)))
             (key (cond ((equal? name 'slur-event) 'slur)
                        ((equal? name 'phrasing-slur-event) 'tie)
                        ((equal? name 'beam-event) 'beam)
index a535497962c07b9ae8ca5d79d1faf3901d1b7e10..2dd8d2d92c8ac06aa1beee75fa124b32351eff4f 100644 (file)
@@ -300,7 +300,7 @@ if no fingering is present."
        (map (lambda (art)
               (let* ((num (ly:event-property art 'digit)))
 
-                (if (and (eq? 'fingering-event (ly:event-property art 'class))
+                (if (and (ly:in-event-class? art 'fingering-event)
                          (number? num)
                          (> num 0))
                   (set! finger-found num))))
index 1fdaad7dcf6d51707d98549f719c2c40964ec995..a2da780f2619de34fdf3c99ffb5c1d1eefe7b185 100755 (executable)
@@ -178,14 +178,16 @@ if make_gettext:
         # Urgly: scan ly comments and variable names only in English doco
         is_english_doc = (
             True
+            and not 'Documentation/cs/' in texi_file
             and not 'Documentation/de/' in texi_file
             and not 'Documentation/es/' in texi_file
             and not 'Documentation/fr/' in texi_file
-            and not 'Documentation/ja/' in texi_file
             and not 'Documentation/hu/' in texi_file
+            and not 'Documentation/ja/' in texi_file
             and not 'Documentation/it/' in texi_file
             and not 'Documentation/nl/' in texi_file
             and not 'Documentation/po/' in texi_file
+            and not 'Documentation/zh/' in texi_file
             )
         process_texi (texi_file, intro_blurb, node_blurb, make_skeleton,
                       os.path.basename (texi_file), node_list,