]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into lilypond/translation
authorFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 18 Feb 2010 23:29:20 +0000 (00:29 +0100)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 18 Feb 2010 23:29:20 +0000 (00:29 +0100)
251 files changed:
Documentation/contributor/compiling.itexi
Documentation/contributor/doc-work.itexi
Documentation/contributor/introduction.itexi
Documentation/contributor/issues.itexi
Documentation/contributor/lsr-work.itexi
Documentation/contributor/programming-work.itexi
Documentation/contributor/release-work.itexi
Documentation/contributor/source-code.itexi
Documentation/essay/engraving.itely
Documentation/essay/literature.itely
Documentation/extending/programming-interface.itely
Documentation/included/authors.itexi
Documentation/included/chord-names-jazz.ly
Documentation/included/compile.itexi
Documentation/included/generating-output.itexi
Documentation/included/helpus.itexi
Documentation/learning/fundamental.itely
Documentation/learning/tweaks.itely
Documentation/lilypond-texi2html.init
Documentation/notation/changing-defaults.itely
Documentation/notation/chords.itely
Documentation/notation/keyboards.itely
Documentation/notation/percussion.itely
Documentation/notation/pitches.itely
Documentation/notation/repeats.itely
Documentation/notation/rhythms.itely
Documentation/notation/spacing.itely
Documentation/notation/text.itely
Documentation/notation/vocal.itely
Documentation/pictures/baer-sarabande.png
Documentation/pictures/baer-suite1-fullpage-hires.png [new file with mode: 0644]
Documentation/pictures/baer-suite1-fullpage.png
Documentation/pictures/bwv861mm28-29.png
Documentation/pictures/henle-suite1-fullpage-hires.png [new file with mode: 0644]
Documentation/pictures/henle-suite1-fullpage.png
Documentation/pictures/lily14-sarabande-annotated.png
Documentation/pictures/lily14-sarabande.png
Documentation/pictures/pdf/OpusAndFeta.pdf
Documentation/pictures/pdf/bwv861mm28-29.pdf
Documentation/snippets.tely
Documentation/snippets/accordion-discant-symbols.ly
Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly
Documentation/snippets/adding-ambitus-per-voice.ly
Documentation/snippets/adding-an-extra-staff-at-a-line-break.ly
Documentation/snippets/adding-an-extra-staff.ly
Documentation/snippets/adding-bar-lines-to-chordnames-context.ly
Documentation/snippets/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.ly
Documentation/snippets/adding-drum-parts.ly
Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
Documentation/snippets/adding-the-current-date-to-a-score.ly
Documentation/snippets/adding-volta-brackets-to-additional-staves.ly
Documentation/snippets/additional-voices-to-avoid-collisions.ly
Documentation/snippets/adjusting-lyrics-vertical-spacing.ly
Documentation/snippets/adjusting-the-shape-of-falls-and-doits.ly
Documentation/snippets/aligning-and-centering-instrument-names.ly
Documentation/snippets/aligning-bar-numbers.ly
Documentation/snippets/aligning-marks-with-various-notation-objects.ly
Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly
Documentation/snippets/ambitus-with-multiple-voices.ly
Documentation/snippets/analysis-brackets-above-the-staff.ly
Documentation/snippets/ancient-fonts.ly
Documentation/snippets/ancient-notation-template----modern-transcription-of-gregorian-music.ly
Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly
Documentation/snippets/ancient-time-signatures.ly
Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly
Documentation/snippets/arabic-improvisation.ly
Documentation/snippets/automatic-beam-subdivisions.ly
Documentation/snippets/beam-endings-in-score-context.ly
Documentation/snippets/beam-grouping-in-7-8-time.ly
Documentation/snippets/beams-across-line-breaks.ly
Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly
Documentation/snippets/broken-crescendo-hairpin.ly
Documentation/snippets/caesura-railtracks-with-fermata.ly
Documentation/snippets/center-text-below-hairpin-dynamics.ly
Documentation/snippets/changing--flageolet-mark-size.ly
Documentation/snippets/changing-a-single-notes-size-in-a-chord.ly
Documentation/snippets/changing-beam-knee-gap.ly
Documentation/snippets/changing-chord-separator.ly
Documentation/snippets/changing-form-of-multi-measure-rests.ly
Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly
Documentation/snippets/changing-partcombine-texts.ly
Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly
Documentation/snippets/changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
Documentation/snippets/changing-the-breath-mark-symbol.ly
Documentation/snippets/changing-the-chord-names-to-german-or-semi-german-notation.ly
Documentation/snippets/changing-the-positions-of-figured-bass-alterations.ly
Documentation/snippets/changing-the-tempo-without-a-metronome-mark.ly
Documentation/snippets/changing-the-time-signature-without-affecting-the-beaming.ly
Documentation/snippets/changing-the-tuplet-number.ly
Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly
Documentation/snippets/chant-or-psalms-notation.ly
Documentation/snippets/chord-name-exceptions.ly
Documentation/snippets/chord-name-major7.ly
Documentation/snippets/chordchanges-for-fretboards.ly
Documentation/snippets/clusters.ly
Documentation/snippets/combining-dynamics-with-markup-texts.ly
Documentation/snippets/combining-two-parts-on-the-same-staff.ly
Documentation/snippets/compound-time-signatures.ly
Documentation/snippets/conducting-signs,-measure-grouping-signs.ly
Documentation/snippets/contemporary-glissando.ly
Documentation/snippets/controlling-the-placement-of-chord-fingerings.ly
Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly
Documentation/snippets/creating-a-delayed-turn.ly
Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly
Documentation/snippets/creating-arpeggios-across-notes-in-different-voices.ly
Documentation/snippets/creating-blank-staves.ly
Documentation/snippets/creating-cross-staff-arpeggios-in-a-piano-staff.ly
Documentation/snippets/creating-cross-staff-arpeggios-in-other-contexts.ly
Documentation/snippets/creating-metronome-marks-in-markup-mode.ly
Documentation/snippets/creating-real-parenthesized-dynamics.ly
Documentation/snippets/creating-simultaneous-rehearsal-marks.ly
Documentation/snippets/creating-slurs-across-voices.ly
Documentation/snippets/creating-text-spanners.ly
Documentation/snippets/custodes.ly
Documentation/snippets/customizing-fretboard-fret-diagrams.ly
Documentation/snippets/customizing-markup-fret-diagrams.ly
Documentation/snippets/default-direction-of-stems-on-the-center-line-of-the-staff.ly
Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly
Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly
Documentation/snippets/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly
Documentation/snippets/embedding-native-postscript-in-a--markup-block.ly
Documentation/snippets/engravers-one-by-one.ly
Documentation/snippets/engraving-ties-manually.ly
Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly
Documentation/snippets/fingerings,-string-indications,-and-right-hand-fingerings.ly
Documentation/snippets/flat-flags-and-beam-nibs.ly
Documentation/snippets/forcing-horizontal-shift-of-notes.ly
Documentation/snippets/generating-random-notes.ly
Documentation/snippets/grid-lines--changing-their-appearance.ly
Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly
Documentation/snippets/grouping-beats.ly
Documentation/snippets/guitar-strum-rhythms.ly
Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly
Documentation/snippets/incipit.ly
Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly
Documentation/snippets/inserting-a-caesura.ly
Documentation/snippets/isolated-percent-repeats.ly
Documentation/snippets/jazz-combo-template.ly
Documentation/snippets/line-arrows.ly
Documentation/snippets/lyrics-alignment.ly
Documentation/snippets/makam-example.ly
Documentation/snippets/making-slurs-with-complex-dash-structure.ly
Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly
Documentation/snippets/measure-counter.ly
Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly
Documentation/snippets/modifying-default-values-for-articulation-shorthand-notation.ly
Documentation/snippets/multi-measure-rest-markup.ly
Documentation/snippets/nesting-staves.ly
Documentation/snippets/non-default-tuplet-numbers.ly
Documentation/snippets/non-traditional-key-signatures.ly
Documentation/snippets/orchestra,-choir-and-piano-template.ly
Documentation/snippets/ottava-text.ly
Documentation/snippets/percent-repeat-count-visibility.ly
Documentation/snippets/percent-repeat-counter.ly
Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly
Documentation/snippets/piano-template-simple.ly
Documentation/snippets/piano-template-with-centered-dynamics.ly
Documentation/snippets/piano-template-with-centered-lyrics.ly
Documentation/snippets/piano-template-with-melody-and-lyrics.ly
Documentation/snippets/placement-of-right-hand-fingerings.ly
Documentation/snippets/polyphony-in-tablature.ly
Documentation/snippets/positioning-grace-notes-with-floating-space.ly
Documentation/snippets/positioning-multi-measure-rests.ly
Documentation/snippets/positioning-text-markups-inside-slurs.ly
Documentation/snippets/preventing-extra-naturals-from-being-automatically-added.ly
Documentation/snippets/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly
Documentation/snippets/printing-a-repeat-sign-at-the-beginning-of-a-piece.ly
Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly
Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly
Documentation/snippets/printing-hairpins-using-al-niente-notation.ly
Documentation/snippets/printing-marks-on-every-staff.ly
Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly
Documentation/snippets/printing-music-with-different-time-signatures.ly
Documentation/snippets/printing-the-bar-number-for-the-first-measure.ly
Documentation/snippets/quoting-another-voice-with-transposition.ly
Documentation/snippets/quoting-another-voice.ly
Documentation/snippets/redefining-grace-note-global-defaults.ly
Documentation/snippets/removing-bar-numbers-from-a-score.ly
Documentation/snippets/removing-the-first-empty-line.ly
Documentation/snippets/rest-styles.ly
Documentation/snippets/reverting-default-beam-endings.ly
Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly
Documentation/snippets/setting-the-minimum-length-of-hairpins.ly
Documentation/snippets/shortening-volta-brackets.ly
Documentation/snippets/showing-chords-at-changes.ly
Documentation/snippets/simple-lead-sheet.ly
Documentation/snippets/single-staff-template-with-notes,-lyrics,-and-chords.ly
Documentation/snippets/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly
Documentation/snippets/single-staff-template-with-notes-and-chords.ly
Documentation/snippets/single-staff-template-with-notes-and-lyrics.ly
Documentation/snippets/single-staff-template-with-only-notes.ly
Documentation/snippets/snap-pizzicato-bartok-pizzicato.ly
Documentation/snippets/stand-alone-two-column-markup.ly
Documentation/snippets/stem-and-beam-behavior-in-tablature.ly
Documentation/snippets/string-quartet-template-simple.ly
Documentation/snippets/string-quartet-template-with-separate-parts.ly
Documentation/snippets/sub-dividing-beams.ly
Documentation/snippets/transcription-of-ancient-music-with-incipit.ly
Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
Documentation/snippets/tweaking-clef-properties.ly
Documentation/snippets/tweaking-grace-layout-within-music.ly
Documentation/snippets/use-square-bracket-at-the-start-of-a-staff-group.ly
Documentation/snippets/using-double-slurs-for-legato-chords.ly
Documentation/snippets/using-grace-note-slashes-with-normal-heads.ly
Documentation/snippets/using-ties-with-arpeggios.ly
Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly
Documentation/snippets/vertically-aligning-dynamics-across-multiple-notes.ly
Documentation/snippets/vertically-aligning-ossias-and-lyrics.ly
Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly
Documentation/snippets/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
Documentation/snippets/vocal-ensemble-template.ly
Documentation/snippets/volta-below-chords.ly
Documentation/usage/external.itely
Documentation/web/introduction.itexi [changed mode: 0644->0755]
Documentation/web/news-front.itexi
Documentation/web/news.itexi
LICENSE.DOCUMENTATION
VERSION
input/regression/identifier-following-chordmode.ly
input/regression/music-map.ly
input/regression/musicxml/00-Introduction.itexi
input/regression/musicxml/GNUmakefile
input/regression/musicxml/LICENSE [new file with mode: 0644]
input/regression/parenthesize-markup.ly [new file with mode: 0644]
lily/accidental-engraver.cc
lily/bar-line.cc
lily/context-def.cc
lily/context-property.cc
lily/figured-bass-engraver.cc
lily/open-type-font-scheme.cc
lily/ottava-engraver.cc
lily/prob.cc
lily/staff-symbol-referencer-scheme.cc
lily/time-scaled-music-iterator.cc [deleted file]
lily/ttf.cc
lily/tuplet-iterator.cc [new file with mode: 0644]
ly/predefined-guitar-ninth-fretboards.ly
mf/feta-numbers.mf
mf/feta-params.mf
python/musicexp.py
scm/backend-library.scm
scm/define-context-properties.scm
scm/define-markup-commands.scm
scm/define-music-types.scm
scm/framework-ps.scm
scm/framework-svg.scm
scm/stencil.scm
scm/tablature.scm
scripts/convert-ly.py
scripts/lilypond-book.py
website.make

index d0bc750d8fdcfb170be2647b9c435883dc9eafc9..75f178ff530ecfa64482f45481855820d8a6aa49 100644 (file)
@@ -73,6 +73,8 @@ TODO: ADD
 @node Using a Virtual Machine to Compile LilyPond
 @section Using a Virtual Machine to Compile LilyPond
 
+TODO: rewrite for lily-git.tcl !!!  do before GOP!  -gp
+
 Since it is not possible to compile Lilypond on Windows, some
 developers may find it useful to install a GNU/Linux virtual
 machine. A disk image with a special remix of @strong{Ubuntu}
@@ -130,8 +132,6 @@ of the @qq{Guest Additions}.
 @item Open a @strong{terminal} session.
 (@code{Applications > Accessories > Terminal})
 
-@c FIXME: make sure the url link below doesn't get broken -vv
-
 @item Open @strong{Firefox} (there's an icon for it on the
 panel at the top of the screen) and go to the online Lilypond
 @uref{http://lilypond.org/doc/latest/Documentation/contributor/,
index 968715627e4dae78e542ebb7d9af68b8ac5f4523..e2b65ec1c2b59d4d8eeaf0643365e53368ac5372 100644 (file)
@@ -863,8 +863,8 @@ To create links, use @@ref@{@} if the link is within the same
 manual.
 
 @item
-@@predefined ... @@endpredefined is for commands in ly/*-init.ly
-FIXME?
+@@predefined ... @@endpredefined is for commands in
+@file{ly/*-init.ly}
 
 @item
 Do not include any real info in second-level sections (ie 1.1
@@ -1288,6 +1288,10 @@ All files should be encoded in UTF-8.
 
 @include contributor/doc-translation-list.itexi
 
+In addition, not listed above, Snippets' titles and descriptions
+should be translated; they are a part of the Notation Reference and
+therefore their priority is 5.
+
 @node Translating the Web site and other Texinfo documentation
 @unnumberedsubsubsec Translating the Web site and other Texinfo documentation
 
@@ -1442,7 +1446,7 @@ Then, you should get these translated strings into compiled snippets in
 @file{Documentation/snippets}, see @q{General guidelines} in @ref{Adding
 and editing snippets}.
 
-@code{@@example} blocs need not be verbatim copies, e.g. variable
+@code{@@example} blocks need not be verbatim copies, e.g. variable
 names, file names and comments should be translated.
 
 Finally, please carefully apply every rule exposed in @ref{Texinfo
@@ -1680,6 +1684,31 @@ by doing
 git rev-list HEAD |head -1
 @end example
 
+A special case is updating Snippet documentation strings in
+@file{Documentation/@var{MY-LANGUAGE}/texidocs}.  For these to be
+correctly marked as up-to-date, first run @code{makelsr.py} as
+explained in @ref{Adding and editing snippets}, and commit the
+resulting compiled snippets left in @file{Documentation/snippets/}.
+Say the SHA1 ID code of this commit is <C>.  Now edit again your
+translated files in @file{Documentation/@var{MY-LANGUAGE}/texidocs}
+adjusting the 40-digit committish that appears in the text to be <C>;
+finally, commit these updated files.  Not doing so would result in
+changes made both to your updates and original snippets to
+persistently appear in the check-translation output as if they were
+out of sync.
+
+This two-phase mechanism avoids the (practically) unsolvable problem
+of guessing what committish will have our update, and pretending to
+put this very committish on the files in the same commit.
+
+@c http://lists.gnu.org/archive/html/lilypond-devel/2009-01/msg00245.html
+@c contains a helper script which could be used to perform massive
+@c committish updates.
+
+
+@seealso
+@ref{LSR work}.
+
 
 @node Translations management policies
 @subsection Translations management policies
index baa458c563b5b7cdc75408fb7d94a07b50ab3b56..480aba641ac8f1c67bb2a3670b2688a98d7098e1 100644 (file)
@@ -5,7 +5,8 @@
 @node Introduction to contributing
 @chapter Introduction to contributing
 
-FIXME add fluff
+This chapter presents a quick overview of ways that people can
+help LilyPond.
 
 @menu
 * Help us::
index 7c36c1e6698adb3a3e2cbee5e4f56760d9fede91..1383112da093b6ff8c5ebf638b01a21875905c29 100644 (file)
@@ -24,10 +24,12 @@ TODOs, so the term @qq{bug} wouldn't be accurate.
 
 Second, the classification of what counts as a bug vs. feature
 request, and the priorities assigned to bugs, are a matter of
-concern @strong{for developers only}.  If you are curious about
-the classification, read on, but don't complain that your
-particular issue is higher priority or counts as a bug rather than
-a feature request.
+concern @strong{for developers only}.  The Bug Squad will classify
+issues according to the guidelines given by developers.
+
+If you are curious about the classification, read on, but please
+don't complain that your particular issue should have higher
+priority or counts as a bug rather than a feature request.
 
 
 @node Issue classification
@@ -42,10 +44,10 @@ Open issues:
 
 @item
 New: the item was added by a non-member, despite numerous warnings
-not to do this.  Should be reviewed by the Bug Meister.
+not to do this.  Should be reviewed by a member of the Bug Squad.
 
 @item
-Accepted: the Bug Meister added it, or reviewed the item.
+Accepted: the Bug Squad added it, or reviewed the item.
 
 @item
 Started: a contributor is working on a fix.  Owner should change
@@ -66,12 +68,12 @@ Duplicate: issue already exists in the tracker.
 
 @item
 Fixed: a contributor claims to have fixed the bug.  The Bug
-Meister should check the fix with the next official binary release
+Squad should check the fix with the next official binary release
 (not by compiling the source from git).  Owner should be set to
 that contributor.
 
 @item
-Verified: Bug Meister has confirmed that the issue is closed.
+Verified: Bug Squad has confirmed that the issue is closed.
 
 @end itemize
 
@@ -134,8 +136,10 @@ any regression against 2.12 or 2.10 counts)
 
 @item
 Priority-High: highly embarrassing items, and any regression
-against a version earlier than two stable versions.  (i.e. when
-developing 2.13, any regression against 2.8 or earlier)
+against a version earlier than two stable versions (i.e. when
+developing 2.13, any regression against 2.8 or earlier).  This
+level is also used for issues which produce no output and fail to
+give the user a clue about what's wrong.
 
 @item
 Priority-Medium: normal priority.
@@ -149,6 +153,14 @@ like Ancient notation, which nobody wants to touch.
 
 @end itemize
 
+The difference between Priority-Medium and Priority-Low is not
+well-defined, both in this policy and in practice.  The only
+answer we can give at the moment is @qq{look at existing items in
+of the same type, and try to guess whether the priority is closer
+to the Medium items or Low items}.  We're aware of the ambiguity,
+and won't complain if somebody picks a @q{wrong} value for
+Medium/Low.
+
 
 @subheading Opsys
 
@@ -202,7 +214,7 @@ Performance: might potentially be used.
 @node Adding issues to the tracker
 @section Adding issues to the tracker
 
-This should only be done by the Bug Meister(s), or experienced
+This should only be done by the Bug Squad or experienced
 developers.  Normal users should not do this; instead, they should
 follow the guidelines for @rweb{Bug reports}.
 
@@ -274,11 +286,18 @@ else about LilyPond development.
 
 Git has special functionality to help tracking down the exact
 commit which causes a problem.  See the git manual page for
-@code{git bisect}.
-
-This is a job that non-programmers can do; once a problematic
-commit is identified, the programmers' job is much easier.  In
-fact, for most regression bugs, the majority of the time is spent
-simply finding the problematic commit.
-
+@code{git bisect}.  This is a job that non-programmers can do,
+although it requires familiarity with git, ability to compile
+LilyPond, and generally a fair amount of technical knowledge.
+
+Even if you are not familiar with git or are not able to compile
+LilyPond you can still help to narrow down the cause of a regression
+simply by downloading the binary releases of different LilyPond
+versions and testing them for the regression.  Knowing which version
+of LilyPond first exhibited the regression is helpful to a developer
+as it shortens the @code{git bisect} procedure described above.
+
+Once a problematic commit is identified, the programmers' job is
+much easier.  In fact, for most regression bugs, the majority of
+the time is spent simply finding the problematic commit.
 
index d9679f6f0058909827bfa0a139f105e08abf5c0a..94cf04ec1d5aa318a8591aa74383c52fcd3d02ba 100644 (file)
@@ -61,7 +61,14 @@ scripts/auxiliar/makelsr.py
 
 @noindent
 This also copies translated texidoc fields and snippet titles into
-snippets in @file{Documentation/snippets}.
+snippets in @file{Documentation/snippets}.  Note: this, in turn, could
+make the translated texidoc fields to appear as out of sync when you
+run @code{make check-translation}, if the originals changed from the
+last translation update, even if the translations are also updated;
+see @ref{Documentation translation maintenance} for details about
+updating the docs; in particular, see @ref{Updating translation
+committishes} to learn how to mark these translated fields as fully
+updated.
 
 Be sure that @command{make doc} runs successfully before submitting a
 patch, to prevent breaking compilation.
index 3fa9a863bef00af08b8d1e9010206cb44e782459..ace1646b1bc546e03ff87b8d17b89027e035a518 100644 (file)
@@ -1198,7 +1198,7 @@ the status.
 @node Iterator tutorial
 @section Iterator tutorial
 
-FIXME -- this is a placeholder for a tutorial on iterators
+TODO -- this is a placeholder for a tutorial on iterators
 
 Iterators are routines written in C++ that process music expressions
 and sent the music events to the appropriate engravers and/or
@@ -1207,7 +1207,7 @@ performers.
 @node Engraver tutorial
 @section Engraver tutorial
 
-FIXME -- This is a placeholder for a tutorial on how engravers work.
+TODO -- This is a placeholder for a tutorial on how engravers work.
 
 Engravers are C++ classes that catch music events and
 create the appropriate grobs for display on the page.  Though the
@@ -1259,8 +1259,8 @@ processed prior to beginning the translation for the next timestep.
 
 In certain cases, an engraver might need to ensure private Scheme variables
 (with type SCM) do not get swept away by Guile's garbage collector: for example,
-a cache of the previous key signature which must persist persist between timesteps.
-The method @code{virtual derived_mark () const} can be used in such cases to mark
+a cache of the previous key signature which must persist between timesteps.  The
+method @code{virtual derived_mark () const} can be used in such cases to mark
 such objects as follows:
 
 @example
@@ -1273,7 +1273,7 @@ Engraver_name::derived_mark ()
 
 @subsection Listening to music events
 
-External interfaces to to the engraver are implemented by protected
+External interfaces to the engraver are implemented by protected
 macros including one or more of the following:
 
 @itemize
@@ -1366,7 +1366,7 @@ the engraver.
 @node Callback tutorial
 @section Callback tutorial
 
-FIXME -- This is a placeholder for a tutorial on callback functions.
+TODO -- This is a placeholder for a tutorial on callback functions.
 
 @node LilyPond scoping
 @section LilyPond scoping
index 3c62f672613f432d2c179c7a4fa21fbf2fcabdd9..67ab80db07befa2640b08019010f62330c143637 100644 (file)
@@ -45,7 +45,7 @@ Any commits are fine.  Readers may be familiar with the term
 
 
 @item @strong{Release prep phase}:
-FIXME: I don't like that name.
+TODO: I don't like that name.
 
 A new git branch @code{stable/2.x} is created, and a major release
 is made in two weeks.
@@ -92,15 +92,19 @@ git merge origin
 vi Documentation/web/news-front.itexi Documentation/web/news.itexi
 @end example
 
-@item (optional) Check that lilypond builds from scratch in an
-out-of-tree build.
-
-@item Upload release branch.
+@item
+Commit, push, switch back to master:
 
 @example
+git commit -m "Release: update news." Documentation/web/
 git push origin
+git checkout master
+git merge release/unstable
 @end example
 
+@item (optional) Check that lilypond builds from scratch in an
+out-of-tree build.
+
 @item
 If you do not have the previous release test-output tarball, download
 it and put it in @code{regtests/}
index 0c837b872d7c3f6fb563cc00590896235aa56602..12e89138b835c8c4fe7193a6fb46633357ff28df 100644 (file)
 @section Using lily-git
 
 
-FIXME: Add instructions for using @command{lily-git} here.
+If you haven't already, download and install Git.  Go to
+@uref{http://git-scm.com/download}, and in the @qq{Binaries}
+section, select the appropriate package for your operating system.
+Windows users should visit
+@uref{http://code.google.com/p/msysgit/downloads/list} and
+download the @file{.exe} file labeled @qq{Full installer for
+official Git}.
+
+Download the lily-git script from:
+
+@c don't change the cgit link below to gitweb; gitweb uses
+@c long filenames like "scripts_auxiliar_lily-git.tcl"
+
+@example
+@uref{http://git.sv.gnu.org/cgit/lilypond.git/plain/scripts/auxiliar/lily-git.tcl}.
+@end example
+
+To run the program from the command line, navigate to the
+directory containing @file{lily-git.tcl} and enter:
+
+@example
+wish lily-git.tcl
+@end example
+
+
+@subsubheading Get source / Update source
+
+When you click the @qq{Get source} button, @command{lily-git} will
+create a directory called @file{lilypond-git/} within your home
+directory, and will download the complete source code into that
+directory (around 55Mb).  When the process is finished, the
+@qq{Command output} window will display @qq{Done}, and the button
+label will change to say @qq{Update source}.
+
+Navigate to the @file{lilypond-git/} directory to view the source
+files.  You should now be able to modify the source files using
+your normal text editor.
+
+
+@subsubheading New local commit
+
+A single commit typically represents one logical set of related
+changes (such as a bug-fix), and may incorporate changes to
+multiple files at the same time.
+
+When you're finished making the changes for your first commit,
+click the @qq{New local commit} button.  This will open the
+@qq{Git Commit Message} window.  The message header is required,
+and the message body is optional.  See @ref{Commits and patches}
+for more information regarding commits and commit messages.
+
+After entering a commit message, click @qq{OK} to finalize the
+commit.
+
+
+@subsubheading Amend previous commit
+
+You can go back and make changes to the most recent commit with
+the @qq{Amend previous commit} button.  This is useful if a
+mistake is found after you've clicked the @qq{New local commit}
+button.  To amend the most recent commit, edit the source files as
+needed and click the button.  The earlier version of the commit is
+not saved, but is replaced by the new one.
+
+Note that this does not update patch files; if you have a patch
+file from an earlier version of the commit, you will need to make
+another patch set when using this feature.  The old patch file is
+not saved, but is replaced by the new one.
+
+
+@subsubheading Make patch set
+
+Before making a patch set from any commits, you should click the
+@qq{Update source} button to make sure the commits are based on
+the most recent remote snapshot.
+
+When you click the @qq{Make patch set} button, @command{lily-git}
+will produce patch files for any new commits, saving them to the
+current directory.  The command output will display the name of
+the new patch files near the end of the output:
+
+@example
+0001-CG-add-lily-git-instructions.patch
+Done.
+@end example
+
+Send patch files to your mentor if you have one.  Otherwise, write
+an email (must be less than 64 KB) to
+@email{lilypond-devel@@gnu.org} briefly explaining your work, with
+the patch files attached.  Translators should send patches to
+@email{translations@@lilynet.net}.
+
+
+@subsubheading The @qq{Abort changes -- Reset to origin} button
+
+@warning{Only use this if your local commit history gets
+hopelessly confused!}
+
+The button labeled @qq{Abort changes -- Reset to origin} will copy
+all changed files to a subdirectory of @file{lilypond-git/} named
+@file{aborted_edits/}, and will reset the repository to the
+current state of the remote repository (at @code{git.sv.gnu.org}).
 
 
 @node Starting with Git
@@ -810,11 +911,12 @@ will have names that look something like this:
 ⋮
 @end example
 
-Send an email to @email{lilypond-devel@@gnu.org} briefly
-explaining your work, with the patch files attached.  Translators
-should send patches to @email{translations@@lilynet.net}.  After
-your patches are reviewed, the developers may push one or more of
-them to the main repository or discuss them with you.
+Send an email (must be less than 64 KB) to
+@email{lilypond-devel@@gnu.org} briefly explaining your work, with
+the patch files attached.  Translators should send patches to
+@email{translations@@lilynet.net}.  After your patches are
+reviewed, the developers may push one or more of them to the main
+repository or discuss them with you.
 
 @seealso
 
index e76cba4ea1ff14398f82c9e8b5ce2d0080cee0de..10ffea93b7604ecc4245f4e95ad4b0e2d83511bc 100644 (file)
 @node Music engraving
 @chapter Music engraving
 
-This section covers the overall goals and architecture of
-LilyPond.
+This essay describes why LilyPond was created and how it can produce
+such beautiful sheet music.
 
 @c TODO:
 @c remove 3mm eps bounding box left padding for Sarabande (This will
 @c     require adding a new snippet option to lilypond-book.py
 @c check formatting of HTML output
-@c
 
 @c Notes:
 @c Incorrect beaming in the Sarabande is a known bug.
@@ -38,11 +37,10 @@ LilyPond.
 @node The LilyPond story
 @unnumberedsec The LilyPond story
 
-Before LilyPond had a community of users around the world, before it had
-been used to produce university course notes or world-premier opera
-performance scores, before there was an essay on music engraving or any
-computer code or even an organized team of developers, LilyPond began
-with a question:
+Long before LilyPond had been used to engrave beautiful performance
+scores, before it could create university course notes or even simple
+melodies, before there was a community of users around the world or even
+an essay on music engraving, LilyPond began with a question:
 
 @quotation
 Why does most computer output fail to achieve the beauty and balance of
@@ -61,15 +59,19 @@ The first score is a beautiful hand-engraved score from 1950 and the
 second is a modern, computer-engraved edition.
 
 @ifnottex
+@quotation
 @noindent
 Bärenreiter BA 320, @copyright{}1950:
 
 @sourceimage{baer-suite1-fullpage,,,png}
+@end quotation
 
+@quotation
 @noindent
 Henle no. 666, @copyright{}2000:
 
 @sourceimage{henle-suite1-fullpage,,,png}
+@end quotation
 @end ifnottex
 
 The notes here are identical, taken from Bach's first Suite for solo
@@ -131,12 +133,12 @@ several of those aspects that we have tried to imitate in LilyPond.
 @noindent
 Bärenreiter BA 320, @copyright{}1950:
 
-@sourceimage{baer-suite1-fullpage,16cm,,}
+@sourceimage{baer-suite1-fullpage-hires,16cm,,}
 @page
 @noindent
 Henle no. 666, @copyright{}2000:
 @sp 3
-@sourceimage{henle-suite1-fullpage,16cm,,}
+@sourceimage{henle-suite1-fullpage-hires,16cm,,}
 @page
 @end iftex
 
@@ -368,33 +370,10 @@ the upper two measures, however, form down-stem/@/up-stem clumps of
 notes.  A master engraver would adjust the spacing as needed to please
 the eye.
 
-Another example of optical spacing is the visual interplay between the
-stems and the bar lines.  When an up-stem precedes the bar line, a little
-more space is needed to keep it from feeling crowded:
-
-@lilypond
-\paper {
-  ragged-right = ##t
-}
-
-\score {
-  {
-    c''8 c'' c'' c'' c'' c'' c'' c'' \break
-    a' a' a' a' a' a' a' a'
-  }
-  \layout {
-    \context {
-      \Staff
-      \remove "Time_signature_engraver"
-      \override NoteSpacing #'stem-spacing-correction = #0.7
-    }
-    \context {
-      \Score
-      \remove "Bar_number_engraver"
-    }
-  }
-}
-@end lilypond
+The spacing algorthims in LilyPond even take the barlines into account,
+which is why the final up-stem in the properly spaced example has been
+given a little more space before the barline to keep it from looking
+crowded. A down-stem would not need this adjustment.
 
 @node Ledger lines
 @unnumberedsubsec Ledger lines
@@ -564,7 +543,7 @@ to see and love to play from.
 @cindex engraving, automated
 @cindex automated engraving
 
-This section describes what is required to create software that can
+Here we describe what is required to create software that can
 mimic the layout of engraved scores: a method of explaining good
 layouts to the computer, detailed comparisons with real engravings,
 and enough flexibility to deal with the wide range of challenges
@@ -595,11 +574,11 @@ of the three configurations should we choose for the following slur?
 @end lilypond
 
 There are a few books on the art of music engraving
-available.  Unfortunately, they contain rules of simple thumbs and some
+available.  Unfortunately, they contain simple rules of thumb and some
 examples.  Such rules can be instructive, but they are a far cry from
 an algorithm that we could readily implement in a computer.  Following
 the instructions from literature leads to algorithms with lots of
-hand coded exceptions.  Doing all this case analysis is a lot of work,
+hand-coded exceptions.  Doing all this case analysis is a lot of work,
 and often not all cases are covered completely:
 
 @quotation
@@ -759,7 +738,7 @@ which is one of the most popular commercial score writers, particularly
 in North America.  Sibelius is their major rival and they appear to be
 especially strong in the European market.
 
-For our comparison we chose Bach's Fugue in G minor from the
+For our comparison we selected Bach's Fugue in G minor from the
 Well-Tempered Clavier, Book I, BWV 861, whose opening subject is
 
 @lilypond
@@ -778,7 +757,12 @@ We made our comparison by engraving the last seven measures of the piece
 the subject returns in a three-part stretto and leads into the closing
 section.  In the Finale version, we have resisted the temptation to make
 any adjustments to the default output because we are trying to show the
-things that each software package gets right without assistance.
+things that each software package gets right without assistance. The
+only major edits that we made were adjusting the page size to match this
+essay and forcing the music onto two systems to make the comparison
+easier. By default Finale would have engraved two systems of three
+measures each and a final, full-width system containing a single
+measure.
 
 Many of the differences between the two engravings are visible in
 measures 28--29, as shown here with Finale first and LilyPond second:
@@ -885,15 +869,15 @@ collision than Finale does.
 @end itemize
 
 This example is not intended to suggest that Finale cannot be used to
-produce beautiful output.  On the contrary, in the hands of a skilled
-user it can and does, but it requires skill and time.  One of the
-fundamental differences between LilyPond and commercial score writers is
+produce publication-quality output. On the contrary, in the hands of a
+skilled user it can and does, but it requires skill and time. One of the
+fundamental differences between LilyPond and commercial scorewriters is
 that LilyPond hopes to reduce the amount of human intervention to an
 absolute minimum, while other packages try to provide an attractive
 interface in which to make these types of edits.
 
-One particularly glaring omission we found in the Finale sample is a
-missing flat in measure 33:
+One particularly glaring omission we found from Finale is a missing flat
+in measure 33:
 
 @quotation
 @iftex
@@ -907,20 +891,19 @@ missing flat in measure 33:
 @noindent
 The flat symbol is required to cancel out the natural in the same
 measure, but Finale misses it because it occurred in a different voice.
-The user must not only remember to run a beaming plug-in and respace the
-note heads and rests, she must also check each measure for cross-voice
-accidentals if she is to avoid interrupting a rehearsal for an engraving
-error.
+So in addition to running a beaming plug-in and checking the spacing on
+the noteheads and rests, the user must also check each measure for
+cross-voice accidentals to avoid interrupting a rehearsal over an
+engraving error.
 
 If you are interested in examining these examples in more detail, the
-full seven-measure excerpt can be found at the end of this essay in
-engravings by Finale and LilyPond along with four different published
-engravings.  Close examination reveals that there is some acceptable
-variation among the hand-engravings, but that LilyPond compares
-reasonably well to that acceptable range.  There are still some
-shortcomings in the LilyPond output, for example, it appears a bit too
-aggressive in shortening some of the stems, so there is room for further
-development and fine-tuning.
+full seven-measure excerpt can be found at the end of this essay along
+with four different published engravings. Close examination reveals that
+there is some acceptible variation among the hand-engravings, but that
+LilyPond compares reasonably well to that acceptible range. There are
+still some shortcomings in the LilyPond output, for example, it appears
+a bit too agressive in shortening some of the stems, so there is room
+for further development and fine-tuning.
 
 Of course, typography relies on human judgment of appearance, so people
 cannot be replaced completely.  However, much of the dull work can be
index 2ebc7a300da37b8f85db94f1d5445748eed89f3c..79238d0f59ae63ea97575419457eb483f8234d78 100644 (file)
@@ -13,7 +13,7 @@
 @node Literature list
 @chapter Literature list
 
-FIXME: blah
+Here are lists of references used in LilyPond.
 
 @menu
 * Short literature list::
index 1bf87c7fd5559a23bec398d38b8f7ada80fbaeeb..4d7978cd53ec10a8f83a3ae2e864d3cf87977af8 100644 (file)
@@ -599,7 +599,7 @@ and the text. So we will introduce a new property,
 @code{box-padding} will be used for the inner padding.  The new code is
 now as follows:
 
-@lisp 
+@lisp
 #(define-markup-command (double-box layout props text) (markup?)
   #:properties ((inter-box-padding 0.4)
                 (box-padding 0.6))
@@ -683,7 +683,7 @@ Then, a property for setting the gap between two lines is added, called
 @lisp
 (define-markup-command (draw-double-line layout props dest)
   (number-pair?)
-  #:properties ((thickness 1) 
+  #:properties ((thickness 1)
                 (line-gap 0.6))
   "..documentation.."
   ...
@@ -695,8 +695,8 @@ stencils are combined using @code{ly:stencil-add}:
 
 @lilypond[quote,verbatim,ragged-right]
 #(define-markup-command (my-draw-line layout props dest)
-  (number-pair?) 
-  #:properties ((thickness 1) 
+  (number-pair?)
+  #:properties ((thickness 1)
                 (line-gap 0.6))
   "..documentation.."
   (let* ((th (* (ly:output-def-lookup layout 'line-thickness)
@@ -922,6 +922,13 @@ The inner @code{ly:make-simple-closure} supplies the grob as argument
 to @var{proc}, the outer ensures that result of the function is
 returned, rather than the @code{simple-closure} object.
 
+From within a callback, the easiest method for evaluating a markup is
+to use gro-interpret-markup.  For example:
+
+@example
+my-callback = #(lambda (grob)
+                 (grob-interpret-markup grob (markup "foo")))
+@end example
 
 @node Inline Scheme code
 @section Inline Scheme code
index 60a027e50d3ec7e0315040d9a1166099f19a7f19..ceeb06f9a871aec778941ebc11cfe6ea393ac6b3 100644 (file)
@@ -96,7 +96,7 @@ Core developer, Frog meister
 Translations
 
 @item Valentin Villenave:
-LSR editor and Bug meister
+LSR editor and Bug squad member
 
 @end itemize
 @end macro
index ccd42c54b73c8b2d541454a886fe55c8e8cf436e..d71422c40509d19108eb12eaf7a7d8101ef20718 100644 (file)
@@ -3,7 +3,7 @@
 
 texidoc = " Chord names are generated from a list pitches.  The
 functions which construct these names can be customised. Here are shown
-Jazz chords, following Ignatzek (pp. 17-18, 1995) and 
+Jazz chords, following Ignatzek (pp. 17-18, 1995) and
 an alternative Jazz  chord notation.
 
 Chords following Banter (1987) can also be printed from this file, but
@@ -13,7 +13,7 @@ are turned off for brevity.
 
 }
 
-chs =  \transpose c' c' 
+chs =  \transpose c' c'
 {
        <c e g>1
        <c es g>% m = minor triad
@@ -22,19 +22,19 @@ chs =  \transpose c' c'
        <c e g bes>
        <c es g bes>
        <c e g b>               % triangle = maj
-       <c es ges beses> 
+       <c es ges beses>
        <c es ges b> \break
        <c e gis bes>
        <c es g b>
-       <c e gis b> 
+       <c e gis b>
        <c es ges bes>\break
        <c e g a>   % 6 = major triad with added sixth
        <c es g a>  % m6 = minor triad with added sixth
-       <c e g bes d'> 
+       <c e g bes d'>
        <c es g bes d'> \break
        <c es g bes d' f' a' >
        <c es g bes d' f' >
-       <c es ges bes d' > 
+       <c es ges bes d' >
        <c e g bes des' > \break
        <c e g bes dis'>
        <c e g bes d' f'>
@@ -65,7 +65,7 @@ chs =  \transpose c' c'
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % alternate Jazz notation
 
-efullmusicJazzAlt = 
+efullmusicJazzAlt =
 {
     <c e gis>1-\markup { "+" }
     <c e g b>-\markup { \normal-size-super
@@ -86,7 +86,7 @@ epartialmusicJazzAlt = {
     <c es>-\markup { "m" }
     <c f>-\markup { \normal-size-super "sus4" }
     <c g>-\markup { \normal-size-super "5" }
-    
+
     %% TODO, partial exceptions
     <c es f>-\markup { "m" }-\markup { \normal-size-super "sus4" }
     <c d es>-\markup { "m" }-\markup { \normal-size-super "sus2" }
@@ -94,7 +94,7 @@ epartialmusicJazzAlt = {
 
 epartialJazzAlt = #(sequential-music-to-chord-exceptions epartialmusicJazzAlt #f)
 
-jazzAltProperties = \sequential { 
+jazzAltProperties = \sequential {
     \set majorSevenSymbol = #whiteTriangleMarkup
     \set chordNameSeparator = #(make-simple-markup  "/")
     \set chordNameExceptionsFull = #efullJazzAlt
@@ -102,7 +102,7 @@ jazzAltProperties = \sequential {
     \set chordNameFunction = #jazz-chord-names
 }
 
-banterProperties = \sequential { 
+banterProperties = \sequential {
            \set chordNameFunction = #banter-chord-names
 }
 
@@ -113,7 +113,7 @@ banterProperties = \sequential {
            \set shortInstrumentName = #"Def"
            \chs
        }
-       
+
        \new ChordNames {
            \jazzAltProperties
            \set instrumentName = #"Alternative"
@@ -125,12 +125,12 @@ banterProperties = \sequential {
 
        %% This is the Banter (1987) style.  It gives exceedingly
        %% verbose (wide) names, making the output file take up to 4 pages.
-       %% (FIXME: how big is is now?)
+       %% (TODO: how big is is now?)
        %% Turned off by default.
 
-       %% FIXME: use smaller font for Banter (or remove some esoteric
+       %% TODO: use smaller font for Banter (or remove some esoteric
        %% chords).
-       
+
        \new ChordNames {
            \banterProperties
            \set instrumentName = #"Banter"
@@ -138,15 +138,15 @@ banterProperties = \sequential {
            \chs
        }
 %}
-       
+
        \new Staff  \transpose c c' { \chs }
     >>
     \layout {
        indent = 3.\cm
-       \context { 
+       \context {
            \ChordNames
            \consists Instrument_name_engraver
        }
     }
 }
-       
+
index 9a47a9e3584344ad82857f4fb71a0a9589c448f0..c124b84d2f81c2ab7aff7074adc8975d03f10ff8 100644 (file)
@@ -315,10 +315,9 @@ make help
 
 @noindent
 from every directory in the build tree.  Most targets for
-documentation maintenance are available from @file{Documentation/};
-@c FIXME: xref to CG
-for more information, see the Contributor's Guide, section
-@emph{Documentation work}.
+documentation maintenance are available from
+@file{Documentation/}.  For more information, see
+@rcontrib{Documentation work}.
 
 The makefile variable @code{QUIET_BUILD} may be set to @code{1} for a
 less verbose build output, just like for building the programs.
index 5b725ecf39daefdccfbef5bebfa7fe12b78d1afa..240d7749b821596dd0df8e609e3d27716d016922 100644 (file)
@@ -1,5 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
-@c This file is part of FIXME
+@c This file is part of web/download.itexi and
+@c learning/tutorial.itely
 
 @c This is about "compiling" a lilypond file
 @c (Learning 1 Tutorial), **not** compiling the
index b850e9066d6a8113a0e4f91d3516f903f491f088..8386924febcb7ad8bbbfb499739dea3340032587 100644 (file)
@@ -1,5 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
-@c This file is part of FIXME
+@c This file is part of web/community.itexi and
+@c contributor/introduction.itely
 
 @macro helpusNeed
 @subheading We need you!
index 0ba52a8425d5860b00c61d43d21e16cb315a9b4a..f8eb8b2c1c8f226e497110300f14a634b1867885 100644 (file)
@@ -216,8 +216,9 @@ For details see @ruser{Multiple scores in a book}.
 
 @cindex variables
 
-Another great shorthand is the ability to define variables (see
-@ref{Organizing pieces with variables}).  All the templates use this
+Another great shorthand is the ability to define variables, as
+shown in @ref{Organizing pieces with variables}.  All the
+templates use this:
 
 @example
 melody = \relative c' @{
@@ -626,7 +627,7 @@ the passing note and a slur:
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \key g \major
 %    Voice "1"                  Voice "2"
-<< { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
+<< { g4 fis8( g) a4 g }  \\  { d4 d d d }  >>
 @end lilypond
 
 Notice how the stems of the second voice now point down.
@@ -636,9 +637,9 @@ Here's another simple example:
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \key d \minor
 %    Voice "1"             Voice "2"
-<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
-<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
-<< { a2. r4 }         \\ { fis2. s4 }       >> |
+<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >>
+<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >>
+<< { a2. r4 }         \\ { fis2. s4 }       >>
 @end lilypond
 
 It is not necessary to use a separate @code{<< \\ >>} construct
@@ -681,8 +682,8 @@ stems, ties, dynamics etc., is set appropriately.
   % Main voice
   c16 d e f
   %    Voice "1"     Voice "2"                 Voice "3"
-  << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
-  << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
+  << { g4 f e } \\ { r8 e4 d c8~ } >>
+  << { d2 e2 }  \\ { c8 b16 a b8 g~ g2 } \\ { s4 b4 c2 } >>
 }
 @end lilypond
 
@@ -704,7 +705,7 @@ blue triangle voice.
 \new Staff \relative c' {
   % Main voice
   c16 d e f
-  << % Bar 1
+  <<  % Bar 1
     {
       \voiceOneStyle
       g4 f e
@@ -712,10 +713,10 @@ blue triangle voice.
   \\
     {
       \voiceTwoStyle
-      r8 e4 d c8 ~
+      r8 e4 d c8~
     }
   >>
-  << % Bar 2
+  <<  % Bar 2
      % Voice 1 continues
     { d2 e2 }
   \\
@@ -795,12 +796,12 @@ later sections.
 @lilypond[quote,ragged-right]
 \new Staff \relative c'' {
   \key aes \major
-  << % Voice one
+  <<  % Voice one
     { c2 aes4. bes8 }
-  \\ % Voice two
+  \\  % Voice two
     { aes2 f4 fes }
-  \\ % No voice three
-  \\ % Voice four
+  \\  % No voice three
+  \\  % Voice four
     {
       % Ignore these for now - they are explained in Ch 4
       \once \override NoteColumn #'force-hshift = #0
@@ -840,7 +841,7 @@ not understand.
 \new Staff \relative c'' {
   \key aes \major
   <<
-    { % Voice one
+    {  % Voice one
       \voiceOneStyle
       c2 aes4. bes8
     }
@@ -857,8 +858,8 @@ not understand.
       \once \override NoteColumn #'force-hshift = #0.5
       des2
     }
-  >> |
-  <c ees aes c>1 |
+  >>
+  <c ees aes c>1
 }
 @end lilypond
 
@@ -894,15 +895,15 @@ adding another pair of @code{\\}.
 @lilypond[quote,verbatim,fragment,ragged-right]
 \new Staff \relative c'' {
   \key aes \major
-  << % Voice one
+  <<  % Voice one
     { c2 aes4. bes8 }
-  \\ % Voice two
-    { aes2 f4 fes   }
-  \\ % Omit Voice three
-  \\ % Voice four
+  \\  % Voice two
+    { aes2 f4 fes }
+  \\  % Omit Voice three
+  \\  % Voice four
     { <ees c>2 des2 }
-  >> |
-  <c ees aes c>1 |
+  >>
+  <c ees aes c>1
 }
 @end lilypond
 
@@ -999,25 +1000,25 @@ markup, ties, slurs, and dynamics:
 @lilypond[quote,ragged-right,verbatim]
 \relative c'{
   % Default behavior or behavior after \oneVoice
-  c d8 ~ d e4 ( f g a ) b-> c
+  c d8~ d e4( f g a) b-> c
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c'{
   \voiceOne
-  c d8 ~ d e4 ( f g a ) b-> c
+  c d8~ d e4( f g a) b-> c
   \oneVoice
-  c, d8 ~ d e4 ( f g a ) b-> c
+  c, d8~ d e4( f g a) b-> c
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c'{
   \voiceTwo
-  c d8 ~ d e4 ( f g a ) b-> c
+  c d8~ d e4( f g a) b-> c
   \oneVoice
-  c, d8 ~ d e4 ( f g a ) b-> c
+  c, d8~ d e4( f g a) b-> c
 }
 @end lilypond
 
@@ -1041,18 +1042,18 @@ permitting a phrasing slur to be drawn over them.
   % Start simultaneous section of three voices
   <<
     % Continue the main voice in parallel
-    { g4 f e | d2 e2) }
+    { g4 f e | d2 e2) }
     % Initiate second voice
     \new Voice {
-      % Set stems, etc, down
+      % Set stems, etc., down
       \voiceTwo
-      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
+      r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
     }
     % Initiate third voice
     \new Voice {
       % Set stems, etc, up
       \voiceThree
-      s2. | s4 b4 c2
+      s2. | s4 b4 c2 |
     }
   >>
 }
@@ -1072,12 +1073,12 @@ typeset the music:
 \new Staff \relative c' {
   c16^( d e f
   <<
-    { g4 f e | d2 e2) }
+    { g4 f e | d2 e2) }
     \new Voice {
       \voiceTwo
-      r8 e4 d c8 ~ |
+      r8 e4 d c8~
       <<
-        {c8 b16 a b8 g ~ g2}
+        { c8 b16 a b8 g~ g2 }
         \new Voice {
           \voiceThree
           s4 b4 c2
@@ -1108,7 +1109,7 @@ as here:
   \new Voice {
     % Set stems, etc, down
     \voiceTwo
-    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
+    s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
   }
   % Initiate third voice
   \new Voice {
@@ -1238,13 +1239,13 @@ rather than music.
 @lilypond[quote,verbatim]
 global = { \time 6/8 \partial 8 \key f \major}
 SopOneMusic = \relative c'' {
-  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
+  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
 SopTwoMusic = \relative c' {
-  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
+  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
 SopOneLyrics = \lyricmode {
-  Let | flee -- cy flocks the | hills a -- dorn, __ }
+  Let | flee -- cy flocks the | hills a -- dorn, __ }
 SopTwoLyrics = \lyricmode {
-  Let | flee -- cy flocks the | hills a -- dorn, }
+  Let | flee -- cy flocks the | hills a -- dorn, }
 
 \score {
   \new ChoirStaff <<
@@ -1291,18 +1292,18 @@ examples this is often called @q{global}.
 
 @lilypond[quote,verbatim]
 TimeKey = { \time 4/4 \partial 4 \key c \major}
-SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
-AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
-TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
+SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
+AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
+TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
 VerseOne   = \lyricmode {
-  E -- | ter -- nal fa -- ther, | strong to save, }
+  E -- | ter -- nal fa -- ther, | strong to save, }
 VerseTwo   = \lyricmode {
-  O | Christ, whose voice the | wa -- ters heard, }
+  O | Christ, whose voice the | wa -- ters heard, }
 VerseThree = \lyricmode {
-  O | Ho -- ly Spi -- rit, | who didst brood }
+  O | Ho -- ly Spi -- rit, | who didst brood }
 VerseFour  = \lyricmode {
-  O | Tri -- ni -- ty of | love and pow'r }
+  O | Tri -- ni -- ty of | love and pow'r }
 
 \score {
   \new ChoirStaff <<
@@ -1318,7 +1319,7 @@ VerseFour  = \lyricmode {
     \new Staff <<
       \clef "bass"
       \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
-      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
+      \new Voice = "Bass"  { \voiceTwo \BassMusic }
     >>
   >>
 }
@@ -1327,10 +1328,9 @@ VerseFour  = \lyricmode {
 @cindex verse and refrain
 
 We end with an example to show how we might code a solo verse which
-continues into a two-part refrain in two staves.  The
-positioning of the sequential and simultaneous sections to achieve
-this within a single score is quite tricky, so follow the
-explanation carefully!
+continues into a two-part refrain in two staves.  The positioning
+of the sequential and simultaneous sections to achieve this within
+a single score is quite tricky, so follow the explanation carefully!
 
 Let's start with a score block containing a @code{ChoirStaff}, as
 we would like the brace to appear at the start of the chorus.
@@ -1347,7 +1347,8 @@ start them at the same time:
 versenotes = \relative c'' {
   \clef "treble"
   \key g \major
-  \time 3/4 g g g b b b
+  \time 3/4
+  g g g | b b b |
 }
 versewords = \lyricmode {
   One two three four five six
@@ -1399,16 +1400,17 @@ how the parallel section is positioned within the verse Voice:
 versenotes = \relative c'' {
   \clef "treble"
   \key g \major
-  \time 3/4 g g g b b b
+  \time 3/4
+  g g g | b b b |
 }
 refrainnotesA = \relative c'' {
   \time 2/4
-  c c g g \bar "|."
+  c c g g \bar "|."
 }
 refrainnotesB = \relative c {
   \clef "bass"
   \key g \major
-  c e d d
+  c e | d d |
 }
 versewords = \lyricmode {
   One two three four five six
@@ -1461,16 +1463,17 @@ follows:
 versenotes = \relative c'' {
   \clef "treble"
   \key g \major
-  \time 3/4 g g g b b b
+  \time 3/4
+  g g g | b b b |
 }
 refrainnotesA = \relative c'' {
   \time 2/4
-  c c g g \bar "|."
+  c c g g \bar "|."
 }
 refrainnotesB = \relative c {
   \clef "bass"
   \key g \major
-  c e d d
+  c e | d d |
 }
 versewords = \lyricmode {
   One two three four five six
@@ -1665,8 +1668,8 @@ annotated real-music example:
       \clef "treble"
       \new Voice {  % create voice for RH notes
         \relative c'' {  % start of RH notes
-          d4 ees16 c8. |
-          d4 ees16 c8. |
+          d4 ees16 c8.
+          d4 ees16 c8.
         }  % end of RH notes
       }  % end of RH voice
     }  % end of RH staff
@@ -1676,15 +1679,15 @@ annotated real-music example:
       \new Voice {  % create LH voice one
         \voiceOne
         \relative g {  % start of LH voice one notes
-          g8 <bes d> ees, <g c> |
-          g8 <bes d> ees, <g c> |
+          g8 <bes d> ees, <g c>
+          g8 <bes d> ees, <g c>
         }  % end of LH voice one notes
       }  % end of LH voice one
       \new Voice {  % create LH voice two
         \voiceTwo
         \relative g {  % start of LH voice two notes
-          g4 ees |
-          g4 ees |
+          g4 ees
+          g4 ees
         }  % end of LH voice two notes
       }  % end of LH voice two
     >>  % end of LH staff
@@ -1950,11 +1953,11 @@ So this turns off extra naturals in one staff:
 <<
   \new Staff \relative c'' {
     ais4 aes
- }
 }
   \new Staff \relative c'' {
     \set Staff.extraNatural = ##f
     ais4 aes
- }
 }
 >>
 @end lilypond
 
@@ -1965,11 +1968,11 @@ and this turns them off in all staves:
 <<
   \new Staff \relative c'' {
     ais4 aes
- }
 }
   \new Staff \relative c'' {
     \set Score.extraNatural = ##f
     ais4 aes
- }
 }
 >>
 @end lilypond
 
@@ -2105,7 +2108,8 @@ throughout the @code{\score} or @code{\book} block in which the
     }
   }
   \layout {
-    \context { \Staff
+    \context {
+      \Staff
       extraNatural = ##t
     }
   }
@@ -2121,9 +2125,7 @@ instances of contexts by statements in a @code{\with} block, and by
 @seealso
 Notation Reference:
 @ruser{Changing context default settings}.
-@c FIXME
-@c uncomment when backslash-node-name issue is resolved -pm
-@c @ruser{The set command}.
+@ruser{The set command}.
 
 Internals Reference:
 @rinternals{Contexts},
@@ -2246,22 +2248,31 @@ staff in a four-staff score, we could write
 \score {
   <<
     \new Staff <<
-      \relative c'' { c a b g }
+      \relative c'' {
+        c a b g
+      }
     >>
     \new Staff <<
-      \relative c' { c a b g }
+      \relative c' {
+        c a b g
+      }
     >>
     \new Staff <<
       \clef "G_8"
-      \relative c' { c a b g }
+      \relative c' {
+        c a b g
+      }
     >>
     \new Staff <<
       \clef "bass"
-      \relative c { c a b g }
+      \relative c {
+        c a b g
+      }
     >>
   >>
   \layout {
-    \context { \Staff
+    \context {
+      \Staff
       \consists Ambitus_engraver
     }
   }
@@ -2303,10 +2314,10 @@ But what if you want something that isn't covered there?  Read on.
 @cindex template, modifying
 @cindex modifying templates
 
-Start off with the template that seems closest to what you want to end
-up with.  Let's say that you want to write something for soprano and
-cello.  In this case, we would start with the @q{Notes and lyrics} template (for the
-soprano part).
+Start off with the template that seems closest to what you want to
+end up with.  Let's say that you want to write something for
+soprano and cello.  In this case, we would start with the
+@q{Notes and lyrics} template (for the soprano part).
 
 @example
 \version @w{"@version{}"}
@@ -2424,14 +2435,14 @@ at once.  The @code{\score} looks like this now:
 @example
 \score @{
   <<
-  <<
-    \new Voice = "one" @{
-      \autoBeamOff
-      \sopranoMusic
-    @}
-    \new Lyrics \lyricsto "one" \sopranoLyrics
-  >>
-  \new Staff \celloMusic
+    <<
+      \new Voice = "one" @{
+        \autoBeamOff
+        \sopranoMusic
+      @}
+      \new Lyrics \lyricsto "one" \sopranoLyrics
+    >>
+    \new Staff \celloMusic
   >>
   \layout @{ @}
   \midi @{ @}
@@ -2524,16 +2535,16 @@ bassWords = \sopranoWords
 upper = \relative a' {
   \clef "treble"
   \global
-  r4 <a d fis>2 <a e' a>4 |
-  <d fis d'>4. <d fis d'>8 <a d a'>2 |
-  <g cis g'>4 <a d fis> <a cis e>2 |
+  r4 <a d fis>2 <a e' a>4
+  <d fis d'>4. <d fis d'>8 <a d a'>2
+  <g cis g'>4 <a d fis> <a cis e>2
 }
 lower = \relative c, {
   \clef "bass"
   \global
-  <d d'>4 <d d'>2 <cis cis'>4 |
-  <b b'>4. <b' b'>8 <fis fis'>2 |
-  <e e'>4 <d d'> <a' a'>2 |
+  <d d'>4 <d d'>2 <cis cis'>4
+  <b b'>4. <b' b'>8 <fis fis'>2
+  <e e'>4 <d d'> <a' a'>2
 }
 
 \score {
@@ -2541,26 +2552,41 @@ lower = \relative c, {
     \new ChoirStaff <<
       \new Staff = "sopranos" <<
         \set Staff.instrumentName = #"Soprano"
-        \new Voice = "sopranos" { \global \sopranoMusic }
+        \new Voice = "sopranos" {
+          \global
+          \sopranoMusic
+        }
       >>
-      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
+      \new Lyrics \lyricsto "sopranos" {
+        \sopranoWords
+      }
       \new Staff = "altos" <<
         \set Staff.instrumentName = #"Alto"
-        \new Voice = "altos" { \global \altoMusic }
+        \new Voice = "altos" {
+          \global
+          \altoMusic
+        }
       >>
       \new Lyrics \lyricsto "altos" { \altoWords }
       \new Staff = "tenors" <<
         \set Staff.instrumentName = #"Tenor"
-        \new Voice = "tenors" { \global \tenorMusic }
+        \new Voice = "tenors" {
+          \global
+          \tenorMusic
+        }
       >>
       \new Lyrics \lyricsto "tenors" { \tenorWords }
       \new Staff = "basses" <<
         \set Staff.instrumentName = #"Bass"
-        \new Voice = "basses" { \global \bassMusic }
+        \new Voice = "basses" {
+          \global
+          \bassMusic
+        }
       >>
-      \new Lyrics \lyricsto "basses" { \bassWords }
+      \new Lyrics \lyricsto "basses" {
+        \bassWords
+      }
     >>  % end ChoirStaff
-
     \new PianoStaff <<
       \set PianoStaff.instrumentName = #"Piano"
       \new Staff = "upper" \upper
@@ -2594,24 +2620,44 @@ Doing this gives for our ChoirStaff:
     \new ChoirStaff <<
       \new Staff = "sopranos" <<
         \set Staff.instrumentName = #"Soprano"
-        \new Voice = "sopranos" @{ \global \sopranoMusic @}
+        \new Voice = "sopranos" @{
+          \global
+          \sopranoMusic
+        @}
       >>
-      \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
+      \new Lyrics \lyricsto "sopranos" @{
+        \sopranoWords
+     @}
       \new Staff = "altos" <<
         \set Staff.instrumentName = #"Alto"
-        \new Voice = "altos" @{ \global \altoMusic @}
+        \new Voice = "altos" @{
+          \global
+          \altoMusic
+        @}
       >>
-      \new Lyrics \lyricsto "altos" @{ \altoWords @}
+      \new Lyrics \lyricsto "altos" @{
+        \altoWords
+      @}
       \new Staff = "tenors" <<
         \set Staff.instrumentName = #"Tenor"
-        \new Voice = "tenors" @{ \global \tenorMusic @}
+        \new Voice = "tenors" @{
+          \global
+          \tenorMusic
+        @}
       >>
-      \new Lyrics \lyricsto "tenors" @{ \tenorWords @}
+      \new Lyrics \lyricsto "tenors" @{
+        \tenorWords
+      @}
       \new Staff = "basses" <<
         \set Staff.instrumentName = #"Bass"
-        \new Voice = "basses" @{ \global \bassMusic @}
+        \new Voice = "basses" @{
+          \global
+          \bassMusic
+        @}
       >>
-      \new Lyrics \lyricsto "basses" @{ \bassWords @}
+      \new Lyrics \lyricsto "basses" @{
+        \bassWords
+      @}
     >>  % end ChoirStaff
 @end example
 
@@ -2638,23 +2684,43 @@ stacked one above the other:
 <<  % combine ChoirStaff and PianoStaff one above the other
   \new ChoirStaff <<
     \new Staff = "sopranos" <<
-      \new Voice = "sopranos" @{ \global \sopranoMusic @}
+      \new Voice = "sopranos" @{
+        \global
+        \sopranoMusic
+      @}
     >>
-    \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
+    \new Lyrics \lyricsto "sopranos" @{
+      \sopranoWords
+     @}
     \new Staff = "altos" <<
-      \new Voice = "altos" @{ \global \altoMusic @}
+      \new Voice = "altos" @{
+        \global
+        \altoMusic
+      @}
     >>
-    \new Lyrics \lyricsto "altos" @{ \altoWords @}
+    \new Lyrics \lyricsto "altos" @{
+      \altoWords
+    @}
     \new Staff = "tenors" <<
       \clef "G_8"  % tenor clef
-      \new Voice = "tenors" @{ \global \tenorMusic @}
+      \new Voice = "tenors" @{
+        \global
+        \tenorMusic
+      @}
     >>
-    \new Lyrics \lyricsto "tenors" @{ \tenorWords @}
+    \new Lyrics \lyricsto "tenors" @{
+      \tenorWords
+    @}
     \new Staff = "basses" <<
       \clef "bass"
-      \new Voice = "basses" @{ \global \bassMusic @}
+      \new Voice = "basses" @{
+        \global
+        \bassMusic
+      @}
     >>
-    \new Lyrics \lyricsto "basses" @{ \bassWords @}
+    \new Lyrics \lyricsto "basses" @{
+      \bassWords
+    @}
   >>  % end ChoirStaff
 
   \new PianoStaff <<
@@ -2669,7 +2735,10 @@ Combining all these together and adding the music
 for the three bars of the example above gives:
 
 @lilypond[quote,verbatim,ragged-right,addversion]
-global = { \key d \major \time 4/4 }
+global = {
+  \key d \major
+  \time 4/4
+}
 sopranoMusic = \relative c'' {
   \clef "treble"
   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
@@ -2695,16 +2764,16 @@ bassWords = \sopranoWords
 upper = \relative a' {
   \clef "treble"
   \global
-  r4 <a d fis>2 <a e' a>4 |
-  <d fis d'>4. <d fis d'>8 <a d a'>2 |
-  <g cis g'>4 <a d fis> <a cis e>2 |
+  r4 <a d fis>2 <a e' a>4
+  <d fis d'>4. <d fis d'>8 <a d a'>2
+  <g cis g'>4 <a d fis> <a cis e>2
 }
 lower = \relative c, {
   \clef "bass"
   \global
-  <d d'>4 <d d'>2 <cis cis'>4 |
-  <b b'>4. <b' b'>8 <fis fis'>2 |
-  <e e'>4 <d d'> <a' a'>2 |
+  <d d'>4 <d d'>2 <cis cis'>4
+  <b b'>4. <b' b'>8 <fis fis'>2
+  <e e'>4 <d d'> <a' a'>2
 }
 
 \score {
@@ -2712,24 +2781,44 @@ lower = \relative c, {
     \new ChoirStaff <<
       \new Staff = "sopranos" <<
         \set Staff.instrumentName = #"Soprano"
-        \new Voice = "sopranos" { \global \sopranoMusic }
+        \new Voice = "sopranos" {
+          \global
+          \sopranoMusic
+        }
       >>
-      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
+      \new Lyrics \lyricsto "sopranos" {
+        \sopranoWords
+      }
       \new Staff = "altos" <<
         \set Staff.instrumentName = #"Alto"
-        \new Voice = "altos" { \global \altoMusic }
+        \new Voice = "altos" {
+          \global
+          \altoMusic
+        }
       >>
-      \new Lyrics \lyricsto "altos" { \altoWords }
+      \new Lyrics \lyricsto "altos" {
+        \altoWords
+      }
       \new Staff = "tenors" <<
         \set Staff.instrumentName = #"Tenor"
-        \new Voice = "tenors" { \global \tenorMusic }
+        \new Voice = "tenors" {
+          \global
+          \tenorMusic
+        }
       >>
-      \new Lyrics \lyricsto "tenors" { \tenorWords }
+      \new Lyrics \lyricsto "tenors" {
+        \tenorWords
+      }
       \new Staff = "basses" <<
         \set Staff.instrumentName = #"Bass"
-        \new Voice = "basses" { \global \bassMusic }
+        \new Voice = "basses" {
+          \global
+          \bassMusic
+        }
       >>
-      \new Lyrics \lyricsto "basses" { \bassWords }
+      \new Lyrics \lyricsto "basses" {
+        \bassWords
+      }
     >>  % end ChoirStaff
 
     \new PianoStaff <<
@@ -2776,11 +2865,14 @@ and key:
   title = "Jesu, meine Freude"
   composer = "J S Bach"
 @}
-TimeKey = @{ \time 4/4 \key c \minor @}
-ManualOneVoiceOneMusic = @{s1@}
-ManualOneVoiceTwoMusic = @{s1@}
-ManualTwoMusic = @{s1@}
-PedalOrganMusic = @{s1@}
+TimeKey = @{
+  \time 4/4
+  \key c \minor
+@}
+ManualOneVoiceOneMusic = @{ s1 @}
+ManualOneVoiceTwoMusic = @{ s1 @}
+ManualTwoMusic = @{ s1 @}
+PedalOrganMusic = @{ s1 @}
 
 \score @{
 @}
@@ -2801,11 +2893,17 @@ part just one.
 @example
   \new PianoStaff <<
     \new Staff = "ManualOne" <<
-      \new Voice @{ \ManualOneVoiceOneMusic @}
-      \new Voice @{ \ManualOneVoiceTwoMusic @}
+      \new Voice @{
+        \ManualOneVoiceOneMusic
+      @}
+      \new Voice @{
+        \ManualOneVoiceTwoMusic
+      @}
     >>  % end ManualOne Staff context
     \new Staff = "ManualTwo" <<
-      \new Voice @{ \ManualTwoMusic @}
+      \new Voice @{
+        \ManualTwoMusic
+      @}
     >>  % end ManualTwo Staff context
   >>  % end PianoStaff context
 @end example
@@ -2824,15 +2922,23 @@ see what errors it generates.
 <<  % PianoStaff and Pedal Staff must be simultaneous
   \new PianoStaff <<
     \new Staff = "ManualOne" <<
-      \new Voice @{ \ManualOneVoiceOneMusic @}
-      \new Voice @{ \ManualOneVoiceTwoMusic @}
+      \new Voice @{
+        \ManualOneVoiceOneMusic
+      @}
+      \new Voice @{
+        \ManualOneVoiceTwoMusic
+      @}
     >>  % end ManualOne Staff context
     \new Staff = "ManualTwo" <<
-      \new Voice @{ \ManualTwoMusic @}
+      \new Voice @{
+        \ManualTwoMusic
+      @}
     >>  % end ManualTwo Staff context
   >>  % end PianoStaff context
   \new Staff = "PedalOrgan" <<
-    \new Voice @{ \PedalOrganMusic @}
+    \new Voice @{
+      \PedalOrganMusic
+    @}
   >>
 >>
 @end example
@@ -2859,19 +2965,29 @@ and key to each staff using our predefined variable, @code{\TimeKey}.
       \new Staff = "ManualOne" <<
         \TimeKey  % set time signature and key
         \clef "treble"
-        \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @}
-        \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @}
+        \new Voice @{
+          \voiceOne
+          \ManualOneVoiceOneMusic
+        @}
+        \new Voice @{
+          \voiceTwo
+          \ManualOneVoiceTwoMusic
+        @}
       >>  % end ManualOne Staff context
       \new Staff = "ManualTwo" <<
         \TimeKey
         \clef "bass"
-        \new Voice @{ \ManualTwoMusic @}
+        \new Voice @{
+          \ManualTwoMusic
+        @}
       >>  % end ManualTwo Staff context
     >>  % end PianoStaff context
     \new Staff = "PedalOrgan" <<
       \TimeKey
       \clef "bass"
-      \new Voice @{ \PedalOrganMusic @}
+      \new Voice @{
+        \PedalOrganMusic
+      @}
     >>  % end PedalOrgan Staff
   >>
 @}  % end Score context
@@ -2887,22 +3003,26 @@ is to add the music, and combine all the parts together.
   title = "Jesu, meine Freude"
   composer = "J S Bach"
 }
-TimeKey = { \time 4/4 \key c \minor }
+TimeKey = {
+  \time 4/4
+  \key c \minor
+}
 ManualOneVoiceOneMusic = \relative g' {
-  g4 g f ees | d2 c2 |
+  g4 g f ees
+  d2 c2
 }
 ManualOneVoiceTwoMusic = \relative c' {
-  ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
-  c c4 b8 c8. g16 c b c d |
+  ees16 d ees8~ ees16 f ees d c8 d~ d c~
+  c c4 b8 c8. g16 c b c d
 }
 ManualTwoMusic = \relative c' {
-  c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
-  f ees f d g aes g f ees d e8~ ees16 f ees d |
+  c16 b c8~ c16 b c g a8 g~ g16 g aes ees
+  f ees f d g aes g f ees d e8~ ees16 f ees d
 }
 PedalOrganMusic = \relative c {
-  r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
-  r16 g ees f g f g8 c,2 |
-  }
+  r8 c16 d ees d ees8~ ees16 a, b g c b c8
+  r16 g ees f g f g8 c,2
+}
 
 \score {
   <<  % PianoStaff and Pedal Staff must be simultaneous
@@ -2910,19 +3030,29 @@ PedalOrganMusic = \relative c {
       \new Staff = "ManualOne" <<
         \TimeKey  % set time signature and key
         \clef "treble"
-        \new Voice { \voiceOne \ManualOneVoiceOneMusic }
-        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
+        \new Voice {
+          \voiceOne
+          \ManualOneVoiceOneMusic
+        }
+        \new Voice {
+          \voiceTwo
+          \ManualOneVoiceTwoMusic
+        }
       >>  % end ManualOne Staff context
       \new Staff = "ManualTwo" <<
         \TimeKey
         \clef "bass"
-        \new Voice { \ManualTwoMusic }
+        \new Voice {
+          \ManualTwoMusic
+        }
       >>  % end ManualTwo Staff context
     >>  % end PianoStaff context
     \new Staff = "PedalOrgan" <<
       \TimeKey
       \clef "bass"
-      \new Voice { \PedalOrganMusic }
+      \new Voice {
+        \PedalOrganMusic
+      }
     >>  % end PedalOrgan Staff context
   >>
 }  % end Score context
@@ -2951,7 +3081,12 @@ You may even realize that this could be useful in minimalist music:
 @lilypond[quote,verbatim,ragged-right]
 fragmentA = \relative c'' { a4 a8. b16 }
 fragmentB = \relative c'' { a8. gis16 ees4 }
-violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
+violin = \new Staff {
+  \fragmentA
+  \fragmentA
+  \fragmentB
+  \fragmentA
+}
 \score {
   {
     \violin
@@ -2964,22 +3099,22 @@ macros, or user-defined commands) for tweaks:
 
 @c TODO Avoid padtext - not needed with skylining
 @lilypond[quote,verbatim,ragged-right]
-dolce = \markup{ \italic \bold dolce }
+dolce = \markup { \italic \bold dolce }
 padText = { \once \override TextScript #'padding = #5.0 }
-fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
+fthenp=_\markup { \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
 violin = \relative c'' {
   \repeat volta 2 {
-    c4._\dolce b8 a8 g a b |
+    c4._\dolce b8 a8 g a b
     \padText
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\fthenp b8 c4 c-. |
+    c4.^"hi there!" d8 e' f g d
+    c,4.\fthenp b8 c4 c-.
   }
 }
 \score {
   {
     \violin
   }
-\layout{ragged-right=##t}
+\layout { ragged-right=##t }
 }
 @end lilypond
 
@@ -2993,11 +3128,12 @@ the last line.
 @example
 violin = \relative c'' @{
   \repeat volta 2 @{
-    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
+    c4._\markup @{ \italic \bold dolce @} b8 a8 g a b
     \once \override TextScript #'padding = #5.0
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
-      \hspace #0.1 \dynamic p @} b8 c4 c-. |
+    c4.^"hi there!" d8 e' f g d
+    c,4.\markup @{ \dynamic f \italic \small @{ 2nd @}
+      \hspace #0.1 \dynamic p @}
+    b8 c4 c-.
   @}
 @}
 @end example
@@ -3148,13 +3284,14 @@ leading to
 @lilypond[quote,ragged-right]
 \relative c <<
   \new Staff {
-    \time 2/4 R2*3
+    \time 2/4
+    R2*3
     r4 f8 a cis4 f e d
   }
   \new Staff {
     \clef bass
     r4 d,8 f | gis4 c | b bes |
-    a8 e f4 | g d | gis f
+    a8 e f4 | g d | gis f |
   }
 >>
 @end lilypond
index 2ccdd156732ab4c60fccbab9e52381721925b3e3..ce643205ad3acda171de05a3567bdb64be012850 100644 (file)
@@ -2838,9 +2838,6 @@ second voice.
 
 @subheading force-hshift property
 
-@c FIXME: formatting stuff  (ie not important right now IMO)
-@c @a nchor Chopin finally corrected TODOgp
-
 We can now see how to apply the final corrections to the Chopin
 example introduced at the end of @ref{I'm hearing Voices}, which
 was left looking like this:
index 376e201a8cd494564589aaa6977762017dd42ca3..92c48b970c9e94b11e40e3b737a748046af1ef02 100644 (file)
@@ -636,8 +636,8 @@ sub lc_last($)
   my $href = shift;
   my @hrefsplit = split('/', $href);
   # change the last portion (the filename), if it exists
-  if ($#array > 0) {
-    @hrefsplit[$#array] = lc( @hrefsplit[$#array] );
+  if ($#hrefsplit > 0) {
+    @hrefsplit[$#hrefsplit] = lc( @hrefsplit[$#hrefsplit] );
     $href = join("/", @hrefsplit);
   }
   return $href;
index 94899d1e0edb01043d221194835f659bbfe271e9..9c5da9d02a3f7fa634e7af915aa2860f8d718a46 100644 (file)
@@ -1468,7 +1468,7 @@ or crashes, or both.
 
 
 @node The set command
-@subsection The @code{\set} command
+@subsection The @code{@bs{}set} command
 
 @cindex properties
 @funindex \set
@@ -2979,7 +2979,7 @@ The locations of the end-points of the spanner are computed
 on-the-fly for every graphic object, but it is possible to
 override these:
 
-@c FIXME Complete
+@c TODO Complete
 @lilypond[relative=2,ragged-right,verbatim,fragment]
 e2 \glissando f
 \once \override Glissando #'(bound-details right Y) = #-2
@@ -3411,7 +3411,7 @@ e
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
 
-@c FIXME Expand this section
+@c TODO Expand this section
 
 The VerticalAlignment and VerticalAxisGroup grobs work together.
 VerticalAxisGroup groups together different grobs like Staff, Lyrics,
index daacbe957b68645e90b0a027f30dcc117ba71233..a95b74253b8e3e6d7bf742d51806df7c607dbdd0 100644 (file)
@@ -827,7 +827,7 @@ sixth steps) can be created:
 }
 @end lilypond
 
-Vertical spaces and brackets can be be included in figures:
+Vertical spaces and brackets can be included in figures:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
index 5574b59e50b71ac10884d6deda9d9aa07b3f34b0..25f0d7d73f9e7b64773733b862b44e89d83e1e9a 100644 (file)
@@ -403,7 +403,7 @@ Chords that cross staves may be produced:
         \clef bass
         % stems may overlap the other staff
         \override Stem #'cross-staff = ##t
-        % extend the stems to reach other other staff
+        % extend the stems to reach the other staff
         \override Stem #'length = #12
         % do not print extra flags
         \override Stem #'flag-style = #'no-flag
index a41a53a03a264da0fb55882f20483daba632caed..7c3a27bd8670f3219971f6a13e11f82a4a23058a 100644 (file)
@@ -229,7 +229,7 @@ There are also other layout possibilities.  To use these, set the
 property @code{drumStyleTable} in context @code{DrumVoice}.  The
 following variables have been predefined:
 
-@c FIXME: decide what to do about this table.  (ie verbatim or not)
+@c TODO: decide what to do about this table.  (ie verbatim or not)
 @table @code
 
 @item drums-style
@@ -397,7 +397,7 @@ down = \drummode { bd4 sn bd toml8 toml }
 
 @snippets
 
-FIXME: MOVE ALL THESE TO LSR!  -gp
+@c TODO: MOVE ALL THESE TO LSR!  -gp
 
 Here are some examples:
 
index f20b9f4dd4c2cc7d578502d6d86e6398e28f3abe..313dcf31148dacaf0b8abb6713afaf0d226c7997 100644 (file)
@@ -939,10 +939,15 @@ c2 c
 c2 c
 \clef baritone
 c2 c
+
+\break
+
 \clef varbaritone
 c2 c
 \clef subbass
 c2 c
+\clef percussion
+c2 c
 
 \break
 
@@ -980,8 +985,8 @@ c2 c
 @end lilypond
 
 Some special purpose clefs are described in @ref{Mensural clefs},
-@ref{Gregorian clefs}, @ref{Default tablatures}, @ref{Custom
-tablatures}, and @ref{Basic percussion notation}.
+@ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom
+tablatures}.
 
 @snippets
 
@@ -994,8 +999,7 @@ Notation Reference:
 @ref{Mensural clefs},
 @ref{Gregorian clefs},
 @ref{Default tablatures},
-@ref{Custom tablatures},
-@ref{Basic percussion notation}.
+@ref{Custom tablatures}.
 
 Snippets:
 @rlsr{Pitches}.
index ae7fe8347b218aae2b1b4afc6e15109aea17bfaf..9e2b53e61db8021610ecbd34622870bee06c9035 100644 (file)
@@ -212,7 +212,7 @@ A nested repeat like
 @end example
 
 @noindent
-is ambiguous, since it is is not clear to which @code{\repeat} the
+is ambiguous, since it is not clear to which @code{\repeat} the
 @code{\alternative} belongs.  This ambiguity is resolved by always
 having the @code{\alternative} belong to the inner @code{\repeat}.
 For clarity, it is advisable to use braces in such situations.
index 57e35363eada2241912fb645a3b6a939ee54b96a..f7ff2fc929bdec9c54b03314f2edcae1f0fdb961 100644 (file)
@@ -1380,7 +1380,7 @@ Internals Reference:
 @knownissues
 
 When using different time signatures in parallel, notes
-at the same moment will be be placed at the same horizontal
+at the same moment will be placed at the same horizontal
 location.  However, the bar lines in the different staves
 will cause the note spacing to be less regular in each of the
 individual staves than would be normal without the different
index 2003bff181a23004a65bb172628cf979f2338126..9a5a7bea28194e1bccdc1deaabc30a8dc847ddab 100644 (file)
@@ -554,7 +554,7 @@ increased by one.  Default: @code{##f}.
 
 @ignore
 
-FIXME: this variable is used, but I don't know what it does. -pm
+TODO: this variable is used, but I don't know what it does. -pm
 @item blank-after-score-page-force
 @funindex blank-after-score-page-force
 
index cac17599700817d51fdf08a5ee6704a096d199fc..c523f37596cd30c14914e0feea69c8c8fb45bc2f 100644 (file)
@@ -303,8 +303,8 @@ Internals Reference:
 @funindex markup
 
 A @code{\markup} block can exist by itself, outside of any
-any @code{\score} block, as a @qq{top-level
-expression}.  This syntax is described in @ref{File structure}.
+@code{\score} block, as a @qq{top-level expression}.  This syntax
+is described in @ref{File structure}.
 
 @lilypond[verbatim,quote]
 \markup {
index 44f4b8c8aa723a4edcd390a23d3e9c06410dd08d..34f6cc4938227d2a3b6d3eee3a612688b9de6430 100644 (file)
@@ -156,7 +156,7 @@ Notation Reference:
 @cindex spaces, in lyrics
 @cindex quotes, in lyrics
 
-@c FIXME: this section is to be rewritten.
+@c TODO: this section is to be rewritten.
 Since LilyPond input files are text, there is at least one
 issue to consider when working with vocal music:
 song texts must be interpreted as text, not notes.  For example, the
@@ -301,7 +301,7 @@ Internals Reference:
 @rinternals{LyricSpace}.
 
 
-@c FIXME: this title has to be changed (possible confusion with LM) -vv
+@c TODO: this title has to be changed (possible confusion with LM) -vv
 @node Setting simple songs
 @unnumberedsubsubsec Setting simple songs
 
@@ -395,7 +395,7 @@ The final input would resemble
 @end example
 
 @ignore
-@c FIXME
+@c TODO
 http://code.google.com/p/lilypond/issues/detail?id=329
 The problem cannot be reproduced.
 The following has no sense, because the issue seems to be fixed.
@@ -441,7 +441,7 @@ Internals Reference:
 @funindex \addlyrics
 @funindex \lyricsto
 
-@c FIXME: this stuff is to be rewritten. -vv
+@c TODO: this stuff is to be rewritten. -vv
 
 Aligning of text with melodies can be made automatically, but if you
 specify the durations of the syllables it can also be made manually.
@@ -646,7 +646,7 @@ single syllable; such vocalises are called melismas, or melismata.
 You can define melismata entirely in the lyrics, by entering @code{_}
 for every extra note that has to be added to the melisma.
 
-@c FIXME: clarify: __ is used to crate a lyric extender,
+@c TODO: clarify: __ is used to crate a lyric extender,
 @c _ is used to add a note to a melisma, so both __ and _ are needed.
 
 @c verbose! --FV
@@ -710,7 +710,8 @@ behavior}) is switched off.
 >>
 @end lilypond
 
-@c FIXME: this now links to LM -vv
+@c TODO: this now links to LM -vv
+@c   umm, yeah... so what?  -gp
 
 @cindex SATB
 @cindex choral score
@@ -803,7 +804,7 @@ TBC
 @node Specific uses of lyrics
 @subsection Specific uses of lyrics
 
-@c FIXME This whole section is to be reorganized. -vv
+@c TODO This whole section is to be reorganized. -vv
 
 Often, different stanzas of one song are put to one melody in slightly
 differing ways.  Such variations can still be captured with
@@ -1214,7 +1215,7 @@ This is achieved with
 Here, @code{alternative} is the name of the @code{Voice} context
 containing the triplet.
 
-@c FIXME: make this easier to understand -vv
+@c TODO: make this easier to understand -vv
 This command must be one syllable too early, before @q{Ty} in this
 case.  In other words, changing the associatedVoice happens one step
 later than expected.  This is for technical reasons, and it is not a
index ec09b52e30410432a61163f4607fc3d70590464e..fa14958da304381b696601299350a6e0eeee153e 100644 (file)
Binary files a/Documentation/pictures/baer-sarabande.png and b/Documentation/pictures/baer-sarabande.png differ
diff --git a/Documentation/pictures/baer-suite1-fullpage-hires.png b/Documentation/pictures/baer-suite1-fullpage-hires.png
new file mode 100644 (file)
index 0000000..e2ccd60
Binary files /dev/null and b/Documentation/pictures/baer-suite1-fullpage-hires.png differ
index e2ccd60b48d785f4580423b33ab5da192bca42e4..494f6e0294ba774e2dbfcb60245367040f4f1a7b 100644 (file)
Binary files a/Documentation/pictures/baer-suite1-fullpage.png and b/Documentation/pictures/baer-suite1-fullpage.png differ
index 346f16d20640ca496edaebf7daedc83815804580..3933f3f2135104748f76a927a04adaa838b7cd41 100644 (file)
Binary files a/Documentation/pictures/bwv861mm28-29.png and b/Documentation/pictures/bwv861mm28-29.png differ
diff --git a/Documentation/pictures/henle-suite1-fullpage-hires.png b/Documentation/pictures/henle-suite1-fullpage-hires.png
new file mode 100644 (file)
index 0000000..44ac2f1
Binary files /dev/null and b/Documentation/pictures/henle-suite1-fullpage-hires.png differ
index 44ac2f110159275b6213cbae9978af6bf7025d6b..75ffa117910a1578d7029457b0fb5f914a5f374b 100644 (file)
Binary files a/Documentation/pictures/henle-suite1-fullpage.png and b/Documentation/pictures/henle-suite1-fullpage.png differ
index ec33fc6fcc6ba70e4e6e355b26a6d474d8f75d95..98769d7584e1b83b78f8d4319eae5da71eca6262 100644 (file)
Binary files a/Documentation/pictures/lily14-sarabande-annotated.png and b/Documentation/pictures/lily14-sarabande-annotated.png differ
index 36aaf5614315dd49cfca5c01e95cb8efbf32893d..8d54f3fe84680eeb741c6418064f1c4c89431f52 100644 (file)
Binary files a/Documentation/pictures/lily14-sarabande.png and b/Documentation/pictures/lily14-sarabande.png differ
index 8eb57528d0e19d687b6c35a41762d79fc6a757d7..bfb0d7deaac43574424772f2765df36eae4a5e01 100644 (file)
Binary files a/Documentation/pictures/pdf/OpusAndFeta.pdf and b/Documentation/pictures/pdf/OpusAndFeta.pdf differ
index 1136ae2a16c10f13a17770b152b80089150202b9..10b39658eb33f131ed4b0115d23dfe8be798413e 100644 (file)
Binary files a/Documentation/pictures/pdf/bwv861mm28-29.pdf and b/Documentation/pictures/pdf/bwv861mm28-29.pdf differ
index bb4b89c9cacf0592dab53fca5fead33521e6b3fc..87412a21f09f0a442a263ccafe6df971f600a0e5 100644 (file)
@@ -1,9 +1,5 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
 
-@c FIXME: dump "public domain" notice in this manual, and fix
-@c the generic doc page title macro to not automatically put
-@c FDL on stuff.  Or maybe make a separate macro.
-
 @setfilename lilypond-snippets.info
 @settitle LilyPond snippets
 @documentencoding UTF-8
index 048da23bcbb63cb9cf2e1a9c7e7a5b7aba049222..0f1982adccdd91a7008614063a35b0eff5cbb59d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 b82fb9548b2c29245006e1945976991fb899f977..34e1bae8175b08aa014d864e5843b5e2d12b4176 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords, ancient-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Al escribir un bajo cifrado, existe una forma de especificar si
 queremos que las cifras se sitúen encima o debajo de las notas del
index c67d612db2c10d55f9079696cd7e96602963533e..9ef23147e1cb5ebf419c414871db77544d36243e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation, vocal-music"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Añadir un ámbito por voz"
   texidoces = "
 Se puede añadir un ámbito por cada voz. En este caso, el ámbito se
index 69928df6213ea802a1147a7864bb18786868dab9..9f5b0ca6e0e48f4d422096a24848f2163a993352 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers, breaks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 d9605ecefa559dbd0a2d7e616f40e6826aa75b61..0686fad1d76b31bd11db20d5a8e6a8c961c5185b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede añadir (posiblemente de forma temporal) un pentagrama
 nuevo una vez que la pieza ha comenzado.
index 42380cd1ec5178f9968e0bfbde7667e6da69c784..e50ac6ebdcaa9b42886dc0ada89be2445a1f5a4b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Para añadir indicaciones de línea divisoria dentro del contexto de
 los nombres de acorde @code{ChordNames}, incluya el grabador
index 0eba0520020d9268c2bd9e5d1c85fa273ecb9efd..e5b791d56285302fb8e69e19622de9a4f5f247aa 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La sintaxis de LilyPond puede implicar muchas colocaciones poco
 comunes para los paréntesis, corchetes, etc, que a veces se tienen
index 974a3046dbae8d89966676e5ee3b3ff27a716e01..b4aa1aad7a895e838dace8df5c3e1864d029c84f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, percussion"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Mediante la utilización de las potentes herramientas preconfiguradas
 como la función @code{\\drummode} y el contexto @code{DrumStaff}, la
index 7224d8d03bdaa5bde65e6e16a98f6c64af1319c1..d14ae822069f6df3cdb5bea9ba7b1f7bc8d5715a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La función @code{\\parenthesize} es un truco especial que encierra
 objetos entre paréntesis.  El grob asociado es @code{ParenthesesItem}.
index bf7b21d7dc7ee4a57f29812eb186ec33273312ea..d5eb9c2b7cf4de8f6baf1475f8034ef3514022fe 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, titles"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Con algo de código de Scheme, se puede añadir fácilmente la fecha
 actual a una partitura.
index 45c0ce03dd132e2372e6796afc8736197819341c..17dff6aa5598718b278672743ab4c89a71fde563 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 El grabador @code{Volta_engraver} reside de forma predeterminada
 dentro del contexto de @code{Score}, y los corchetes de la repetición
index d617533573bcedde6ceed07eb7f133c71bfe0d85..a19ec0848aa56e5911ab24a2ae41527c019b5926 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Voces adicionales para evitar colisiones"
  texidoces = "
 En ciertos casos de polifonía compleja, se necesitan voces adicionales
index fae7a1c6c603e339c25364c39de9e8c0c8093872..f9de50dc263f6d4e20cc1e12c767e1eaf1832a00 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music, spacing"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Este fragmento de código muestra cómo situar la línea de base de la
 letra más cerca del pentagrama.
index 430809d541e02490e40848d8e764fe0ecb8f4276..75a07f1556c85f315ded9cf693d86daefca9f7b4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Puede ser necesario trucar la propiedad
 @code{shortest-duration-space} para poder ajustar el tamaño de las
index 1a09bcdb1ffa0174ec3ca178dd708f153a95fd2a..7d289250812a1aecb2d7e71abb6ede0b914d1023 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, paper-and-layout, titles"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La alineación horizontal de los nombres de instrumento se puede
 trucar modificando la propiedad @code{Staff.InstrumentName
index 789e89c1a0be7758627c422a2fb9e9768d297198..a9084121eaefaebdf4cce52028345978a0de7b50 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Los números de compás se alinean de forma predeterminada por la
index 4ff3bbb19bfa226d24afb6562eef5e93572e1928..f88ddfd90b60343df01c52fc50b78dacfd569122 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 8e694406679f001a8c90e912882f12e2371eb5c4..445ed012821b74e7af64d023fde4f631fb7ac9e0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, fretted-strings, spacing"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 
   texidoces = "
 Las cifras de digitación orientadas verticalmente se colocan de forma
index c83498f2f7df34f3199a9b3e77030e36b72875de..6f58f579a45357adf03cd080b66f85ef659b2cd1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, vocal-music"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Ámbitos con varias voces"
   texidoces = "
 La adición del grabador @code{Ambitus_engraver} al contexto de
index 22830c78b1701033523673b3738c44409ab9087e..e7b341b7c3e4270e129ec1ed784532e307d57056 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 De forma predeterminada se añaden corchetes de análisis sencillos
 debajo del pentagrama.  El ejemplo siguiente muestra una manera de
index e8d72770c26406f75146b99abb9da23abca5479c..5bd3fb8b156d470486e533f7dbecab8f3342762b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 1c83bebc7211ae426197f899655d5335d2c48410..84ac1b7f14fe11930220b496c29dce2b966a6aa2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 f3af6387a3edf6c2e8eaef2c86953bc6e254c100..100fee64f1429faef58802c46648dffbade49c05 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Al transcribir música mensural, es útil un «incipit» al compienzo
 de la pieza para indicar la tonalidad y el tempo
index 9606631df40c7d18fbb8db6fddc84e2af2a1e5e5..86820160f5702867dee213ccdfe15d436ffa363f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las indicaciones de compás también se pueden grabar en estilo antiguo.
 
index c781f77ee79d678fddd5cb2ea2df1146b9688c84..3d9bc8e0316f4671bb2c68e113d6e63335137979 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Aplicar estilos de cabeza según la nota de la escala"
   texidoces = "
 La propiedad @code{shapeNoteStyles} se puede usar para definir varios
index fbc23e0179d9def8226bcbbb9712e56358d90947..65088ca71c04830dd534e34a0893e05cc584e2bb 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "world-music"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 64903ea55f902740b1d9eae846016f469d1f7dcb..c051d423576ace9bf0bb3bf537bc315fd5f4d203 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden subdividir las barras automáticamente.  Estableciendo la
 propiedad @code{subdivideBeams}, las barras se subdividen en
index 2b9eceddb5c7f83613ca336d11745d5e75252a3e..6f768627a39a4129c67a88cec7eaa7a7d0ea9980 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las reglas de final de barra especificadas en el contexto
 @code{Score} se aplican a todos los pentagramas, pero se pueden
index 6d2a7d0815412bfd56812653f2c400fcdcbdd566..f44ab2070425d566d4e4333a25033c171f432c2e 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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
index fb8e96b83ae856cd6b13ea6ab5f46d9897f309fc..e5f99f1d5313552a0988fac162bfde70fed135f8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Normalmente están prohibidos los saltos de línea si las barras
 atraviesan las líneas divisorias.  Se puede cambiar este
index da5c0b7d67fb151b8f293868fd3bd588dc080274..8be5682a7a56c3d5b2c7b2ff024dabdef5ef6285 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La instrucción @code{\\whiteout} intercala un rectángulo blanco
 debajo de un elemento de marcado.  Este rectángulo blanco no tapa
index 33409d3c7cad89d2633e34798fd6cdb6e41441e5..930189a2f9597ba3f4582fc7f6318fe337f9e009 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 4381ba58f2b905a58f3e4851edc99c2bb19d8622..4d3bcf286e523c57e470a91a2eee30d0efc0bf13 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 dda530f46fe9c9637c26b34e55998af081a5cf21..c0d4f83ae76773c8ac66d2a9795889eee085711f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 b810ed3330604b67867ae6303e82a043d6faed2e..b34518ee8921a7f5d31c0293c58ecf0e0c833914 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, unfretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Para hacer más pequeño el círculo de @code{\\flageolet} (armónico)
 utilice la siguiente función de Scheme.
index fcecb34827985ca36f92507e8412c55a73ff992f..9af0a04c6f14e8b245d8add71b61f4ac922358f0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden modificar notas individuales de un acorde con la instrucción
 @code{\\tweak}, alterando la propiedad @code{font-size}.
index d980f8b56681db4cb8cefb4cbf9037779094d5ef..3ae5f6bac60b8680ad7688be844754180359e85c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se insertan automáticamente barras en ángulo cuando se detecta un
 intervalo muy grande entre las notas.  Se puede hacer un ajuste
index 3a4bc3fb3fed5a5b579ef087ba2ba4da3ff80333..929d030ad51e2cd5b6bbf54a17a1f1f9b9ea6f4e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede establecer el separador entre las distintas partes del
 nombre de un acorde para que sea cualquier elemento de marcado.
index 112be4cbd3ff5bc592c7735b1c929d2019b4c34a..fabf8b6a12df0e3f5484eb89a1e33b91c351f390 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Cambiar la forma de los silencios multicompás"
  texidoces = "
 Si hay diez compases de silencio o menos, se imprime en el pentagrama
index 1fe0c0d37ab965456014581911d945e8b919c513..3d016488e02d51a24cbe9dee33f190d0e927a526 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "contexts-and-engravers, midi"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Al producir una salida MIDI, el comportamiento predeterminado es
 que cada pentagrama representa un canal MIDI, con todas las voces
index 28baf041e2846d95f0da465953423bf81ba8d068..723f08f7c44a15d09b53c77caeba9190e385363a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 726ef732686e4d6c45392c9592340235999067cc..f47319d193eb4bf5b79736db15a0966b3759b5c1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede modificar el texto empleado para los crescendos y
 decrescendos modificando las propiedades de contexto
index e9de756c2d62d1a53a3529e943edeabb181fcfbf..15618f4166bff773acbc17d684cb085bfcf72be4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede cambiar el aspecto de las ligaduras de expresión de
 continuas a punteadas o intermitentes.
index 8e7da4d6495ab1974d484dae3c5827dc753a48f6..cc2166f0742d4fe17f69778ff2eb8a0cbb84fabf 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 El glifo de la marca de respiración se puede ajustar
 sobreescribiendo la propiedad de texto del objeto de presentación
index 7b37222cafb019f840612beef69f9c41f40afa24..a95a9304306504bed3a87f9cce700e6c4bae493c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La nomenclatura inglesa (predeterminada) para los acordes del cifrado
 americano se puede cambiar por la alemana (@code{\\germanChords}
index e36305f52f4fc5a72650a82703795c25bab31e16..a34ad8aaa4612c1063bf58183c22d4150db7fcd3 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 54dc692cdfab76884f8831dae9d278be1bb4ad02..1458794515f100f4aed75ab17ef20be49bdcf9d5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, midi"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Para cambiar el tempo en la salida MIDI sin
 imprimir nada, hacemos invisible la indicación metronómica:
index 2743c5b20e10e5fcca938adbd4cf2f16ba0c1b08..021187535ef8de95400f5b7a93f0fb822de2146d 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La instrucción @code{\\time} establece las propiedades
 @code{timeSignatureFraction}, @code{beatLength}, @code{beatGrouping} y
index 283f0553a47635930c16932d26f8d71bfc0141da..08ef47e29d959a0253740d3e9d9e7d8003209b86 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Cambiar el número del grupo especial"
  texidoces = "
 
index 82615ac50c00f3a8554c1cdca85ca058024aa7c1..b5174187fd133ab35fe1bd83d62b68840933253f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La propiedad @code{measureLength}, junto con
 @code{measurePosition}, determina cuándo es necesario dibujar una
index bc21944836e363d6211f304460103c8ddd169433..ee77bf02bdf37a0901a6049aabac1f92078f08c7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, vocal-music, ancient-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 11d6eb12d51d747b568c024caea8992c82e0969b..2a07ea063f7eba13bf53b971b57c56c3815bb397 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede usar la propiedad @code{chordNameExceptions} para
 almacenar una lista de notaciones espaciales para acordes
index 4d03cc04d3c5ac05c59e807d20648e3fb6f0c416..2718c62348320b26df81b73024337136b0c3dbac 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La presentación del acorde de séptima mayor se
 puede ajustar mediante majorSevenSymbol.
index 856d2b1674d8fab90d97c31cb07a3a9d2d640ddf..268bc65f5c389060696963d8973f04bb129f8165 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 3e2f4bf342cae6547faaa7b5152006f6b7983a69..5eb4febaba2bc24990364a5586a863c290c80a3c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, chords, keyboards"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Los «clusters» o racimos son un mecanismo para indicar la
 interpretación de un ámbito de notas al mismo tiempo.
index 1b132d8fc791443aed597e6d4394a76c741cf3dd..be14fa9db416ae7fd2dd2c62037a7d693ca265da 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Ciertas indicaciones dinámicas pueden llevar textos (como @qq{più
 forte} o @qq{piano subito}). Se pueden producir usando un bloque
index 302c39f54649022f1e22dcb31ea761affaf0b52c..38e449a3dda39f1f3ad25a1777374ef44b19844e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 La herramienta de combinación de partes ( instrucción
index b5faefac17ac6e99ee156bcfddfabb9467ff92c7..4417d7ff9a1823f79c41e064404763a366ec571a 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Indicaciones de compases compuestos"
  texidoces = "
 Las indicaciones de compás poco frecuentes como @qq{5/8} se pueden
index b4d9c58591098caf3598d859c4cf62cdc1d3c248..51b617819a7fbd596263cf2d3fe9b5eb22d5e5fe 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La agrupación de pulsos dentro de un compás está controlada por la
 agrupación predeterminada que se establece en @code{beamSettings}.
index e6f02f5bfe35181b08d1c0196e62a00aa643253f..92bf30d465a9a0c5dcddc4bf08e93f9c2d806605 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede tipografiar un gissando contemporáneo sin nota final
 utilizando una nota oculta y temporalización de cadenza.
index 00fe5fc9bca004334096be24c0d16f0707be28a4..938eb4e5002b0655586853333c28fa9176393219 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, chords, keyboards, fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 4f21c92fb5e261c185203f5fe9214966977180fd..1270f7bfc42f1ea3242ba82a51013412c965f4c6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 El orden vertical que ocupan las inscripciones gráficas está
 controlado con la propiedad @code{'script-priority}. Cuanto más
index 42818054e3a3e41cacc22040ece052b8fb332b5c..321bfa66d1e24f3a47f7b5d511895327fe2e8eda 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 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 bfc8571a08a1d570fc631c511f0b8682f6bbdbc1..4e690eade4719c1f72732972ec4f065c3e6c1b8f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 En una música que tenga muchas apariciones de la
 misma secuencia de notas a distintas alturas, podría ser de
index 7a5f51e993ac0eb25f13d0f29e83bab9b7becffc..c187bc008ba682806b4e7d2556751158cbf6d0a5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 481a15793f44939fdaca14d69aa32714fe32ced2..f09633e070a92bc026e4e819b899fdd44cbab64e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, editorial-annotations, contexts-and-engravers, paper-and-layout"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 fb4f510dfb33505bcf0701d4724f5996e4f2ee84..ff5c274bde2555b1812bd9e410664e5bcc1bfe45 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Dentro de un @code{PianoStaff}, es posible hacer que un arpegio
 cruce entre los pentagramas ajustando la propiedad
index 790c712385a847e2887e357d9ddcff8026aeed49..572a2aa9242f7891b5c73d3a6d5a1d08f104a5db 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden crear arpegios que se cruzan entre pentagramas dentro de
 contextos distintos a @code{GrandStaff}, @code{PianoStaff} y
index ea9ab3b2167f8b91a1381b691752eb80b7bfdf83..12c20c7dc3d1ecf2e037d165ef52ebbd8afcbf0e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden crear indicaciones metronómicas nuevas en modo de
 marcado, pero no cambian el tempo en la salida MIDI.
index de61eb311fb4c4bf03ed29305a28ec7fde40c8bd..e68fbcdccfcca6efe555a475875b630931e1eeca 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 72b716ab5b8ece8d343365acbb69533ea5304f3c..aeabf0b5b4095da9476f963e5cc76418a424c8a4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 fbdedaccbeb9bd9cb4ac8985ef4e58076fae47a1..3d9d07df249a63ac69a39a46685b5c19c578ae27 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, keyboards, unfretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 En determinadas situaciones es necesario crear ligaduras de
 expresión entre notas que están en voces distintas.
index 402b0ae6e95ead17017a3d5d57529c63f40fc17c..6649e699db97bcf1bb6d54c890eda630e1a5d983 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las instrucciones @code{\\startTextSpan} y @code{\\stopTextSpan}
 permiten la creación de elementos de extensión textuales tan
index 49735addf96ee9db537907f5ee8346aebd44ba11..3d7badf04ec90e7bab1788deaebb6f42e4298338 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden tipografiar «custos» en diferentes estilos.
 
index d0f5b853cd7b307526bfde87bcf434046c789984..818037db89c5926cfef9f63ec37a7fadb4678a91 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones de acordes por medio de @code{'fret-diagram-details}.
index f7ba9fe9de5b3ccacbe32823835a09f6c233152d..6a76a872b85aa2750840b47bd628cdcbc7c9e56c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones a través de @code{'fret-diagram-details}.  Para los
index 7754a0caf9ec9c80bdfde82f1bd94025cb81e750..c41e67bdc1d7c9a92b70faf3a00f025aa1f06451 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La dirección predeterminada de las plicas sobre la tercera línea
 del pentagrama está determinada por la propiedad
index 59fcde07d202f021ac1477b24db8920dbe53bc96..d66fe7a03f7844b60be77517fc1cef542bc6e1ed 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Se pueden añadir diagramas de posiciones predefinidas para
index 7b3ceca444b2dacb089e91e88c183998d8450947..3d332c9544a8d8bba04c00f3613ec852ab91407b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Si hay un solo pentagrama en un de los tipos de sistema
 @code{ChoirStaff} o @code{StaffGroup}, el comportamiento
index 50eeb1b38c36867ee31ed494eed87a9261fcd5b2..357c6dd31bcd464446ba8b180cd90ef45c36c41a 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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
index 9f0abea886ae2c681f9e350ac3d77c4bd5a9fb41..8bef9f28377de5f4d94dfb5af0e68dd06ee9f9d4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede insertar códico PostScript directamente dentro de un
 bloque @code{\\markup}.
index 2f9a4f3317e262f187860ed8be15049daff2887b..9585bf9d3a873036f7db689cf431f384a8895b38 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 fca9ed282fbd621e96480c050fd514d47af9faac..11ff788d9fd39df6dd26de72b1e45ef4450e5c0d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Grabado manual de las ligaduras"
  texidoces = "
 Se pueden grabar a mano las ligaduras modificando la propiedad
index 5ffefbe7a460e594e41dc531afcb915a90a8bbcd..d7f36ada71943ff9e833d0f6d95d1ed3ddf9af74 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Escribir varios grupos especiales usando una sola instrucción \\times"
  texidoces = "
 La propiedad @code{tupletSpannerDuration} establece cuánto debe durar
index 385ead4c0365f9516ef22bb4cd97ba6e4c2d7f81..69870f77d047dd8e686f7eba5cbb9dfa1811fc9b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 En este ejemplo se combinan las digitaciones de la mano izquierda,
 indicaciones del número de cuerda y digitaciones de la mano
index f5024520dceb397ebeb900c6beaa5ff1dc4ee1e1..0645de9db272ec57dad4144b0aa9080029ba3228 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Son posibles tanto los corchetes rectos sobre notas sueltas como
 extremos de barra sueltos en figuras unidas, con una combinación de
index c5a0eeb806a907196295206c3530a466662a5fdf..f9de6a359519debb4cf850d1df905c3afe94554a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 
  doctitlees = "Forzar el desplazamiento horizontal de las notas"
 
index bfbb14709b6783cf565e8e04af0fecfa7d80ca29..da0562f524d69027e7d1e77ce0740e4ce3c89c05 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Este fragmento de código basado en Scheme genera
 24 notas aleatorias (o tantas como se necesiten), basándose en la
index 2317a4f0b3ac7c4586143003ae96a69dad68bfd3..e33cd7bec43b8f4d1185bcaee425f55d9147da1a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede cambiar el aspecto de las líneas de rejilla
 sobreescribiendo algunas de sus propiedades.
index 80eb09c60437703acd111a520dd0ed012b8b4292..cea37905681a79b220b1daf1cfe1e45f176aba96 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden trazar líneas verticales normales entre pentagramas para
 mostrar la relación entre notas; sin embargo, en caso de música
index de4f74818d90b2a37ebc21854bbf8ea0c72627aa..7295de89551885226096b719027ac34aa2c16359 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Los patrones de barrado se pueden alterar con la propiedad
 @code{beatGrouping}:
index 6f239a6dadaa75b323c3acca812b91908faf21e3..ce0d83a0f213cd88853838f10c1357d91b2a31fd 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 df9325c390b07ea3cc0e8a44570ff1a8f7602491..6771a0b3726777eb8367e61637d1c0945e6cccd5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 dfd59d52e266cc93d866ae78204c220d1b36bb7e..74a3b799278cbd068e72e8117c37dbc8c52541c2 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Los «incipit» se pueden escribir utilizando el grob del nombre del
 instruemento, pero manteniendo independientes las definiciones del
index 57db0785ba6e7438cdb9d96b1c027c4c409f2b99..037f17bd43390dc39c85cb8980d566f4da09924c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Un corchete de arpegio puede indicar que se tienen que tocadr con la
 misma mano notas que están en dos pentagramas distintos. Para hacerlo,
index 9f2562da13e58b443102aac02a0b70dae7707303..799a5579dc4307b71fc52574373d16738b123c51 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las marcas de cesura se pueden crear sobreescribiendo la propiedad
 @code{'text} del objeto @code{BreathingSign}.  También está disponible
index 007ccdebaf5e568bb23d81952896403babab23fe..246f68ec2c6181f624aeb6fbaafccb40e571f8aa 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 También se pueden imprimir símbolos de porcentaje sueltos.  Esto se
 hace introduciendo un silencio multicompás con una función de
index 930e619e8648b515dfae8562583d94f87f7102db..a2ceb7e423e7bc391b61779403bf499971c11121 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards, percussion, fretted-strings, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Ésta es una plantilla bastante avanzada, para un conjunto de
 jazz. Observe que la notación de todos los instrumentos está en
index e0570c17d5a10154ab81bf2d65d97a9ff601e978..65417cf35daa37a26ec1716f2e6dd26c489b4a8a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden aplicar puntas de flecha a los elementos de extensión de
 texto y de línea (como el Glissando).
index 14e0c4e8652267aefde71fd4c29e8baa197cbff2..4e5771a8366cac1673ee446a228aa17d0984c0f5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La alineación horizontal de la letra se puede ajustar sobreescribiendo
 la propiedad @code{self-alignment-X} del objeto @code{LyricText}.
index 9d9ecf2d84145b9c5a6b9c4df23d8c5984aa88a9..4f99c786fbc18782903caa82c0d581d0ab694e22 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 El «Makam» es un tipo de melodía de Turquía que
 utiliza alteraciones microtonales de 1/9 de tono.  Consulte el
index e5e39a78493afcca75b87d0ea26505e35fc011ea..6f63878cbe8d261e766e342abc4e76cfee5668dc 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Las ligaduras de expresión se pueden construir con patrones de
index b324f95d83fbf7a418d275cfd1100c7784c9b04f..47265234b09acbf39040ccd135140c4bfa4ef069 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 b540ccb9fa22850ddcbd5f5229a5ce3e2d8bd827..79c648edc63d87953428d33ab145eabcbdf902c9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, staff-notation, editorial-annotations"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Este fragmento de código proporciona una solución alternativa a la
 producción de contadores de compás utilizando repeticiones
index b4ad04a27d4cf56d8472d0e1cca269abac60260a..3cec6a105c85daf2b81c610941ffb09f37a0392a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La disposición «mensurstriche» en que las líneas divisorias no
 están dibujadas sobre los pentagramas, sino entre ellos, se puede
index 6e54edae7e0975fc06e32395a738924edd53d81e..dd460da1f0517416d0df68bc2365eee78b4419be 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las abreviaturas se encuentran definidas dentro del archivo
 @code{ly/script-init.ly}, donde las variables @code{dashHat},
index 42756c02d1695591f47e95970cc03e6561e4957a..41fc17d8796ad7fdedf766a6d09968238c0030ce 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 texidoces = "
 Los elementos de marcado aplicados a un silencio multicompás se
 centran encima o debajo de éste.  Los elementos de marcado extensos
index 4b266f6eb8e08de4cf7413491b7c9c401bcb2a21..ecbb924f8730fa71d7c7066ed1c5e76aa9b2c26b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede utilizar la propiedad
 @code{systemStartDelimiterHierarchy} para crear grupos de
index 8d162b1662c22d884d73010502034d1d35d48102..dbc999cfa1c37eea64fca72301ebf6d58d85c2ed 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 LilyPond también proporciona funciones de formato para imprimir
 números de grupo especial diferentes a la propia fracción, así
index 42c1add6324f50dbe3de3b237037eb5f1a3d6810..db46a3c38ee2b9582e7a857e5bbd4eb0a263bacb 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Armaduras de tonalidad no tradicionales"
   texidoces = "
 
index c773279a7b7adbb4e3d44cc4337ce46e585770d5..fa5726e2a078b682ae3f06d5a24daf842009ef60 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Esta plantilla muestra el uso de contextos @code{StaffGroup} y
index 4a6ee97f036904bad27103b5fe2564c0dd0faaec..3422e30c0e1f3e7062b729e61704f52f2b6a8fbe 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Internamente, @code{\\ottava} establece las propiedades
index 24566d28df18a3fb947b395ed1c6a9080186af9c..f3bc28c43e2e93872720f235636ce408091e60f2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden mostrar los contadores de las repeticiones del tipo
 porcentaje a intervalos regulares mediante el establecimiento de
index c0da40867db54f046ca5926bf4f34479cc71a0f2..25bd6bcf669b8f6aff6c9fc9cbae1107a3cd7a95 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las repeticiones de compases completos mayores de dos repeticiones
 pueden llevar un contador si se activa la propiedad adecuada, como se
index 78fc70f101bb0fa43c158ed26ac01e6deeb1ab53..f8879369c9cdbbf6e122063444031973758ca324 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  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 c0ac760cda5eccd1524966071b8fa7b4be383068..27af99bf1cbe7901b4380acb36ebfebb3a43da3a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Presentamos a continuación una plantilla de piano sencilla con algunas
 notas.
index a2938fce5340c6a68970e718f750f2ba106af9a0..0838759326ded030583a8176056e25c6ca1627b8 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Muchas partituras de piano tienen las indicaciones dinámicas centradas
 entre los dos pentagramas.  El contexto @code{Dynamics}, si se sitúa
index 4040cb92dc75786a0689d2a4dbd6311f70926d44..2e8702e18253e53e178a9938edeaa7fae1c1980c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, keyboards, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 0581e465b00f83dba8ff2440d12b7c82b690ba81..216199e6ad1e7bda5191a391094efc03a55e5ae9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, keyboards, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 0805e06ca757490c1a99410db5b3d6f0909460af..e95b7e644796d412beaf93b684370b4497265cf3 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Es posible ejercer un mayor control sobre la colocación de las
 digitaciones de la mano derecha estableciendo el valor de una
index 9a4f7a26e8fedd25e829928316c1dd025e7ef95c..7afb90189a0d59a813c7cbd552d2a6cb616f4ab3 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 La polifonía se crea de la misma forma en un @code{TabStaff} que
 en una pauta normal.
index 0d12c66e21fc52bae1131077e2d716e2e6d03301..7b3163911dcd8d8c3a199c433c1401b0766a7cdb 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Al establecer la propiedad @code{'strict-grace-spacing} hacemos que
index 6d246634384fa7a60e7d744cb8c1c5e4ccd1e0dc..660e124321a1ff913e247afb6d385e9c75b4501f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Posicionar los silencios multicompás"
  texidoces = "
 A diferencia de los silencios normales, no existe una instrucción
index c1a30e54938e3fecd18018f44801b31f3e93e50d..61247faf2df6f4730426a9a8868f1712e4c47b04 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Los elementos de marcado de texto deben tener la propiedad
index 2fc01b3932b7755e129168b9b2f8ff6344c02271..7071656e2b1c8bf72ab9cedf4e76b00ed4268ef4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 doctitlees = "Evitar que se añadan becuadros adicionales automáticamente"
 
 texidoces = "
index 0a870047c6720fd8110004102ebad18ab905231a..07bc9a4f12a447ba5bc96fd7c715d9f554c300d1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 doctitlees = "Evitar que se impriman becuadros cuando cambia la armadura"
 
 texidoces = "
index 7cf5b999926237487dd5ca6db2eb53b5c52fc6d0..c9d88ddea7c4970d5f391e7f1429a38545cbebc6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede imprimir una línea divisoria de la forma @code{|:} al
 principio de la pieza, sobreescribiendo la propiedad correspondiente:
index 6ffc1ea00a1db0dd8dd5e5935bd34eed9c938621..6eaa3db2eecf4a1af584ac20f8357ee399f190d1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Se pueden imprimir los números de compás a intervalos regulares
index 35fc541b1160dac3df6778388963c883a413564c..7dd9bcac8facf368f0b244f90a0cc878a773df78 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Los números de compás también se pueden imprimir dentro de rectángulos o de circunferencias.
index faef725ca4688fb36ce832a89941cc4ef331e610..796ebe2519bf6918d44d83945ccf17cde24dbe70 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 20b6d8e00f01552410a3f0d6511b17202fb819db..dadb15cb20896be7722a953f3ed1cb933757203b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Aunque normalmente las marcas de texto sólo se imprimen sobre el
 pentagrama superior, también se pueden imprimir en otro pentagrama
index 3fec4a27fc3ea44c378de10347cce9de38b4d6b1..e8213b55221b94ff3c4b8792c42457da80910ec2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, expressive-marks, staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 De forma predeterminada, las indicaciones metronómicas y las
 letras de ensayo se imprimen encima del pentagrama.  Para
index 232178c9ae4c8e1ec644f86baeafa5698c523529..0f3fc35bf60d64d8ddff392d9f652fac8b680657 100644 (file)
@@ -36,7 +36,6 @@ global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } }
   \context {
     \Score
     \remove "Timing_translator"
-    \remove "Time_signature_engraver"
     \remove "Default_bar_line_engraver"
     \remove "Bar_number_engraver"
     \override SpacingSpanner #'uniform-stretching = ##t
@@ -47,7 +46,6 @@ global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } }
     \Staff
     \consists "Timing_translator"
     \consists "Default_bar_line_engraver"
-    \consists "Time_signature_engraver"
   }
   \context {
     \Voice
index 21402b48b03ecdf31b5c866f35e678de3a10516c..7c2d3929b734c88b28d6784a88a64b22324adf72 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 De forma predeterminada se suprime el número del primer compás de una
index fcb8af3e5cc3100b986d79a463d4166cae79b55a..3442bc67d56fa33d33fc20091f9d49e8ba30cb25 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Los pasajes citados tienen en cuenta la transposición de la fuente
 tanto como la del destino.  En este ejemplo, todos los
index 8ddb88d8e5604070b502885293fbab0dca98fb93..779549afc27d6ab4ea2b3272535e4f0947bc0cbc 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 La propiedad @code{quotedEventTypes} determina los tipos de eventos
index 7c60a676ec4e0e57a3b7b4b4099e961b32039267..e46be7fde9b8ef5c9f6bbb73dfb4f15277e76bde 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Los valores predeterminados para las notas de adorno están
index 1d9f1a10762da6945737027a4c33264452a2879e..441634bc95e372e3f49eedf28418ac6f597d21d2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Se pueden eliminar completamente los números de compás quitando el
index 6818b4fb233584f3e3862ff8dfbf35b6af136e21..db4c17fa92163635f547e84378305c01224e1bfc 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, tweaks-and-overrides, breaks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 El primer pentagrama vacío también se puede suprimir de la
 partitura estableciendo la propiedad @code{remove-first} de
index f185aae4aa18db279f8e82ef272377ca0104bbd2..a36991f2ea889e054f358fd63be76efd7e2c7617 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Estilos de silencios"
   texidoces = "
 Los silencios se pueden imprimir en distintos estilos.
index 9fbecc488c92d822c98fc68b2206d1696d4c98c4..24fe3f6b35fc02afd3e37e97516e3ce621cb2dc5 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Para tipografiar las barras agrupadas en la forma @code{3-4-3-2}
 en 12/8, en primer lugar tenemos que sobreescribir los finales de
index cbe0b8ce98321fa484e32bf7c42b5802cf51ae96..bcfc5f5acd56d4b3730ebfe115bf6fd849fb5fe7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 ae261f58317f2b84cc0a4e10cd378cf93af6ebf5..27565563b4d108af8a50d587a6e3ce51f4ff4ddd 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Si los reguladores son demasiado cortos, se pueden alargar
 modificando la propiedad @code{minimum-length} del objeto
index 35bd6542668bc9107b28f0aadcbfdbe3665ce021..f3f64b8a86c9c62753a91353ee931a88274209b8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 De forma predeterminada, los corchetes de primera y segunda vez se
 trazan encima de los finales alternativos completos, pero es posible
index 56b9e7fdbbfe745c19a0338851e354a4950e3a86..be37c2ec7e7b2f834f4184bae40ab233c0108ff5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se pueden imprimir los acordes exclusivamente al comienzo de las
 líneas y cuando cambia el acorde.
index 09f1ad0f566d2848145073249a3832e319e1948d..7f34117e0c630533b2157fcf0e3a7191782dd99d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Al juntar nombres de acorde en cifrado americano, melodía y letra,
 obtenemos una hoja guía de acordes o «lead sheet»:
index c28d22e6e78e03a7b9f9eec74433a76c71fecd3a..208f954a0e490346e9d1749f486adcf5d7ae3578 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, chords, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Esta plantilla facilita la preparación de una canción con melodía,
 letra y acordes.
index 3ad236664f5b36120e550b7ec4d327f1bb769d8c..8199cf238fc1e85411b7657396ced5be9151a050 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, chords, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 2097c055ca9adf8b549ca9e2acf25f1d134d2d95..b3d17c9070878f593c974d5bdc8fdec052469077 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 ¿Quiere preparar una hoja guía de acordes (o «lead sheet») con
 melodía y acordes?  ¡No busque más!
index 4d8b72707fd1e430bc30b649a824f90d74cc97c8..c094c34aefe29998d6116a0d2c52b9182dd70156 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 f9ed2ba29a188064c0914ca0cadbcfb0b78f1950..f43cdeefae5cec2eb996db680bd93b610a304296 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 f3883112660920cc37f3e74b9ce8b803ce9a0deb..b23030e87ae9d8cc2d0bfdad74d02fe6d1fe770f 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Marca de pizzicato de chasquido (`pizzicato de Bartók')"
   texidoces = "
 El pizzicato de chasquido (también llamado @q{Pizzicato de Bartók}) es un
index a430f166a8577bc4d459ea4ad6a2735b32ad572d..3499b5c02210921f7bcacac1f6333d3fc1257fee 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Los textos independientes se pueden disponer en varias columnas
 utilizando instrucciones @code{\\markup}:
index b32c85143bb6509dfad1ff1483dfe2bfb45cd275..3a25ef847695d989ec8fee084ecddbe61ebe57de 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 9c87428c5bc1a1d6b0fada30ff6a675c83e84b2b..ccfc65d2f66c5e965b6a5f9125a265a0553576c9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "unfretted-strings, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 69e9d992bc053f84c0ef7c1b6793e4fed6a114de..fb7fc1ba7f36c10265f2764da827343b2d8717b4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "unfretted-strings, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 44b356586073154ad56421c081e8e5a6a615cc17..500ddf0856d9e0a01642eee8d5c395ef0539dc32 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las barras de semicorcheas (o notas más breves) seguidas no se
 subdividen de forma predeterminada.  Esto es: las tres (o más)
index e09db641e710866a11af8af91d8bc2ff8606c09c..5d66afbdedb39dcde29df7a4050423d5bc775a41 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 A modo de alternativa para obtener auténticos «incipit»
 independientes de la partitura principal, se incluyen como
index 41e941d5ce6665509be92d0dbad16b46011f1998..5257ee8c6f6fdbc12fb925389361e79bcef04bc9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
 doctitlees = "Transportar música con el menor número de alteraciones"
 texidoces = "
 Este ejemplo utiliza código de Scheme para forzar las
index 17fc9c89bc876c6c5b67db209137cf10c5113794..7f8f8bcd1bf6b8e97069fc5ba6ecf6b17b326ced 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   doctitlees = "Trucaje de las propiedades de clave"
   texidoces = "
 La instrucción @code{\\clef \"treble_8\"} equivale a un ajuste de
index 4eb0773c9305e26901a97d6c636c7fe9939df5b9..275fbc7d34f31953165f9d17580b0736cc6f096f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 La disposición de las expresiones de adorno se puede cambiar a lo
index b7c095f88976b2758f68f56e6828faf419381b62..ba98690475b1a53825b868714b057f2a89c2fa36 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Se puede usar el delimitador de comienzo de un sistema
 @code{SystemStartSquare} estableciéndolo explícitamente dentro de
index 4ab5948772dab30f6a250e12700551447bdb4da1..00fc444a236b5073e365dafb37e823ba26fc2c4f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Algunos compositores escriben dos ligaduras cuando quieren acordes
 legato.  Esto se puede conseguir estableciendo @code{doubleSlurs}.
index 4dfc2e16041317255290428700d7a8405a4a7a98..74cb0f3894cbf33b701e87fdca03952c82e21ef7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Es posible aplicar la barrita que cruza la barra de las
index 6e0d2b3d3b6c94eac310c4f3396791d40e64defc..15551779afe524560157f2f0157b657d5585ed86 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
  doctitlees = "Uso de ligaduras en los arpegios"
  texidoces = "
 En ocasiones se usan ligaduras de unión para escribir los arpegios.
index 2537ddf1456a6e9064cc7c85a2fe7a6b96f122f2..762164a054bac82f82d0d5c8a2d51b56ea4104bd 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "tweaks-and-overrides, spacing"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Mediante el establecimiento de la propiedad @code{'Y-extent} a un valor
 adecuado, todos los objetos @code{DynamicLineSpanner} (reguladores e
index 31ac07b2f0ae41b77fcf26b435e5c5d8ae41ed68..1c0c15816c4b6ee249c3cbd2ee169778b451afd3 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Las expresiones dinámicas que se comienzan, terminan o se producen
 en la misma nota se alinean verticalmente.  Para asegurar que las
index a78efbc50a274d777c4d50995cd72231849d135b..f1a4b4192f939a04653dbd146c85891a9d713ccb 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, tweaks-and-overrides, spacing"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Este fragmento de código muestra el uso de las propiedades de
 contexto @code{alignBelowContext} y @code{alignAboveContext} para
index 3bd864226c6297eae9a32ed3439fe108c0c9766e..516220463ad90f45f37c644bcc229dcb34f13cd4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, keyboards, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 
 Esta plantilla añade una reducción de piano automática a la partitura
index 84f0cc1c831b1ae44827e22c8c173d0aa8c02033..4a9eb3dd60986b092bbbfe56c941aa6302750940 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music, contexts-and-engravers, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 42fe5f0e55120e27248b7e93a6f0510dc187578e..0abde3472df64b79e52eccbacc13ac4324831bc4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, template"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   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 a9cee55f7d3f932633a1b2e4e8a53e59bcf4b6f5..af38664a85f84a6fe6d014ac9379df9b52a2c963 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, staff-notation, chords"
 
-%% Translation of GIT committish: 4385ed4cc738e164a95798862580b4b86703356f
+%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
   texidoces = "
 Mediante la adición del grabador @code{Volta_engraver} al
 pentagrama pertinente, se pueden poner los corchetes de primera y
index 3f70d971bb2b917d7419a6b90fc14d093c2fe95d..c90ad626bbf7e3834e2b8982e78f128cce19bf62 100644 (file)
@@ -13,8 +13,7 @@
 @node External programs
 @chapter External programs
 
-FIXME: blah blah
-
+LilyPond can interact with other programs in various ways.
 
 @menu
 * Point and click::
@@ -579,7 +578,11 @@ lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png myfile.ly
 @node Independent includes
 @section Independent @code{include}s
 
-FIXME: blah blah
+Some people have written large (and useful!) code that can be
+shared between projects.  This code might eventually make its way
+into LilyPond itself, but until that happens, you must download
+and @code{\include} them manually.
+
 
 @menu
 * MIDI articulation::
@@ -589,6 +592,27 @@ FIXME: blah blah
 @node MIDI articulation
 @subsection MIDI articulation
 
-stub for info about Dr. Peter Chubb's @file{articulate.ly}
+LilyPond can be used to produce MIDI output, for
+@qq{proof-hearing} what has been written.  However, only dynamics,
+explicit tempo markings, and the notes and durations themselves
+are produced in the output.
+
+The @emph{articulate} project is one attempt to get more of the
+information in the score into he MIDI.  It works by shortening
+notes not under slurs, to @q{articulate} the notes.  The amount of
+shortening depends on any articulation markings attached to a
+note: staccato halves the note value, tenuto gives a note its full
+duration, and so on.  The script also realises trills and turns,
+and could be extended to expand other ornaments such as mordents.
+
+@example
+@uref{http://@/www@/.nicta@/.com@/.au/@/people/@/chubbp/@/articulate}
+@end example
+
+@knownissues
+
+Its main limitation is that it can only affect things it knows
+about: anything that is merely textual markup (instead of a note
+property) is still ignored.
 
 
old mode 100644 (file)
new mode 100755 (executable)
index fd0e126..87da3b6
 
 @imageFloat{flat-design,png,right}
 
-The inspiration for LilyPond came when two musicians became
-annoyed with the bland and boring look of computer-printed
-sheet music.  All musicians prefer reading beautiful music, so why
-couldn't programmers write software to produce better printed
-parts?
-
-This software just does that: it prints music in the best
-traditions of classical engraving with minimum fuss.  Don't waste
-time on tuning spacing, moving around symbols, or shaping slurs.
-Impress friends and colleagues with sharp sheet music!
+LilyPond came about when two musicians wanted to go beyond the
+soulless look of computer-printed sheet music.  Musicians prefer
+reading beautiful music, so why couldn't programmers write
+software to produce elegant printed parts?
+
+The result is a system which frees musicians from the details of
+layout, allowing them to focus on making music.  LilyPond works
+with them to create publication-quality parts, crafted in the best
+traditions of classical music engraving.
+
 @divEnd
 
 @divClass{column-left-top}
@@ -87,7 +87,7 @@ Impress friends and colleagues with sharp sheet music!
 * Productions::                 Real-life use of LilyPond.
 * Testimonials::                What do people say about it?
 * Text input::                  You write music as text?!
-* Easier editing::             Other ways of working with LilyPond.
+* Easier editing::              Other ways of working with LilyPond.
 @end menu
 @divEnd
 
@@ -96,16 +96,6 @@ Impress friends and colleagues with sharp sheet music!
 @node Features
 @unnumberedsec Features
 
-@help{hoping to delegate this.  Desired: an enthusiastic
-attempt to sway people towards trying lilypond.  The warnings
-about writing music as text come in Crash Course, not here.}
-
-Maybe draw inspiration from
-@uref{http://lilypond.org/web/about/features} and
-@uref{http://lilypond.org/web/switch/tour} and
-@uref{http://lilypond.org/web/switch/advantages}
-
-
 
 @subheading Why switch to LilyPond?
 
@@ -114,7 +104,7 @@ Maybe draw inspiration from
 
 @imageFloat{flat-design,png,right}
 
-The point of using LilyPond is to produce elegant sheet music that is
+LilyPond allows musicians to produce elegant sheet music that is
 easy to read.  Its developer community has spent thousands of hours
 developing powerful music engraving software that results in beautifully
 engraved music.  All of LilyPond's style settings, font designs and
@@ -136,10 +126,9 @@ and slurs and beams are sloped, automatically!
 @subsubheading Text-based input
 
 LilyPond takes ASCII input, which you can produce in your favorite
-text editor, quickly and comfortably.  No more futzing with the
-mouse.  The input contains all the information, so there is no
-need to remember complex command sequences.  Simply save an input
-for later reference.
+text editor, quickly and comfortably.  The input contains all the
+information, so there is no need to remember complex command sequences:
+simply save a file for later reference.
 
 
 @subsubheading Accessibility
@@ -196,7 +185,7 @@ team makes sure that problems are solved quickly.
 @divClass{column-center-bottom}
 @subheading Where now?
 
-Still not convinced?  Look at some neat @ref{Examples}.  If you've
+Still not convinced?  Look at some specific @ref{Examples}.  If you've
 already decided to try LilyPond, first read about our
 @ref{Text input}.
 @divEnd
@@ -784,12 +773,16 @@ pitch):
 
 We realize that many users find this way of entering music a bit
 odd.  For this reason, we have written extensive documentation to
-help new users, beginning with @ref{Learning}.
+help new users, beginning with @ref{Learning}.  The Learning
+Manual is the best place to start, as many questions are answered
+before they come up!
 
 Please read the Learning Manual before complaining about bugs!
 New users occasionally believe that LilyPond is not working
 correctly, when in fact it is working precisely as designed.
 
+More in-depth information is available in @ref{Manuals}.
+
 
 @subsubheading Easier editing environments
 
@@ -830,17 +823,16 @@ convinced?  Read about @ref{Easier editing}.
 
 @uref{http://denemo.org}
 
-Denemo is graphical editor which generates LilyPond source code
-and also allows audio playback.  It is currently in development
-and generates code for older versions of LilyPond (V2.8.7).  It
-allows users to view the LilyPond source code in parallel to the
-graphical view.
+Denemo is a graphical editor which generates LilyPond source code,
+at release 2.8.7, and also allows audio playback.  It allows users
+to view the LilyPond source code in parallel to the graphical view.
+Extra LilyPond tweaks can be attached to notes, chords etc. and are
+stored with the Denemo file, so that users can continue to edit graphically.
 
-@ignore
-Import: LilyPond, MIDI
+Moving the cursor in the LilyPond text moves the cursor in the graphical
+view, and any syntax errors in your LilyPond tweaks are highlighted in
+the text view when printed from there.
 
-Export: Lilypond, MIDI, ABC, CSound Score File, PDF
-@end ignore
 
 @divEnd
 
@@ -855,10 +847,10 @@ Export: Lilypond, MIDI, ABC, CSound Score File, PDF
 @sourceimage{logo-macosx,,,}
 @sourceimage{logo-windows,,,}
 
-@uref{http://lilypondtool@/.organum@/.hu}
+@uref{http://lilypondtool.organum.hu}
 
 Created as a plugin for the
-@uref{http://@/www@/.jedit@/.org@/,jEdit} text editor,
+@uref{http://www.jedit.org,jEdit} text editor,
 LilyPondTool is one of the most feature-rich text-based tool for
 editing LilyPond scores.  Its features include a Document Wizard
 with lyrics support to set up documents easier, and embedded PDF
@@ -915,7 +907,6 @@ writing LilyPond input files.
 @divClass{column-center-top}
 @subheading Other
 
-@help insert text and a graphic(s)
 
 @subsubheading Mixed environment: LilyKDE
 
@@ -927,6 +918,9 @@ writing LilyPond input files.
 
 @uref{http://lilykde.googlecode.com/}
 
+LilyKDE has been replaced by @uref{http://www.frescobaldi.org/,Frescobaldi},
+and exists as LilyKDE3 for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only.
+
 LilyKDE is a plugin for KDE's text editor
 @uref{http://kate-editor.org/,Kate}.  It has a powerful Score
 Wizard to quickly setup a LilyPond document and an embedded
@@ -938,16 +932,17 @@ so music can entered by playing on a MIDI keyboard.
 Other features are lyric hyphenation and running LilyPond on
 multiple files at once from within the KDE file manager.
 
+
 @subsubheading Text environment: TexShop
 
 @sourceimage{logo-macosx,,,}
 
-@uref{http://@/www@/.uoregon@/.edu/~koch/texshop}
+@uref{http://www.uoregon.edu/~koch/texshop}
 
 The TexShop editor for MacOS@tie{}X can be extended to run LilyPond,
 @command{lilypond-book} and @command{convert-ly} from within the editor,
 using the extensions available at
-@uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html#desktoppub}.
+@uref{http://www.dimi.uniud.it/vitacolo/freesoftware.html#desktoppub}.
 
 @ignore
 TODO: ask somebody to sponsor/check these.  -gp
@@ -971,21 +966,16 @@ svn co http://svn.textmate.org/trunk/Bundles/LilyPond.tmbundle/
 @divClass{column-center-top}
 @subheading Other programs can export LilyPond code
 
-@ignore
-TODO: change url back to full adress, to make it readable in printouts -ch
-@end ignore
-
-@help clean up this list, check links, etc.
 
 @subsubheading Graphical environments:
 
 @itemize
 @item
-@uref{http://@/noteedit@/.berlios@/.de,NoteEdit}
-which imports @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
+@uref{http://noteedit.berlios.de,NoteEdit}
+which imports @uref{http://www.musicxml.com/xml.html,MusicXML}
 @item
-@uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden},
-which imports MIDI
+@uref{http://www.rosegardenmusic.com,Rosegarden},
+which imports MIDI.
 @item
 @uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd},
 has experimental export for LilyPond.
@@ -996,19 +986,22 @@ has experimental export for LilyPond.
 @item
 @uref{http://canorus.org,Canorus} can also export to LilyPond, but is still
 beta-software. Testers welcome though.
+@item
+@uref{http://lilycomp.sourceforge.net, LilyComp} is a graphical note entry
+program, acting much like a number-pad which produces lilypond notes.
 @end itemize
 
 @subsubheading Command Line Tools:
 
 @itemize
 @item
-@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
+@uref{http://www.volny.cz/smilauer/rumor/rumor.html,Rumor}, a realtime
 monophonic MIDI to LilyPond converter.
 @item
-@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
+@uref{http://nicolas.sceaux.free.fr/lilypond/lyqi.html,lyqi}, an
 Emacs major mode.
 @item
-@uref{http://@/common-lisp@/.net/project/fomus/,FOMUS},
+@uref{http://common-lisp.net/project/fomus/,FOMUS},
 a LISP library to generate music notation
 @end itemize
 @divEnd
index 66c7bf47543954488c4e301e173474192a9535f8..18dc8aaea6ef23823e949f9d16adc6eb63360bee 100644 (file)
 @c DO NOT WRITE BETWEEN THESE LINES
 
 @newsItem
-@subsubheading LilyPond 2.13.12 released!  @emph{February 2, 2010}
+@subsubheading LilyPond 2.13.13 released!  @emph{February 13, 2010}
 
-We are happy to announce the release of LilyPond 2.13.11.  This
-release is intended for developers only, and brings more stability
-and fewer bugs to the build system and Contributor's Guide.
+We are happy to announce the release of LilyPond 2.13.13.  This
+release is intended for developers only, and fixes various
+problems with documentation build system as well as adding an
+output-preview-framework for our SVG backend.  In addition, the
+binaries are now approximately 6 megabytes smaller.
 @newsEnd
 
 
 @newsItem
-@subsubheading LilyPond 2.13.11 released!  @emph{January 16, 2010}
+@subsubheading LilyPond 2.13.12 released!  @emph{February 2, 2010}
 
-We are happy to announce the release of LilyPond 2.13.11.  This
-release is intended for developers only, and brings a number of
-improvements to the build system, Contributor's Guide, and fixes 4
-critical regressions against earlier versions.
+We are happy to announce the release of LilyPond 2.13.12.  This
+release is intended for developers only, and brings more stability
+and fewer bugs to the build system and Contributor's Guide.
 @newsEnd
 
 
index 182f7a0defc665b723dbcb84019e602c4ec1d8f5..67ab2278036981d0a57355bdeb509f29eeb9c7c1 100644 (file)
@@ -31,6 +31,16 @@ TODO
 @end ignore
 
 
+
+@newsItem
+@subsubheading LilyPond 2.13.11 released!  @emph{January 16, 2010}
+
+We are happy to announce the release of LilyPond 2.13.11.  This
+release is intended for developers only, and brings a number of
+improvements to the build system, Contributor's Guide, and fixes 4
+critical regressions against earlier versions.
+@newsEnd
+
 @newsItem
 @subsubheading LilyPond 2.13.10 released!  @emph{December 31, 2009}
 
index bdc286c76ab60e9d83cce73fbd71299d39766419..9949d449e49a68a5a8358ac37730532b06f566a8 100644 (file)
@@ -14,3 +14,6 @@ The following exceptions apply:
 
   * It does not apply to any manual which explicitly states
     another license.
+  
+  * It does not apply to the MusicXML unit test suite,
+    which is licensed under the MIT license.
diff --git a/VERSION b/VERSION
index 835a70e4f895978c6f74616f5d312fd56fe427c5..945aaa1e939c4f64144bec995f579785e7e1ab7a 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=13
-PATCH_LEVEL=13
+PATCH_LEVEL=14
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.12.3
-VERSION_DEVEL=2.13.12
+VERSION_DEVEL=2.13.13
index 34dec04102927628eedebd623fcbd4728a07aea9..835f34abf0a1f4bdeea7f2e26ad87cc60b18d299 100644 (file)
@@ -2,7 +2,7 @@
 
   texidoc = "Identifiers following a chordmode section are not
 interpreted as chordmode tokens.  In the following snippet, the
-identifier `m' is not interpreted by the lexer as as a minor chord
+identifier `m' is not interpreted by the lexer as a minor chord
 modifier."
 
 }
index 661dc03511970f36156483fcb6bccfd1baeadc8b..a427bdf742c2fce2c65d392919a7ab3d13b1ab01 100644 (file)
@@ -4,7 +4,7 @@
 
   "With @code{music-map}, you can apply functions operating on a
 single piece of music to an entire music expression. In this example,
-the the function @code{notes-to-skip} changes a note to a skip. When
+the function @code{notes-to-skip} changes a note to a skip. When
 applied to an entire music expression in the 1st measure, the scripts
 and dynamics are left over. These are put onto the 2nd measure."
 
@@ -29,7 +29,7 @@ Scripts and dynamics are maintained.
 
 \layout { ragged-right= ##t }
 
-foobar =  \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^  } 
+foobar =  \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^  }
 
 
 \relative c''  \context Voice {
@@ -37,5 +37,5 @@ foobar =  \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^  }
 
   << \applyMusic #(lambda (x) (music-map notes-to-skip x))
      \foobar
-     { d8 d d d d d d d  } >> 
+     { d8 d d d d d d d  } >>
 }
index 7be82e7f0645aa32a8e7dbe7e14826ea198dcbee..f3eab7559b929bb272c363c18c9fc2546c3705fb 100644 (file)
@@ -18,6 +18,13 @@ files available for testing purposes.
 The complete set of MusicXML test files contained in this suite can be downloaded
 @uref{MusicXML-TestSuite-0.1.zip,here} as a ZIP archive.
 
+@heading License of the test suite
+
+This collection of MusicXML test files is distributed under the
+@uref{http://www.opensource.org/licenses/mit-license.php,MIT license}, which
+means that you can use the files for any purpose, as long as you leave the
+copyright notice (or the LICENSE file) intact.
+
 @heading Connection with @uref{http://www.lilypond.org/,LilyPond}
 
 At the same time as providing a generic test suite for MusicXML document,
index b5ca56513ec43859e726e737fc9ac9440579caa5..aa0f294db47a791bcd8c1172014e06a073d0ed3e 100644 (file)
@@ -3,6 +3,8 @@ depth = ../../..
 STEPMAKE_TEMPLATES=documentation texinfo tex
 LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc musicxml
 
+EXTRA_DIST_FILES = LICENSE
+
 TEXI2HTML_FLAGS += --nomenu
 
 # Urgh, how can I do two replacements at once without messing up the order of the list?
@@ -23,5 +25,5 @@ endif
 
 zip: $(outdir)/MusicXML-TestSuite-$(TEST_SUITE_VERSION).zip
 
-$(outdir)/MusicXML-TestSuite-$(TEST_SUITE_VERSION).zip: $(MUSICXML_FILES) $(MUSICMXL_FILES)
-       $(ZIP) -r $@ $(addprefix $(src-dir)/,$(MUSICXML_FILES)) $(addprefix $(src-dir)/,$(MUSICMXL_FILES))
+$(outdir)/MusicXML-TestSuite-$(TEST_SUITE_VERSION).zip: $(MUSICXML_FILES) $(MUSICMXL_FILES) LICENSE
+       $(ZIP) -r $@ $(addprefix $(src-dir)/,$(MUSICXML_FILES)) $(addprefix $(src-dir)/,$(MUSICMXL_FILES)) LICENSE
diff --git a/input/regression/musicxml/LICENSE b/input/regression/musicxml/LICENSE
new file mode 100644 (file)
index 0000000..b6cebc2
--- /dev/null
@@ -0,0 +1,23 @@
+An (unofficial) MusicXML Test Suite
+
+This test suite of MusicXML unit tests is licenced under the MIT license:
+
+Copyright (c) 2008-2010, Reinhold Kainhofer
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/input/regression/parenthesize-markup.ly b/input/regression/parenthesize-markup.ly
new file mode 100644 (file)
index 0000000..0699587
--- /dev/null
@@ -0,0 +1,21 @@
+\version "2.13.13"
+
+\header{
+
+  texidoc="
+The parenthesize markup will place parentheses
+around any stencil.
+
+The angularity of the parentheses can be adjusted.
+"
+
+}
+
+\score {
+  c''^\markup {
+    \parenthesize {
+      \column { "A" "B" "C" }
+    }
+  }
+}
+
index b9cd0832a932dfc3a596f7babae5bc084c00f406..817da93c9787459471bd186bbc15afe97883702a 100644 (file)
@@ -80,7 +80,7 @@ protected:
 
   void stop_translation_timestep ();
   void process_acknowledged ();
-  
+
   virtual void finalize ();
   virtual void derived_mark () const;
 
@@ -245,8 +245,8 @@ Accidental_engraver::process_acknowledged ()
          bool cautionary = to_boolean (note->get_property ("cautionary"));
          if (caut.score () > acc.score ())
            {
-             acc.need_acc |= caut.need_acc; 
-             acc.need_restore |= caut.need_restore; 
+             acc.need_acc |= caut.need_acc;
+             acc.need_restore |= caut.need_restore;
 
              cautionary = true;
            }
@@ -261,7 +261,7 @@ Accidental_engraver::process_acknowledged ()
          */
          if (!note->in_event_class ("trill-span-event"))
            {
-             if (acc.need_acc)       
+             if (acc.need_acc)
                create_accidental (&accidentals_[i], acc.need_restore, cautionary);
 
              if (forced || cautionary)
@@ -332,7 +332,7 @@ Accidental_engraver::make_standard_accidental (Stream_event * /* note */,
   Accidental_placement::add_accidental (accidental_placement_, a);
 
   note_head->set_object ("accidental-grob", a->self_scm ());
-  
+
   return a;
 }
 
@@ -377,7 +377,7 @@ Accidental_engraver::stop_translation_timestep ()
     }
 
   for (vsize i = accidentals_.size (); i--;)
-    {      
+    {
       Stream_event *note = accidentals_[i].melodic_;
       Context *origin = accidentals_[i].origin_;
 
@@ -415,7 +415,7 @@ Accidental_engraver::stop_translation_timestep ()
          else
            {
              /*
-               not really really correct if there is more than one
+               not really correct if there is more than one
                note head with the same notename.
              */
              localsig = ly_assoc_prepend_x (localsig, key,
index ba0e14c296817e435ab7bc2253fd6a4481d28980..503420b7b3af40072f380caf0bbf4b54b043ba7a 100644 (file)
@@ -60,7 +60,7 @@ Bar_line::print (SCM smob)
 
   SCM s = me->get_property ("glyph-name");
   SCM barsize = me->get_property ("bar-size");
-  
+
   if (scm_is_string (s) && scm_is_number (barsize))
     {
       string str = ly_scm2string (s);
@@ -284,12 +284,12 @@ Bar_line::dashed_bar_line (Grob *me, Real h, Real thick)
 
   if (fabs (line_thick + (count -1) * ss - h) <   0.1) // ugh.
     {
-      Real blot = 
+      Real blot =
        me->layout ()->get_dimension (ly_symbol2scm ("blot-diameter"));
 
       Real half_space = ss/2;
       Stencil bar;
-  
+
       for (int i = (count-1); i >= -(count-1); i -= 2)
        {
          Real top_y = min ((i + dash_size) * half_space,
@@ -312,7 +312,7 @@ Bar_line::dashed_bar_line (Grob *me, Real h, Real thick)
       int dashes = int (rint (h / ss));
       Real total_dash_size = h / dashes;
       Real factor = (dash_size - thick) / ss;
-      
+
       SCM at = scm_list_n (ly_symbol2scm ("dashed-line"),
                           scm_from_double (thick),
                           scm_from_double (factor * total_dash_size),
@@ -375,7 +375,7 @@ ADD_INTERFACE (Bar_line,
               " a thick double repeat, a thin-thick-thin double repeat,"
               " a thin-thick double repeat, a thick bar, a double bar, a start bar,"
               " an end bar, a thick double bar, a thin-thick-thin bar,"
-              " a dotted bar, a dashed bar and a tick as bar bar line."
+              " a dotted bar, a dashed bar, and a tick."
               "  In addition, there is an option"
               " @code{||:} which is equivalent to @code{|:} except at line"
               " breaks, where it produces a double bar (@code{||}) at the"
index a68b6f05e53ebe5c0c9a6a326458c68887770d4d..5c76926746476c5517634d5b8b8fcc21f5fb644e 100644 (file)
@@ -66,7 +66,7 @@ Context_def::Context_def (Context_def const &s)
   smobify_self ();
 
   description_ = s.description_;
-  input_location_ = make_input (*s.origin ()); 
+  input_location_ = make_input (*s.origin ());
   default_child_ = s.default_child_;
   accept_mods_ = s.accept_mods_;
   property_ops_ = s.property_ops_;
@@ -99,7 +99,7 @@ SCM
 Context_def::mark_smob (SCM smob)
 {
   ASSERT_LIVE_IS_ALLOWED ();
-  
+
   Context_def *me = (Context_def *) SCM_CELL_WORD_1 (smob);
 
   scm_gc_mark (me->description_);
@@ -205,7 +205,7 @@ Context_def::get_default_child (SCM user_mod) const
    - the first element in the list defines a context that is a valid child of
      the context defined by this Context_def
    - each subsequent element in the list defines a context that is a valid child
-     of the the context defined by the preceding element in the list
+     of the context defined by the preceding element in the list
    - the last element in the list defines a context with the given name
 
   The ADDITIONAL_ACCEPTS parameter is a list of additional contexts that this
index fd57fcd1f372fc439b9a8808178ec6403892398a..eb05a1e9aa87657912ad3123fd554e33cacdecff 100644 (file)
@@ -55,10 +55,10 @@ general_pushpop_property (Context *context,
   alist defined in a parent context. BASED-ON should always be a tail
   of ALIST.
 
-  Push or pop (depending on value of VAL) a single entry entry from a
+  Push or pop (depending on value of VAL) a single entry from a
   translator property list by name of PROP.  GROB_PROPERTY_PATH
   indicates nested alists, eg. '(beamed-stem-lengths details)
-  
+
 */
 void
 execute_override_property (Context *context,
@@ -67,7 +67,7 @@ execute_override_property (Context *context,
                           SCM new_value)
 {
   SCM current_context_val = SCM_EOL;
-  
+
   Context *where = context->where_defined (context_property,
                                           &current_context_val);
 
@@ -95,7 +95,7 @@ execute_override_property (Context *context,
   SCM symbol = scm_car (grob_property_path);
   if (scm_is_pair (scm_cdr (grob_property_path)))
     {
-      new_value = nested_property_alist (ly_assoc_get (symbol, target_alist, 
+      new_value = nested_property_alist (ly_assoc_get (symbol, target_alist,
                                                       SCM_EOL),
                                         scm_cdr (grob_property_path),
                                         new_value);
@@ -163,7 +163,7 @@ execute_revert_property (Context *context,
          programming_error ("Grob property path should be list of symbols.");
          return;
        }
-      
+
       SCM symbol = scm_car (grob_property_path);
       if (scm_is_pair (scm_cdr (grob_property_path)))
        {
@@ -171,7 +171,7 @@ execute_revert_property (Context *context,
          SCM new_val
            = nested_property_revert_alist (current_sub_alist,
                                            scm_cdr (grob_property_path));
-           
+
          if (scm_is_pair (current_alist)
              && scm_caar (current_alist) == symbol
              && current_alist != daddy)
@@ -183,7 +183,7 @@ execute_revert_property (Context *context,
       else
        {
          SCM new_alist = evict_from_alist (symbol, current_alist, daddy);
-         
+
          if (new_alist == daddy)
            context->unset_property (context_property);
          else
@@ -206,7 +206,7 @@ execute_pushpop_property (Context *context,
                            scm_list_1 (grob_property),
                            new_value);
 }
-  
+
 /*
   PRE_INIT_OPS is in the order specified, and hence must be reversed.
 */
index 2e2c519f7af88c7291d69d7c9ee2cfa1b891276c..0d6841f8ab7580743f4c29794860a180be0ea549 100644 (file)
@@ -62,23 +62,32 @@ struct Figure_group
     group_ = 0;
     current_event_ = 0;
   }
+  /* Mark the members of the struct as used for the GUILE Garbage Collection */
+  void gc_mark () const
+  {
+    scm_gc_mark (number_);
+    scm_gc_mark (alteration_);
+    scm_gc_mark (augmented_);
+    scm_gc_mark (diminished_);
+    scm_gc_mark (augmented_slash_);
+    scm_gc_mark (text_);
+  }
+  bool group_is_equal_to (Stream_event *evt) const
+  {
+    return
+      ly_is_equal (number_, evt->get_property ("figure"))
+      && ly_is_equal (alteration_, evt->get_property ("alteration"))
+      && ly_is_equal (augmented_, evt->get_property ("augmented"))
+      && ly_is_equal (diminished_, evt->get_property ("diminished"))
+      && ly_is_equal (augmented_slash_, evt->get_property ("augmented-slash"))
+      && ly_is_equal (text_, evt->get_property ("text"));
+  }
   bool is_continuation () const
   {
     return
       current_event_
       && !force_no_continuation_
-      && ly_is_equal (number_,
-                     current_event_->get_property ("figure"))
-      && ly_is_equal (alteration_,
-                     current_event_->get_property ("alteration"))
-      && ly_is_equal (augmented_,
-                     current_event_->get_property ("augmented"))
-      && ly_is_equal (diminished_,
-                     current_event_->get_property ("diminished"))
-      && ly_is_equal (augmented_slash_,
-                     current_event_->get_property ("augmented-slash"))
-      && ly_is_equal (text_,
-                     current_event_->get_property ("text"));
+      && group_is_equal_to (current_event_);
   }
 };
 
@@ -116,12 +125,7 @@ Figured_bass_engraver::derived_mark () const
 {
   for (vsize i = 0; i < groups_.size (); i++)
     {
-      scm_gc_mark (groups_[i].number_);
-      scm_gc_mark (groups_[i].alteration_);
-      scm_gc_mark (groups_[i].augmented_);
-      scm_gc_mark (groups_[i].diminished_);
-      scm_gc_mark (groups_[i].augmented_slash_);
-      scm_gc_mark (groups_[i].text_);
+      groups_[i].gc_mark ();
     }
 }
 
index 7fdecf38bfda690c13ae0bb48ce9217699fa09e5..8132e92375b601f0397b6c76af3eac09b990573b 100644 (file)
@@ -88,7 +88,7 @@ LY_DEFINE (ly_otf_font_p, "ly:otf-font?", 1, 0, 0,
 
 LY_DEFINE (ly_otf_glyph_count, "ly:otf-glyph-count", 1, 0, 0,
           (SCM font),
-          "Return the the number of glyphs in @var{font}.")
+          "Return the number of glyphs in @var{font}.")
 {
   Modified_font_metric *fm
     = dynamic_cast<Modified_font_metric *> (unsmob_metrics (font));
index f34bf0d1d2dc227305b277f8562cefe88dce7d65..9862dab7263814a8b77912f1600f76425190d463 100644 (file)
   along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "protected-scm.hh"
+#include "engraver.hh"
+#include "item.hh"
 #include "note-column.hh"
+#include "protected-scm.hh"
 #include "side-position-interface.hh"
-#include "engraver.hh"
 #include "spanner.hh"
 #include "text-interface.hh"
-#include "item.hh"
+
 
 class Ottava_spanner_engraver : public Engraver
 {
@@ -148,8 +149,8 @@ ADD_TRANSLATOR (Ottava_spanner_engraver,
                "OttavaBracket ",
 
                /* read */
+               "middleCOffset "
                "ottavation "
-               "originalMiddleCPosition "
                "currentMusicalColumn ",
                
                /* write */
index e0bc2a7109bba631e3ffb1658f79f3bf6cb94030..5944f93a7f8681cca6aeb9ae6bc5c6f1573e9f50 100644 (file)
@@ -35,7 +35,7 @@ Prob::equal_p (SCM sa, SCM sb)
      constructor preserve equality.
 
      Perhaps it would be better to use a more strict definition of
-     equality; e.g., that that two probs are equal iff they can be
+     equality; e.g., that two probs are equal iff they can be
      distinguished by calls to ly:prob-property.
   */
   Prob *probs[2] = {unsmob_prob (sa), unsmob_prob (sb)};
@@ -66,7 +66,7 @@ Prob::equal_p (SCM sa, SCM sb)
          if (scm_caar (aprop) != scm_caar (bprop) ||
              (
               !(unsmob_input (aval) && unsmob_input (bval))
-              &&                
+              &&
               !to_boolean (scm_equal_p (aval, bval))))
            return SCM_BOOL_F;
        }
@@ -123,11 +123,11 @@ SCM
 Prob::mark_smob (SCM smob)
 {
   ASSERT_LIVE_IS_ALLOWED ();
-  
+
   Prob *system = (Prob *) SCM_CELL_WORD_1 (smob);
   scm_gc_mark (system->mutable_property_alist_);
   system->derived_mark ();
-  
+
   return system->immutable_property_alist_;
 }
 
@@ -142,7 +142,7 @@ Prob::print_smob (SCM smob, SCM port, scm_print_state*)
   scm_puts (p->class_name (), port);
   scm_display (p->mutable_property_alist_, port);
   scm_display (p->immutable_property_alist_, port);
-  
+
   scm_puts (" >\n", port);
   return 1;
 }
@@ -176,11 +176,11 @@ Prob::instrumented_set_property (SCM sym, SCM val, const char*, int, const char*
 }
 
 void
-Prob::internal_set_property (SCM sym, SCM val) 
+Prob::internal_set_property (SCM sym, SCM val)
 {
   if (do_internal_type_checking_global)
     type_check_assignment (sym, val);
-  
+
   mutable_property_alist_ = scm_assq_set_x (mutable_property_alist_, sym, val);
 }
 
index 1ac308dec2eafafe38ede852b3bfd2d62d78da47..4c5b0530aae2971ad5bef18112cb0df48b916e01 100644 (file)
@@ -39,7 +39,7 @@ LY_DEFINE (ly_grob_staff_position, "ly:grob-staff-position",
 LY_DEFINE (ly_position_on_line_p, "ly:position-on-line?",
            2, 0, 0, (SCM sg, SCM spos),
            "Return whether @var{spos} is on a line of the staff associated"
-           " with the the grob @var{sg} (even on an extender line).")
+           " with the grob @var{sg} (even on an extender line).")
 {
   LY_ASSERT_SMOB (Grob, sg, 1);
   LY_ASSERT_TYPE (scm_is_number, spos, 2);
diff --git a/lily/time-scaled-music-iterator.cc b/lily/time-scaled-music-iterator.cc
deleted file mode 100644 (file)
index f82bbbf..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-  This file is part of LilyPond, the GNU music typesetter.
-
-  Copyright (C) 1998--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>,
-                 Erik Sandberg <mandolaerik@gmail.com>
-
-  LilyPond is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  LilyPond is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "context.hh"
-#include "input.hh"
-#include "international.hh"
-#include "music.hh"
-#include "music-wrapper-iterator.hh"
-#include "stream-event.hh"
-
-/*
-  Iterates \times, by sending TupletSpanEvents at the start/end of each
-  tuplet bracket. Extra stop/start events are sent at regular
-  intervals if tupletSpannerDuration is set.
-*/
-class Time_scaled_music_iterator : public Music_wrapper_iterator
-{
-public:
-  DECLARE_SCHEME_CALLBACK (constructor, ());
-  /* construction */
-  DECLARE_CLASSNAME (Time_scaled_music_iterator);
-  Time_scaled_music_iterator ();
-protected:
-  virtual void process (Moment m);
-  virtual void construct_children ();
-  virtual void derived_mark () const;
-  virtual Moment pending_moment () const;
-
-  Music *create_event (Direction d);
-  
-private:
-
-  /* tupletSpannerDuration */
-  Moment spanner_duration_;
-
-  /* next time to add a stop/start pair */
-  Moment next_split_mom_;
-  
-  /* Recycle start/stop events if tupletSpannerDuration is set. */
-  SCM synthesized_events_;
-  
-  Context_handle tuplet_handler_;
-};
-
-Music*
-Time_scaled_music_iterator::create_event (Direction d)
-{
-  SCM ev_scm = scm_call_2 (ly_lily_module_constant ("make-span-event"),
-                          ly_symbol2scm ("TupletSpanEvent"),
-                          scm_from_int (d));
-  
-  Music *mus = get_music ();
-
-  Music *ev = unsmob_music (ev_scm);
-  ev->set_spot (*mus->origin ());
-  if (d == START)
-    {
-      ev->set_property ("numerator", mus->get_property ("numerator"));
-      ev->set_property ("denominator", mus->get_property ("denominator"));
-      ev->set_property ("tweaks", mus->get_property ("tweaks"));
-      ev->set_property ("length", spanner_duration_.smobbed_copy ()); 
-    }  
-
-  synthesized_events_ = scm_cons (ev_scm, synthesized_events_);
-  return ev;
-}
-
-
-Time_scaled_music_iterator::Time_scaled_music_iterator ()
-{
-  spanner_duration_ = next_split_mom_ = 0;
-  synthesized_events_ = SCM_EOL;
-}
-
-
-Moment
-Time_scaled_music_iterator::pending_moment () const
-{
-  Moment next_mom = Music_wrapper_iterator::pending_moment ();
-  next_mom = min (next_mom, next_split_mom_);
-
-  return next_mom;
-}
-
-
-void
-Time_scaled_music_iterator::process (Moment m)
-{
-  if (spanner_duration_.to_bool () &&
-      m.main_part_ == next_split_mom_)
-    {
-      descend_to_bottom_context ();
-      if (tuplet_handler_.get_outlet ())
-       create_event (STOP)->send_to_context (tuplet_handler_.get_outlet ());
-
-      if (m.main_part_ < music_get_length ().main_part_)
-       {
-         tuplet_handler_.set_context (get_outlet ());
-         report_event (create_event (START));
-      
-         next_split_mom_ += spanner_duration_;
-       }
-      else
-       {
-         tuplet_handler_.set_context (0);
-       }
-    }
-  Music_wrapper_iterator::process (m);
-  if (child_iter_ && child_iter_->ok ())
-    descend_to_child (child_iter_->get_outlet ());
-  
-}
-
-void
-Time_scaled_music_iterator::construct_children ()
-{
-  spanner_duration_ = music_get_length ();
-
-  Moment *mp = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration"));
-  if (mp)
-    spanner_duration_ = min (mp->main_part_, spanner_duration_);
-  
-  Music_wrapper_iterator::construct_children ();
-
-  if (child_iter_ && child_iter_->ok ())
-    descend_to_child (child_iter_->get_outlet ());
-}
-
-void
-Time_scaled_music_iterator::derived_mark () const
-{
-  scm_gc_mark (synthesized_events_);
-  Music_wrapper_iterator::derived_mark ();
-}
-
-IMPLEMENT_CTOR_CALLBACK (Time_scaled_music_iterator);
index 0d0a6886e4ecae76f46615e4086deb0521cf7739..fc75e719fb56b61af4da4e078902c31c06c1eca1 100644 (file)
@@ -78,10 +78,10 @@ print_header (void *out, FT_Face face)
     = (TT_Header *)FT_Get_Sfnt_Table (face, ft_sfnt_head);
 
   lily_cookie_fprintf (out, "/FontBBox [%lf %lf %lf %lf] def\n",
-                      float (ht->xMin) / ht->Units_Per_EM,
-                      float (ht->yMin) / ht->Units_Per_EM,
-                      float (ht->xMax) / ht->Units_Per_EM,
-                      float (ht->yMax) / ht->Units_Per_EM);
+                      float (ht->xMin) / float (ht->Units_Per_EM),
+                      float (ht->yMin) / float (ht->Units_Per_EM),
+                      float (ht->xMax) / float (ht->Units_Per_EM),
+                      float (ht->yMax) / float (ht->Units_Per_EM));
 
   lily_cookie_fprintf (out, "/FontType 42 def\n");
   lily_cookie_fprintf (out, "/FontInfo 8 dict dup begin\n");
@@ -112,9 +112,11 @@ print_header (void *out, FT_Face face)
   lily_cookie_fprintf (out, "/isFixedPitch %s def\n",
                       pt->isFixedPitch ? "true" : "false");
   lily_cookie_fprintf (out, "/UnderlinePosition %lf def\n",
-                      float (pt->underlinePosition) / ht->Units_Per_EM);
+                      float (pt->underlinePosition)
+                      / float (ht->Units_Per_EM));
   lily_cookie_fprintf (out, "/UnderlineThickness %lf def\n",
-                      float (pt->underlineThickness) / ht->Units_Per_EM);
+                      float (pt->underlineThickness)
+                      / float (ht->Units_Per_EM));
   lily_cookie_fprintf (out, "end readonly def\n");
 }
 
@@ -168,7 +170,7 @@ void t42_write_table (void *out, FT_Face face, unsigned char const *buffer,
        if (offset > last_offset + CHUNKSIZE)
          {
            if (last_chunk != last_offset)
-             chunks.push_back (last_offset - last_chunk);
+             chunks.push_back (FT_UShort (last_offset - last_chunk));
            /*
              a single glyph with more than 64k data
              is a pathological case but...
@@ -179,18 +181,18 @@ void t42_write_table (void *out, FT_Face face, unsigned char const *buffer,
                chunks.push_back (CHUNKSIZE);
                rest -= CHUNKSIZE;
              }
-           chunks.push_back (rest);
+           chunks.push_back (FT_UShort (rest));
            last_chunk = offset;
          }
        else if (offset > last_chunk + CHUNKSIZE)
          {
-           chunks.push_back (last_offset - last_chunk);
+           chunks.push_back (FT_UShort (last_offset - last_chunk));
            last_chunk = last_offset;
          }
 
        last_offset = offset;
       }
-      chunks.push_back (s - last_chunk);
+      chunks.push_back (FT_UShort (s - last_chunk));
 
       delete[] loca_buf;
     }
@@ -202,7 +204,7 @@ void t42_write_table (void *out, FT_Face face, unsigned char const *buffer,
          chunks.push_back (CHUNKSIZE);
          rest -= CHUNKSIZE;
        }
-      chunks.push_back (rest);
+      chunks.push_back (FT_UShort (rest));
     }
   else
     chunks.push_back (CHUNKSIZE);
@@ -275,11 +277,11 @@ print_body (void *out, FT_Face face)
   unsigned char *hbuf = new unsigned char[hlength];
   unsigned char *p;
 
-  hbuf[0] = 0x00;                      /* version */
+  hbuf[0] = 0x00;                                      /* version */
   hbuf[1] = 0x01;
   hbuf[2] = 0x00;
   hbuf[3] = 0x00;
-  hbuf[4] = (idx & 0xFF00) >> 8;       /* numTables */
+  hbuf[4] = (unsigned char) ((idx & 0xFF00) >> 8);     /* numTables */
   hbuf[5] = idx & 0x00FF;
 
   FT_UInt searchRange, entrySelector, rangeShift;
@@ -290,11 +292,11 @@ print_body (void *out, FT_Face face)
   searchRange = 0x10 << entrySelector;
   rangeShift = (idx << 4) - searchRange;
 
-  hbuf[6] = (searchRange & 0xFF00) >> 8;
+  hbuf[6] = (unsigned char) ((searchRange & 0xFF00) >> 8);
   hbuf[7] = searchRange & 0x00FF;
-  hbuf[8] = (entrySelector & 0xFF00) >> 8;
+  hbuf[8] = (unsigned char) ((entrySelector & 0xFF00) >> 8);
   hbuf[9] = entrySelector & 0x00FF;
-  hbuf[10] = (rangeShift & 0xFF00) >> 8;
+  hbuf[10] = (unsigned char) ((rangeShift & 0xFF00) >> 8);
   hbuf[11] = rangeShift & 0x00FF;
 
   p = &hbuf[12];
@@ -337,24 +339,24 @@ print_body (void *out, FT_Face face)
 
     delete[] buf;
 
-    *(p++) = (tags[i] & 0xFF000000UL) >> 24;
-    *(p++) = (tags[i] & 0x00FF0000UL) >> 16;
-    *(p++) = (tags[i] & 0x0000FF00UL) >> 8;
+    *(p++) = (unsigned char) ((tags[i] & 0xFF000000UL) >> 24);
+    *(p++) = (unsigned char) ((tags[i] & 0x00FF0000UL) >> 16);
+    *(p++) = (unsigned char) ((tags[i] & 0x0000FF00UL) >> 8);
     *(p++) = tags[i] & 0x000000FFUL;
 
-    *(p++) = (checksum & 0xFF000000UL) >> 24;
-    *(p++) = (checksum & 0x00FF0000UL) >> 16;
-    *(p++) = (checksum & 0x0000FF00UL) >> 8;
+    *(p++) = (unsigned char) ((checksum & 0xFF000000UL) >> 24);
+    *(p++) = (unsigned char) ((checksum & 0x00FF0000UL) >> 16);
+    *(p++) = (unsigned char) ((checksum & 0x0000FF00UL) >> 8);
     *(p++) = checksum & 0x000000FFUL;
 
-    *(p++) = (offset & 0xFF000000UL) >> 24;
-    *(p++) = (offset & 0x00FF0000UL) >> 16;
-    *(p++) = (offset & 0x0000FF00UL) >> 8;
+    *(p++) = (unsigned char) ((offset & 0xFF000000UL) >> 24);
+    *(p++) = (unsigned char) ((offset & 0x00FF0000UL) >> 16);
+    *(p++) = (unsigned char) ((offset & 0x0000FF00UL) >> 8);
     *(p++) = offset & 0x000000FFUL;
 
-    *(p++) = (lengths[i] & 0xFF000000UL) >> 24;
-    *(p++) = (lengths[i] & 0x00FF0000UL) >> 16;
-    *(p++) = (lengths[i] & 0x0000FF00UL) >> 8;
+    *(p++) = (unsigned char) ((lengths[i] & 0xFF000000UL) >> 24);
+    *(p++) = (unsigned char) ((lengths[i] & 0x00FF0000UL) >> 16);
+    *(p++) = (unsigned char) ((lengths[i] & 0x0000FF00UL) >> 8);
     *(p++) = lengths[i] & 0x000000FFUL;
 
     /* offset must be a multiple of 4 */
@@ -390,9 +392,9 @@ print_body (void *out, FT_Face face)
       if (tag == head_tag)
        {
          /* in the second pass simply store the computed font checksum */
-         buf[8] = (font_checksum & 0xFF000000UL) >> 24;
-         buf[9] = (font_checksum & 0x00FF0000UL) >> 16;
-         buf[10] = (font_checksum & 0x0000FF00UL) >> 8;
+         buf[8] = (unsigned char) ((font_checksum & 0xFF000000UL) >> 24);
+         buf[9] = (unsigned char) ((font_checksum & 0x00FF0000UL) >> 16);
+         buf[10] = (unsigned char) ((font_checksum & 0x0000FF00UL) >> 8);
          buf[11] = font_checksum & 0x000000FFUL;
        }
 
diff --git a/lily/tuplet-iterator.cc b/lily/tuplet-iterator.cc
new file mode 100644 (file)
index 0000000..cfe4ce0
--- /dev/null
@@ -0,0 +1,149 @@
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 1998--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>,
+                 Erik Sandberg <mandolaerik@gmail.com>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "context.hh"
+#include "input.hh"
+#include "international.hh"
+#include "music.hh"
+#include "music-wrapper-iterator.hh"
+#include "stream-event.hh"
+
+/*
+  Iterates \times, by sending TupletSpanEvents at the start/end of each
+  tuplet bracket.  Extra stop/start events are sent at regular
+  intervals if tupletSpannerDuration is set.
+*/
+class Tuplet_iterator : public Music_wrapper_iterator
+{
+public:
+  DECLARE_SCHEME_CALLBACK (constructor, ());
+  /* construction */
+  DECLARE_CLASSNAME (Tuplet_iterator);
+  Tuplet_iterator ();
+protected:
+  virtual void process (Moment m);
+  virtual void construct_children ();
+  virtual void derived_mark () const;
+  virtual Moment pending_moment () const;
+
+  Music *create_event (Direction d);
+
+private:
+
+  /* tupletSpannerDuration */
+  Moment spanner_duration_;
+
+  /* next time to add a stop/start pair */
+  Moment next_split_mom_;
+
+  /* Recycle start/stop events if tupletSpannerDuration is set. */
+  SCM synthesized_events_;
+
+  Context_handle tuplet_handler_;
+};
+
+Music *
+Tuplet_iterator::create_event (Direction d)
+{
+  SCM ev_scm = scm_call_2 (ly_lily_module_constant ("make-span-event"),
+                          ly_symbol2scm ("TupletSpanEvent"),
+                          scm_from_int (d));
+
+  Music *mus = get_music ();
+
+  Music *ev = unsmob_music (ev_scm);
+  ev->set_spot (*mus->origin ());
+  if (d == START)
+    {
+      ev->set_property ("numerator", mus->get_property ("numerator"));
+      ev->set_property ("denominator", mus->get_property ("denominator"));
+      ev->set_property ("tweaks", mus->get_property ("tweaks"));
+      ev->set_property ("length", spanner_duration_.smobbed_copy ()); 
+    }  
+
+  synthesized_events_ = scm_cons (ev_scm, synthesized_events_);
+  return ev;
+}
+
+Tuplet_iterator::Tuplet_iterator ()
+{
+  spanner_duration_ = next_split_mom_ = 0;
+  synthesized_events_ = SCM_EOL;
+}
+
+Moment
+Tuplet_iterator::pending_moment () const
+{
+  Moment next_mom = Music_wrapper_iterator::pending_moment ();
+  next_mom = min (next_mom, next_split_mom_);
+
+  return next_mom;
+}
+
+void
+Tuplet_iterator::process (Moment m)
+{
+  if (spanner_duration_.to_bool ()
+      && m.main_part_ == next_split_mom_)
+    {
+      descend_to_bottom_context ();
+      if (tuplet_handler_.get_outlet ())
+       create_event (STOP)->send_to_context (tuplet_handler_.get_outlet ());
+
+      if (m.main_part_ < music_get_length ().main_part_)
+       {
+         tuplet_handler_.set_context (get_outlet ());
+         report_event (create_event (START));
+
+         next_split_mom_ += spanner_duration_;
+       }
+      else
+       tuplet_handler_.set_context (0);
+    }
+  Music_wrapper_iterator::process (m);
+  if (child_iter_ && child_iter_->ok ())
+    descend_to_child (child_iter_->get_outlet ());
+  
+}
+
+void
+Tuplet_iterator::construct_children ()
+{
+  spanner_duration_ = music_get_length ();
+
+  Moment *mp
+    = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration"));
+  if (mp)
+    spanner_duration_ = min (mp->main_part_, spanner_duration_);
+
+  Music_wrapper_iterator::construct_children ();
+
+  if (child_iter_ && child_iter_->ok ())
+    descend_to_child (child_iter_->get_outlet ());
+}
+
+void
+Tuplet_iterator::derived_mark () const
+{
+  scm_gc_mark (synthesized_events_);
+  Music_wrapper_iterator::derived_mark ();
+}
+
+IMPLEMENT_CTOR_CALLBACK (Tuplet_iterator);
index a1154e06076221b751992f8d97b26ad339bf67eb..fe3f957ea06e602df8253dad7c76456035d421fe 100644 (file)
@@ -17,7 +17,7 @@
 
 \version "2.12.0"
 
-%  Add ninth chords to to predefined fret diagrams for standard guitar tunings
+%  Add ninth chords to predefined fret diagrams for standard guitar tunings
 
 \addChordShape #'c:9 #guitar-tuning #"x;3-2;2-1;3-3-(;3-3;3-3-);"
 \addChordShape #'f:9 #guitar-tuning #"1-1-(;3-3;1-1;2-2;1-1-);3-4;"
index 08f354b02cc50e74debe4a79425e5f38272c21a2..9219f5eafce4fcf5efe956fc686909fd40d67714 100644 (file)
@@ -58,7 +58,7 @@ foot_width# := 9/4 thick#;
 
 
 %
-% These numbers were taken from a part that that the EJE violas played
+% These numbers were taken from a part that the EJE violas played in
 % 1997 -- Probably Mendelssohn's ouverture `Heimkehr aus der Fremde'.
 %
 
index 5d050c38eb19bbfaae07eb4a20bb3b3d7859db79..a8e322f8b4a2bb4a7442768b4d24710c9896bcf3 100644 (file)
@@ -19,9 +19,9 @@
 stafflines := 5;
 
 %
-% The design size of a staff should really be the 
+% The design size of a staff should really be the
 % staff_space, but we use staffsize for historical reasons.
-% 
+%
 
 staff_space# := staffsize# / (stafflines - 1);
 staff_space_rounded# := staff_space#;
@@ -42,11 +42,11 @@ fixed_line_thickness + variable_line_factor * 5 pt# = 0.50 pt#;
 fixed_line_thickness + variable_line_factor * 4.125 pt# = 0.47 pt#;
 
 stafflinethickness# := fixed_line_thickness
-                      + variable_line_factor * staff_space#; 
+                      + variable_line_factor * staff_space#;
 stafflinethickness_rounded# := stafflinethickness#;
 
 %
-% The following tunes the general blackness of the glyphs. 
+% The following tunes the general blackness of the glyphs.
 %
 
 linethickness# := stafflinethickness#;         %% 0.5 pt#;
@@ -79,7 +79,7 @@ if ledgerlinethickness_rounded > 2 stafflinethickness_rounded:
        ledgerlinethickness_rounded := 2 stafflinethickness_rounded;
 fi;
 
-% 
+%
 % Because of the engraving/stamping process, no traditional
 % characters have sharp edges and corners.
 % The following variable controls the amount of `roundness'.
@@ -162,8 +162,8 @@ define_pixels (blot_diameter);
 %   . Restore height and decrease `d' by 1.
 %
 % o The glyph is centered between two or four staff lines, and the origin is
-%   the middle of the whitespace.  Assuming that the the whitespace consists
-%   of an odd number of pixels, we have this:
+%   the middle of the whitespace.  Assuming that the whitespace consists of
+%   an odd number of pixels, we have this:
 %
 %          -----------
 %                       b
index 6ef352b18941e09aa50dd892e31e1990be1d7cd6..695f540db362d1b3e6bdef3951ce5d3b001ba9c6 100644 (file)
@@ -988,7 +988,7 @@ class BracketSpannerEvent (SpanEvent):
     def print_before_note (self, printer):
         if self.span_direction == -1:
             printer.dump ('\[')
-    # the the bracket after the last note
+    # the bracket after the last note
     def print_after_note (self, printer):
         if self.span_direction == 1:
             printer.dump ('\]')
index 5116fecd823fb16317eed0b8705c9777a46f2e86..90c0cd07edfa725620e215eb4ba89d20fad9323d 100644 (file)
@@ -20,6 +20,7 @@
 ;; backend helpers.
 
 (use-modules (scm ps-to-png)
+            (scm paper-system)
             (ice-9 optargs))
 
 (define-public (ly:system command . rest)
       scope)))
   (apply string-append (map output-scope scopes)))
 
+(define-public (relevant-book-systems book)
+  (let ((systems (ly:paper-book-systems book)))
+    ;; skip booktitles.
+    (if (and (not (ly:get-option 'include-book-title-preview))
+            (pair? systems)
+            (ly:prob-property (car systems) 'is-book-title #f))
+       (cdr systems)
+       systems)))
+
+(define-public (relevant-dump-systems systems)
+  (let ((to-dump-systems '()))
+    (for-each
+      (lambda (sys)
+       (if (or (paper-system-title? sys)
+               (not (pair? to-dump-systems))
+               (paper-system-title? (car to-dump-systems)))
+           (set! to-dump-systems (cons sys to-dump-systems))))
+      systems)
+    to-dump-systems))
+
 (define missing-stencil-list '())
 
 (define-public (backend-testing output-module)
index 99eef2ec5d6c5545ed8a424312f7cfa3f04917c0..16b2538ed36c6b054a7bac76f863923b4976daee 100644 (file)
@@ -579,10 +579,6 @@ This can be used to signal melismas on top of those automatically
 detected.")
 
 
-     (originalMiddleCPosition ,integer? "Used for temporary overriding
-middle@tie{}C in octavation brackets.")
-
-
      (quotedCueEventTypes ,list? "A list of symbols, representing the
 event types that should be duplicated for @code{\\cueDuring} commands.")
      (quotedEventTypes ,list? "A list of symbols, representing the
index 302b08fbc7dbd28b1a0840fee0cce831ff1822dc..4a7a6a0fdfda507ea1ea102ba9630f74e3900e7f 100644 (file)
@@ -3149,6 +3149,43 @@ Draw vertical brackets around @var{arg}.
         (m (interpret-markup layout props arg)))
     (bracketify-stencil m Y th (* 2.5 th) th)))
 
+(define-markup-command (parenthesize layout props arg)
+  (markup?)
+  #:category graphic
+  #:properties ((angularity 0)
+               (padding)
+               (size 1)
+               (thickness 1)
+               (width 0.25))
+  "
+@cindex placing parentheses around text
+
+Draw parentheses around @var{arg}.  This is useful for parenthesizing
+a column containing several lines of text.
+
+@lilypond[verbatim,quote]
+\\markup {
+  \\parenthesize {
+    \\column {
+      foo
+      bar
+    }
+  }
+}
+@end lilypond"
+  (let* ((markup (interpret-markup layout props arg))
+        (scaled-width (* size width))
+        (scaled-thickness
+         (* (chain-assoc-get 'line-thickness props 0.1)
+            thickness))
+        (half-thickness
+         (min (* size 0.5 scaled-thickness)
+              (* (/ 4 3.0) scaled-width)))
+        (padding (chain-assoc-get 'padding props half-thickness)))
+    (parenthesize-stencil
+     markup half-thickness scaled-width angularity padding)))
+
+\f
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Delayed markup evaluation
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index f01dd2ca7e5f94e1083cb17c023e0a3ce5f0daa6..973e59a403872076ee125ec3505f82899d9c32ad 100644 (file)
@@ -578,7 +578,7 @@ Syntax: @code{\\times @var{fraction} @var{music}}, e.g.,
 @code{\\times 2/3 @{ @dots{} @}} for triplets.")
        (length-callback . ,ly:music-wrapper::length-callback)
        (start-callback . ,ly:music-wrapper::start-callback)
-       (iterator-ctor . ,ly:time-scaled-music-iterator::constructor)
+       (iterator-ctor . ,ly:tuplet-iterator::constructor)
        (types . (time-scaled-music music-wrapper-music general-music))
        ))
 
index cbc06429dcd034b66bfc8410301930e9f42158b1..baacb96124f856885d4e933bd023d216d23cc4d8 100644 (file)
@@ -602,21 +602,8 @@ fonts inline."
 
 (define-public (output-preview-framework basename book scopes fields)
   (let* ((paper (ly:paper-book-paper book))
-        (systems (ly:paper-book-systems book))
-        (scale (ly:output-def-lookup paper 'output-scale))
-        (to-dump-systems '()))
-    ;; skip booktitles.
-    (if (and (not (ly:get-option 'include-book-title-preview))
-            (pair? systems)
-            (ly:prob-property (car systems) 'is-book-title #f))
-       (set! systems (cdr systems)))
-    (for-each
-     (lambda (sys)
-       (if (or (paper-system-title? sys)
-              (not (pair? to-dump-systems))
-              (paper-system-title? (car to-dump-systems)))
-          (set! to-dump-systems (cons sys to-dump-systems))))
-     systems)
+        (systems (relevant-book-systems book))
+        (to-dump-systems (relevant-dump-systems systems)))
     (dump-stencil-as-EPS paper
                         (stack-stencils Y DOWN 0.0
                                         (map paper-system-stencil
@@ -627,26 +614,6 @@ fonts inline."
                        (format "~a.preview.eps" basename)
                        (cons "png" (ly:output-formats)))))
 
-(if #f
-    (define-public (output-preview-framework basename book scopes fields)
-      (let* ((paper (ly:paper-book-paper book))
-            (systems (ly:paper-book-systems book))
-            (scale (ly:output-def-lookup paper 'output-scale))
-            (titles (take-while paper-system-title? systems))
-            (non-title (find (lambda (x)
-                               (not (paper-system-title? x))) systems))
-            (dump-me
-             (stack-stencils Y DOWN 0.0
-                             (map paper-system-stencil
-                                  (append titles (list non-title))))))
-       (output-scopes scopes fields basename)
-       (dump-stencil-as-EPS paper dump-me
-                            (format "~a.preview" basename)
-                            #t)
-       (postprocess-output book framework-ps-module
-                           (format "~a.preview.eps" basename)
-                           (ly:output-formats)))))
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (define-public (convert-to-pdf book name)
index e0582a24ab3dce11cf0cabb05c8b0f8718e376eb..ba918ce3b01ea50c30e71f5716be4b04e93b2ba2 100644 (file)
@@ -35,6 +35,7 @@
   (guile)
   (lily)
   (scm page)
+  (scm paper-system)
   (scm output-svg)
   (srfi srfi-1)
   (srfi srfi-2)
 
 (define format ergonomic-simple-format)
 
-(define (svg-header paper unit-length)
-  (let* ((lookup (lambda (x) (ly:output-def-lookup paper x)))
-        (output-scale (* lily-unit->mm-factor unit-length))
-        (paper-width (lookup 'paper-width))
-        (paper-height (lookup 'paper-height))
-        (page-width (* output-scale paper-width))
-        (page-height (* output-scale paper-height)))
+(define (svg-begin . rest)
+  (eo 'svg
+      '(xmlns . "http://www.w3.org/2000/svg")
+      '(xmlns:xlink . "http://www.w3.org/1999/xlink")
+      '(version . "1.2")
+      `(width . ,(ly:format "~2fmm" (first rest)))
+      `(height . ,(ly:format "~2fmm" (second rest)))
+      `(viewBox . ,(ly:format "~4f ~4f ~4f ~4f"
+                             (third rest) (fourth rest)
+                             (fifth rest) (sixth rest)))))
 
-    `((xmlns . "http://www.w3.org/2000/svg")
-      (xmlns:xlink . "http://www.w3.org/1999/xlink")
-      (version . "1.2")
-      (width . ,(ly:format "~2fmm" page-width))
-      (height . ,(ly:format "~2fmm" page-height))
-      (viewBox . ,(ly:format "0 0 ~4f ~4f"
-                            paper-width paper-height)))))
+(define (svg-end)
+  (ec 'svg))
 
 (define (dump-page paper filename page page-number page-count)
   (let* ((outputter (ly:make-paper-outputter (open-file filename "wb") 'svg))
         (dump (lambda (str) (display str (ly:outputter-port outputter))))
-        (unit-length (ly:output-def-lookup paper 'output-scale)))
+        (lookup (lambda (x) (ly:output-def-lookup paper x)))
+        (unit-length (lookup 'output-scale))
+        (output-scale (* lily-unit->mm-factor unit-length))
+        (device-width (lookup 'paper-width))
+        (device-height (lookup 'paper-height))
+        (page-width (* output-scale device-width))
+        (page-height (* output-scale device-height)))
 
-    (dump (apply eo 'svg (svg-header paper unit-length)))
+    (dump (svg-begin page-width page-height
+                    0 0 device-width device-height))
     (dump (comment (format "Page: ~S/~S" page-number page-count)))
     (ly:outputter-output-scheme outputter
                                `(begin (set! lily-unit-length ,unit-length)
                                        ""))
     (ly:outputter-dump-stencil outputter page)
-    (dump (ec 'svg))
+    (dump (svg-end))
     (ly:outputter-close outputter)))
 
+(define (dump-preview paper stencil filename)
+  (let* ((outputter (ly:make-paper-outputter (open-file filename "wb") 'svg))
+        (dump (lambda (str) (display str (ly:outputter-port outputter))))
+        (lookup (lambda (x) (ly:output-def-lookup paper x)))
+        (unit-length (lookup 'output-scale))
+        (x-extent (ly:stencil-extent stencil X))
+        (y-extent (ly:stencil-extent stencil Y))
+        (left-x (car x-extent))
+        (top-y (cdr y-extent))
+        (device-width (interval-length x-extent))
+        (device-height (interval-length y-extent))
+        (output-scale (* lily-unit->mm-factor unit-length))
+        (svg-width (* output-scale device-width))
+        (svg-height (* output-scale device-height)))
+
+    (dump (svg-begin svg-width svg-height
+                    left-x (- top-y) device-width device-height))
+    (ly:outputter-output-scheme outputter
+                               `(begin (set! lily-unit-length ,unit-length)
+                                       ""))
+    (ly:outputter-dump-stencil outputter stencil)
+    (dump (svg-end))
+    (ly:outputter-close outputter)))
+
+
 (define (output-framework basename book scopes fields)
   (let* ((paper (ly:paper-book-paper book))
         (page-stencils (map page-stencil (ly:paper-book-pages book)))
         (filename "")
         (file-suffix (lambda (num)
                        (if (= page-count 1) "" (format "-page-~a" num)))))
-
     (for-each
       (lambda (page)
        (set! page-number (1+ page-number))
                               (file-suffix page-number)))
        (dump-page paper filename page page-number page-count))
       page-stencils)))
+
+(define (output-preview-framework basename book scopes fields)
+  (let* ((paper (ly:paper-book-paper book))
+        (systems (relevant-book-systems book))
+        (to-dump-systems (relevant-dump-systems systems)))
+    (dump-preview paper
+                 (stack-stencils Y DOWN 0.0
+                                 (map paper-system-stencil
+                                      (reverse to-dump-systems)))
+                 (format "~a.preview.svg" basename))))
index 19e8f5b18937f824af79fe40d212bec27f6d9119..60a9e1541a7a37ffb22cb57ea16c67d0691506ec 100644 (file)
          (ly:stencil-combine-at-edge lb (other-axis axis) 1 stil padding))
     stil))
 
+(define (make-parenthesis-stencil
+        y-extent half-thickness width angularity)
+  "Create a parenthesis stencil.
+@var{y-extent} is the Y extent of the markup inside the parenthesis.
+@var{half-thickness} is the half thickness of the parenthesis.
+@var{width} is the width of a parenthesis.
+The higher the value of number @var{angularity},
+the more angular the shape of the parenthesis."
+  (let* ((line-width 0.1)
+        ;; Horizontal position of baseline that end points run through.
+        (base-x
+         (if (< width 0)
+             (- width)
+             0))
+        ;; Farthest X value (in relation to baseline)
+        ;; on the outside of the curve.
+        (outer-x (+ base-x width))
+        (x-extent (ordered-cons base-x outer-x))
+        (bottom-y (interval-start y-extent))
+        (top-y (interval-end y-extent))
+
+        (lower-end-point (cons base-x bottom-y))
+        (upper-end-point (cons base-x top-y))
+
+        (outer-control-x (+ base-x (* 4/3 width)))
+        (inner-control-x (+ outer-control-x
+                            (if (< width 0)
+                                half-thickness
+                                (- half-thickness))))
+
+        ;; Vertical distance between a control point
+        ;; and the end point it connects to.
+        (offset-index (- (* 0.6 angularity) 0.8))
+        (lower-control-y (interval-index y-extent offset-index))
+        (upper-control-y (interval-index y-extent (- offset-index)))
+
+        (lower-outer-control-point
+         (cons outer-control-x lower-control-y))
+        (upper-outer-control-point
+         (cons outer-control-x upper-control-y))
+        (upper-inner-control-point
+         (cons inner-control-x upper-control-y))
+        (lower-inner-control-point
+         (cons inner-control-x lower-control-y)))
+
+    (ly:make-stencil
+     (list 'bezier-sandwich
+          `(quote ,(list
+                    ;; Step 4: curve through inner control points
+                    ;; to lower end point.
+                    upper-inner-control-point
+                    lower-inner-control-point
+                    lower-end-point
+                    ;; Step 3: move to upper end point.
+                    upper-end-point
+                    ;; Step 2: curve through outer control points
+                    ;; to upper end point.
+                    lower-outer-control-point
+                    upper-outer-control-point
+                    upper-end-point
+                    ;; Step 1: move to lower end point.
+                    lower-end-point))
+          line-width)
+     x-extent
+     y-extent)))
+
+(define-public (parenthesize-stencil
+               stencil half-thickness width angularity padding)
+  "Add parentheses around @var{stencil}, returning a new stencil."
+  (let* ((y-extent (ly:stencil-extent stencil Y))
+        (lp (make-parenthesis-stencil
+             y-extent half-thickness (- width) angularity))
+        (rp (make-parenthesis-stencil
+             y-extent half-thickness width angularity)))
+    (set! stencil (ly:stencil-combine-at-edge lp X RIGHT stencil padding))
+    (set! stencil (ly:stencil-combine-at-edge stencil X RIGHT rp padding))
+    stencil))
+
 (define-public (make-line-stencil width startx starty endx endy)
   "Make a line stencil of given linewidth and set its extents accordingly"
   (let ((xext (cons (min startx endx) (max startx endx)))
index a3efa78670d098a869b9520f384f817ee522a7ee..71b453c0fb7de0608038cfdef0d5e29e1d183802 100644 (file)
@@ -22,7 +22,7 @@
 (define-public guitar-drop-d-tuning '(4 -1 -5 -10 -15 -22))
 (define-public guitar-open-g-tuning '(2 -1 -5 -10 -17 -22))
 (define-public guitar-open-d-tuning '(2 -3 -6 -10 -15 -22))
-(define-public guitar-dadgad-tuning '(2 -3 -7 -10 -15 -22))
+(define-public guitar-dadgad-tuning '(2 -3 -5 -10 -15 -22))
 (define-public guitar-lute-tuning '(4 -1 -6 -10 -15 -20))
 (define-public guitar-asus4-tuning '(4 -3 -8 -10 -15 -20))
 ;; bass tunings
index f1d90f2641e63dd559792683197858f2722b1717..cf82b029cfd649a4294e0b0b1dceef1d126bc437 100644 (file)
@@ -204,12 +204,16 @@ def guess_lilypond_version (input):
     else:
         return ''
 
-class FatalConversionError:
+class FatalConversionError (Exception):
     pass
 
-class UnknownVersion:
+class UnknownVersion (Exception):
     pass
 
+class InvalidVersion (Exception):
+    def __init__ (self, version):
+      self.version = version
+
 def do_one_file (infile_name):
     ly.stderr_write (_ ("Processing `%s\'... ") % infile_name)
     sys.stderr.write ('\n')
@@ -236,6 +240,9 @@ def do_one_file (infile_name):
     else:
         to_version = latest_version ()
 
+    if len (from_version) != 3:
+        raise InvalidVersion (".".join ([str(n) for n in from_version]))
+
 
     (last, result) = do_conversion (input, from_version, to_version)
 
@@ -304,14 +311,18 @@ def main ():
         if f == '-':
             f = ''
         elif not os.path.isfile (f):
-            error (_ ("cannot open file: `%s'") % f)
+            error (_ ("%s: Unable to open file") % f)
             if len (files) == 1:
                 sys.exit (1)
             continue
         try:
             do_one_file (f)
         except UnknownVersion:
-            error (_ ("cannot determine version for `%s'.  Skipping") % f)
+            error (_ ("%s: Unable to determine version.  Skipping") % f)
+        except InvalidVersion as ex:
+            error (_ ("%s: Invalid version string `%s' \n"
+                      "Valid version strings consist of three numbers, "
+                      "separated by dots, e.g. `2.8.12'") % (f, ex.version) )
 
     sys.stderr.write ('\n')
 
index a5832ca99b746c01ff6e0262e5ec069581cd5399..64a90310b715c317b19f57e42b1339e0e7f2c5d8 100644 (file)
@@ -390,9 +390,9 @@ snippet_res = {
          r'''(?mx)
           (?P<match>
           <lilypond
-           (\s*(?P<options>.*?)\s*:)?\s*
+           (\s+(?P<options>.*?))?\s*:\s*
            (?P<code>.*?)
-          />)''',
+          \s*/>)''',
 
         'lilypond_block':
          r'''(?msx)
@@ -401,7 +401,7 @@ snippet_res = {
            \s*(?P<options>.*?)\s*
           >
           (?P<code>.*?)
-          </lilypond>)''',
+          </lilypond\s*>)''',
 
         'lilypond_file':
          r'''(?mx)
@@ -410,7 +410,7 @@ snippet_res = {
            \s*(?P<options>.*?)\s*
           >
           \s*(?P<filename>.*?)\s*
-          </lilypondfile>)''',
+          </lilypondfile\s*>)''',
 
         'multiline_comment':
          r'''(?smx)
index 1920c2654fd8f84debfb14d155555b4cec7c7d74..3170bc6f6a68afe8dfdf0b78db5d6b52f0e0b05e 100644 (file)
@@ -27,12 +27,15 @@ endif
 
 ################################################################
 OUT=out-website
+WEB_LANGS=es fr
+
 
 TEXI2HTML=ONLY_WEB=1 TOP_SRC_DIR=$(top-src-dir) DEPTH=$(depth) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM)
 
 EXTRACT_TEXI_FILENAMES=python $(script-dir)/extract_texi_filenames.py
 CREATE_VERSION=python $(script-dir)/create-version-itexi.py
 CREATE_WEBLINKS=python $(script-dir)/create-weblinks-itexi.py
+MASS_LINK=python $(script-dir)/mass-link.py
 
 SERVER_FILES=$(top-src-dir)/Documentation/web/server/
 
@@ -55,6 +58,14 @@ website-xrefs: website-version
        $(foreach manual, $(MANUALS), \
                $(EXTRACT_TEXI_FILENAMES) -I $(top-src-dir)/Documentation/ \
                -I $(OUT) -o $(OUT) $(manual) && ) :
+       # translations
+       for l in $(WEB_LANGS); do \
+               $(EXTRACT_TEXI_FILENAMES) \
+                       -I $(top-src-dir)/Documentation/"$$l" \
+                       -I $(OUT) -o $(OUT) --split=node \
+                       $(top-src-dir)/Documentation/"$$l"/web.texi ;\
+       done;
+
 
 website-texinfo: website-version website-xrefs
        $(TEXI2HTML) --prefix=index \
@@ -65,6 +76,21 @@ website-texinfo: website-version website-xrefs
                -D web_version \
                --output=$(OUT)/website/ \
                $(top-src-dir)/Documentation/web.texi
+       # translations
+       for l in $(WEB_LANGS); do \
+               $(TEXI2HTML) --prefix=index \
+                       --split=section \
+                       --I=$(top-src-dir)/Documentation/"$$l" \
+                       --I=$(top-src-dir)/Documentation/ \
+                       --I=$(OUT) \
+                       --lang="$$l" \
+                       --init-file=$(texi2html-init-file) \
+                       -D web_version \
+                       --output=$(OUT)/"$$l" \
+                       $(top-src-dir)/Documentation/"$$l"/web.texi ; \
+               find $(OUT)/$$l/ -name '*.html' | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(OUT)/'$$l'/!!g' | xargs $(MASS_LINK) --prepend-suffix .$$l hard $(OUT)/$$l/ $(OUT)/website/ ; \
+       done
+
 
 website-css:
        cp $(top-src-dir)/Documentation/css/*.css $(OUT)/website/