]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation
authorJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 17 Feb 2013 17:00:43 +0000 (18:00 +0100)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 17 Feb 2013 17:00:43 +0000 (18:00 +0100)
523 files changed:
Documentation/changes.tely
Documentation/contributor/administration.itexi
Documentation/contributor/build-notes.itexi
Documentation/contributor/issues.itexi
Documentation/contributor/release-work.itexi
Documentation/contributor/source-code.itexi
Documentation/cs/learning/common-notation.itely
Documentation/cs/learning/fundamental.itely
Documentation/cs/learning/tweaks.itely
Documentation/cs/usage/lilypond-book.itely
Documentation/cs/web/community.itexi
Documentation/cs/web/manuals.itexi
Documentation/cs/web/news-front.itexi [deleted file]
Documentation/de/essay.tely
Documentation/de/essay/engraving.itely
Documentation/de/extending/scheme-tutorial.itely
Documentation/de/learning/common-notation.itely
Documentation/de/learning/fundamental.itely
Documentation/de/learning/tweaks.itely
Documentation/de/notation/ancient.itely
Documentation/de/notation/cheatsheet.itely
Documentation/de/notation/editorial.itely
Documentation/de/notation/fretted-strings.itely
Documentation/de/notation/repeats.itely
Documentation/de/notation/rhythms.itely
Documentation/de/notation/spacing.itely
Documentation/de/notation/vocal.itely
Documentation/de/usage/lilypond-book.itely
Documentation/de/web/manuals.itexi
Documentation/es/essay/engraving.itely
Documentation/es/extending/scheme-tutorial.itely
Documentation/es/learning/common-notation.itely
Documentation/es/learning/fundamental.itely
Documentation/es/learning/tweaks.itely
Documentation/es/notation/ancient.itely
Documentation/es/notation/cheatsheet.itely
Documentation/es/notation/editorial.itely
Documentation/es/notation/fretted-strings.itely
Documentation/es/notation/repeats.itely
Documentation/es/notation/rhythms.itely
Documentation/es/notation/spacing.itely
Documentation/es/notation/vocal.itely
Documentation/es/usage/lilypond-book.itely
Documentation/es/web/manuals.itexi
Documentation/essay/engraving.itely
Documentation/extending/programming-interface.itely
Documentation/extending/scheme-tutorial.itely
Documentation/fr/essay/engraving.itely
Documentation/fr/extending/scheme-tutorial.itely
Documentation/fr/learning/common-notation.itely
Documentation/fr/learning/fundamental.itely
Documentation/fr/learning/tweaks.itely
Documentation/fr/notation/ancient.itely
Documentation/fr/notation/cheatsheet.itely
Documentation/fr/notation/editorial.itely
Documentation/fr/notation/fretted-strings.itely
Documentation/fr/notation/input.itely
Documentation/fr/notation/repeats.itely
Documentation/fr/notation/rhythms.itely
Documentation/fr/notation/spacing.itely
Documentation/fr/notation/vocal.itely
Documentation/fr/usage/lilypond-book.itely
Documentation/fr/web/manuals.itexi
Documentation/hu/learning/common-notation.itely
Documentation/hu/learning/fundamental.itely
Documentation/hu/usage/lilypond-book.itely
Documentation/hu/web/basic-authors.itexi [deleted file]
Documentation/hu/web/community.itexi
Documentation/hu/web/manuals.itexi
Documentation/included/display-predefined-string-tunings.ly
Documentation/included/script-chart.ly
Documentation/it/learning/common-notation.itely
Documentation/it/learning/fundamental.itely
Documentation/it/learning/tweaks.itely
Documentation/it/usage/lilypond-book.itely
Documentation/it/web/community.itexi
Documentation/it/web/manuals.itexi
Documentation/ja/learning/common-notation.itely
Documentation/ja/learning/fundamental.itely
Documentation/ja/learning/tweaks.itely
Documentation/ja/notation/cheatsheet.itely
Documentation/ja/notation/editorial.itely
Documentation/ja/notation/fretted-strings.itely
Documentation/ja/notation/repeats.itely
Documentation/ja/notation/rhythms.itely
Documentation/ja/notation/spacing.itely
Documentation/ja/notation/vocal.itely
Documentation/ja/usage/lilypond-book.itely
Documentation/learning/common-notation.itely
Documentation/learning/fundamental.itely
Documentation/learning/tweaks.itely
Documentation/ly-examples/aucun-snippet.ly
Documentation/ly-examples/cary-layout.ily
Documentation/ly-examples/cary.ly
Documentation/ly-examples/granados.ly
Documentation/music-glossary.tely
Documentation/nl/learning/common-notation.itely
Documentation/nl/learning/fundamental.itely
Documentation/nl/learning/tweaks.itely
Documentation/nl/web/manuals.itexi
Documentation/notation/ancient.itely
Documentation/notation/changing-defaults.itely
Documentation/notation/cheatsheet.itely
Documentation/notation/editorial.itely
Documentation/notation/fretted-strings.itely
Documentation/notation/repeats.itely
Documentation/notation/rhythms.itely
Documentation/notation/simultaneous.itely
Documentation/notation/spacing.itely
Documentation/notation/text.itely
Documentation/notation/vocal.itely
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-indicators-to-staves-which-get-split-after-a-break.ly
Documentation/snippets/adding-links-to-objects.ly [new file with mode: 0644]
Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
Documentation/snippets/adjusting-grace-note-spacing.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/aligning-objects-created-with-the--mark-command.ly
Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly
Documentation/snippets/altering-the-length-of-beamed-stems.ly
Documentation/snippets/alternative-breve-note.ly
Documentation/snippets/analysis-brackets-above-the-staff.ly
Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly
Documentation/snippets/ancient-time-signatures.ly
Documentation/snippets/anglican-psalm-template.ly
Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly
Documentation/snippets/arabic-improvisation.ly
Documentation/snippets/asymmetric-slurs.ly
Documentation/snippets/automatic-beam-subdivisions.ly
Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly
Documentation/snippets/beam-endings-in-score-context.ly
Documentation/snippets/beams-across-line-breaks.ly
Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly
Documentation/snippets/breathing-signs.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-a-single-notes-size-in-a-chord.ly
Documentation/snippets/changing-beam-knee-gap.ly
Documentation/snippets/changing-form-of-multi-measure-rests.ly
Documentation/snippets/changing-fret-orientations.ly
Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly
Documentation/snippets/changing-stanza-fonts.ly
Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly
Documentation/snippets/changing-the-ambitus-gap.ly
Documentation/snippets/changing-the-breath-mark-symbol.ly
Documentation/snippets/changing-the-number-of-augmentation-dots-per-note.ly
Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly
Documentation/snippets/changing-the-staff-size.ly
Documentation/snippets/changing-the-tuplet-number.ly
Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly
Documentation/snippets/coloring-notes-depending-on-their-pitch.ly
Documentation/snippets/combining-two-parts-on-the-same-staff.ly
Documentation/snippets/compound-time-signatures.ly
Documentation/snippets/consistently-left-aligned-bar-numbers.ly
Documentation/snippets/contemporary-glissando.ly
Documentation/snippets/controlling-spanner-visibility-after-a-line-break.ly
Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly
Documentation/snippets/controlling-tuplet-bracket-visibility.ly
Documentation/snippets/creating-a-delayed-turn.ly
Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly
Documentation/snippets/creating-double-digit-fingerings.ly
Documentation/snippets/creating-simultaneous-rehearsal-marks.ly
Documentation/snippets/creating-text-spanners.ly
Documentation/snippets/cross-staff-chords---beaming-problems-workaround.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/displaying-complex-chords.ly
Documentation/snippets/displaying-grob-ancestry.ly
Documentation/snippets/drawing-boxes-around-grobs.ly
Documentation/snippets/drawing-circles-around-note-heads.ly
Documentation/snippets/drawing-circles-around-various-objects.ly
Documentation/snippets/editorial-annotations.snippet-list
Documentation/snippets/editorial-headword.ly
Documentation/snippets/engraving-ties-manually.ly
Documentation/snippets/engraving-tremolos-with-floating-beams.ly
Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly
Documentation/snippets/expressive-headword.ly
Documentation/snippets/figured-bass-headword.ly
Documentation/snippets/fine-tuning-pedal-brackets.ly
Documentation/snippets/fingering-symbols-for-wind-instruments.ly
Documentation/snippets/flamenco-notation.ly
Documentation/snippets/flute-slap-notation.ly
Documentation/snippets/forcing-horizontal-shift-of-notes.ly
Documentation/snippets/forcing-hyphens-to-be-shown.ly
Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly
Documentation/snippets/fret-diagrams-explained-and-developed.ly
Documentation/snippets/fretted-headword.ly
Documentation/snippets/fretted-string-harmonics-in-tablature.ly
Documentation/snippets/generating-random-notes.ly
Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly
Documentation/snippets/grid-lines--changing-their-appearance.ly
Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly
Documentation/snippets/hairpins-with-different-line-styles.ly
Documentation/snippets/heavily-customized-polymetric-time-signatures.ly
Documentation/snippets/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly
Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly
Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly
Documentation/snippets/how-to-change-fret-diagram-position.ly
Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-1.ly
Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly
Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly
Documentation/snippets/inserting-a-caesura.ly
Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly
Documentation/snippets/keep-change-clefs-full-sized.ly
Documentation/snippets/keyboard-headword.ly
Documentation/snippets/laissez-vibrer-ties.ly
Documentation/snippets/line-arrows.ly
Documentation/snippets/lyrics-alignment.ly
Documentation/snippets/making-slurs-with-complex-dash-structure.ly
Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly
Documentation/snippets/manually-controlling-beam-positions.ly
Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly
Documentation/snippets/markup-lines.ly
Documentation/snippets/measure-counter.ly
Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly
Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly
Documentation/snippets/modifying-tuplet-bracket-length.ly
Documentation/snippets/moving-dotted-notes-in-polyphony.ly
Documentation/snippets/moving-slur-positions-vertically.ly
Documentation/snippets/multi-measure-rest-markup.ly
Documentation/snippets/new/changing-the-tuplet-number.ly [new file with mode: 0644]
Documentation/snippets/new/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly
Documentation/snippets/new/creating-a-sequence-of-notes-on-various-pitches.ly
Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly [new file with mode: 0644]
Documentation/snippets/new/fretted-headword.ly
Documentation/snippets/new/score-for-diatonic-accordion.ly
Documentation/snippets/non-default-tuplet-numbers.ly
Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly
Documentation/snippets/outputting-the-version-number.ly
Documentation/snippets/page-label.ly
Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly
Documentation/snippets/pitches-headword.ly
Documentation/snippets/positioning-arpeggios.ly
Documentation/snippets/positioning-fingering-indications-precisely.ly
Documentation/snippets/positioning-grace-note-beams-at-the-height-of-normal-note-beams.ly
Documentation/snippets/positioning-grace-notes-with-floating-space.ly
Documentation/snippets/positioning-segno-and-coda-with-line-break.ly
Documentation/snippets/positioning-text-markups-inside-slurs.ly
Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.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-at-the-end-of-a-line.ly
Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly
Documentation/snippets/printing-music-with-different-time-signatures.ly
Documentation/snippets/proportional-strict-notespacing.ly
Documentation/snippets/putting-lyrics-inside-the-staff.ly
Documentation/snippets/quoting-another-voice.ly
Documentation/snippets/recorder-fingering-chart.ly
Documentation/snippets/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.ly
Documentation/snippets/removing-the-first-empty-line.ly
Documentation/snippets/repeats-headword.ly
Documentation/snippets/rest-styles.ly
Documentation/snippets/rhythmic-slashes.ly
Documentation/snippets/rhythms-headword.ly
Documentation/snippets/scheme-language.snippet-list
Documentation/snippets/score-for-diatonic-accordion.ly
Documentation/snippets/screech-and-boink.ly
Documentation/snippets/separating-key-cancellations-from-key-signature-changes.ly
Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly
Documentation/snippets/setting-the-double-repeat-default-for-volte.ly
Documentation/snippets/setting-the-minimum-length-of-hairpins.ly
Documentation/snippets/shortening-volta-brackets.ly
Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly
Documentation/snippets/simultaneous-headword.ly
Documentation/snippets/slides-in-tablature.ly
Documentation/snippets/stem-and-beam-behavior-in-tablature.ly
Documentation/snippets/stemlets.ly
Documentation/snippets/subdividing-beams.ly
Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly
Documentation/snippets/table-of-contents.ly
Documentation/snippets/text-headword.ly
Documentation/snippets/time-signature-in-parentheses---method-3.ly
Documentation/snippets/time-signature-in-parentheses.ly
Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly
Documentation/snippets/transcription-of-ancient-music-with-incipit.ly
Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly
Documentation/snippets/tweaking-grace-layout-within-music.ly
Documentation/snippets/tweaks-and-overrides.snippet-list
Documentation/snippets/unfretted-headword.ly
Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly
Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly
Documentation/snippets/using-the--tweak-command-to-tweak-individual-grobs.ly
Documentation/snippets/using-the-whiteout-property.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/vertically-centered-common-lyrics.ly
Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly
Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly
Documentation/snippets/vocal-ensemble-template.ly
Documentation/snippets/vocal-headword.ly
Documentation/snippets/wind-headword.ly
Documentation/usage/lilypond-book.itely
Documentation/web/introduction.itexi
Documentation/web/news-front.itexi
Documentation/web/news.itexi
Documentation/web/server/tweets.xml
Documentation/zh/web/community.itexi
LICENSE
LICENSE.OFL [new file with mode: 0644]
VERSION
aclocal.m4
autogen.sh
configure.ac [new file with mode: 0644]
configure.in [deleted file]
input/regression/accidental-grouping.ly [new file with mode: 0644]
input/regression/alignment-order.ly
input/regression/ambitus-with-ligature.ly
input/regression/auto-beam-beaming-override.ly
input/regression/auto-beam-triplet.ly
input/regression/auto-beam-tuplets.ly
input/regression/autobeam-3-4-rules.ly
input/regression/autobeam-tuplet-recheck.ly
input/regression/backend-excercise.ly
input/regression/beam-concave.ly
input/regression/beam-extreme.ly
input/regression/beam-feather.ly
input/regression/beam-slope-stemlet.ly
input/regression/beam-subdivide-tuplets.ly
input/regression/beaming-tuplet-regular.ly
input/regression/beaming.ly
input/regression/beamlet-test.ly
input/regression/chord-repetition-times.ly
input/regression/completion-heads-tuplets.ly
input/regression/completion-heads-unit.ly
input/regression/display-lily-tests.ly
input/regression/dot-column-engraver.ly
input/regression/duration-identifier-compressed.ly
input/regression/fingering-directions.ly [new file with mode: 0644]
input/regression/general-scheme-bindings.ly
input/regression/glissando-index.ly
input/regression/grace.ly
input/regression/grid-lines.ly
input/regression/lyric-combine-switch-voice.ly
input/regression/lyric-combine.ly
input/regression/make-relative.ly [new file with mode: 0644]
input/regression/markup-note-styles.ly
input/regression/markup-note.ly
input/regression/markup-score.ly
input/regression/metronome-mark-broken-bound.ly
input/regression/metronome-range.ly
input/regression/midi-grace-after-tie.ly [new file with mode: 0644]
input/regression/midi-tuplets.ly
input/regression/mozart-hrn3-allegro.ily
input/regression/part-combine-tuplet-end.ly
input/regression/part-combine-tuplet-single.ly
input/regression/phrasing-slur-tuplet.ly
input/regression/quote-transposition.ly
input/regression/quote-tuplet-end.ly
input/regression/quote-tuplet.ly
input/regression/repeat-slash-mixed.ly
input/regression/scheme-book-scores.ly
input/regression/skiptypesetting-tuplet.ly
input/regression/slur-shift-region.ly
input/regression/slur-tuplet.ly
input/regression/song-reordering.ly
input/regression/song-reordering2.ly
input/regression/spacing-loose-polyphony.ly
input/regression/spacing-measure-length.ly
input/regression/spacing-multi-tuplet.ly
input/regression/spacing-proportional.ly
input/regression/spacing-space-to-barline.ly
input/regression/spacing-strict-notespacing.ly
input/regression/spacing-uniform-stretching.ly
input/regression/spanner-break-overshoot.ly
input/regression/staff-mixed-size.ly
input/regression/tablature-full-notation.ly
input/regression/tuplet-beam.ly
input/regression/tuplet-bracket-avoid-fingering.ly
input/regression/tuplet-bracket-avoid-scripts.ly
input/regression/tuplet-bracket-avoid-string-number.ly
input/regression/tuplet-bracket-cross-staff.ly
input/regression/tuplet-bracket-direction.ly
input/regression/tuplet-bracket-outside-staff-priority.ly
input/regression/tuplet-bracket-vertical-skylines.ly
input/regression/tuplet-bracket-visibility.ly
input/regression/tuplet-broken.ly
input/regression/tuplet-full-length-extent.ly
input/regression/tuplet-full-length-note.ly
input/regression/tuplet-full-length.ly
input/regression/tuplet-gap.ly
input/regression/tuplet-nest-beam.ly
input/regression/tuplet-nest-broken.ly
input/regression/tuplet-nest.ly
input/regression/tuplet-no-stems.ly
input/regression/tuplet-number-outside-staff-positioning.ly
input/regression/tuplet-number-outside-staff-priority.ly
input/regression/tuplet-number-slur-script.ly
input/regression/tuplet-properties.ly
input/regression/tuplet-rest.ly
input/regression/tuplet-single-note.ly
input/regression/tuplet-slope.ly
input/regression/tuplet-staffline-collision.ly
input/regression/tuplet-subdivision.ly
input/regression/tuplet-text-different-numbers.ly
input/regression/tuplet-text-fraction-with-notes.ly
input/regression/tuplet-text-note-appended.ly
input/regression/tuplets.ly
lily/accidental-engraver.cc
lily/accidental-placement.cc
lily/ambitus-engraver.cc
lily/audio-item.cc
lily/axis-group-engraver.cc
lily/box-quarantine.cc [deleted file]
lily/context.cc
lily/fingering-column.cc
lily/fingering-engraver.cc
lily/hara-kiri-engraver.cc [deleted file]
lily/include/accidental-placement.hh
lily/include/audio-item.hh
lily/include/axis-group-engraver.hh [deleted file]
lily/include/box-quarantine.hh [deleted file]
lily/include/lily-lexer.hh
lily/include/lily-parser.hh
lily/include/lily-proto.hh
lily/include/smobs.hh
lily/lexer.ll
lily/lily-lexer.cc
lily/lily-parser-scheme.cc
lily/lily-parser.cc
lily/midi-walker.cc
lily/note-performer.cc
lily/parser.yy
lily/timing-translator.cc
lily/tuplet-iterator.cc
ly/articulate.ly
ly/context-mods-init.ly
ly/engraver-init.ly
ly/event-listener.ly
ly/gregorian.ly
ly/init.ly
ly/music-functions-init.ly
ly/performer-init.ly
ly/script-init.ly
mf/feta-accidentals.mf
mf/feta-accordion.mf
mf/feta-arrowheads.mf
mf/feta-autometric.mf
mf/feta-braces-a.mf
mf/feta-braces-b.mf
mf/feta-braces-c.mf
mf/feta-braces-d.mf
mf/feta-braces-e.mf
mf/feta-braces-f.mf
mf/feta-braces-g.mf
mf/feta-braces-h.mf
mf/feta-braces-i.mf
mf/feta-braces.mf
mf/feta-brackettips.mf
mf/feta-clefs.mf
mf/feta-dots.mf
mf/feta-dynamics.mf
mf/feta-flags-generic.mf
mf/feta-flags.mf
mf/feta-generic.mf
mf/feta-macros.mf
mf/feta-noteheads-generic.mf
mf/feta-noteheads.mf
mf/feta-numbers.mf
mf/feta-params.mf
mf/feta-pedals.mf
mf/feta-rests.mf
mf/feta-scripts.mf
mf/feta-ties.mf
mf/feta-timesignatures.mf
mf/feta-trills.mf
mf/parmesan-accidentals.mf
mf/parmesan-clefs.mf
mf/parmesan-custodes.mf
mf/parmesan-dots.mf
mf/parmesan-flags.mf
mf/parmesan-generic.mf
mf/parmesan-macros.mf
mf/parmesan-noteheads-generic.mf
mf/parmesan-noteheads.mf
mf/parmesan-rests.mf
mf/parmesan-scripts.mf
mf/parmesan-timesignatures.mf
po/cs.po
po/eo.po
po/lilypond.pot
python/convertrules.py
scm/bar-line.scm
scm/c++.scm
scm/chord-ignatzek-names.scm
scm/define-context-properties.scm
scm/define-event-classes.scm
scm/define-grobs.scm
scm/define-markup-commands.scm
scm/define-music-callbacks.scm
scm/define-music-display-methods.scm
scm/define-music-properties.scm
scm/define-music-types.scm
scm/define-woodwind-diagrams.scm
scm/lily-library.scm
scm/lily.scm
scm/ly-syntax-constructors.scm
scm/music-functions.scm
scm/output-lib.scm
scm/parser-clef.scm
scm/parser-ly-from-scheme.scm
scm/stencil.scm
scm/time-signature-settings.scm
scm/translation-functions.scm
scripts/build/create-weblinks-itexi.py
smart-autogen.sh
stepmake/stepmake/generic-targets.make

index 19c93c2a5912bd9c6f312490fdce1d173f478115..d3eb33d83b09a258b0ede114ae0ded72b4034eef 100644 (file)
@@ -61,6 +61,19 @@ which scares away people.
 
 @end ignore
 
+@item
+Tuplets are now created with the @code{\tuplet} command, which
+takes a fraction @code{@var{t}/@var{n}} to specify that @var{t}
+notes are played in the time usually allowed for @var{n}. One
+@code{\tuplet} command can create several tuplet groups if their
+duration is typed after the fraction.
+@lilypond[quote,verbatim,relative=2]
+\tuplet 3/2 { c8 d e } \tuplet 3/2 { f e d } c2
+\tuplet 3/2 4 { c8 d e f e d } c2
+@end lilypond
+The @code{\times} command with its inverted fraction order
+@code{@var{n}/@var{t}} is still available.
+
 @item
 Introducing two new markup-commands; @code{\draw-dashed-line} and
 @code{\draw-dotted-line}.
index 669537580732a6549c9faf088ce854fdc0fd090c..8be1d903fa12f1e0c8448005c412e05b1ca9af21 100644 (file)
@@ -1267,8 +1267,7 @@ convert-ly updates.
 @item
 other than that, everything is on the table.  Is it a problem to
 have the tagline inside \header?  What should the default behavior
-of \include be?  When we abolish \times, do we move to \tuplet 3:2
-or \tuplet 2/3 or what (for typical triplets in 4/4 time)?
+of \include be?
 
 @item
 we need to get standards for command names.  This will help users
index e00cfc7e7eedbad98a0e8b1b860d701f46628494..b8dff79c1fae6f26dc8fff54e3da40e19946efe0 100644 (file)
@@ -15,7 +15,6 @@ chapter.}
 * Doc build::
 * Website build::
 * Building an Ubuntu distro::
-* Building GUB::
 @end menu
 
 
@@ -1511,68 +1510,3 @@ Test iso by installing in VM and repeating steps above for
 getting source files and building lp and docs.
 
 @end enumerate
-
-@node Building GUB
-@section Building GUB
-
-GUB - the Grand Unified Builder - is used to build the release
-versions of LilyPond.  For background information, see
-@ref{Grand Unified Builder (GUB)}.  The simplest way to set up a
-GUB build environment is to use a virtual machine with LilyDev
-(@ref{LilyDev}).  Follow the instructions on that page to set this
-up.  Make sure that your virtual machine has enough disk space -
-a GUB installation takes over 30 GBytes of disk space, and if you
-allocate too little, it will fail during the setting up stage and
-you will have to start again.  64 GBytes should be sufficient.
-
-While GUB is being built, any interruptions are likely to make it
-almost impossible to restart.  If at all possible, leave the build
-to continue uniterrupted.
-
-Download GUB and start the set up:
-
-@example
-git clone git://github.com/gperciva/gub/gub.git
-cd gub
-make bootstrap
-@end example
-
-This downloads and installs a number of packages.  You may find
-some fail during download and you will need to download them
-manually.  For example, the perl archive.  If this happens,
-download it from
-@uref{http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz}, saving the
-archive to @file{gub/downloads/perl/}.  Continue the set up with:
-
-@example
-make bootstrap
-@end example
-
-Once this has completed successfully, you can build the LilyPond
-release package.  However, this uses an archived version of the
-regression tests, so it is better to download this first.
-Download the test output from lilypond.org:
-
-@smallexample
-@uref{http://lilypond.org/download/binaries/test-output/lilypond-2.15.33-1.test-output.tar.bz2}
-@end smallexample
-
-Copy the tarball into @file{gub/regtests/}, and tell the build
-system that you have done this:
-
-@example
-touch regtests/ignore
-@end example
-
-Now start the GUB build:
-
-@example
-make lilypond
-@end example
-
-That's it.  This will build LilyPond from current master.  To build
-the current unstable release, run:
-
-@example
-make LILYPOND_BRANCH=release/unstable lilypond
-@end example
index 7b7df1430563f92dd63d68c07dd98620345a63e8..c9d19f5079ea44b023d1d1f37076636f6dfd5bc6 100644 (file)
@@ -830,10 +830,117 @@ separate person handling this task.}
 For contributors/developers: follow the steps in
 @ref{Commits and patches}, and @ref{Pushing to staging}.
 
+@ignore
 For people doing maintenance tasks: git-cl is adding issues, James
 is testing them, Colin is selecting them for countdowns, and
 Patchy is merging from staging to master.  In the coming weeks,
 these tasks will be more and more automated.
+@end ignore
+
+@subheading Patch cycle
+
+@itemize
+
+@item
+Patches get added to the tracker and to Rietveld by the @qq{git-cl} tool, with
+a status of @qq{patch-new}.
+
+@item
+The automated tester, Patchy, verifies that the patch can be applied
+to current master.  By default, it checks that the patch allows @code{make}
+and @code{make test} to complete successfully.  It can also be configured to
+check that @code{make doc} is successful. If it passes, Patchy changes the
+status to @qq{patch-review} and emails the developer list.  If the patch
+fails, Patchy sets it to @qq{patch-needs_work} and notifies the developer list.
+
+@item
+The Patch Handler reviews the tracker periodically, to list patches
+which have been on review for at least 24 hours. The list is found at
+
+@smallexample
+@uref{http://code.google.com/p/lilypond/issues/list?can=2&q=label:patch%20patch=review&sort=modified+patch&colspec=ID%20Type%20Status%20Priority%20Owner%20Patch%20Summary%20Modified}
+@end smallexample
+
+@item
+For each patch, the Handler reviews any discussion on the tracker
+and on Rietveld, to determine whether the patch can go forward.  If
+there is any indication that a developer thinks the patch is not
+ready, the Handler marks it @qq{patch-needs_work} and makes a comment
+regarding the reason, referring to the Rietveld item if needed.
+
+@item
+Patches with explicit approval, or at least no negative comment, can
+be updated to @qq{patch-countdown}.  When saving the tracker item,
+clear the @qq{send email} box to prevent sending notification for
+each patch.
+
+@item
+The Patch Handler sends an email to the developer list, with a fixed
+subject line, to enable filtering by email clients:
+
+@example
+PATCH: Countdown to 20130113
+@end example
+
+The text of the email sets the deadline for this countdown batch.  At
+present, batches are done on Tuesday, Thursday and Sunday evenings.
+
+The body of the email lists the patches grouped by patch type, and for
+each patch, shows the tracker issue number and title, with a link to
+the Rietveld item.  Copying the information from the website and pasting
+into the email gives a hyperlinked version of the information.
+
+@smallexample
+
+For 20:00 MST Tuesday January 8:
+
+Crash:
+    Issue 2990: \RemoveEmptyStaves in StaffGroup context crashes - R 7069044
+
+Defect:
+    Issue 677: \score markup confuses paper settings - R 7028045
+    Issue 3050: displayLilyMusic produced erroneous code for rightHandFinger arguments - R 7032045
+
+Documentation:
+    Issue 2952: Upgrade documentation of \once - R 7031053
+    Issue 3044: Dual license the files under mf/ using OFL. - R 6970046
+    Issue 3084: [DOC]Add "Known issue" in NR 1.2.1 about Scaling durations with rational numbers - R 7071044
+
+Enhancement:
+    Issue 3061: make \articulate handle colon-type tremolos - R 7033045
+    Issue 3082: Patch: Let ChordNameVoice use the same performers as Voice - R 7054043
+    Issue 3083: Patch: Chord change detection in fretboards should depend on placements, not notes - R 7062043
+    Issue 2983: assertion failed with \glissando - R 6625078
+
+
+Cheers,
+Colin
+
+@end smallexample
+
+@item
+On the scheduled countdown day, the Patch Handler reviews the
+previous list of patches on countdown, with the same procedure and
+criteria as before.  Patches with no controversy can be set to
+@qq{patch-push} with a courtesy message added to the comment block.
+
+@item
+Roughly at six month intervals, the Patch Handler can list the
+patches which have been set to @qq{patch-needs-work} and send the
+results to the developer list for review.  In most cases, these
+patches should be marked @qq{patch-abandoned} but this should come
+from the developer if possible.
+
+@item
+As in most organisations of unpaid volunteers, fixed procedures are
+useful in as much as they get the job done.  In our community, there
+is room for senior developers to bypass normal patch handling flows,
+particularly now that the testing of patches is largely automated.
+Similarly, the minimum age of 24 hours can reasonably be waived if
+the patch is minor and from an experienced developer.
+
+
+@end itemize
 
 @ignore
 There is a single Patch Meister, and a number of Patch Helpers
index 26a8223584e20ce0cd0121f7d04999131028b4a6..9120e6529ff1c225513026d21df7bd1a4e83cfd6 100644 (file)
@@ -7,6 +7,7 @@
 * Minor release checklist::
 * Major release checklist::
 * Release extra notes::
+* Notes on builds with GUB::
 @end menu
 
 
@@ -74,18 +75,28 @@ A @qq{minor release} means an update of @code{y} in @code{2.x.y}.
 @enumerate
 
 @item
-Switch to the release branch, get changes, prep release
-announcement.  This requires a clean index and work tree.  If the
-checkout displays modified files, you might want to run @code{git reset
---hard} before continuing.
+Using any system with git pull access (not necessarily the GUB
+build machine), use the commands below to switch to the release
+branch, get changes and prepare the release
+announcement.  This requires a system which has the release/unstable
+branch.  If you get a warning saying you are in @code{detached HEAD}
+state, then you should create a release/unstable branch with
+@code{git checkout release/unstable}.
+
+Check the environment variables are set as in
+@ref{Environment variables}.
+
+You need to ensure you have a clean index and work tree.  If the
+checkout displays modified files, you might want to run
+@code{git reset --hard} before continuing.
 
 @example
 git fetch
-git checkout origin/release/unstable
-git merge origin
+git checkout release/unstable
+git merge origin/master
 make -C $LILYPOND_BUILD_DIR po-replace
 mv $LILYPOND_BUILD_DIR/po/lilypond.pot po/
-vi Documentation/web/news-front.itexi Documentation/web/news.itexi
+gedit Documentation/web/news-front.itexi Documentation/web/news.itexi
 @end example
 
 @item
@@ -537,5 +548,159 @@ delete stuff you didn't want to upload from the server.
 
 @end enumerate
 
+@node Notes on builds with GUB
+@section Notes on builds with GUB
+
+@subsubheading Building GUB
+
+GUB - the Grand Unified Builder - is used to build the release
+versions of LilyPond.  For background information, see
+@ref{Grand Unified Builder (GUB)}.  The simplest way to set up a
+GUB build environment is to use a virtual machine with LilyDev
+(@ref{LilyDev}).  Follow the instructions on that page to set this
+up.  Make sure that your virtual machine has enough disk space -
+a GUB installation takes over 30 GBytes of disk space, and if you
+allocate too little, it will fail during the setting up stage and
+you will have to start again.  64 GBytes should be sufficient.
+
+While GUB is being built, any interruptions are likely to make it
+almost impossible to restart.  If at all possible, leave the build
+to continue uninterrupted.
+
+Download GUB and start the set up:
+
+@example
+git clone git://github.com/gperciva/gub/gub.git
+cd gub
+make bootstrap
+@end example
+
+This will take a very long time, even on a very fast computer.
+You will need to be patient.  It's also liable to fail - it
+downloads a number of tools, and some will have moved and others
+won't respond to the network.  For example, the perl archive.
+If this happens, download it from
+@uref{http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz}, saving the
+archive to @file{gub/downloads/perl/}.  Continue the set up with:
+
+@example
+make bootstrap
+@end example
+
+Once this has completed successfully, you can build the LilyPond
+release package.  However, this uses an archived version of the
+regression tests, so it is better to download this first.
+Download the test output from lilypond.org (you will need to
+replace @code{2.15.33-1} with the latest build):
+
+@smallexample
+@uref{http://lilypond.org/download/binaries/test-output/lilypond-2.15.33-1.test-output.tar.bz2}
+@end smallexample
+
+Copy the tarball into @file{gub/regtests/}, and tell the build
+system that you have done this:
+
+@example
+touch regtests/ignore
+@end example
+
+Now start the GUB build:
 
+@example
+make lilypond
+@end example
+
+That's it.  This will build LilyPond from current master.  To build
+the current unstable release, run:
+
+@example
+make LILYPOND_BRANCH=release/unstable lilypond
+@end example
+
+The first time you do this, it will take a very long time.
+
+Assuming the build has gone well, it can be uploaded using:
+
+@example
+make lilypond-upload
+  LILYPOND_BRANCH=release/unstable
+  LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git
+@end example
+
+@subsubheading Output files
+
+GUB builds the files it needs into the directory
+@code{gub/target/}.  As a general rule, these don't need to be
+touched unless there is a problem building GUB (see below).
+The files to be uploaded are in @code{gub/uploads/}.  Once the
+build has completed successfully, there should be 8
+installation files and 3 archives, totalling about 600MB.
+There are also 4 directories:
+
+@example
+gub/signatures
+gub/localdoc
+gub/webdoc
+gub/webtest
+@end example
+
+@code{signatures} contains files that are used to track whether
+some of the archives have already been built.  Don't touch
+these.
+
+@code{localdoc} probably contains local copies of the
+documentation.
+
+@code{webdoc} contains the documentation to be uploaded.
+
+@code{webtest} contains the regtest comparison, which should
+be checked before upload, and is also uploaded for subsequent
+checking.
+
+The total upload is about 700 MB in total, and on an ADSL
+connection will take about 4 hours to upload.
+
+@subsubheading Subsequent builds
+
+In principle, building the next release of LilyPond requires
+no action other then following the instructions in
+@ref{Minor release checklist}.  Because much of the
+infrastructure has already been built, it will take much less
+time - about an hour on a fast computer.
+
+Continuing to build LilyPond without any other
+archiving/deletion of previous builds is likely to be successful,
+but will take up a fair amount of disk space (around 2GB per
+build) which may be a problem with a Virtual Machine.  It's
+therefore recommended to move (not copy) @code{gub/uploads} to
+another machine/disk after each build, if space is at a premium.
+
+However, if a significant change has been made to the LilyPond
+source (e.g. added source files) the build may fail if tried on
+top of a previous build.  If this happens, be sure to
+move/delete @code{gub/uploads} and all mentions of LilyPond
+in @code{gub/target}.  The latter can be achieved with this
+command:
+
+@example
+rm -rf target/*/*/*lilypond*
+@end example
 
+Be @emph{very} careful with this command.  Typing it wrongly
+could wipe your disk completely.
+
+@subsubheading Updating the web site
+
+The @code{make lilypond-upload} command updates the documentation
+on the LilyPond web site.  However, it does @emph{not} update
+any part of the site that is not part of the documentation - for
+example, the front page (@code{index.html}).  The website is
+updated by 2 cron jobs running on the web server.  One of these
+pulls git master to the web server, and the other makes the
+website with the standard @code{make website} command.  They run
+hourly, 30 minutes apart.  So - to update the front page of the
+website, it's necessary to update @code{VERSION} and
+@code{news-front.itexi} in master and then wait for the cron
+jobs to run.  (N.B. - this is done by pushing the changes to
+staging and letting patchy do its checks before it pushes to
+master).
index 72b05175d8d3f2d3dde667a7891b20fea2f737fd..861e4db6a37a4f313990f55a44ce9b121277792b 100644 (file)
@@ -1291,20 +1291,28 @@ use any email address for your google account when you sign up.
 
 @item
 Move into the top source directory and then configure @command{git
-cl} with the following commands.  If you do not understand any
-question, just answer with a newline (CR).
+cl} with the following commands:
 
 @example
 cd $LILYPOND_GIT
 git cl config
 @end example
 
+For the @qq{Rietveld server} question, the default value
+(@qq{codereview.appspot.com}) should be accepted by
+answering with a newline (CR).
+
 The @qq{CC list} question should be answered with:
 
 @example
 lilypond-devel@@gnu.org
 @end example
 
+The @qq{Tree status URL} value should be left blank.  So should
+the @qq{ViewVC URL} value, since it is used by @command{git cl
+dcommit} which is only for repositories which use @command{git
+svn} (LilyPond doesn't).
+
 @end enumerate
 
 @subsubheading Uploading patch set
index e60566d22b3d9970dea91990b05f4af5e2f3c584..aefd911aa14ea1c3474bd87356a6e26d671f7d54 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:
@@ -525,10 +525,10 @@ V jedné triole trvají noty 2/3 jejich zapsané délky,
 takže triola má 2/3 jako svůj zlomek:
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Ozdoby
@@ -1343,7 +1343,7 @@ v souboru vytvořily novou proměnnou. Tím se dá písemná práce
 ulehčit, když se skupiny not často opakují.
 
 @lilypond[verbatim,quote]
-tripletA = \times 2/3 { c,8 e g }
+tripletA = \tuplet 3/2 { c,8 e g }
 barA = { \tripletA \tripletA \tripletA \tripletA }
 
 \relative c'' {
index 3131a99e4a897c3d094ab3d05b4e2d4738523226..c4c5e6eeb5e754bf0abfb2f3ec50e95e427b8fe5 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 @c Translators: Pavel Fric
 
 @node Základní pojmy
@@ -619,10 +619,10 @@ oblouček, který začíná u trioly (řádky 3 a 4).
 
 @lilypond[quote,verbatim,ragged-right]
 {
-r16[ g \times 2/3 { r16 e'8] }
-g16( a \times 2/3 { b16 d) e' }
-g8[( a \times 2/3 { b8 d') e'~] } |
-\times 4/5 { e'32\( a b d' e' } a'4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g16( a \tuplet 3/2 { b16 d) e' }
+g8[( a \tuplet 3/2 { b8 d') e'~] } |
+\tuplet 5/4 { e'32\( a b d' e' } a'4.\)
 }
 @end lilypond
 
index 4f535f9716cf5c29e2dc9b7a84cdec3a1ae0b5c2..da64832a2f74381b14b17e37165016b55b8e0bc9 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Ladění výstupu
 @chapter Ladění výstupu
@@ -465,11 +465,11 @@ gesetzt wird.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -487,14 +487,14 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem
 @c NOTE Tuplet brackets collide if notes are high on staff
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -1048,8 +1048,8 @@ wenn sie in einem @code{\override}-Befehl benutzt werden.
 @item Moment
   @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion
   konstruiert
-  @tab @code{(ly:make-moment 1 4)},
-       @code{(ly:make-moment 3 8)}
+  @tab @code{(ly:make-moment 1/4)},
+       @code{(ly:make-moment 3/8)}
 @item Zahl
   @tab Eine beliebige positive oder negative Dezimalzahl
   @tab @code{3.5}, @code{-2.45}
index ae2b89ad6f1ba58c0a094bbf80a4e35a938565e0..d041f616207490d5b16db4f53c8bc092125c2927 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Pavel Fric
 
@@ -95,7 +95,7 @@ kombinieren. Zum Beispiel:
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -155,7 +155,7 @@ kombinieren. Zum Beispiel:
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index 1c747012160f91c792c94a0a03a130ee86aabf77..c4e37ed8d74e67f7d629497f8bf22699c68e2d77 100644 (file)
@@ -548,9 +548,9 @@ stálý, napsali jsme příručku pro vývojářské práce
 
 @docLinksBare{Příručka pro vývojářské práce, přispěvatel,
   @rcontribnamed{Top,Příručka pro vývojářské práce},
-  @manualDevelContributorSplit-cs,
-  @manualDevelContributorBig-cs, 500 kB,
-  @manualDevelContributorPdf-cs, 2.8 MB}
+  @manualDevelContributorSplit,
+  @manualDevelContributorBig, 500 kB,
+  @manualDevelContributorPdf, 2.8 MB}
 
 @divEnd
 
@@ -649,41 +649,41 @@ příručky se nacházejí na @url{http://lilypond.org}.}
 @docLinkPdf{Lernen,learning,@manualDevelLearningPdf-cs}
 
 @item
-@docLinkSplit{Glossar,music-glossary,@manualDevelGlossarySplit-cs}
+@docLinkSplit{Glossar,music-glossary,@manualDevelGlossarySplit}
 @tab
-@docLinkBig{Glossar,music-glossary,@manualDevelGlossaryBig-cs}
+@docLinkBig{Glossar,music-glossary,@manualDevelGlossaryBig}
 @tab
-@docLinkPdf{Glossar,music-glossary,@manualDevelGlossaryPdf-cs}
+@docLinkPdf{Glossar,music-glossary,@manualDevelGlossaryPdf}
 
 @item
-@docLinkSplit{Aufsatz,essay,@manualDevelEssaySplit-cs}
+@docLinkSplit{Aufsatz,essay,@manualDevelEssaySplit}
 @tab
-@docLinkBig{Aufsatz,essay,@manualDevelEssayBig-cs}
+@docLinkBig{Aufsatz,essay,@manualDevelEssayBig}
 @tab
-@docLinkPdf{Aufsatz,essay,@manualDevelEssayPdf-cs}
+@docLinkPdf{Aufsatz,essay,@manualDevelEssayPdf}
 
 @headitem Často používané příručky
 
 @item
-@docLinkSplit{Notation,notation,@manualDevelNotationSplit-cs}
+@docLinkSplit{Notation,notation,@manualDevelNotationSplit}
 @tab
-@docLinkBig{Notation,notation,@manualDevelNotationBig-cs}
+@docLinkBig{Notation,notation,@manualDevelNotationBig}
 @tab
-@docLinkPdf{Notation,notation,@manualDevelNotationPdf-cs}
+@docLinkPdf{Notation,notation,@manualDevelNotationPdf}
 
 @item
-@docLinkSplit{Benutzung,usage,@manualDevelUsageSplit-cs}
+@docLinkSplit{Benutzung,usage,@manualDevelUsageSplit}
 @tab
-@docLinkBig{Benutzung,usage,@manualDevelUsageBig-cs}
+@docLinkBig{Benutzung,usage,@manualDevelUsageBig}
 @tab
-@docLinkPdf{Benutzung,usage,@manualDevelUsagePdf-cs}
+@docLinkPdf{Benutzung,usage,@manualDevelUsagePdf}
 
 @item
-@docLinkSplit{Schnipsel,snippets,@manualDevelSnippetsSplit-cs}
+@docLinkSplit{Schnipsel,snippets,@manualDevelSnippetsSplit}
 @tab
-@docLinkBig{Schnipsel,snippets,@manualDevelSnippetsBig-cs}
+@docLinkBig{Schnipsel,snippets,@manualDevelSnippetsBig}
 @tab
-@docLinkPdf{Schnipsel,snippets,@manualDevelSnippetsPdf-cs}
+@docLinkPdf{Schnipsel,snippets,@manualDevelSnippetsPdf}
 
 
 @headitem Zřídka používané příručky
@@ -696,25 +696,25 @@ příručky se nacházejí na @url{http://lilypond.org}.}
 @docLinkPdf{Webseite,web,@manualDevelWebPdf-cs}
 
 @item
-@docLinkSplit{Veränderungen,changes,@manualDevelChangesSplit-cs}
+@docLinkSplit{Veränderungen,changes,@manualDevelChangesSplit}
 @tab
-@docLinkBig{Veränderungen,changes,@manualDevelChangesBig-cs}
+@docLinkBig{Veränderungen,changes,@manualDevelChangesBig}
 @tab
-@docLinkPdf{Veränderungen,changes,@manualDevelChangesPdf-cs}
+@docLinkPdf{Veränderungen,changes,@manualDevelChangesPdf}
 
 @item
-@docLinkSplit{Erweitern,extending,@manualDevelExtendingSplit-cs}
+@docLinkSplit{Erweitern,extending,@manualDevelExtendingSplit}
 @tab
-@docLinkBig{Erweitern,extending,@manualDevelExtendingBig-cs}
+@docLinkBig{Erweitern,extending,@manualDevelExtendingBig}
 @tab
-@docLinkPdf{Erweitern,extending,@manualDevelExtendingPdf-cs}
+@docLinkPdf{Erweitern,extending,@manualDevelExtendingPdf}
 
 @item
-@docLinkSplit{Interna,internals,@manualDevelInternalsSplit-cs}
+@docLinkSplit{Interna,internals,@manualDevelInternalsSplit}
 @tab
-@docLinkBig{Interna,internals,@manualDevelInternalsBig-cs}
+@docLinkBig{Interna,internals,@manualDevelInternalsBig}
 @tab
-@docLinkPdf{Interna,internals,@manualDevelInternalsPdf-cs}
+@docLinkPdf{Interna,internals,@manualDevelInternalsPdf}
 
 @ifset web_version
 @headitem Ke stažení
index 610f2a972d4166d906c3784247fb4dae9cb0b8d7..376a6996d298cd9ff4954201948ad82a5c8bdfe2 100755 (executable)
@@ -223,9 +223,9 @@ vzít si na pomoc tento slovníček.
 
 @docLinks{Slovníček, music-glossary,
   @rglosnamed{Top,Slovníček},
-  @manualStableGlossarySplit-cs,
-  @manualStableGlossaryBig-cs, 1 MB,
-  @manualStableGlossaryPdf-cs, 1.5 MB}
+  @manualStableGlossarySplit,
+  @manualStableGlossaryBig, 1 MB,
+  @manualStableGlossaryPdf, 1.5 MB}
 
 @divEnd
 
@@ -252,9 +252,9 @@ rozlišení.}
 
 @docLinks{Článek, essay,
   @ressaynamed{Top,Článek},
-  @manualStableEssaySplit-cs,
-  @manualStableEssayBig-cs, 2 MB,
-  @manualStableEssayPdf-cs, 2.5 MB}
+  @manualStableEssaySplit,
+  @manualStableEssayBig, 2 MB,
+  @manualStableEssayPdf, 2.5 MB}
 
 @divEnd
 
@@ -279,9 +279,9 @@ pojmosloví (podívejte se do slovníčku).}
 
 @docLinks{Notový zápis, notation,
   @rusernamed{Top,Notový zápis},
-  @manualStableNotationSplit-cs,
-  @manualStableNotationBig-cs, 7 MB,
-  @manualStableNotationPdf-cs, 18 MB}
+  @manualStableNotationSplit,
+  @manualStableNotationBig, 7 MB,
+  @manualStableNotationPdf, 18 MB}
 
 @divEnd
 
@@ -304,9 +304,9 @@ tento dokument přečíst, dříve než si člověk začne myslet na větší pr
 
 @docLinks{Používání, usage,
   @rprogramnamed{Top,Používání},
-  @manualStableUsageSplit-cs,
-  @manualStableUsageBig-cs, 300 KB,
-  @manualStableUsagePdf-cs, 400 KB}
+  @manualStableUsageSplit,
+  @manualStableUsageBig, 300 KB,
+  @manualStableUsagePdf, 400 KB}
 
 @divEnd
 
@@ -442,9 +442,9 @@ vlastností v LilyPondu od předchozí stálé verze.
 
 @docLinks{Změny, changes,
   @rchangesnamed{Top,Změny},
-  @manualStableChangesSplit-cs,
-  @manualStableChangesBig-cs, 6 KB,
-  @manualStableChangesPdf-cs, 200 KB}
+  @manualStableChangesSplit,
+  @manualStableChangesBig, 6 KB,
+  @manualStableChangesPdf, 200 KB}
 
 @divEnd
 
@@ -464,9 +464,9 @@ V této knize se vysvětluje, jak se pro LilyPond píší rozšíření.
 
 @docLinks{Rozšíření, extending,
   @rextendnamed{Top,Rozšíření},
-  @manualStableExtendingSplit-cs,
-  @manualStableExtendingBig-cs, 200 KB,
-  @manualStableExtendingPdf-cs, 400 KB}
+  @manualStableExtendingSplit,
+  @manualStableExtendingBig, 200 KB,
+  @manualStableExtendingPdf, 400 KB}
 
 @divEnd
 
@@ -498,9 +498,9 @@ dokumentu.  Každá část doporučení k notovému zápisu má také část
 
 @docLinks{Vnitřnosti, internals,
   @rinternalsnamed{Top,Vnitřnosti},
-  @manualStableInternalsSplit-cs,
-  @manualStableInternalsBig-cs, 2.5 MB,
-  @manualStableInternalsPdf-cs, 2.8 MB}
+  @manualStableInternalsSplit,
+  @manualStableInternalsBig, 2.5 MB,
+  @manualStableInternalsPdf, 2.8 MB}
 
 @divEnd
 
@@ -521,7 +521,7 @@ dokumentu.  Každá část doporučení k notovému zápisu má také část
 @unnumberedsec Vše
 @translationof All
 
-@divClass{column-center-bottom}
+@divClass{column-left-top}
 @subheading Verze ke stažení
 
 @ifclear web_version
@@ -548,17 +548,17 @@ přes @uref{http://lilypond.org}.
 @divClass{keep-bullets}
 @itemize
 
-@item @uref{http://lilypond.org/doc/v2.12/Documentation/,
-LilyPond 2.12 Dokumentation} (německy)
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.de.html,
+LilyPond 2.14 Dokumentation} (německy)
 
-@item @uref{http://lilypond.org/doc/v2.11/Documentation/,
-LilyPond 2.11 Dokumentation} (německy)
+@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.de.html,
+LilyPond 2.12 Dokumentation} (německy)
 
 @item @uref{http://lilypond.org/doc/v2.10/Documentation/,
-LilyPond 2.10 Dokumentation} (německy)
+LilyPond 2.10 Dokumentation} (anglicky)
 
 @item @uref{http://lilypond.org/doc/v2.8/Documentation/,
-LilyPond 2.8 Dokumentation} (německy)
+LilyPond 2.8 Dokumentation} (anglicky)
 
 @item @uref{http://lilypond.org/doc/v2.6/Documentation/,
 LilyPond 2.6 Dokumentation} (anglicky)
diff --git a/Documentation/cs/web/news-front.itexi b/Documentation/cs/web/news-front.itexi
deleted file mode 100644 (file)
index 6339bf2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-@c -*- coding: utf-8; mode: texinfo; documentlanguage: cs -*-
-@c This file is part of web.texi
-@ignore
-    Translation of GIT committish: 5e2900b22db1d1ea433d4e8445cbcba3ffe399a4
-
-    When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
-@end ignore
-
-
-@subsubheading LilyPond 2.13.47 released!  @emph{Jan 28, 2011}
-@subsubheading Release candidate 1 withdrawn  @emph{Jan 13, 2011}
-@subsubheading Release candidate 1 of 2.14 - LilyPond 2.13.46 released!  @emph{Jan 12, 2011}
-@subsubheading LilyPond 2.13.45 released!  @emph{Jan 3, 2011}
-
-@c -- SKELETON FILE --
index e5bb7f6b7bb0cc8a3f5cccd0290bf30451dd2438..adf0ff03e6020e7cf74b08747e9b9faa532066b3 100644 (file)
@@ -10,7 +10,7 @@
 @settitle Aufsatz über den automatischen Musiksatz
 @documentencoding UTF-8
 @documentlanguage de
-
+@afourpaper
 
 @c Translators: Till Paala
 
index ee837333e345548655fad37dd730b8d6df5d4aa3..35a84e563f0b4b0367fa6c016bfa9ce997df06c5 100644 (file)
@@ -9,7 +9,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -1154,14 +1154,14 @@ Beispiel heranzieht:
     \new Voice = "I" \relative c''' {
       \time 3/4
       \voiceOne
-      \times 6/7 { g8 g g g g g g }
+      \tuplet 7/6 { g8 g g g g g g }
       \oneVoice
       r4 <b,, fis' g bes> r4\fermata
     }
     \new Voice = "II" \relative c' {
       \voiceTwo
       c4
-      \times 4/5 {
+      \tuplet 5/4 {
         <c ees>8 f g
         \change Staff = "LH" \oneVoice
         \stemUp g,( c}
@@ -1615,7 +1615,7 @@ nächste Beispiel zeigt einige etwas exotischere Konstruktionen:
         \set followVoice = ##t
         c'''32([ b''16 a''16 gis''16 g''32)]
       } \\ {
-        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+        s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
       } \\ {
         s4 \autoBeamOff d''8.. f''32
       } \\ {
index a66fa13199353c77f224341f99d2585d0c697f47..f5d248033c99f523402c8d4e76592419eb3a20b7 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Scheme-Übung
 @chapter Scheme-Übung
@@ -1134,7 +1134,7 @@ zeigt:
                   'text
                   "f"))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1169,7 +1169,7 @@ einfacher zu lesen:
                               (make-music 'AbsoluteDynamicEvent
                                 'text
                                 "f"))
-              'duration (ly:make-duration 2 0 1 1)
+              'duration (ly:make-duration 2 0 1/1)
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
@@ -1205,7 +1205,7 @@ someNote = c'
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1223,7 +1223,7 @@ someNote = <c'>
   (list (make-music
           'NoteEvent
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1241,7 +1241,7 @@ eines musikalischen Ausdrucks anzuzeigen.
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1297,7 +1297,7 @@ das Endergebnis darstellt:
                   'span-direction
                   -1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))
         (make-music
@@ -1308,7 +1308,7 @@ das Endergebnis darstellt:
                   'span-direction
                   1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))))
 @end example
@@ -1325,7 +1325,7 @@ Jetzt folgt eine Betrachtung der Eingabe:
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 5 0))))
 @end example
@@ -1400,7 +1400,7 @@ Ausgabe examiniert:
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))))
 =====
@@ -1415,7 +1415,7 @@ Ausgabe examiniert:
           'articulation-type
           "accent"))
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))
 \displayMusic c4
@@ -1426,7 +1426,7 @@ Ausgabe examiniert:
   (list (make-music
           'NoteEvent
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch -1 0 0))))
 @end example
index 2f9e10c1eae679b1d1fd4ea045482d6edfeb0c4c..a9ad8b0859c0913104f78da0468deb1c5b365acf 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:
@@ -534,10 +534,10 @@ In einer Triole dauern die Noten 2/3 ihrer normalen Länge,
 also hat eine Triole 2/3 als Bruch:
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Verzierungen
@@ -1340,7 +1340,7 @@ werden, wenn Notengruppen sich oft wiederholen.
 
 @c KEEP LY
 @lilypond[verbatim,quote]
-trioleA = \times 2/3 { c,8 e g }
+trioleA = \tuplet 3/2 { c,8 e g }
 TaktA = { \trioleA \trioleA \trioleA \trioleA }
 
 \relative c'' {
index cb78a439d20525301783456697efc40f7baa5af2..f53b326965e2ab67e01bb4e67d73141e4e6be1f3 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 @c Translators: Till Paala, Reinhold Kainhofer
 
 @node Grundbegriffe
@@ -626,10 +626,10 @@ Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4).
 
 @lilypond[quote,verbatim,ragged-right]
 {
-r16[ g \times 2/3 { r16 e'8] }
-g16( a \times 2/3 { b16 d) e' }
-g8[( a \times 2/3 { b8 d') e'~] } |
-\times 4/5 { e'32\( a b d' e' } a'4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g16( a \tuplet 3/2 { b16 d) e' }
+g8[( a \tuplet 3/2 { b8 d') e'~] } |
+\tuplet 5/4 { e'32\( a b d' e' } a'4.\)
 }
 @end lilypond
 
index 79985b07094dbce4706197dc7327bbf11f31ff20..0d08ee053b99f9077cd37b0af38af8c0a40cf7a9 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Die Ausgabe verändern
 @chapter Die Ausgabe verändern
@@ -488,11 +488,11 @@ gesetzt wird.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -510,14 +510,14 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem
 @c NOTE Tuplet brackets collide if notes are high on staff
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -1070,8 +1070,8 @@ wenn sie in einem @code{\override}-Befehl benutzt werden.
 @item Moment
   @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion
   konstruiert
-  @tab @code{(ly:make-moment 1 4)},
-       @code{(ly:make-moment 3 8)}
+  @tab @code{(ly:make-moment 1/4)},
+       @code{(ly:make-moment 3/8)}
 @item Zahl
   @tab Eine beliebige positive oder negative Dezimalzahl
   @tab @code{3.5}, @w{@code{-2.45}}
index db9d2f83eb5ce167919f47dbb98bd3f6de1579c1..a7d79a6606dda2f5a220e748da5cec171c9cad9a 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -666,7 +666,7 @@ werden, weil sie nicht konstant sind.  Zum Beispiel kann das Verhältnis 1@tie{}
 wird:
 
 @example
-breveTP = #(ly:make-duration -1 0 3 2)
+breveTP = #(ly:make-duration -1 0 3/2)
 @dots{}
 @{ c\breveTP f1 @}
 @end example
@@ -2908,9 +2908,9 @@ werden.
 spiritus = \relative c' {
   \time 1/4
   \override Lyrics.LyricText.X-extent  = #'(0 . 3)
-  d4 \times 2/3 { f8 a g } g a a4 g f8 e
+  d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
   d4 f8 g g8 d f g a g f4 g8 a a4  s
-  \times 2/3 { g8 f d } e f g a g4
+  \tuplet 3/2 { g8 f d } e f g a g4
 }
 
 spirLyr = \lyricmode {
index e856fef9bb259e98ad0008c875b1bddac6e2c133..ebedb6c21852335f9e09487cf36f92c4d3d87584 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -230,12 +230,12 @@ f8 c2 d e
 @end lilypond
 
 
-@item @code{\times 2/3 @{f g a@}}
+@item @code{\tuplet 3/2 @{f g a@}}
 @tab Triolen
 @tab
 @lilypond[relative=1]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-\times 2/3 { f8 g a }
+\tuplet 3/2 { f8 g a }
 @end lilypond
 
 
index c256ccf4cc1ab70be7dfea103b338656d56d1b05..f01a51d2704ed0ac3c2d34ca3e14dcff442006f9 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -617,7 +617,7 @@ den Linien festgesetzt.
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 1 4)
+    gridInterval = #(ly:make-moment 1/4)
   }
   \context {
     \Score
index dba244d010c4b794455fd0b761eecd27caab6dfc..6580c77bc9306d88a692141278695d74c269476c 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -1766,7 +1766,7 @@ music = \relative c' {
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
   \deadNotesOn
-  \times 2/3 { g8 b e }
+  \tuplet 3/2 { g8 b e }
   \deadNotesOff
   < a,\3 c\2 e\1 >1
 }
index 5195578fb9b07b5b417cec0701fda65d49d9bad8..2e2d5198cfeae725d2937b7cf8d891881163b715 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -228,11 +228,11 @@ zu Beginn jeder Alternative außer der ersten.
 \alternative {
   {
     f2 d |
-    \set Timing.measureLength = #(ly:make-moment 3 4)
+    \set Timing.measureLength = #(ly:make-moment 3/4)
     g4 g g  % optional bar check is allowed here
   }
   {
-    \set Timing.measureLength = #(ly:make-moment 4 4)
+    \set Timing.measureLength = #(ly:make-moment 4/4)
     a2 a |
   }
 }
@@ -671,7 +671,7 @@ benützten ein doppeltes Prozent-Symbol.
 
 @lilypond[verbatim,quote,relative=2]
 \repeat percent 4 { c8. <d f>16 }
-\repeat percent 2 { \times 2/3 { r8 c d } e4 }
+\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
 @end lilypond
 
 @snippets
index 9efc3fac99ab627671225bf9d37a5005f4d1c451..903f5a744550d83202cb3f8b6b334b5db81378b0 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -221,8 +221,8 @@ Triole, in welcher drei Noten die Länge von zwei haben, der Wert jeder
 einzelnen Note ist also 2/3 der notierten Länge.
 
 @lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
 @end lilypond
 
 @cindex Triolenklammer, Platzierung
@@ -242,7 +242,7 @@ N-tolen können ineinander geschachtelt werden:
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
 @end lilypond
 
 Wenn man die Eigenschaften von N-tolen verändern will, die zum
@@ -1431,7 +1431,7 @@ So wird etwa aus @code{\partial 8}:
 
 @lilypond[quote,verbatim,relative=1]
 \time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
 e8 | a4 c8 b c4 |
 @end lilypond
 
@@ -1476,7 +1476,7 @@ benutzen.
 \time 6/8
 \partial 8
 e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
 r8 e,8 | a4 c8 b[ c b] |
 @end lilypond
 
@@ -1676,7 +1676,7 @@ auswirkt.
     \scaleDurations 3/5 {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c4. \times 2/3 { c8[ c c] } c4
+      c4. c4. \tuplet 3/2 { c8[ c c] } c4
     }
   }
 >>
@@ -2144,12 +2144,12 @@ werden, wenn die Bebalkung von @code{beatStructure} bestimmt werden soll.
 \time 4/4
 a8^"default" a a a a a a a
 
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"no change" a a a a a a a
 
 \set Timing.beamExceptions = #'()
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"changed" a a a a a a a
 @end lilypond
@@ -2203,7 +2203,7 @@ er kompatibel mit dem neuen Wert von @code{baseMoment} ist.
 
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.baseMoment = #(ly:make-moment 1/16)
 \set Timing.beatStructure = #'(7 3)
 \repeat unfold 10 { a16 }
 @end lilypond
@@ -2296,7 +2296,7 @@ Die @code{beamExceptions}-Regel kann die @code{beatStructure}-Einstellung
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
 \set Timing.beatStructure = #'(3 3 2)
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c8} |
@@ -2434,7 +2434,7 @@ vermeiden, ist es, die Taktart nur in einem System zu setzen.
 <<
   \new Staff {
     \time 3/4
-    \set Timing.baseMoment = #(ly:make-moment 1 8)
+    \set Timing.baseMoment = #(ly:make-moment 1/8)
     \set Timing.beatStructure = #'(1 5)
     \repeat unfold 6 { a8 }
   }
@@ -2606,10 +2606,10 @@ gleichmäßiges Tempo haben.
 
 @lilypond[relative=1,verbatim,quote]
 \override Beam.grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\featherDurations #(ly:make-moment 2/1)
 { c16[ c c c c c c c] }
 \override Beam.grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\featherDurations #(ly:make-moment 2/3)
 { c32[ d e f] }
 % revert to non-feathered beams
 \override Beam.grow-direction = #'()
@@ -3649,11 +3649,11 @@ dass der Takt im Ergebnis 1/8 kürzer ist.  Die nächste Taktlinie
 wird dann auch bei 9/8 gezogen und nicht bei 5/4.
 
 @lilypond[quote,verbatim,relative=1]
-\set Score.measureLength = #(ly:make-moment 5 4)
+\set Score.measureLength = #(ly:make-moment 5/4)
 c1 c4
 c1 c4
 c4 c4
-\set Score.measurePosition = #(ly:make-moment 5 8)
+\set Score.measurePosition = #(ly:make-moment 5/8)
 b4 b4 b8
 c4 c1
 @end lilypond
index a38be05c32cd1d4332fe6892ab085c1dd9e9512c..617f04cc6dc5cfd188bc6557fef19dfbe27a2451 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -1401,7 +1401,7 @@ müssen.
   \remove "Forbid_line_break_engraver"
 } \relative c'' {
   <<
-    { c2. \times 2/3 { c4 c c } c2. | }
+    { c2. \tuplet 3/2 { c4 c c } c2. | }
     { s1 | \break s1 | }
   >>
 }
@@ -1639,7 +1639,7 @@ Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
 Der @code{Page_turn_engraver} liest die Kontexteigenschaft
 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt.  Der
-Standardwert hierfür ist @code{(ly:make-moment 1 1)}.  Wenn Sie
+Standardwert hierfür ist @code{(ly:make-moment 1/1)}.  Wenn Sie
 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
 einen sehr großen Wert angeben.
 
@@ -1649,7 +1649,7 @@ einen sehr großen Wert angeben.
   a4 b c d |
   R1 | % Ein Seitenumbruch zum Umblättern erlaubt
   a4 b c d |
-  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
   R1 | % Seitenumbruch nicht erlaubt
   a4 b r2 |
   R1*2 | % Seitenumbruch erlaubt
@@ -3041,7 +3041,7 @@ eine größere Dauer ist als @code{1 16}.
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3064,14 +3064,14 @@ werden:
 \score {
   <<
     \new Staff {
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
       c8 c8 c8 c8
     }
     \new Staff {
       c8 c8 c8 c8
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
     }
@@ -3196,7 +3196,7 @@ die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3227,7 +3227,7 @@ eingeschaltet:
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3235,7 +3235,7 @@ eingeschaltet:
  \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3256,10 +3256,10 @@ Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt.  Sie
 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
-Ganzen darstellen.  Die Funktion @code{(ly:make-moment 1 20)} ergibt also
+Ganzen darstellen.  Die Funktion @code{(ly:make-moment 1/20)} ergibt also
 eine Referenzdauer von einer Zwanzigstel.  Genauso gut können etwa die Dauern
-@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} oder
-@code{(ly:make-moment 3 97)} eingesetzt werden.
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} oder
+@code{(ly:make-moment 3/97)} eingesetzt werden.
 
 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
@@ -3273,7 +3273,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3281,7 +3281,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 8)
+      proportionalNotationDuration = #(ly:make-moment 1/8)
     }
   }
 }
@@ -3291,7 +3291,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3299,7 +3299,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 16)
+      proportionalNotationDuration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3309,7 +3309,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3317,7 +3317,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 32)
+      proportionalNotationDuration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -3342,12 +3342,12 @@ System mit anderen rhythmischen Werten hinzugefügt wird:
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3368,12 +3368,12 @@ dieser Situation deutlich:
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3381,7 +3381,7 @@ dieser Situation deutlich:
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3398,12 +3398,12 @@ sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angescha
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3411,7 +3411,7 @@ sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angescha
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
       \override SpacingSpanner.uniform-stretching = ##t
     }
   }
@@ -3501,7 +3501,7 @@ die beiden Partituren unten:
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   c''8
   c''8
   c''8
@@ -3511,7 +3511,7 @@ die beiden Partituren unten:
 }
 
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \override Score.SpacingSpanner.strict-note-spacing = ##t
   c''8
   c''8
@@ -3742,7 +3742,7 @@ angegeben wird:
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
     }
   }
 }
index afab5fc62b3c037b4fbaaf569b61b91549bdede3..8c42e5b44272ade1d165d6e1c24b3fa21b396cca 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Till Paala
 
@@ -1925,7 +1925,7 @@ unterschiedlichen Melodien auszurichten.  Das wird mit der
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           % show associations clearly.
           \override NoteColumn.force-hshift = #-3
           f8 f g
@@ -3120,7 +3120,7 @@ global = {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index 829379030d341a848d70e4ad827053c55edfe3f0..02ad688826283cf21ec95b0441a806f44c73b2ef 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Reinhold Kainhofer
 @c Translation checkers: Till Paala
@@ -96,7 +96,7 @@ kombinieren. Zum Beispiel:
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -157,7 +157,7 @@ kombinieren. Zum Beispiel:
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index 61768740b8187cf43b635e6b22f72397b22740a7..d236a6f28955938cbfdc204c1961042a73ee97ac 100644 (file)
@@ -229,9 +229,9 @@ es sich sehr, dieses Glossar zu Hilfe zu ziehen.
 
 @docLinks{Glossar, music-glossary,
   @rglosnamed{Top,Glossar},
-  @manualStableGlossarySplit-de,
-  @manualStableGlossaryBig-de, 1 MB,
-  @manualStableGlossaryPdf-de, 1.5 MB}
+  @manualStableGlossarySplit,
+  @manualStableGlossaryBig, 1 MB,
+  @manualStableGlossaryPdf, 1.5 MB}
 
 @divEnd
 
@@ -506,9 +506,9 @@ erklärt.  Jeder Abschnitt der Notationsreferenz hat einen
 
 @docLinks{Interna, internals,
   @rinternalsnamed{Top,Interna},
-  @manualStableInternalsSplit-de,
-  @manualStableInternalsBig-de, 2.5 MB,
-  @manualStableInternalsPdf-de, 2.8 MB}
+  @manualStableInternalsSplit,
+  @manualStableInternalsBig, 2.5 MB,
+  @manualStableInternalsPdf, 2.8 MB}
 
 @divEnd
 
@@ -529,7 +529,7 @@ erklärt.  Jeder Abschnitt der Notationsreferenz hat einen
 @unnumberedsec Alles
 @translationof All
 
-@divClass{column-center-bottom}
+@divClass{column-left-top}
 @subheading Versionen zum Herunterladen
 
 @ifclear web_version
@@ -556,11 +556,11 @@ erhältlich.
 @divClass{keep-bullets}
 @itemize
 
-@item @uref{http://lilypond.org/doc/v2.12/Documentation/,
-LilyPond 2.12 Dokumentation} (auf deutsch)
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.de.html,
+LilyPond 2.14 Dokumentation} (auf deutsch)
 
-@item @uref{http://lilypond.org/doc/v2.11/Documentation/,
-LilyPond 2.11 Dokumentation} (auf deutsch)
+@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.de.html,
+LilyPond 2.12 Dokumentation} (auf deutsch)
 
 @item @uref{http://lilypond.org/doc/v2.10/Documentation/,
 LilyPond 2.10 Dokumentation} (auf englisch)
index 771b9e49c6b9e033d65fc5102c276fa0cef9c81e..67482495eb2f2c372c8ef5a1246e158b26a44f15 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Grabado musical
 @chapter Grabado musical
@@ -1162,14 +1162,14 @@ aparente si tenemos en cuenta un ejemplo musical más complejo:
     \new Voice = "I" \relative c''' {
       \time 3/4
       \voiceOne
-      \times 6/7 { g8 g g g g g g }
+      \tuplet 7/6 { g8 g g g g g g }
       \oneVoice
       r4 <b,, fis' g bes> r4\fermata
     }
     \new Voice = "II" \relative c' {
       \voiceTwo
       c4
-      \times 4/5 {
+      \tuplet 5/4 {
         <c ees>8 f g
         \change Staff = "LH" \oneVoice
         \stemUp g,( c}
@@ -1625,7 +1625,7 @@ ejemplo siguiente combina unas pocas construcciones algo más exóticas.
         \set followVoice = ##t
         c'''32([ b''16 a''16 gis''16 g''32)]
       } \\ {
-        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+        s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
       } \\ {
         s4 \autoBeamOff d''8.. f''32
       } \\ {
index e62c1cafcaf9854e1ed88192b10afe50ba92dfd1..dfa8bb8345e467dceba646d9c9413d849133f8ec 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Tutorial de Scheme
 @appendix Tutorial de Scheme
@@ -1226,7 +1226,7 @@ imprime lo siguiente:
                   'text
                   "f"))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1262,7 +1262,7 @@ leer:
                               (make-music 'AbsoluteDynamicEvent
                                 'text
                                 "f"))
-              'duration (ly:make-duration 2 0 1 1)
+              'duration (ly:make-duration 2 0 1/1)
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
@@ -1297,7 +1297,7 @@ someNote = c'
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1315,7 +1315,7 @@ someNote = <c'>
   (list (make-music
           'NoteEvent
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1333,7 +1333,7 @@ Scheme de una expresión musical.
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1386,7 +1386,7 @@ representación interna de la música con la que queremos terminar.
                   'span-direction
                   -1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))
         (make-music
@@ -1397,7 +1397,7 @@ representación interna de la música con la que queremos terminar.
                   'span-direction
                   1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))))
 @end example
@@ -1414,7 +1414,7 @@ Ahora examinamos la entrada,
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 5 0))))
 @end example
@@ -1485,7 +1485,7 @@ Scheme.  Empezamos examinando nuestra entrada y la salida deseada,
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))))
 =====
@@ -1500,7 +1500,7 @@ Scheme.  Empezamos examinando nuestra entrada y la salida deseada,
           'articulation-type
           "accent"))
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))
 @end example
index 362c01056ab5b5e1d7809734395f46f8e1bb3dc7..da2e5beafa6e9ebd832cbb5c95b720d4a3dc79b8 100644 (file)
@@ -7,7 +7,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -553,10 +553,10 @@ fracción.  Los tresillos hacen que las notas ocupen 2/3 de su duración
 expresa, por tanto un @notation{tresillo} lleva una fracción de 2/3:
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Notas de adorno
@@ -1332,7 +1332,7 @@ para acortar el código si una sección musical se repite muchas veces.
 
 @c KEEP LY
 @lilypond[verbatim,quote,ragged-right]
-tresilloA = \times 2/3 { c,8 e g }
+tresilloA = \tuplet 3/2 { c,8 e g }
 compasA = { \tresilloA \tresilloA \tresilloA \tresilloA }
 
 \relative c'' {
index a4ae78c2fc34288b39192d66871f5de0e403483a..e49d9f152246c140a3839a32c6e18392bfe87a82 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @node Conceptos fundamentales
@@ -574,10 +574,10 @@ unión que atraviesa dos grupos especiales, y una ligadura de fraseo
 que sale del interior de un grupo especial (líneas 3 y 4).
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index fd03a7f7e7d676d5e9278ce09b6c42161b420b7b..18a254ca4e972cd3479ff0d538ed52b52a06a206 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Trucar la salida
 @chapter Trucar la salida
@@ -509,11 +509,11 @@ tresillo corto.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -527,14 +527,14 @@ se puede modificar de la forma usual mediante instrucciones
 @cindex TupletNumber, ejemplo de sobreescritura
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
index 42ae604fc5395b2e3812c149ac19ae3df043f682..2edb2bf0eadea920db41e45ed6d2027f47bc8bc1 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @node Notación antigua
@@ -656,7 +656,7 @@ la razón de 1@tie{}breve = 3@tie{}semibreves
 establecimiento de
 
 @example
-breveTP = #(ly:make-duration -1 0 3 2)
+breveTP = #(ly:make-duration -1 0 3/2)
 @dots{}
 @{ c\breveTP f1 @}
 @end example
@@ -2833,9 +2833,9 @@ más ajustes posteriormente, esto se puede hacer fácilmente con
 spiritus = \relative c' {
   \time 1/4
   \override Lyrics.LyricText.X-extent  = #'(0 . 3)
-  d4 \times 2/3 { f8 a g } g a a4 g f8 e
+  d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
   d4 f8 g g8 d f g a g f4 g8 a a4  s
-  \times 2/3 { g8 f d } e f g a g4
+  \tuplet 3/2 { g8 f d } e f g a g4
 }
 
 spirLyr = \lyricmode {
index e0d0703841584387cbfd16835998cb5f879c9b6d..25013338c1b4aadf14927729509583f417d7be8d 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @c TODO: add tablature.
@@ -228,12 +228,12 @@ f8 c2 d e
 @end lilypond
 
 
-@item @code{\times 2/3 @{f g a@}}
+@item @code{\tuplet 3/2 @{f g a@}}
 @tab tresillos
 @tab
 @lilypond[relative=1]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-\times 2/3 { f8 g a }
+\tuplet 3/2 { f8 g a }
 @end lilypond
 
 
index ff59b6b6ad0f9cab2b0a8a74f56f177d5880e4b4..475c4686449f1abe39523c35f4ca66b7960370a7 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Anotaciones editoriales
 @section Anotaciones editoriales
@@ -616,7 +616,7 @@ especificar la duración entre las líneas de rejilla.
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 1 4)
+    gridInterval = #(ly:make-moment 1/4)
   }
   \context {
     \Score
index 71a2be2061e486e719fbad66b0ce74b16b168527..b57661b52c5874bf878eda73e5536cf28006372d 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Instrumentos de cuerda con trastes
 @section Instrumentos de cuerda con trastes
@@ -1765,7 +1765,7 @@ music = \relative c' {
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
   \deadNotesOn
-  \times 2/3 { g8 b e }
+  \tuplet 3/2 { g8 b e }
   \deadNotesOff
   < a,\3 c\2 e\1 >1
 }
index c93e9d6ee6639a7f60d52bcd5de98868e13a7e60..ab46c49ff422f582a7220ea895ecb059363b82e0 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @node Repeticiones
 @section Repeticiones
@@ -237,11 +237,11 @@ primero.
 \alternative {
   {
     f2 d |
-    \set Timing.measureLength = #(ly:make-moment 3 4)
+    \set Timing.measureLength = #(ly:make-moment 3/4)
     g4 g g  % optional bar check is allowed here
   }
   {
-    \set Timing.measureLength = #(ly:make-moment 4 4)
+    \set Timing.measureLength = #(ly:make-moment 4/4)
     a2 a |
   }
 }
@@ -703,7 +703,7 @@ duraciones mezcladas utilizan un símbolo de porcentaje doble.
 
 @lilypond[verbatim,quote,relative=2]
 \repeat percent 4 { c8. <d f>16 }
-\repeat percent 2 { \times 2/3 { r8 c d } e4 }
+\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
 @end lilypond
 
 @snippets
index 977bb67e749cc511e9df96a9cf93bf220daaabed..12bed71bd5cc6f86bcd67faf1930d9d62828d9d5 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Duraciones
 @section Duraciones
@@ -214,8 +214,8 @@ que 3 notas tienen el valor de 2, por tanto las notas duran 2/3 de su
 valor escrito:
 
 @lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
 @end lilypond
 
 @cindex grupos de valoración especial, colocación del corchete
@@ -234,7 +234,7 @@ Los grupos pueden anidarse unos dentro de otros:
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
 @end lilypond
 
 La modificación de los grupos especiales anidados que comienzan en el
@@ -1442,7 +1442,7 @@ Así, @code{\partial 8} se convierte en:
 
 @lilypond[quote,verbatim,relative=1]
 \time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
 e8 | a4 c8 b c4 |
 @end lilypond
 
@@ -1476,7 +1476,7 @@ advertencias o efectos desagradables, en este caso utilice en su lugar
 \time 6/8
 \partial 8
 e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
 r8 e,8 | a4 c8 b[ c b] |
 @end lilypond
 
@@ -1687,7 +1687,7 @@ de barrado automático.
     \scaleDurations 3/5 {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c \times 2/3 { c8[ c c] } c4
+      c4. c \tuplet 3/2 { c8[ c c] } c4
     }
   }
 >>
@@ -2142,12 +2142,12 @@ determinado por @code{beatStructure}.
 \time 4/4
 a8^"default" a a a a a a a
 
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"no change" a a a a a a a
 
 \set Timing.beamExceptions = #'()
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"changed" a a a a a a a
 @end lilypond
@@ -2202,7 +2202,7 @@ el nuevo valor de @code{baseMoment}.
 
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.baseMoment = #(ly:make-moment 1/16)
 \set Timing.beatStructure = #'(7 3)
 \repeat unfold 10 { a16 }
 @end lilypond
@@ -2297,7 +2297,7 @@ ajuste @code{beatStructure} si no se reinicia @code{beamExceptions}.
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
 \set Timing.beatStructure = #'(3 3 2)
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c8} |
@@ -2435,7 +2435,7 @@ la indicación de compás en un pentagrama solamente.
 <<
   \new Staff {
     \time 3/4
-    \set Timing.baseMoment = #(ly:make-moment 1 8)
+    \set Timing.baseMoment = #(ly:make-moment 1/8)
     \set Timing.beatStructure = #'(1 5)
     \repeat unfold 6 { a8 }
   }
@@ -2610,10 +2610,10 @@ mientras que las últimas cuatro fusas están a un tempo constante.
 
 @lilypond[relative=1,verbatim,quote]
 \override Beam.grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\featherDurations #(ly:make-moment 2/1)
 { c16[ c c c c c c c] }
 \override Beam.grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\featherDurations #(ly:make-moment 2/3)
 { c32[ d e f] }
 % revert to non-feathered beams
 \override Beam.grow-direction = #'()
@@ -3743,11 +3743,11 @@ divisoria cae en 9/8 en vez de hacerlo en 5/4.
 
 @lilypond[quote,verbatim]
 \new Voice \relative c' {
-  \set Timing.measureLength = #(ly:make-moment 5 4)
+  \set Timing.measureLength = #(ly:make-moment 5/4)
   c1 c4 |
   c1 c4 |
   c4 c
-  \set Timing.measurePosition = #(ly:make-moment 5 8)
+  \set Timing.measurePosition = #(ly:make-moment 5/8)
   b4 b b8 |
   c4 c1 |
 }
index dd691efea50e362aa26f7cd521ca38a31c155eba..26d9562e08df4a184f65f5e675713aa6af1f4c22 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @ignore
 GDP TODO list
@@ -1499,7 +1499,7 @@ paralelo con la música:
   \remove "Forbid_line_break_engraver"
 } \relative c'' {
   <<
-    { c2. \times 2/3 { c4 c c } c2. | }
+    { c2. \tuplet 3/2 { c4 c c } c2. | }
     { s1 | \break s1 | }
   >>
 }
@@ -1728,7 +1728,7 @@ El grabador @code{Page_turn_engraver} lee la propiedad de contexto
 @code{minimumPageTurnLength} para determinar qué longitud debe tener
 una sección sin notas antes de que se considere la posibilidad de un
 paso de página.  El valor predeterminado para
-@code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}.  Si
+@code{minimumPageTurnLength} es @code{(ly:make-moment 1/1)}.  Si
 quiere inhabilitar las vueltas de página, puede establecerlo a algún
 valor muy grande.
 
@@ -1738,7 +1738,7 @@ valor muy grande.
   a4 b c d |
   R1 | % aquí se permite un salto de página
   a4 b c d |
-  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
   R1 | % aquí no se permite un salto de página
   a4 b r2 |
   R1*2 | % aquí se permite un salto de página
@@ -3085,7 +3085,7 @@ que @code{ly:make-moment} construye una duración, por lo que @code{1
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3103,14 +3103,14 @@ puede cambiarse al principio de la partitura:
 \score {
   <<
     \new Staff {
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
       c8 c8 c8 c8
     }
     \new Staff {
       c8 c8 c8 c8
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
     }
@@ -3230,7 +3230,7 @@ espaciado clásico sin justificación por la derecha.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3260,7 +3260,7 @@ ajuste @code{proportionalNotationDuration}.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3268,7 +3268,7 @@ ajuste @code{proportionalNotationDuration}.
  \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3293,11 +3293,11 @@ argumento, que es la duración de referencia contra el que se aplica el
 espaciado de toda la música.  La función Scheme de LilyPond
 @code{make-moment} acepta dos argumentos: un numerador y un
 denominador que, juntos, expresan una cierta fracción de redonda.  La
-llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración
+llamada @code{(ly:make-moment 1/20)}, por tanto, produce una duración
 de referencia de una nota de un veinteavo de redonda (semicorcheas de
 cinquillo).  Son también posibles valores como
-@code{(ly:make-moment 1 16)},
-@code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}.
+@code{(ly:make-moment 1/16)},
+@code{(ly:make-moment 1/8)} y @code{(ly:make-moment 3/97)}.
 
 ¿Cómo seleccionamos la duración correcta de referencia para pasarla a
 @code{proportionalNotationDuration}?  Normalmente mediante un proceso
@@ -3312,7 +3312,7 @@ más largas aplican un espaciado más apretado.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3320,7 +3320,7 @@ más largas aplican un espaciado más apretado.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 8)
+      proportionalNotationDuration = #(ly:make-moment 1/8)
     }
   }
 }
@@ -3330,7 +3330,7 @@ más largas aplican un espaciado más apretado.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3338,7 +3338,7 @@ más largas aplican un espaciado más apretado.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 16)
+      proportionalNotationDuration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3348,7 +3348,7 @@ más largas aplican un espaciado más apretado.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3356,7 +3356,7 @@ más largas aplican un espaciado más apretado.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 32)
+      proportionalNotationDuration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -3383,12 +3383,12 @@ diferente de grupo especial.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3409,12 +3409,12 @@ soluciona.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3422,7 +3422,7 @@ soluciona.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3440,12 +3440,12 @@ propiedad de @code{SpacingSpanner}.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3453,7 +3453,7 @@ propiedad de @code{SpacingSpanner}.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
       \override SpacingSpanner.uniform-stretching = ##t
     }
   }
@@ -3548,7 +3548,7 @@ Compare las dos partituras siguientes:
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   c''8
   c''8
   c''8
@@ -3558,7 +3558,7 @@ Compare las dos partituras siguientes:
 }
 
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \override Score.SpacingSpanner.strict-note-spacing = ##t
   c''8
   c''8
@@ -3783,7 +3783,7 @@ duración se produce un efecto de @q{apretujamiento}:
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
     }
   }
 }
index 2878f472f157d33cc89d92f94cc9aada485109d0..0d20efef21414d2b744fd02539f19088902e4499 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Música vocal
 @section Música vocal
@@ -1915,7 +1915,7 @@ propiedad @code{associatedVoice}:
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           % show associations clearly.
           \override NoteColumn.force-hshift = #-3
           f8 f g
@@ -3134,7 +3134,7 @@ global = {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index d483d6f0efa50c8bb6e6b6deb7836780968e8b58..f99fe8c605e780977e55e556303a71e88eb7e812 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Note: keep this node named so that `info lilypond-book' brings you here.
 @node lilypond-book
@@ -92,7 +92,7 @@ música y texto. Por ejemplo:
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -154,7 +154,7 @@ música y texto.  Por ejemplo:
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index d4a5835dbb27dcbb1ea212bebbaabd6f142e5652..b53ae2fe14a632975d332b1fe2787881e286afc5 100644 (file)
@@ -559,10 +559,10 @@ sólo están disponibles en @uref{http://lilypond.org}
 @divClass{keep-bullets}
 @itemize
 
-@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals,
-LilyPond 2.14 Documentation}
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.es.html,
+Documentación de LilyPond 2.14}
 
-@item @uref{http://lilypond.org/doc/v2.12/Documentation/,
+@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.es.html,
 Documentación de LilyPond 2.12}
 
 @item @uref{http://lilypond.org/doc/v2.10/Documentation/,
index 8c0a3f6941da7465a0ee14f457d6ae1c1a39b13d..f32934303c63476390c85c0d3c2e89462a31985d 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Music engraving
 @chapter Music engraving
@@ -1087,14 +1087,14 @@ consider a more complicated musical example:
     \new Voice = "I" \relative c''' {
       \time 3/4
       \voiceOne
-      \times 6/7 { g8 g g g g g g }
+      \tuplet 7/6 { g8 g g g g g g }
       \oneVoice
       r4 <b,, fis' g bes> r4\fermata
     }
     \new Voice = "II" \relative c' {
       \voiceTwo
       c4
-      \times 4/5 {
+      \tuplet 5/4 {
         <c ees>8 f g
         \change Staff = "LH" \oneVoice
         \stemUp g,( c}
@@ -1525,7 +1525,7 @@ following example combines some more exotic constructs.
         \set followVoice = ##t
         c'''32([ b''16 a''16 gis''16 g''32)]
       } \\ {
-        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+        s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
       } \\ {
         s4 \autoBeamOff d''8.. f''32
       } \\ {
index 9fd578b2bd6262f0a42963f64f32c70392f5271c..4fe2057d0f06cd4d8ddeeff1ba92db601040b530 100644 (file)
@@ -42,11 +42,14 @@ can deal with embedded Scheme expressions starting with @code{$}
 and@w{ }@code{#}.
 
 It extracts the Lilypond code block and generates a call to the
-LilyPond @code{parser} which is executed at runtime to interpret the
-LilyPond code block.  Any embedded Scheme expression is executed in
-the lexical environment of the Lilypond code block, so you have access
-to local variables and function parameters at the point the Lilypond
-code block is written.
+LilyPond @code{parser} which is executed at runtime to interpret
+the LilyPond code block.  Any embedded Scheme expression is
+executed in the lexical environment of the Lilypond code block, so
+you have access to local variables and function parameters at the
+point the Lilypond code block is written.  If @code{location}
+refers to a valid input location (which it usually does inside of
+music/@/scheme functions), all music generated inside the code
+block has its @samp{origin} set to @code{location}.
 
 A LilyPond code block may contain anything that you can use on the right
 side of an assignment.  In addition, an empty LilyPond block corresponds
index b73c2bb9fd7ad7b91e0c193d98257dfc71af6bac..f944a053e5b35a7773cacc47169caf66a021cda4 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Scheme tutorial
 @chapter Scheme tutorial
@@ -1127,7 +1127,7 @@ will display
                   'text
                   "f"))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1162,7 +1162,7 @@ A bit of reformatting makes the above information easier to read:
                               (make-music 'AbsoluteDynamicEvent
                                 'text
                                 "f"))
-              'duration (ly:make-duration 2 0 1 1)
+              'duration (ly:make-duration 2 0 1/1)
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
@@ -1194,7 +1194,7 @@ someNote = c'
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1212,7 +1212,7 @@ someNote = <c'>
   (list (make-music
           'NoteEvent
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1230,7 +1230,7 @@ expression.
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1281,7 +1281,7 @@ representation of the desired result.
                   'span-direction
                   -1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))
         (make-music
@@ -1292,7 +1292,7 @@ representation of the desired result.
                   'span-direction
                   1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))))
 @end example
@@ -1309,7 +1309,7 @@ Now we examine the input,
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 5 0))))
 @end example
@@ -1375,7 +1375,7 @@ Scheme.  We begin by examining our input and desired output,
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))))
 =====
@@ -1390,7 +1390,7 @@ Scheme.  We begin by examining our input and desired output,
           'articulation-type
           "accent"))
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))
 @end example
index 5a500b6bbd4325ddf7dd004b4851eb59c617256c..85b91038d87fc465514e1651a686cd4baf970fa1 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude, John Mandereau, Gauvain Pocentek
 
@@ -1171,14 +1171,14 @@ musique se complique :
     \new Voice = "I" \relative c''' {
       \time 3/4
       \voiceOne
-      \times 6/7 {g8 g g g g g g}
+      \tuplet 7/6 {g8 g g g g g g}
       \oneVoice
       r4 <b,, fis' g bes> r4\fermata
     }
     \new Voice = "II" \relative c' {
       \voiceTwo
       c4
-      \times 4/5 {
+      \tuplet 5/4 {
         <c ees>8 f g
         \change Staff = "LH" \oneVoice
         \stemUp g,( c}
@@ -1631,7 +1631,7 @@ constructions@dots{}
         \set followVoice = ##t
         c'''32([ b''16 a''16 gis''16 g''32)]
       } \\ {
-        s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
+        s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
       } \\ {
         s4 \autoBeamOff d''8.. f''32
       } \\ {
index 749dbd55ee807af6d6881b483ed5a8f7494de2b3..6b65cf820c692be834b4b41be4c95ff14088fab0 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude
 
@@ -1258,7 +1258,7 @@ affichera
                   'text
                   "f"))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1293,7 +1293,7 @@ L'information sera encore plus lisible après un peu de mise en forme :
                               (make-music 'AbsoluteDynamicEvent
                                 'text
                                 "f"))
-              'duration (ly:make-duration 2 0 1 1)
+              'duration (ly:make-duration 2 0 1/1)
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
@@ -1329,7 +1329,7 @@ someNote = c'
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1348,7 +1348,7 @@ someNote = <c'>
   (list (make-music
           'NoteEvent
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 0 0))))
 @end example
@@ -1365,7 +1365,7 @@ pour afficher la représentation en Scheme d'une expression musicale :
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 0 0))
 @end example
@@ -1418,7 +1418,7 @@ comment le résultat est représenté en interne.
                   'span-direction
                   -1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))
         (make-music
@@ -1429,7 +1429,7 @@ comment le résultat est représenté en interne.
                   'span-direction
                   1))
           'duration
-          (ly:make-duration 2 0 1 1)
+          (ly:make-duration 2 0 1/1)
           'pitch
           (ly:make-pitch 0 5 0))))
 @end example
@@ -1446,7 +1446,7 @@ Examinons à présent la saisie :
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch 0 5 0))))
 @end example
@@ -1514,7 +1514,7 @@ le résultat auquel nous désirons aboutir :
 (make-music
   'NoteEvent
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))))
 =====
@@ -1529,7 +1529,7 @@ le résultat auquel nous désirons aboutir :
           'articulation-type
           "accent"))
   'duration
-  (ly:make-duration 2 0 1 1)
+  (ly:make-duration 2 0 1/1)
   'pitch
   (ly:make-pitch -1 0 0))
 @end example
index e695fc892f90255596c2c4f919261c3062c0de7d..7bd96e5c1b0db925a310ef8f577a3c693a40ee44 100644 (file)
@@ -26,7 +26,7 @@ Tutorial guidelines:  (different from policy.txt!)
 
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Nicolas Grandclaude, Ludovic Sardain, Gauvain Pocentek
 @c Translation checkers: Jean-Charles Malahieude, Valentin Villenave, John Mandereau
@@ -566,10 +566,10 @@ deux tiers de la durée de leur notation réelle, cette fraction est
 donc de 2/3 pour les triolets :
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 
@@ -1332,7 +1332,7 @@ exemple, cela peut servir à saisir un motif qu'une seule fois, même
 s'il se répète un grand nombre de fois dans la pièce.
 
 @lilypond[verbatim,quote]
-tripletA = \times 2/3 { c,8 e g }
+tripletA = \tuplet 3/2 { c,8 e g }
 barA = { \tripletA \tripletA \tripletA \tripletA }
 
 \relative c'' {
index 7c9870d73921d2c2fcaec75915e39020e53e5d28..c1db7aa96049819994845fd8ff01c750b2cb7a06 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Valentin Villenave, Jean-Charles Malahieude
 @c Translation checkers: John Mandereau
@@ -559,10 +559,10 @@ qui s'étendent sur un triolet, lui-même lié à un quintolet agrémenté
 d'une liaison de phrasé se poursuivant (lignes 3 et 4).
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index c31b144a16d6bc622cb83f655aef3950c33adab5..bba10d1c2c90dd9d3dca7af11290c62ea2351aa8 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
 @c Translation checkers: Jean-Charles Malahieude, John Mandereau
@@ -514,11 +514,11 @@ crochet de triolet court.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -532,14 +532,14 @@ avec la commande @code{\override} :
 @cindex TupletNumber, exemple de dérogation
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
index 3cd4ba9d50c8235b7e73d027ef07e4aad9a4ff02..f78800ccc182f316f84371bc6cc629238cc52ce4 100644 (file)
@@ -9,7 +9,7 @@
 @end ignore
 
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude
 
@@ -667,7 +667,7 @@ semi-brèves (@emph{tempus perfectum}) doit s'effectuer à la main en
 entrant :
 
 @example
-breveTP = #(ly:make-duration -1 0 3 2)
+breveTP = #(ly:make-duration -1 0 3/2)
 @dots{}
 @{ c\breveTP f1 @}
 @end example
@@ -2843,9 +2843,9 @@ peuvent se réaliser avec des @qq{notes silencieuses} (@code{s}).
 spiritus = \relative c' {
   \time 1/4
   \override Lyrics.LyricText.X-extent  = #'(0 . 3)
-  d4 \times 2/3 { f8 a g } g a a4 g f8 e
+  d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
   d4 f8 g g8 d f g a g f4 g8 a a4  s
-  \times 2/3 { g8 f d } e f g a g4
+  \tuplet 3/2 { g8 f d } e f g a g4
 }
 
 spirLyr = \lyricmode {
index 344dd0f6ef015a3b752b1898a7a0c22125be1db7..6df0134f1a05f7d47803b9c7f68321a7e299fa03 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Valentin Villenave
 @c Translation checkers: Jean-Charles Malahieude
@@ -230,12 +230,12 @@ f8 c2 d e
 @end lilypond
 
 
-@item @code{\times 2/3 @{f g a@}}
+@item @code{\tuplet 3/2 @{f g a@}}
 @tab triolets
 @tab
 @lilypond[relative=1]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-\times 2/3 { f8 g a }
+\tuplet 3/2 { f8 g a }
 @end lilypond
 
 
index 31fb96822fedece90eaf05c9f8c126ba58087a28..677da1255f063f80afb1c7ffe342e1da52ca7a21 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude
 
@@ -626,7 +626,7 @@ spécifie quant à elle l'espace de temps entre chaque ligne.
   \context {
     \Staff
     \consists "Grid_point_engraver" %% active les guides
-    gridInterval = #(ly:make-moment 1 4)
+    gridInterval = #(ly:make-moment 1/4)
   }
   \context {
     \Score
index 0dc8fed74533128f3fd950e1a9fec4179d451179..9aaf2b6bb7637e224b6ab8e090852c8c53938841 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Matthieu Jacquot
 @c Translation checkers: Jean-Charles Malahieude
@@ -1723,7 +1723,7 @@ music = \relative c' {
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
   \deadNotesOn
-  \times 2/3 { g8 b e }
+  \tuplet 3/2 { g8 b e }
   \deadNotesOff
   < a,\3 c\2 e\1 >1
 }
index 0e6e671bc45dcdd5eadd20cbd42e3ad853c73ea3..a5fbb526f8150ccac02b38b2ff629f3d85d3b9f2 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude, Valentin Villenave
 
@@ -2946,7 +2946,7 @@ Par exemple, indiquer 90 à la noire pointée est équivalent à spécifier
 270 croches à la minute :
 
 @example
-tempoWholesPerMinute = #(ly:make-moment 270 8)
+tempoWholesPerMinute = #(ly:make-moment 270/8)
 @end example
 
 @cindex MIDI et définition de contexte
index a1d9b2f7f44693d6ef2973141783d5014526f6b8..898f9d9eebf5f3551a93b661c97b06d111029169 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Valentin Villenave, Jean-Charles Malahieude
 @c Translation checkers: Jean-Charles Malahieude, John Mandereau
@@ -223,11 +223,11 @@ au début de chaque alternative à l'exception de la première.
 \alternative {
   {
     f2 d |
-    \set Timing.measureLength = #(ly:make-moment 3 4)
+    \set Timing.measureLength = #(ly:make-moment 3/4)
     g4 g g  % optional bar check is allowed here
   }
   {
-    \set Timing.measureLength = #(ly:make-moment 4 4)
+    \set Timing.measureLength = #(ly:make-moment 4/4)
     a2 a |
   }
 }
@@ -659,7 +659,7 @@ différentes sont remplacées par un double symbole de pourcentage.
 
 @lilypond[verbatim,quote,relative=2]
 \repeat percent 4 { c8. <d f>16 }
-\repeat percent 2 { \times 2/3 { r8 c d } e4 }
+\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
 @end lilypond
 
 @snippets
index e6fdca15266e0919474204e57702cac6d5ba3c9d..adde26aa93dc5c4a0639e163c8acbbf8187a5e72 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Frédéric Chiasson, Jean-Charles Malahieude
 @c Translation checkers: Valentin Villenave, François Martin, Xavier Scheuer
@@ -218,8 +218,8 @@ est le triolet, dans lequel trois notes ont la durée de deux, et où les
 notes durent donc deux tiers de leur valeur écrite.
 
 @lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
 @end lilypond
 
 @cindex crochet de nolet, positionnement
@@ -240,7 +240,7 @@ Les nolets peuvent être imbriqués ; par exemple,
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 |
 @end lilypond
 
 Lorsque, dans une imbrication, les nolets débutent au même instant, il
@@ -1439,7 +1439,7 @@ De fait, @code{\partial 8} équivaut à :
 
 @lilypond[quote,verbatim,relative=1]
 \time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
 e8 | a4 c8 b c4 |
 @end lilypond
 
@@ -1473,7 +1473,7 @@ s'afficher, voire des problèmes inopinés surgir.  Utilisez plutôt
 \time 6/8
 \partial 8
 e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
 r8 e,8 | a4 c8 b[ c b] |
 @end lilypond
 
@@ -1679,7 +1679,7 @@ les règles de ligature automatique.
     \scaleDurations 3/5 {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c \times 2/3 { c8[ c c] } c4
+      c4. c \tuplet 3/2 { c8[ c c] } c4
     }
   }
 >>
@@ -2136,12 +2136,12 @@ tout moment, avant de déterminer les ligatures par @code{beatStructure}.
 \time 4/4
 a8^"default" a a a a a a a
 
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"no change" a a a a a a a
 
 \set Timing.beamExceptions = #'()
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"changed" a a a a a a a
 @end lilypond
@@ -2197,7 +2197,7 @@ valeur de @code{baseMoment}.
 
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.baseMoment = #(ly:make-moment 1/16)
 \set Timing.beatStructure = #'(7 3)
 \repeat unfold 10 { a16 }
 @end lilypond
@@ -2300,7 +2300,7 @@ de cette dérogation.
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
 \set Timing.beatStructure = #'(3 3 2)
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c8} |
@@ -2439,7 +2439,7 @@ métrique que dans une seule portée.
 <<
   \new Staff {
     \time 3/4
-    \set Timing.baseMoment = #(ly:make-moment 1 8)
+    \set Timing.baseMoment = #(ly:make-moment 1/8)
     \set Timing.beatStructure = #'(1 5)
     \set Timing.beamExceptions = #'()
     \repeat unfold 6 { a8 }
@@ -2612,10 +2612,10 @@ quatre dernières gardent un tempo régulier.
 
 @lilypond[relative=1,verbatim,quote]
 \override Beam.grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\featherDurations #(ly:make-moment 2/1)
 { c16[ c c c c c c c] }
 \override Beam.grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\featherDurations #(ly:make-moment 2/3)
 { c32[ d e f] }
 % revert to non-feathered beams
 \override Beam.grow-direction = #'()
@@ -3714,11 +3714,11 @@ La barre de mesure suivante tombera donc à 9/8 et non à 5/8.
 
 @lilypond[quote,verbatim]
 \new Voice \relative c' {
-  \set Timing.measureLength = #(ly:make-moment 5 4)
+  \set Timing.measureLength = #(ly:make-moment 5/4)
   c1 c4 |
   c1 c4 |
   c4 c
-  \set Timing.measurePosition = #(ly:make-moment 5 8)
+  \set Timing.measurePosition = #(ly:make-moment 5/8)
   b4 b b8 |
   c4 c1 |
 }
index 061b81fa52649c2e1a32ddc299635192ce8b1838..ef870bff42a3fe4977dec3fbab243259bc3a00d1 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Frédéric Chiasson, Jean-Charles Malahieude
 
@@ -1505,7 +1505,7 @@ forcés doivent être saisis au sein d'une expression polyphonique :
   \remove "Forbid_line_break_engraver"
 } \relative c'' {
   <<
-    { c2. \times 2/3 { c4 c c } c2. | }
+    { c2. \tuplet 3/2 { c4 c c } c2. | }
     { s1 | \break s1 | }
   >>
 }
@@ -1740,7 +1740,7 @@ la manière suivante :
   a4 b c d |
   R1 | % une tourne peut se placer ici
   a4 b c d |
-  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
   R1 | % il ne peut pas y avoir de tourne ici
   a4 b r2 |
   R1*2 | % une tourne peut se placer ici
@@ -3098,7 +3098,7 @@ resserrée.  En effet, @code{ly:make-moment} construit une durée :
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3117,14 +3117,14 @@ s'appliquera à toute la partition, puisque mentionnée au sein d'un bloc
 \score {
   <<
     \new Staff {
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
       c8 c8 c8 c8
     }
     \new Staff {
       c8 c8 c8 c8
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
     }
@@ -3252,7 +3252,7 @@ classique et justifiée à gauche.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3281,7 +3281,7 @@ définissant la propriété @code{proportionalNotationDuration}.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3289,7 +3289,7 @@ définissant la propriété @code{proportionalNotationDuration}.
  \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3316,8 +3316,8 @@ prend deux arguments : un numérateur et un dénominateur qui
 représentent une fraction de ronde.  L'appel de
 @w{@code{(ly:make-moment 1 20)}} produit donc une durée de référence
 égale à un vingtième de ronde.  Vous pourriez tout aussi bien  utiliser
-@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} ou
-@code{(ly:make-moment 3 97)}.
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} ou
+@code{(ly:make-moment 3/97)}.
 
 Se pose alors le problème de fournir la juste durée de référence à
 @code{proportionalNotationDuration}.  Il faut en l'occurrence procéder par
@@ -3332,7 +3332,7 @@ une durée de référence élevée produira une musique resserrée.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3340,7 +3340,7 @@ une durée de référence élevée produira une musique resserrée.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 8)
+      proportionalNotationDuration = #(ly:make-moment 1/8)
     }
   }
 }
@@ -3350,7 +3350,7 @@ une durée de référence élevée produira une musique resserrée.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3358,7 +3358,7 @@ une durée de référence élevée produira une musique resserrée.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 16)
+      proportionalNotationDuration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3368,7 +3368,7 @@ une durée de référence élevée produira une musique resserrée.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3376,7 +3376,7 @@ une durée de référence élevée produira une musique resserrée.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 32)
+      proportionalNotationDuration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -3402,12 +3402,12 @@ ajoutons lui une portée incluant un autre type de nolet.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3428,12 +3428,12 @@ les règles qu'elle applique peuvent amener à ce résultat.  Le recours à
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3441,7 +3441,7 @@ les règles qu'elle applique peuvent amener à ce résultat.  Le recours à
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3459,12 +3459,12 @@ allons activer le @code{uniform-stretching}, propriété attachée au
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3472,7 +3472,7 @@ allons activer le @code{uniform-stretching}, propriété attachée au
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
       \override SpacingSpanner.uniform-stretching = ##t
     }
   }
@@ -3566,7 +3566,7 @@ les deux portées suivantes :
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   c''8
   c''8
   c''8
@@ -3576,7 +3576,7 @@ les deux portées suivantes :
 }
 
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \override Score.SpacingSpanner.strict-note-spacing = ##t
   c''8
   c''8
@@ -3801,7 +3801,7 @@ valeur plus longue -- donnera un effet @qq{resserré} à la musique :
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
     }
   }
 }
index e55096b60871fbfbd94dc81340c99a6594718c77..59a4bec2e861d1676eef663b894cd38e9cac931c 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Valentin Villenave, Jean-Charles Malahieude
 @c Translation checkers: Jean-Jacques Gerbaud
@@ -1906,7 +1906,7 @@ modifie la propriété @code{associatedVoice}.  Dans cet exemple,
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           % show associations clearly.
           \override NoteColumn.force-hshift = #-3
           f8 f g
@@ -3142,7 +3142,7 @@ global = {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index 27ccb9b9225a8090ec08dd92ccff88a4d799e4ed..8c01668252a95d819dfbd7130c647a554fe146cb 100644 (file)
@@ -9,7 +9,7 @@
 @end ignore
 
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Jean-Charles Malahieude
 @c Translation checkers:
@@ -100,7 +100,7 @@ Par exemple,
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -165,7 +165,7 @@ Par exemple,
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index fc8bd944f1caf40cff70dc7a85e73584164680a2..38d39e02c0f0bac6e004d82aff5e12104a2df472 100644 (file)
@@ -577,10 +577,10 @@ l'adresse @uref{http://lilypond.org}
 @divClass{keep-bullets}
 @itemize
 
-@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals,
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.fr.html,
 LilyPond 2.14 Documentation}
 
-@item @uref{http://lilypond.org/doc/v2.12/Documentation/,
+@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.fr.html,
 LilyPond 2.12 Documentation}
 
 @item @uref{http://lilypond.org/doc/v2.10/Documentation/,
index 70fc1f520abb617f57cd36b81425ca6c03714863..0e7c28c13845870664a38e1347332ef8515b055b 100644 (file)
@@ -9,7 +9,7 @@
 @end ignore
 
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @node Elemi kottaírás
 @chapter Elemi kottaírás
@@ -452,10 +452,10 @@ a @notation{triolák} lejegyzett hosszúságuk 2/3 részéig szólnak, így trio
 2/3 kell, hogy legyen a tört értéke.
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Előkék
@@ -1151,7 +1151,7 @@ változóra.
 
 @c KEEP LY
 @lilypond[verbatim,quote]
-triolaA = \times 2/3 { c,8 e g }
+triolaA = \tuplet 3/2 { c,8 e g }
 ütemA = { \triolaA \triolaA \triolaA \triolaA }
 
 \relative c'' {
index 3f1d4a5dad22d56a79d89fefe1dd7c120da4f650..eac8db8e06c6472432119bff238f260ee0fc1bea 100644 (file)
@@ -10,7 +10,7 @@
 
 
 @c -*- coding: utf-8; mode: texinfo; -*-
-@c \version "2.17.6"
+@c \version "2.17.11"
 @node Alapfogalmak
 @chapter Alapfogalmak
 @translationof Fundamental concepts
@@ -482,10 +482,10 @@ frazeálóív, amely túlnyúlik a triolán.
 
 @lilypond[quote,verbatim,fragment,ragged-right]
 {
-  r16[ g16 \times 2/3 {r16 e'8] }
-  g16( a \times 2/3 {b d) e' }
-  g8[( a \times 2/3 {b d') e'~]}
-  \times 4/5 {e'32\( a b d' e'} a'4.\)
+  r16[ g16 \tuplet 3/2 {r16 e'8] }
+  g16( a \tuplet 3/2 {b d) e' }
+  g8[( a \tuplet 3/2 {b d') e'~]}
+  \tuplet 5/4 {e'32\( a b d' e'} a'4.\)
 }
 @end lilypond
 
index 0246b03e491526feb47e91d304c0552ab80b0507..48617438b53ba227e11a7039f2e614cdab705382 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Note: keep this node named so that `info lilypond-book' brings you here.
 @node lilypond-book
@@ -85,7 +85,7 @@ kottapéldákat tartalmazhatnak. Például:
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -141,7 +141,7 @@ kottapéldákat tartalmazhatnak. Például:
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
diff --git a/Documentation/hu/web/basic-authors.itexi b/Documentation/hu/web/basic-authors.itexi
deleted file mode 100644 (file)
index 6a298a7..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
-@c This file is part of community.itexi
-
-@ignore
-
-  This file lists authors of LilyPond, and what they wrote.  Each
-  list is sorted alphabetically by surname.  This file lists people
-  that have contributed more than a few hours of work.
-
-  Developers are people who have been listed under the "Development
-  Team" in Documentation/misc/THANKS*, or who are added when they
-  reach a significant amount of contributions with respect to the
-  existing Developers list, and can choose their own titles.
-  Contributors are everybody else, and simply list their
-  contributions.  All lists are sorted alphabetically.
-
-  Anybody who has finished doing a "main devel team" task should
-  list it under developersPrevious, even if they're still doing
-  other "main devel team" stuff.  See "Graham Percival" for an
-  example.
-
-  Contributors are also split between Current and Previous, and
-  each category contains:
-    core...     (programming)
-    font...     (duh)
-    doc...      (documentation and examples)
-    support...  (building, distributions, editors,
-                 lilypond-book, LSR, but *not* answering emails)
-    translations... (duh)
-  We might add a "general" or "other" if there's something else.
-
-@end ignore
-
-
-@macro developersCurrent
-
-@itemize
-
-@item Mats Bengtsson:
-@email{mats.bengtsson@@ee.kth.se},
-@uref{http://www.s3.kth.se/~mabe/},
-Támogatás
-
-@item Trevor Daniels:
-Dokumentációszerkesztő asszisztens
-
-@item Reinhold Kainhofer:
-@email{reinhold@@kainhofer.com},
-@uref{http://reinhold.kainhofer.com},
-MusicXML guru, hibajavítás
-
-@item Jonathan Kulp:
-Dokumentációszerkesztő asszisztens
-
-@item Werner Lemberg,
-@email{wl@@gnu.org},
-Betűtípus-tervező, hibajavítás
-
-@item John Mandereau:
-@email{john.mandereau@@free.fr},
-Honosításfelelős
-
-@item Patrick McCarty:
-SVG guru, hibajavítás, szövegkezelés
-
-@item Joe Neeman:
-Fejlesztő
-
-@item Han-Wen Nienhuys:
-@email{hanwen@@xs4all.nl},
-@uref{http://www.xs4all.nl/~hanwen/},
-Fő fejlesztő
-
-@item Jan Nieuwenhuizen:
-@email{janneke@@gnu.org},
-@uref{http://www.xs4all.nl/~jantien/},
-Fő fejlesztő
-
-@item Graham Percival:
-@uref{http://percival-music.ca},
-Projekt manager, dokumentációszerkesztő
-
-@item Mark Polesky:
-Dokumentációszerkesztő assisztens, kódtisztítás
-
-@item Neil Puttock:
-Fejlesztő
-
-@item Nicolas Sceaux:
-Fejlesztő, Scheme guru
-
-@item Carl Sorensen:
-@email{c_sorensen@@byu.edu},
-Fejlesztő, a Békák felelőse
-
-@item Francisco Vila:
-Honosítás
-
-@item Valentin Villenave:
-LilyPond Kódrészletek Tárházának szerkesztője, hibafelelős
-
-@end itemize
-@end macro
-
-
-
-@macro developersPrevious
-
-@itemize
-
-@c use colons not commas for @item entries.
-
-@item Pedro Kroeger:
-Fordításfelelős
-
-@item Graham Percival:
-@uref{http://percival-music.ca},
-Hibafelelős, a Nagy Dokumentációs Projekt vezetője
-
-@item Jürgen Reuter:
-@email{reuter_j@@web.de},
-@uref{http://www.juergen-reuter.de},
-Régizene lejegyzése
-
-@item Erik Sandberg:
-Hibafelelős
-
-@end itemize
-@end macro
-
-
-@c  *****************  current contributors
-
-@macro coreCurrent
-
-@c use commas not colons
-
-Frédéric Bron,
-Hajo Dezelski,
-Andrew Hawryluk,
-Ian Hulin,
-Michael Käppler,
-Marek Klein,
-Kieren MacMillan,
-Andrew Wilson
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro fontCurrent
-
-@c use commas not colons
-
-Simon Tatham
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro docCurrent
-
-@c use commas not colons
-
-James Lowe,
-Ralph Palmer,
-Patrick Schmidt
-
-@c no comma for last entry
-
-@end macro
-
-
-@macro supportCurrent
-
-@c use commas not colons
-
-James E. Bailey,
-Christian Hitz
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro translationsCurrent
-
-@c use commas not colons
-
-Benkő Pál,
-Fodor Bertalan,
-Harmath Dénes,
-Rébeli-Szabó Tamás,
-Selyem Zoltán Csaba,
-Szervác Attila,
-Udvari Gábor
-
-@c no comma for last entry
-
-@end macro
-
-
-@c  *****************  previous contributors
-
-@macro corePrevious
-
-@c use commas not colons
-
-Erlend Aasland,
-Maximilian Albert,
-Guido Amoruso,
-Kristof Bastiaensen,
-Pal Benko,
-@c @email{benkop@@freestart.hu},
-Juliusz Chroboczek,
-@c @email{jch@@pps.jussieu.fr},
-Angelo Contardi,
-David Feuer,
-@c @email{david.feuer@@gmail.com},
-Bertalan Fodor,
-Mathieu Giraud,
-Yuval Harel,
-Bernard Hurley,
-@c @email{bernard@@fong-hurley.org.uk},
-Yoshinobu Ishizaki,
-Chris Jackson,
-@c @email{chris@@fluffhouse.org.uk},
-David Jedlinsky,
-Heikki Junes,
-@c @email{heikki.junes@@hut.fi},
-Michael Krause,
-@c @email{m.krause@@tu-harburg.de},
-Jean-Baptiste Lamy,
-@c @email{jiba@@tuxfamily.org},
-Jonatan Liljedahl,
-Peter Lutek,
-Hendrik Maryns,
-Joe Neeman,
-@c @email{joeneeman@@gmail.com},
-Matthias Neeracher,
-Tatsuya Ono,
-Lisa Opus Goldstein,
-Guy Gascoigne-Piggford,
-Stan Sanderson,
-Edward Sanford Sutton,
-Andreas Scherer,
-Johannes Schindelin,
-Kim Shrier,
-Vicente Solsona Della,
-David Svoboda,
-Sebastiano Vigna,
-Arno Waschk,
-Michael Welsh Duggan,
-John Williams,
-Milan Zamazal,
-Rune Zedeler
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro fontPrevious
-
-@c use commas not colons
-
-Tom Cato Amundsen,
-@c @email{tca@@gnu.org},
-Chris Jackson,
-@c @email{chris@@fluffhouse.org.uk},
-Arno Waschk,
-@c @email{arno@@arnowaschk.de},
-Rune Zedeler
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro docPrevious
-
-@c use commas not colons
-
-Erlend Aasland,
-Trevor Bača,
-Alard de Boer,
-Jay Hamilton,
-Andrew Hawryluk,
-Joseph Harfouch,
-Cameron Horsburgh,
-Geoff Horton,
-Ian Hulin,
-Heikki Junes,
-@c @email{heikki.junes@@hut.fi},
-Kurtis Kroon,
-Dave Luttinen,
-Kieren MacMillan,
-Christian Mondrup,
-@c @email{scancm@@biobase.dk},
-Eyolf Østrem,
-Ralph Palmer,
-François Pinard,
-@c @email{pinard@@iro.umontreal.ca},
-@c @uref{http://pinard.progiciels-bpi.ca/},
-Eduardo Vieira,
-Michael Rasmussen,
-Till Rettig,
-Carl D. Sorensen,
-Anh Hai Trinh,
-Rune Zedeler
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro supportPrevious
-
-@c use commas not colons
-
-Anthony Fok,
-@c @email{foka@@debian.org},
-Chris Jackson,
-@c @email{chris@@fluffhouse.org.uk},
-Heikki Junes,
-@c @email{heikki.junes@@hut.fi},
-David Svoboda
-@c @email{svoboda@@cmu.edu}
-
-@c no comma for last entry
-
-@end macro
-
-
-
-@macro translationsPrevious
-
-@c use commas not colons
-
-Frédéric Chiasson,
-Abel Cheung,
-Alard de Boer,
-Simon Dahlbacka,
-Orm Finnendahl,
-David González,
-Nicolas Grandclaude,
-@c @email{ngclaude@@123mail.org},
-Damien Heurtebise,
-Matthieu Jacquot,
-Bjoern Jacke,
-@c @email{bjoern.jacke@@gmx.de},
-Neil Jerram,
-@c @email{nj104@@cus.cam.ac.uk},
-Heikki Junes,
-@c @email{heikki.junes@@hut.fi},
-Nicolas Klutchnikoff,
-Jean-Charles Malahieude,
-@c @email{lolyfan@@wanadoo.fr},
-Adrian Mariano,
-Christian Mondrup,
-Tineke de Munnik,
-@c @email{tdm@@dds.nl},
-Steven Michael Murphy,
-François Pinard,
-Gauvain Pocentek,
-@c @email{gauvainpocentek@@yahoo.fr},
-Till Rettig,
-Ludovic Sardain,
-@c @email{ludovicsardain@@gmail.com},
-Yoshiki Sawada,
-Thomas Scharkowski,
-Clytie Siddall,
-August S. Sigov,
-@c @email{august@@infran.ru},
-Roland Stigge,
-Risto Vääräniemi,
-Andrea Valle,
-Olcay Yıldırım
-
-@c no comma for last entry
-
-@end macro
-
-
index 17be33814744f4db40bd33ae815c66ea545ddd19..14a93b3b248b7e9b9c203df3f2372ec2a900c53f 100644 (file)
@@ -569,111 +569,6 @@ fejlesztői verziót ajánljuk:
 @end quotation
 
 
-@subheading Dokumentáció
-
-@divClass{keep-bullets}
-@itemize
-
-@item
-Tankönyv:
-
-@manualDevelLearningSplit-hu
-@* @manualDevelLearningBig-hu
-@* @manualDevelLearningPdf-hu
-
-@item
-Fogalomtár:
-
-@manualDevelGlossarySplit-hu
-
-@manualDevelGlossaryBig-hu
-
-@manualDevelGlossaryPdf-hu
-
-@item
-Esszé:
-
-@manualDevelEssaySplit-hu
-
-@manualDevelEssayBig-hu
-
-@manualDevelEssayPdf-hu
-
-
-@c separate introduction, regular, infrequent manuals
-@smallspace
-
-@item
-Kottaírás:
-
-@manualDevelNotationSplit-hu
-
-@manualDevelNotationBig-hu
-
-@manualDevelNotationPdf-hu
-
-@item
-Használat:
-
-@manualDevelUsageSplit-hu
-
-@manualDevelUsageBig-hu
-
-@manualDevelUsagePdf-hu
-
-@item
-Kódrészletek:
-
-@manualDevelSnippetsSplit-hu
-
-@manualDevelSnippetsBig-hu
-
-@manualDevelSnippetsPdf-hu
-
-
-@c separate introduction, regular, infrequent manuals
-@smallspace
-
-@item
-Web:
-
-@manualDevelWebSplit-hu
-
-@manualDevelWebBig-hu
-
-@manualDevelWebPdf-hu
-
-@item
-Változások:
-
-@manualDevelChangesSplit-hu
-
-@manualDevelChangesBig-hu
-
-@manualDevelChangesPdf-hu
-
-@item
-Bővítés:
-
-@manualDevelExtendingSplit-hu
-
-@manualDevelExtendingBig-hu
-
-@manualDevelExtendingPdf-hu
-
-@item
-Belső működés:
-
-@manualDevelInternalsSplit-hu
-
-@manualDevelInternalsBig-hu
-
-@manualDevelInternalsPdf-hu
-
-@end itemize
-@divEnd
-@divEnd
-
 @divClass{column-right-top}
 @subheading Útmutató közreműködőknek
 
@@ -688,9 +583,9 @@ olvashatsz.}
 
 @docLinksBare{Útmutató közreműködőknek, contributor,
   @rcontribnamed{Top,Útmutató közreműködőknek},
-  @manualDevelContributorSplit-hu,
-  @manualDevelContributorBig-hu, 500 kB,
-  @manualDevelContributorPdf-hu, 2.8 MB}
+  @manualDevelContributorSplit,
+  @manualDevelContributorBig, 500 kB,
+  @manualDevelContributorPdf, 2.8 MB}
 @divEnd
 
 
@@ -765,6 +660,97 @@ Archívum}
 @divEnd
 @divEnd
 
+@subheading Dokumentáció
+
+@divClass{normal-table}
+@multitable @columnfractions .3 .3 .3
+@headitem Introduction
+@item
+@docLinkSplit{Tankönyv,learning,@manualDevelLearningSplit-hu}
+@tab
+@docLinkBig{Tankönyv,learning,@manualDevelLearningBig-hu}
+@tab
+@docLinkPdf{Tankönyv,learning,@manualDevelLearningPdf-hu}
+
+@item
+@docLinkSplit{Fogalomtár,music-glossary,@manualDevelGlossarySplit}
+@tab
+@docLinkBig{Fogalomtár,music-glossary,@manualDevelGlossaryBig}
+@tab
+@docLinkPdf{Fogalomtár,music-glossary,@manualDevelGlossaryPdf}
+
+@item
+@docLinkSplit{Esszé,essay,@manualDevelEssaySplit}
+@tab
+@docLinkBig{Esszé,essay,@manualDevelEssayBig}
+@tab
+@docLinkPdf{Esszé,essay,@manualDevelEssayPdf}
+
+@headitem Regular
+
+@item
+@docLinkSplit{Kottaírás,notation,@manualDevelNotationSplit}
+@tab
+@docLinkBig{Kottaírás,notation,@manualDevelNotationBig}
+@tab
+@docLinkPdf{Kottaírás,notation,@manualDevelNotationPdf}
+
+@item
+@docLinkSplit{Használat,usage,@manualDevelUsageSplit-hu}
+@tab
+@docLinkBig{Használat,usage,@manualDevelUsageBig-hu}
+@tab
+@docLinkPdf{Használat,usage,@manualDevelUsagePdf-hu}
+
+@item
+@docLinkSplit{Kódrészletek,snippets,@manualDevelSnippetsSplit}
+@tab
+@docLinkBig{Kódrészletek,snippets,@manualDevelSnippetsBig}
+@tab
+@docLinkPdf{Kódrészletek,snippets,@manualDevelSnippetsPdf}
+
+@headitem Infrequent
+
+@item
+@docLinkSplit{Web,web,@manualDevelWebSplit-hu}
+@tab
+@docLinkBig{Web,web,@manualDevelWebBig-hu}
+@tab
+@docLinkPdf{Web,web,@manualDevelWebPdf-hu}
+
+@item
+@docLinkSplit{Változások,changes,@manualDevelChangesSplit}
+@tab
+@docLinkBig{Változások,changes,@manualDevelChangesBig}
+@tab
+@docLinkPdf{Változások,changes,@manualDevelChangesPdf}
+
+@item
+@docLinkSplit{Bővítés,extending,@manualDevelExtendingSplit}
+@tab
+@docLinkBig{Bővítés,extending,@manualDevelExtendingBig}
+@tab
+@docLinkPdf{Bővítés,extending,@manualDevelExtendingPdf}
+
+@item
+@docLinkSplit{működés,internals,@manualDevelInternalsSplit}
+@tab
+@docLinkBig{működés,internals,@manualDevelInternalsBig}
+@tab
+@docLinkPdf{működés,internals,@manualDevelInternalsPdf}
+
+@ifset web_version
+@headitem Downloadable
+
+@item
+@doctarballDevel
+@end ifset
+
+@end multitable
+
+@divEnd
+@divEnd
+
 @node Készítők
 @unnumberedsec Készítők
 @translationof Authors
index 054f76c9b09e879136f2e164b99a6d2d40b490a1..bf052b46caa227b6eb8ab6679cf40237158cb7a2 100644 (file)
@@ -47,13 +47,13 @@ Bevezetés a LilyPond használatába lépésről lépésre.
 @details{Tankönyv}
 
 @item
-@ifWebLinks{@manualStableGlossarySplitNoName-hu,@rglosnamed{Top,Fogalomtár}}
+@ifWebLinks{@manualStableGlossarySplitNoName,@rglosnamed{Top,Fogalomtár}}
 @emph{(opcionális)}
 Zenei fogalmak gyűjteménye több nyelven.
 @details{Fogalomtár}
 
 @item
-@ifWebLinks{@manualStableEssaySplitNoName-hu,@ressaynamed{Top,Esszé}}
+@ifWebLinks{@manualStableEssaySplitNoName,@ressaynamed{Top,Esszé}}
 @emph{(opcionális)}
 Háttérinformáció a kottaszedés folyamatáról és a 19. századi kottaszedés
 esztétikai elveiről.
@@ -69,7 +69,7 @@ esztétikai elveiről.
 @itemize
 
 @item
-@ifWebLinks{@manualStableNotationSplitNoName-hu,@rusernamed{Top,Kottaírás}}
+@ifWebLinks{@manualStableNotationSplitNoName,@rusernamed{Top,Kottaírás}}
 A dokumentáció törzsanyaga; részletesen bemutatja a különböző kottaelemek
 beviteli módját.
 @details{Kottaírás}
@@ -81,7 +81,7 @@ rendszerek közötti különbségekre.
 @details{Használat}
 
 @item
-@ifWebLinks{@manualStableSnippetsSplitNoName-hu,@rlsrnamed{Top,Kódrészletek}}
+@ifWebLinks{@manualStableSnippetsSplitNoName,@rlsrnamed{Top,Kódrészletek}}
 Hasznos példák, tippek, trükkök.
 @details{Kódrészletek}
 
@@ -104,17 +104,17 @@ Gyakran Ismételt Kérdések.
 A weboldal.
 
 @item
-@ifWebLinks{@manualStableChangesSplitNoName-hu,@rchangesnamed{Top,Változások}}
+@ifWebLinks{@manualStableChangesSplitNoName,@rchangesnamed{Top,Változások}}
 A legutóbbi verzióváltás óta történt változások.
 @details{Változások}
 
 @item
-@ifWebLinks{@manualStableExtendingSplitNoName-hu,@rextendnamed{Top,Bővítés}}
+@ifWebLinks{@manualStableExtendingSplitNoName,@rextendnamed{Top,Bővítés}}
 A LilyPond képességeinek kiterjesztése.
 @details{Bővítés}
 
 @item
-@ifWebLinks{@manualStableInternalsSplitNoName-hu,@rinternalsnamed{Top,Belső működés}}
+@ifWebLinks{@manualStableInternalsSplitNoName,@rinternalsnamed{Top,Belső működés}}
 A LilyPond belső szerkezetének referenciája. A kimenet finomhangolásához
 szükséges.
 @details{Belső működés}
@@ -221,9 +221,9 @@ megfelelőjére vagy kíváncsi, érdemes megnézni a fogalomtárban.
 
 @docLinks{Fogalomtár, music-glossary,
   @rglosnamed{Top,Fogalomtár},
-  @manualStableGlossarySplit-hu,
-  @manualStableGlossaryBig-hu, 1 MB,
-  @manualStableGlossaryPdf-hu, 1.5 MB}
+  @manualStableGlossarySplit,
+  @manualStableGlossaryBig, 1 MB,
+  @manualStableGlossaryPdf, 1.5 MB}
 
 @divEnd
 
@@ -247,9 +247,9 @@ majd felületesen bemutatja a LilyPond szedési technikáit,
 
 @docLinks{Esszé, essay,
   @ressaynamed{Top,Esszé},
-  @manualStableEssaySplit-hu,
-  @manualStableEssayBig-hu, 2 MB,
-  @manualStableEssayPdf-hu, 2.5 MB}
+  @manualStableEssaySplit,
+  @manualStableEssayBig, 2 MB,
+  @manualStableEssayPdf, 2.5 MB}
 
 @divEnd
 
@@ -273,9 +273,9 @@ megfelelőjét, melyek a @ref{Fogalomtár}ban vannak leírva.}
 
 @docLinks{Kottaírás, notation,
   @rusernamed{Top,Kottaírás},
-  @manualStableNotationSplit-hu,
-  @manualStableNotationBig-hu, 7 MB,
-  @manualStableNotationPdf-hu, 18 MB}
+  @manualStableNotationSplit,
+  @manualStableNotationBig, 7 MB,
+  @manualStableNotationPdf, 18 MB}
 
 @divEnd
 
@@ -324,9 +324,9 @@ A kottaírás kézikönyvének megfelelő szakaszaiban is találhatóak ilyenek
 
 @docLinks{Kódrészletek, snippets,
   @rlsrnamed{Top,Kódrészletek},
-  @manualStableSnippetsSplit-hu,
-  @manualStableSnippetsBig-hu, 2.5 MB,
-  @manualStableSnippetsPdf-hu, 8 MB}
+  @manualStableSnippetsSplit,
+  @manualStableSnippetsBig, 2.5 MB,
+  @manualStableSnippetsPdf, 8 MB}
 
 @divEnd
 
@@ -419,9 +419,9 @@ az előző stabil verzió óta.
 
 @docLinks{Változások, changes,
   @rchangesnamed{Top,Változások},
-  @manualStableChangesSplit-hu,
-  @manualStableChangesBig-hu, 6 KB,
-  @manualStableChangesPdf-hu, 200 KB}
+  @manualStableChangesSplit,
+  @manualStableChangesBig, 6 KB,
+  @manualStableChangesPdf, 200 KB}
 
 @divEnd
 
@@ -441,9 +441,9 @@ Scheme nyelven írt bővítményekkel.
 
 @docLinks{Bővítés, extending,
   @rextendnamed{Top,Bővítés},
-  @manualStableExtendingSplit-hu,
-  @manualStableExtendingBig-hu, 200 KB,
-  @manualStableExtendingPdf-hu, 400 KB}
+  @manualStableExtendingSplit,
+  @manualStableExtendingBig, 200 KB,
+  @manualStableExtendingPdf, 400 KB}
 
 @divEnd
 
@@ -465,9 +465,9 @@ formázni, ebben a listában érdemes megkeresni az adott tulajdonság nevét.
 
 @docLinks{Belső működés, internals,
   @rinternalsnamed{Top,Belső működés},
-  @manualStableInternalsSplit-hu,
-  @manualStableInternalsBig-hu, 2.5 MB,
-  @manualStableInternalsPdf-hu, 2.8 MB}
+  @manualStableInternalsSplit,
+  @manualStableInternalsBig, 2.5 MB,
+  @manualStableInternalsPdf, 2.8 MB}
 
 @divEnd
 
@@ -514,6 +514,9 @@ A csomagok letölthetőek a @uref{http://lilypond.org} weboldalról.
 @divClass{keep-bullets}
 @itemize
 
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals,
+2.14}
+
 @item @uref{http://lilypond.org/doc/v2.12/Documentation/,
 2.12}
 
index 5e0181f6aaeb077bc60bb437d634d4fa96c999bb..455d95375702f7956faa1a3b51d22f5758246376 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 #(define (filter-instrument instrument-name tuning-alist)
    (filter (lambda (entry)
@@ -16,7 +16,7 @@
                                   'text (symbol->string tuning-symbol))
                       (map (lambda (pitch)
                              (make-music 'NoteEvent
-                                         'duration (ly:make-duration 0 0 1 1)
+                                         'duration (ly:make-duration 0 0 1/1)
                                          'pitch pitch))
                            pitches)))))
 
index ef64790ffd1f55310ae0a0729b503f8ef8aaf0c9..59424615c9850b149ef347b99fd4d3e1fc7c0933 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc ="@cindex Feta scripts
@@ -98,7 +98,7 @@ This chart shows all articulations, or scripts, that the feta font contains.
        (list (make-music
                'NoteEvent
                'duration
-               (ly:make-duration 2 0 1 1)
+               (ly:make-duration 2 0 1/1)
                'pitch
                (ly:make-pitch 0 0 0))
              (make-music
@@ -129,7 +129,7 @@ This chart shows all articulations, or scripts, that the feta font contains.
       (list (make-music
               'LyricEvent
               'duration
-              (ly:make-duration 2 0 1 1)
+              (ly:make-duration 2 0 1/1)
               'text
               script))))
 
index 572adcef52b80fd267f139d9f0f87ba936276864..c3f6acea1d9c4f22758e8fd41adf9c85bff8cd74 100644 (file)
@@ -9,7 +9,7 @@
 @end ignore
 
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -523,10 +523,10 @@ Le terzine fanno sì che le note occupino 2/3 della loro durata, quindi
 una @notation{terzina} ha 2/3 come frazione:
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Abbellimenti
@@ -1277,7 +1277,7 @@ un'altra variabile successiva, dando la possibilità di accorciare l'input se
 una sezione della musica viene ripetuta molte volte.
 
 @lilypond[verbatim,quote]
-tripletA = \times 2/3 { c,8 e g }
+tripletA = \tuplet 3/2 { c,8 e g }
 barA = { \tripletA \tripletA \tripletA \tripletA }
 
 \relative c'' {
index 7ff22dd629fa7162b0da89697e5195322d189a2a..e05d71295010773ec6b14f8a59c661abe20fa400 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Concetti fondamentali
 @chapter Concetti fondamentali
@@ -536,10 +536,10 @@ irregolari, e una legatura di frase che si estende fuori da un gruppo
 irregolare (linee 3 e 4).
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index 790618a6e309ee7014196eee7640d388c54b431f..9e6e96ccdeeb36b4a54a620c3583263b51baef04 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Modifica dell'output
 @chapter Modifica dell'output
@@ -451,11 +451,11 @@ deve essere in rosso.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -472,14 +472,14 @@ aspetto può essere modificato come di consueto con i comandi @code{\override}:
 @c NOTE Tuplet brackets collide if notes are high on staff
 @c See issue 509
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -942,8 +942,8 @@ preceduto da un apostrofo
 @item Moment
   @tab Una frazione di una nota intera costruita con la
 funzione make-moment
-  @tab @code{(ly:make-moment 1 4)},
-       @code{(ly:make-moment 3 8)}
+  @tab @code{(ly:make-moment 1/4)},
+       @code{(ly:make-moment 3/8)}
 @item Number
   @tab Qualsiasi valore decimale positivo o negativo
   @tab @code{3.5}, @w{@code{-2.45}}
index 77ad3f45c243b240bbf2d3b5b67c402416945861..6be89d2f7423edd3e4f840a3b793114891e1185e 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Note: keep this node named so that `info lilypond-book' brings you here.
 @node lilypond-book
@@ -87,7 +87,7 @@ Ad esempio,
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -147,7 +147,7 @@ Ad esempio,
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index 49e4bb685fd6e06aa0657aa8b9a8e6f6880d15c5..30bd798a9339013a41ee87f283c6f04c1b9d5951 100644 (file)
@@ -775,11 +775,11 @@ manuali sono reperibili su @url{http://lilypond.org}}
 @multitable @columnfractions .3 .3 .3
 @headitem Introduzione
 @item
-@docLinkSplit{Learning,learning,@manualDevelLearningSplit}
+@docLinkSplit{Learning,learning,@manualDevelLearningSplit-it}
 @tab
-@docLinkBig{Learning,learning,@manualDevelLearningBig}
+@docLinkBig{Learning,learning,@manualDevelLearningBig-it}
 @tab
-@docLinkPdf{Learning,learning,@manualDevelLearningPdf}
+@docLinkPdf{Learning,learning,@manualDevelLearningPdf-it}
 
 @item
 @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
@@ -789,27 +789,27 @@ manuali sono reperibili su @url{http://lilypond.org}}
 @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
 
 @item
-@docLinkSplit{Essay,essay,@manualDevelEssaySplit}
+@docLinkSplit{Essay,essay,@manualDevelEssaySplit-it}
 @tab
-@docLinkBig{Essay,essay,@manualDevelEssayBig}
+@docLinkBig{Essay,essay,@manualDevelEssayBig-it}
 @tab
-@docLinkPdf{Essay,essay,@manualDevelEssayPdf}
+@docLinkPdf{Essay,essay,@manualDevelEssayPdf-it}
 
 @headitem Regolare
 
 @item
-@docLinkSplit{Notation,notation,@manualDevelNotationSplit}
+@docLinkSplit{Notation,notation,@manualDevelNotationSplit-it}
 @tab
-@docLinkBig{Notation,notation,@manualDevelNotationBig}
+@docLinkBig{Notation,notation,@manualDevelNotationBig-it}
 @tab
-@docLinkPdf{Notation,notation,@manualDevelNotationPdf}
+@docLinkPdf{Notation,notation,@manualDevelNotationPdf-it}
 
 @item
-@docLinkSplit{Usage,usage,@manualDevelUsageSplit}
+@docLinkSplit{Usage,usage,@manualDevelUsageSplit-it}
 @tab
-@docLinkBig{Usage,usage,@manualDevelUsageBig}
+@docLinkBig{Usage,usage,@manualDevelUsageBig-it}
 @tab
-@docLinkPdf{Usage,usage,@manualDevelUsagePdf}
+@docLinkPdf{Usage,usage,@manualDevelUsagePdf-it}
 
 @item
 @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
@@ -821,11 +821,11 @@ manuali sono reperibili su @url{http://lilypond.org}}
 @headitem Saltuario
 
 @item
-@docLinkSplit{Web,web,@manualDevelWebSplit}
+@docLinkSplit{Web,web,@manualDevelWebSplit-it}
 @tab
-@docLinkBig{Web,web,@manualDevelWebBig}
+@docLinkBig{Web,web,@manualDevelWebBig-it}
 @tab
-@docLinkPdf{Web,web,@manualDevelWebPdf}
+@docLinkPdf{Web,web,@manualDevelWebPdf-it}
 
 @item
 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
index 23c77980eed6c0ff83373e655ba1e5e9fd76948a..773419acadb9071f2f738f146b4e87e1c983e263 100644 (file)
@@ -67,7 +67,7 @@ informazioni sull'incisione realizzata dal computer.
 
 @itemize
 
-@item @ifWebLinks{@manualStableNotationSplitNoName,@rusernamed{Top,Notazione}}
+@item @ifWebLinks{@manualStableNotationSplitNoName-it,@rusernamed{Top,Notazione}}
 guida alla sintassi.
 @details{Notazione}
 
@@ -190,9 +190,9 @@ e seguire questi riferimenti incrociati per maggiori informazioni.
 
 @docLinks{Apprendimento, learning,
   @rlearningnamed{Top,Apprendimento},
-  @manualStableLearningSplit,
-  @manualStableLearningBig, 1.5 MB,
-  @manualStableLearningPdf, 3 MB}
+  @manualStableLearningSplit-it,
+  @manualStableLearningBig-it, 1.5 MB,
+  @manualStableLearningPdf-it, 3 MB}
 
 @divEnd
 
@@ -269,9 +269,9 @@ musicali inglesi presentati nel Glossario.}
 
 @docLinks{Notazione, notation,
   @rusernamed{Top,Notazione},
-  @manualStableNotationSplit,
-  @manualStableNotationBig, 7 MB,
-  @manualStableNotationPdf, 18 MB}
+  @manualStableNotationSplit-it,
+  @manualStableNotationBig-it, 7 MB,
+  @manualStableNotationPdf-it, 18 MB}
 
 @divEnd
 
@@ -294,9 +294,9 @@ intraprendere un progetto impegnativo.
 
 @docLinks{Uso, usage,
   @rprogramnamed{Top,Uso},
-  @manualStableUsageSplit,
-  @manualStableUsageBig, 400 KB,
-  @manualStableUsagePdf, 600 KB}
+  @manualStableUsageSplit-it,
+  @manualStableUsageBig-it, 400 KB,
+  @manualStableUsagePdf-it, 600 KB}
 
 @divEnd
 
@@ -403,9 +403,9 @@ di bug e lo sviluppo.
 
 @docLinksBare{Web, web,
   @ref{Top,Web},
-  @manualDevelWebSplit,
-  @manualDevelWebBig, 1 MB,
-  @manualDevelWebPdf, 2 MB}
+  @manualDevelWebSplit-it,
+  @manualDevelWebBig-it, 1 MB,
+  @manualDevelWebPdf-it, 2 MB}
 
 @divEnd
 
@@ -531,12 +531,12 @@ I pacchetti scaricabili sono disponibili presso @uref{http://lilypond.org}
 @divClass{keep-bullets}
 @itemize
 
+@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.it.html,
+Documentazione di LilyPond 2.14}
+
 @item @uref{http://lilypond.org/doc/v2.12/Documentation/,
 Documentazione di LilyPond 2.12}
 
-@item @uref{http://lilypond.org/doc/v2.11/Documentation/,
-Documentazione di LilyPond 2.11}
-
 @item @uref{http://lilypond.org/doc/v2.10/Documentation/,
 Documentazione di LilyPond 2.10}
 
index 2fec9f83c049d49397db2c07af992255475cb061..18485c449c08afc4b5c5d8a20cf039f9987f2d52 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -542,10 +542,10 @@ c2 d |
 分数として 2/3 を持ちます。
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 
@@ -1353,7 +1353,7 @@ cello = \new Staff {
 楽曲のある部分が何度もリピートしている場合に入力の手間を省くことができます。
 
 @lilypond[verbatim,quote]
-tripletA = \times 2/3 { c,8 e g }
+tripletA = \tuplet 3/2 { c,8 e g }
 barA = { \tripletA \tripletA \tripletA \tripletA }
 
 \relative c'' {
index 9fefaa1682f6a709f3c4d2dbbfeb1e6e76a8d245..64fa18dbc512235bca773f64049c6fae4585ab2c 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -587,10 +587,10 @@ LilyPond 以外では、種類の異なる括弧が適切にネストされる
 さらにフレージング スラーが連符の外にまで伸びています (行 3 と 4)。
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index 7f0c0dbd17bfe1b8419e226a79133a233dc110ee..682c438c5b01fa3e3825ec82c99f7dc81f174065 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -502,11 +502,11 @@ a4^"Black"
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -519,14 +519,14 @@ a4^"Black"
 @cindex TupletNumber, example of overriding (TupletNumber をオーバライドする例)
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
index bfa5d667123c61d71c852850b9b7099b8526e970..7987ccf4458f62b027ba4f0bc4c6321e9a4561c0 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @c Translators: Yoshiki Sawada
@@ -233,12 +233,12 @@ f8 c2 d e
 @end lilypond
 
 
-@item @code{\times 2/3 @{f g a@}}
+@item @code{\tuplet 3/2 @{f g a@}}
 @tab 3 連符
 @tab
 @lilypond[relative=1,fragment]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-\times 2/3 { f8 g a }
+\tuplet 3/2 { f8 g a }
 @end lilypond
 
 
index 9140d55281d74eadc730422f7be0923030d3ae6f..213c498934dbef9041982095a4a1df7ffd62dd58 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @c Translators: Yoshiki Sawada
@@ -634,7 +634,7 @@ altered:
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 1 4)
+    gridInterval = #(ly:make-moment 1/4)
   }
   \context {
     \Score
index 970edfb494c5003766046abeeda7c4059dc3920a..41f0dab45c738c959870a2ee343b7d1228c24fa7 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -1745,7 +1745,7 @@ music = \relative c' {
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
   \deadNotesOn
-  \times 2/3 { g8 b e }
+  \tuplet 3/2 { g8 b e }
   \deadNotesOff
   < a,\3 c\2 e\1 >1
 }
index 41a2c5e031c9964fa9b715367b95d0a885b09a06..d5b64eb6461674ff5f15434a5f8fb17b89e6968e 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 
 @c Translators: Yoshiki Sawada
@@ -236,11 +236,11 @@ g1 |
 \alternative {
   {
     f2 d |
-    \set Timing.measureLength = #(ly:make-moment 3 4)
+    \set Timing.measureLength = #(ly:make-moment 3/4)
     g4 g g  % optional bar check is allowed here
   }
   {
-    \set Timing.measureLength = #(ly:make-moment 4 4)
+    \set Timing.measureLength = #(ly:make-moment 4/4)
     a2 a |
   }
 }
@@ -661,7 +661,7 @@ c1
 
 @lilypond[verbatim,quote,relative=2]
 \repeat percent 4 { c8. <d f>16 }
-\repeat percent 2 { \times 2/3 { r8 c d } e4 }
+\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
 @end lilypond
 
 @snippets
index 08d884452334b583d8990ceeabc4ee622afcdf4e..81e2140ccbd573c0ea6ddf09b665a4b51b6a3499 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -212,8 +212,8 @@ a4 b c4. b8 a4. b4.. c8.
 そのため、3 連符で指定する分数は 2/3 です。
 
 @lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
 @end lilypond
 
 @cindex tuplet bracket placement (連符囲みの配置)
@@ -232,7 +232,7 @@ c4 c \times 2/3 { b4 a g }
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
 @end lilypond
 
 ネストされた連符の演奏開始点が同時である場合に、それらの連符を変更するには
@@ -1391,7 +1391,7 @@ r4 e8 | a4 c8 b c4 |
 
 @lilypond[quote,verbatim,relative=1]
 \time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
 e8 | a4 c8 b c4 |
 @end lilypond
 
@@ -1427,7 +1427,7 @@ e8 | a4 c8 b c4 |
 \time 6/8
 \partial 8
 e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
 r8 e,8 | a4 c8 b[ c b] |
 @end lilypond
 
@@ -1647,7 +1647,7 @@ c8 c c
     \scaleDurations 3/5 {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c \times 2/3 { c8[ c c] } c4
+      c4. c \tuplet 3/2 { c8[ c c] } c4
     }
   }
 >>
@@ -2116,7 +2116,7 @@ c16^"(3+2)" c c c c |
 
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.baseMoment = #(ly:make-moment 1/16)
 \set Timing.beatStructure = #'(7 3)
 \repeat unfold 10 { a16 }
 @end lilypond
@@ -2203,7 +2203,7 @@ c16 c c |
 @c KEEP LY
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
 \set Timing.beatStructure = #'(3 3 2)
 % 以下は beamExceptions のため、(3 3 2) の連桁にはなりません
 \repeat unfold 8 {c8} |
@@ -2339,7 +2339,7 @@ r4. a8 a a |
 <<
   \new Staff {
     \time 3/4
-    \set Timing.baseMoment = #(ly:make-moment 1 8)
+    \set Timing.baseMoment = #(ly:make-moment 1/8)
     \set Timing.beatStructure = #'(1 5)
     \repeat unfold 6 { a8 }
   }
@@ -2510,10 +2510,10 @@ ritardando (徐々に緩やかに) や accelerando (次第に速く) を@c
 
 @lilypond[relative=1,verbatim,quote]
 \override Beam.grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\featherDurations #(ly:make-moment 2/1)
 { c16[ c c c c c c c] }
 \override Beam.grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\featherDurations #(ly:make-moment 2/3)
 { c32[ d e f] }
 % revert to non-feathered beams
 \override Beam.grow-direction = #'()
@@ -3528,11 +3528,11 @@ MyCadenza = \relative c' {
 
 @lilypond[quote,verbatim]
 \new Voice \relative c' {
-  \set Timing.measureLength = #(ly:make-moment 5 4)
+  \set Timing.measureLength = #(ly:make-moment 5/4)
   c1 c4 |
   c1 c4 |
   c4 c
-  \set Timing.measurePosition = #(ly:make-moment 5 8)
+  \set Timing.measurePosition = #(ly:make-moment 5/8)
   b4 b b8 |
   c4 c1 |
 }
index 8aefc64bdbf6eb4749edf75739e5763ac1a86c55..478940a1bd224b072ee1fed17acae9f6042734f9 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @c Translators: Yoshiki Sawada
@@ -1398,7 +1398,7 @@ c4 c c c |
   \remove "Forbid_line_break_engraver"
 } \relative c'' {
   <<
-    { c2. \times 2/3 { c4 c c } c2. | }
+    { c2. \tuplet 3/2 { c4 c c } c2. | }
     { s1 | \break s1 | }
   >>
 }
@@ -1641,7 +1641,7 @@ LilyPond が改ページを決定するためのデフォルトの手法です
 コンテキスト プロパティ @code{minimumPageTurnLength} を読み込んで、@c
 どれくらい音符が無いセクションが続いたらページめくりを考慮するかを決定します。@c
 @code{minimumPageTurnLength} のデフォルト値は
-@code{(ly:make-moment 1 1)} です。@c
+@code{(ly:make-moment 1/1)} です。@c
 ページめくりを不可にしたいのならば、@c
 @code{minimumPageTurnLength} に非常に大きな値をセットします。
 
@@ -1651,7 +1651,7 @@ LilyPond が改ページを決定するためのデフォルトの手法です
   a4 b c d |
   R1 | % ここでページめくりが許可されます
   a4 b c d |
-  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
   R1 | % ここではページめくりは許可されません
   a4 b r2 |
   R1*2 | % ここでページめくりが許可されます
@@ -3003,7 +3003,7 @@ c16[ c c8]
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3023,14 +3023,14 @@ c16[ c c8]
 \score {
   <<
     \new Staff {
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
       c8 c8 c8 c8
     }
     \new Staff {
       c8 c8 c8 c8
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
     }
@@ -3153,7 +3153,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3183,7 +3183,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3191,7 +3191,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定
  \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3216,10 +3216,10 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定
 これはすべての音楽要素へのスペースに関係する参照演奏時間です。@c
 LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
 -- 全音符の分数を表す分子と分母です。@c
-それゆえ、@code{(ly:make-moment 1 20)} という呼び出しは、@c
+それゆえ、@code{(ly:make-moment 1/20)} という呼び出しは、@c
 20 分音符の参照演奏時間となります。@c
-@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)}, それに
-@code{(ly:make-moment 3 97)} という値はすべてとり得る値です。
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)}, それに
+@code{(ly:make-moment 3/97)} という値はすべてとり得る値です。
 
 では、どのように @code{proportionalNotationDuration} に渡す@c
 適切な参照演奏時間を決めるのでしょうか?@c
@@ -3234,7 +3234,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3242,7 +3242,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 8)
+      proportionalNotationDuration = #(ly:make-moment 1/8)
     }
   }
 }
@@ -3252,7 +3252,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3260,7 +3260,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 16)
+      proportionalNotationDuration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3270,7 +3270,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3278,7 +3278,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 32)
+      proportionalNotationDuration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -3303,12 +3303,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3329,12 +3329,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3342,7 +3342,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3361,12 +3361,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3374,7 +3374,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
       \override SpacingSpanner.uniform-stretching = ##t
     }
   }
@@ -3471,7 +3471,7 @@ OFF であるかのどちらかであるということです。@c
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   c''8
   c''8
   c''8
@@ -3481,7 +3481,7 @@ OFF であるかのどちらかであるということです。@c
 }
 
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \override Score.SpacingSpanner.strict-note-spacing = ##t
   c''8
   c''8
@@ -3707,7 +3707,7 @@ e4 c g-\tweak X-offset #-2.7 -\tweak Y-offset #2.5 \f c
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
     }
   }
 }
index 5c676b92f2642820dd0653e9837dfc67d87e185f..77e286af4232ca3bab2f80a05f8c95ecdac38790 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -1904,7 +1904,7 @@ text = {
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           % show associations clearly.
           \override NoteColumn.force-hshift = #-3
           f8 f g
@@ -3098,7 +3098,7 @@ global = {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index 5eec93487c04d7977c6f2fac49f92d3eb69d9752..988fc9dcc3d7daba74499e5813c6f1c93eb97663 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Translators: Yoshiki Sawada
 
@@ -95,7 +95,7 @@ Windows や Mac OS X のコマンド ラインを用いて @code{lilypond-book}
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -157,7 +157,7 @@ Texinfo で処理されるため、上記の例とはレイアウトが少し異
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index 949e2bcdc9c3772e743d2d2fded9eafb9812d5e5..9e392fcd4b68580ceac2c89aa2e7c98721598358 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -496,22 +496,23 @@ c2 d |
 @cindex tuplets
 @cindex triplets
 
-@funindex \times
-@funindex times
+@funindex \tuplet
+@funindex tuplet
 
 Music Glossary: @rglos{note value}, @rglos{triplet}.
 
-@notation{Tuplets} are made with the @code{\times} keyword.  It
+@notation{Tuplets} are made with the @code{\tuplet} keyword.  It
 takes two arguments: a fraction and a piece of music.  The
-duration of the piece of music is multiplied by the fraction.
-Triplets make notes occupy 2/3 of their notated duration, so a
-@notation{triplet} has 2/3 as its fraction
+fraction is the number of tuplet notes over the number 
+of notes normally filling the same duration.
+For triplets, there are three notes instead of two, so
+@notation{triplets} have 3/2 as their fraction.
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Grace notes
@@ -1248,7 +1249,7 @@ of another variable, giving a way of shortening the input if a
 section of music is repeated many times.
 
 @lilypond[verbatim,quote]
-tripletA = \times 2/3 { c,8 e g }
+tripletA = \tuplet 3/2 { c,8 e g }
 barA = { \tripletA \tripletA \tripletA \tripletA }
 
 \relative c'' {
index e1645dae7a08d6b8239f8fe34fd4b1c254d6144f..482425df14fa14818bf55b9b2dcad81caf8de36b 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Fundamental concepts
 @chapter Fundamental concepts
@@ -532,10 +532,10 @@ extending into a tuplet, a tie crossing two tuplets, and a
 phrasing slur extending out of a tuplet (lines 3 and 4).
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index c1db7e9747f333ff34a584d1a7f3d66e84ca32dc..f0ba32ab9b2ca62d2b2f9eecf80d119f08dc8ed3 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Tweaking output
 @chapter Tweaking output
@@ -478,11 +478,11 @@ printed in red on the first short tuplet bracket.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -496,14 +496,14 @@ appearance may be modified in the usual way with
 @cindex TupletNumber, example of overriding
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -3983,7 +3983,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4016,7 +4016,7 @@ inst =
 \layout{
   \context {
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context {
@@ -4069,7 +4069,7 @@ inst =
 \layout@{
   \context @{
     \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   @}
   \context @{
@@ -4102,7 +4102,7 @@ inst =
 
 \layout{
   \context { \Score
-    \override MetronomeMark.extra-offset = #'(-9 . 0)
+    \override MetronomeMark.extra-offset = #'(-5 . 0)
     \override MetronomeMark.padding = #'3
   }
   \context { \Voice
index 36779a38f4d5b9f9e86de62872e7fe712adb61f9..74eaa5c71ec6b6d668787492c1c1997c8c1c7bd4 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \include "example-header.ily"
 
 \paper {
@@ -187,9 +187,9 @@ triplumNotes = \relative c' {
   f8 f4 e8 d c f f f | % 1
        % the \scaleDurations command below makes 5 notes last the
        % duration of a dotted quarter
-       e8 c4 \scaleDurations 3/2 {     \times 4/5{e16[ d e d e]} } e8 f4 | % 2
+       e8 c4 \scaleDurations 3/2 {     \tuplet 5/4{e16[ d e d e]} } e8 f4 | % 2
   g2. ~ g4. | % 3
-       f8 d4 f4. \scaleDurations 3/2 { \times 4/6{ g16[ f e f e f]}} % 4
+       f8 d4 f4. \scaleDurations 3/2 { \tuplet 6/4{ g16[ f e f e f]}} % 4
        g8 g4 g4. e4. | % 5
        fis8 d4 e8\startGroup g4\stopGroup f8[ e d] | % 6
        c2. r4. | % 7
index 85db19169c697f4a3520df4c75af5d9db16ecdfa..3075225e23f8dc836754c9122a445d95f3d396d7 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout {
   indent = #0
@@ -7,7 +7,7 @@
   \context {
     \Score
 
-    proportionalNotationDuration = #(ly:make-moment 1 64)
+    proportionalNotationDuration = #(ly:make-moment 1/64)
     \override Beam.breakable = ##t
     autoBeaming = ##f
     tupletFullLength = ##t
index 1c96edd1bcd03bea59099b567229609098c4b5d0..78b1ff93708ccd6b2bbb39a3bebffe57f553e1a9 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 % the example header file caused the head to be chopped off
 %\include "example-header.ily"
 
                        } {
 
                                % measure 6
-                               \fraction \times 5/3 {
-                                       \times 4/5 {
+                               \fraction \tuplet 3/5 {
+                                       \tuplet 5/4 {
                                                a'64 [ % 36
                                                cs''64 % 37
                                                f''64 % 38
                                                cs''64 % 39
                                                ef'''64 ] % 40
                                        }
-                                       \times 4/5 {
+                                       \tuplet 5/4 {
                                                g''64 [ % 41
                                                c''64 % 42
                                                e''64 % 43
@@ -77,7 +77,7 @@
 
                                % measure 7
                                r8 % 47
-                               \times 4/5 {
+                               \tuplet 5/4 {
                                        d''32 [ % 48
                                        af''32 % 49
                                        e'32 % 50
                        } {
 
                                % measure 6
-                               \fraction \times 5/3 {
+                               \fraction \tuplet 3/5 {
                                        \square f''16 * 1/8 % 40
                                        \square f''16 * 1/8 % 41
                                        \square f''16 * 1/8 % 42
                                        \square f''16 * 1/8 % 45
                                        \square f''16 * 1/8 % 46
                                        \square f''16 * 1/8 % 47
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \square f''16 % 48
                                                \square f''16 * 1/2 % 49
                                        }
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \square f''16 * 1/4 % 50
                                                \square f''16 * 1/4 % 51
                                                \square f''16 * 1/4 % 52
                                \square g''16 * 2/1 % 57
                                \square g''16 % 58
                                \square g''16 % 59
-                               \times 8/9 {
+                               \tuplet 9/8 {
                                        s16 % 60
                                        f''16 * 1/4 % 61
                                        f''16 * 1/4 % 62
                                }
 
                                % measure 8
-                               \times 4/5 {
-                                       \times 4/7 {
+                               \tuplet 5/4 {
+                                       \tuplet 7/4 {
                                                s4 % 66
                                                \triangle a''16 % 67
                                                \triangle a''16 % 68
                        } {
 
                                % measure 6
-                               \fraction \times 5/3 {
+                               \fraction \tuplet 3/5 {
                                        \blackdiamond f'128 [ % 40
                                        \blackdiamond f'128 % 41
                                        \blackdiamond f'128 % 42
                                        \blackdiamond f'128 % 45
                                        \blackdiamond f'128 % 46
                                        \blackdiamond f'128 ] % 47
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \blackdiamond f'16 % 48
                                                \blackdiamond f'32 % 49
                                        }
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \blackdiamond f'64 % 50
                                                \blackdiamond f'64 % 51
                                                \blackdiamond f'64 % 52
                                \harmonic a'8 \glissando % 57
                                \harmonic a'16 \glissando % 58
                                \blackdiamond a'16 % 59
-                               \times 8/9 {
+                               \tuplet 9/8 {
                                        s16 % 60
                                        \harmonic g'64 \glissando % 61
                                        \harmonic g'64 \glissando % 62
                                }
 
                                % measure 8
-                               \times 4/5 {
-                                       \times 4/7 {
+                               \tuplet 5/4 {
+                                       \tuplet 7/4 {
                                                s4 % 66
                                                \blackdiamond f'16 % 67
                                                \blackdiamond f'16 % 68
                        } {
 
                                % measure 6
-                               \fraction \times 5/3 {
+                               \fraction \tuplet 3/5 {
                                        s128 % 40
                                        s128 % 41
                                        s128 % 42
                                        s128 % 45
                                        s128 % 46
                                        s128 % 47
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \semicircle a16 % 48
                                                \semicircle a16 * 1/2 % 49
                                        }
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \semicircle a16 * 1/4 % 50
                                                \semicircle a16 * 1/4 % 51
                                                \semicircle a16 * 1/4 % 52
                                s8 % 57
                                s16 % 58
                                \triangle a16 % 59
-                               \times 8/9 {
+                               \tuplet 9/8 {
                                        s16 % 60
                                        s64 % 61
                                        s64 % 62
                                }
 
                                % measure 8
-                               \times 4/5 {
-                                       \times 4/7 {
+                               \tuplet 5/4 {
+                                       \tuplet 7/4 {
                                                s4 % 66
                                                \semicircle a16 % 67
                                                \semicircle a16 % 68
                        } {
 
                                % measure 6
-                               \fraction \times 5/3 {
+                               \fraction \tuplet 3/5 {
                                        \beam #0 #5 g,128 \sffp \< [ % 40
                                        \beam #5 #5 g,128 % 41
                                        \beam #5 #5 g,128 % 42
                                        \beam #5 #5 g,128 % 45
                                        \beam #5 #5 g,128 % 46
                                        \beam #5 #1 g,128 % 47
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \beam #1 #2 g,16 % 48
                                                \beam #3 #1 g,32 \fX % 49
                                        }
-                                       \times 2/3 {
+                                       \tuplet 3/2 {
                                                \beam #1 #4 g,64 \sffp \< % 50
                                                \beam #4 #4 g,64 % 51
                                                \beam #4 #4 g,64 % 52
                                g,8 \sf \< [ % 57
                                g,16 % 58
                                \beam #2 #0 g,16 \ffX ] % 59
-                               \times 8/9 {
+                               \tuplet 9/8 {
                                        r16 % 60
                                        \beam #4 #4 g,64 \sfp \< [ % 61
                                        \beam #4 #4 g,64 % 62
                                }
 
                                % measure 8
-                               \times 4/5 {
-                                       \times 4/7 {
+                               \tuplet 5/4 {
+                                       \tuplet 7/4 {
                                                r4 % 66
                                                \beam #2 #2 g,16 \fX [ % 67
                                                \beam #2 #2 g,16 \f % 68
index 96603b5e6007dd204b0262b78c5984a99dbbb928..1e13d1b29e8fdddb36096e04a6924099ad43aa3f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \include "example-header.ily"
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -33,8 +33,8 @@ global = {
 upperVoiceOne = \relative c'' {
   \voiceOne
   \override TupletBracket.transparent = ##t
-  <aes f'>8\([ \times 4/5{g'32( aes g f g]) }
-    <es aes>8[ \times 4/5{<d bes'>32( c' bes aes bes]) }
+  <aes f'>8\([ \tuplet 5/4{g'32( aes g f g]) }
+    <es aes>8[ \tuplet 5/4{<d bes'>32( c' bes aes bes]) }
     <es, aes es'>8 <d fis b d>\) | % end m. 1
   %--------------------------------------------------%
   <c g' c>4\( \voiceTwo <bes es bes'\arpeggio>\)
@@ -42,11 +42,11 @@ upperVoiceOne = \relative c'' {
   %--------------------------------------------------%
   \noBreak
   \voiceOne
-  <f aes d f>8\([ \times 4/5{<g g'>32( aes' g f g]) }
+  <f aes d f>8\([ \tuplet 5/4{<g g'>32( aes' g f g]) }
   \set subdivideBeams = ##t
-  \set baseMoment = #(ly:make-moment 1 8)
+  \set baseMoment = #(ly:make-moment 1/8)
   \set beatStructure = #'(2 2 2)
-  <aes, aes'>16 <c f> \times 4/5{ bes'32( c bes aes bes]) }
+  <aes, aes'>16 <c f> \tuplet 5/4{ bes'32( c bes aes bes]) }
   \set subdivideBeams = ##f
   \ottava #1 <es es'>16 <f f'> <d d'> \appoggiatura f8 <es es'>16\)
 }
@@ -89,7 +89,7 @@ lowerVoiceOne = \relative c, {
   bes8 \csm \stemDown <bes'' c es>8 s2
   \csl \stemUp
   \set subdivideBeams = ##t
-  \set baseMoment = #(ly:make-moment 1 16)
+  \set baseMoment = #(ly:make-moment 1/16)
   \set beatStructure = #'(4 4 4)
   s8 \hideNotes \slurUp \stemDown
     es,,64( bes'' s64 \unHideNotes \stemUp g64[ bes c d c]) s2
index 115e75784a10c330e7ac1733c1a15728bcfc8db1..9904deb2c9691020b1707725b5b75eac17605090 100644 (file)
@@ -598,7 +598,7 @@ An accidental alters a note by:
     \context {
       \Score
       \override SpacingSpanner
-        #'base-shortest-duration = #(ly:make-moment 1 32)
+        #'base-shortest-duration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -1782,7 +1782,7 @@ the top line high F:
     \context {
       \Score
       \override SpacingSpanner
-        #'base-shortest-duration = #(ly:make-moment 1 1)
+        #'base-shortest-duration = #(ly:make-moment 1/1)
       \override  NonMusicalPaperColumn
         #'line-break-system-details = #'((alignment-distances . (3 3)))
       \override BarLine #'stencil = ##f
@@ -1843,7 +1843,7 @@ have been selected:
     \context {
       \Score
       \override SpacingSpanner
-        #'base-shortest-duration = #(ly:make-moment 2 1)
+        #'base-shortest-duration = #(ly:make-moment 2/1)
       \override  NonMusicalPaperColumn
         #'line-break-system-details = #'((alignment-distances . (3 3)))
       \override BarLine #'stencil = ##f
@@ -1906,7 +1906,7 @@ shown below, where the notes show an arpeggio on a C major chord.
     \context {
       \Score
       \override SpacingSpanner #'base-shortest-duration =
-        #(ly:make-moment 2 1)
+        #(ly:make-moment 2/1)
       \override  NonMusicalPaperColumn
         #'line-break-system-details = #'((alignment-distances . (3 3)))
       \override BarLine #'stencil = ##f
@@ -3956,7 +3956,7 @@ part in modern choral scores).
 @lilypond[quote,notime]
 \relative c'' {
   \override Staff.Clef #'full-size-change = ##t
-    \set Score.proportionalNotationDuration = #(ly:make-moment 1 8)
+    \set Score.proportionalNotationDuration = #(ly:make-moment 1/8)
     \clef french
     g1
     \clef treble
@@ -5853,17 +5853,17 @@ dotted notes are also frequently used.
 @lilypond[quote,line-width=13.0\cm]
 \relative c'' {
   \time 4/4
-  \times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||"
-  \times 2/5 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||"
+  \tuplet 3/2 {g8_"triplets" g g} g4 g8 g g4 \bar "||"
+  \tuplet 5/2 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||"
 }
 @end lilypond
 
 @lilypond[quote,line-width=13.0\cm]
 \relative c'' {
   \time 3/4
-  \times 3/2 {g4_"duplets" g} |
+  \tuplet 2/3 {g4_"duplets" g} |
   g4 g g \bar "||"
-  \times 6/4 {g8_"quadruplets" g g g} |
+  \tuplet 4/6 {g8_"quadruplets" g g g} |
   g8 g g g g4 \bar "||"
 }
 @end lilypond
@@ -6014,7 +6014,7 @@ the upper note is played first.
   }
   \relative c'' {
     c2. c32 b c b c b c b | c1
-    c2. b32 c b c \times 4/5 { b c b c b } | c1
+    c2. b32 c b c \tuplet 5/4 { b c b c b } | c1
   }
 >>
 @end lilypond
index 29ffae1a61aed6c1cde117c7882c9553129aa958..13401a5b8b7450da178556c746a14f5502fe9c4d 100644 (file)
@@ -12,7 +12,7 @@
 @c Translation checker:
 @c Translation checker committish:
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @ignore
 Tutorial guidelines:  (different from policy.txt!)
@@ -556,10 +556,10 @@ maakt dat de noten 2/3 van hun lengte duren, dus een
 @notation{triool} heeft als fractie 2/3
 
 @lilypond[verbatim,quote,relative=2]
-\times 2/3 { f8 g a }
-\times 2/3 { c8 r c }
-\times 2/3 { f,8 g16[ a g a] }
-\times 2/3 { d4 a8 }
+\tuplet 3/2 { f8 g a }
+\tuplet 3/2 { c8 r c }
+\tuplet 3/2 { f,8 g16[ a g a] }
+\tuplet 3/2 { d4 a8 }
 @end lilypond
 
 @subheading Versieringen
@@ -1364,7 +1364,7 @@ compacter in te voeren.
 
 @c KEEP LY
 @lilypond[verbatim,quote]
-trioolA = \times 2/3 { c,8 e g }
+trioolA = \tuplet 3/2 { c,8 e g }
 maatA = { \trioolA \trioolA \trioolA \trioolA }
 
 \relative c'' {
index 099fee68851cc497b636d2b4729c9d5abf858910..967bd3c862d720d2b55c7d8272c71dcaa2d396b0 100644 (file)
@@ -12,7 +12,7 @@
 @c Translation checker:
 @c Translation checker committish:
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Fundamentele concepten
 @translationof Fundamental concepts
@@ -557,10 +557,10 @@ extending into a tuplet, a tie crossing two tuplets, and a
 phrasing slur extending out of a tuplet (lines 3 and 4).
 
 @lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \times 2/3 { r16 e'8] }
-g,16( a \times 2/3 { b16 d) e }
-g,8[( a \times 2/3 { b8 d) e~] } |
-\times 4/5 { e32\( a, b d e } a4.\)
+r16[ g \tuplet 3/2 { r16 e'8] }
+g,16( a \tuplet 3/2 { b16 d) e }
+g,8[( a \tuplet 3/2 { b8 d) e~] } |
+\tuplet 5/4 { e32\( a, b d e } a4.\)
 @end lilypond
 
 
index 02c6e0acc587dca07f1ee69ef5bbd474579d07d8..293bedc98a4f58a805b205b427070dc07cbca870 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Tweaking output
 @chapter Tweaking output
@@ -461,11 +461,11 @@ printed in red on the first short tuplet bracket.
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
   \tweak color #red
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
@@ -479,14 +479,14 @@ appearance may be modified in the usual way with
 @cindex TupletNumber, example of overriding
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
 \once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
   c8[ c]
   c8[ c]
   \once \override TupletNumber.transparent = ##t
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 }
 @end lilypond
 
index 79bfb854a83e6945173b5c51d8153f8fe473c47e..61db2db59e7d6cbee7c8fb810c550db37bd3a92e 100644 (file)
@@ -206,9 +206,9 @@ informatie.
 
 @docLinks{Beginnen, learning,
   @rlearningnamed{Top,Learning},
-  @manualStableLearningSplit,
-  @manualStableLearningBig, 1.5 MB,
-  @manualStableLearningPdf, 3 MB}
+  @manualStableLearningSplit-nl,
+  @manualStableLearningBig-nl, 1.5 MB,
+  @manualStableLearningPdf-nl, 3 MB}
 
 @divEnd
 
index 0056b8be0f328c80236ad6da4cc55cfe32b95108..6d122875f89150dab9d5c01540fa84b51b092ebd 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @node Ancient notation
@@ -635,7 +635,7 @@ example, the ratio of 1@tie{}breve = 3@tie{}semibreves
 (@emph{tempus perfectum}) can be made by hand, by setting
 
 @example
-breveTP = #(ly:make-duration -1 0 3 2)
+breveTP = #(ly:make-duration -1 0 3/2)
 @dots{}
 @{ c\breveTP f1 @}
 @end example
@@ -2779,9 +2779,9 @@ adjustments are necessary, this can be easily done with
 spiritus = \relative c' {
   \time 1/4
   \override Lyrics.LyricText.X-extent  = #'(0 . 3)
-  d4 \times 2/3 { f8 a g } g a a4 g f8 e
+  d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
   d4 f8 g g8 d f g a g f4 g8 a a4  s
-  \times 2/3 { g8 f d } e f g a g4
+  \tuplet 3/2 { g8 f d } e f g a g4
 }
 
 spirLyr = \lyricmode {
index e0439f321a9fc93f79abf8949d0ad4520af835b8..25771a986c71c972e4add0075931ba8b6856b142 100644 (file)
@@ -1964,14 +1964,14 @@ Translation @expansion{} Tunable context properties.
 Internals Reference:
 @rinternals{Tunable context properties}.
 
-@cindex grob properties
-@cindex properties, grob
-@funindex \override
-
 
 @node The override command
 @subsection The @code{\override} command
 
+@cindex grob properties
+@cindex properties, grob
+@funindex \override
+
 There is a special type of context property: the grob
 description.  Grob descriptions are named in @code{StudlyCaps}
 (starting with capital letters).  They contain the
@@ -4213,16 +4213,16 @@ required.
 Internals Reference:
 @rinternals{TieColumn}.
 
+
+@node Unpure-pure containers
+@subsection Unpure-pure containers
+
 @cindex Scheme, pure containers
 @cindex Scheme, unpure containers
 @cindex pure containers, Scheme
 @cindex unpure containers, Scheme
 @cindex horizontal spacing, overriding
 
-
-@node Unpure-pure containers
-@subsection Unpure-pure containers
-
 Unpure-pure containers are useful for overriding @emph{Y-axis} spacing
 calculations - specifically @code{Y-offset} and @code{Y-extent} - with a
 Scheme function instead of a literal (i.e. a number or pair).
index 89fe8ebb10651a1e7d4ba6298b6ffd7e951f8488..cc737a484f5ca7960fd86f7135ef22d8d2705edf 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 
 @c TODO: add tablature.
@@ -227,12 +227,12 @@ f8 c2 d e
 @end lilypond
 
 
-@item @code{\times 2/3 @{f g a@}}
+@item @code{\tuplet 3/2 @{f g a@}}
 @tab triplets
 @tab
 @lilypond[relative=1]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-\times 2/3 { f8 g a }
+\tuplet 3/2 { f8 g a }
 @end lilypond
 
 
index fa7999e76bf3687c26e2a54de1b4c3a6523ed588..715aa620a74e9f9776c1de10d9621fa59c1ad682 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Editorial annotations
 @section Editorial annotations
@@ -154,10 +154,10 @@ Fingering instructions can be entered using
 c4-1 d-2 f-4 e-3
 @end lilypond
 
-Markup texts may be used for finger changes.
+Markup texts or strings may be used for finger changes.
 
 @lilypond[verbatim,quote,relative=2]
-c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
+c4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3"
 @end lilypond
 
 @cindex thumb-script
@@ -211,10 +211,6 @@ Internals Reference:
 @rinternals{New_fingering_engraver},
 @rinternals{Fingering}.
 
-@knownissues
-By default, numbers greater than 9 are not supported using
-@samp{@var{note}-@var{digit}}.
-
 
 @node Hidden notes
 @unnumberedsubsubsec Hidden notes
@@ -598,7 +594,7 @@ lines.
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 1 4)
+    gridInterval = #(ly:make-moment 1/4)
   }
   \context {
     \Score
index b6afe1b5814ffff7b2377cfc5f12711a4c064ccd..9219cd551417654a771f1365b2e13f8a8f131a87 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Fretted string instruments
 @section Fretted string instruments
@@ -1709,7 +1709,7 @@ music = \relative c' {
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
   \deadNotesOn
-  \times 2/3 { g8 b e }
+  \tuplet 3/2 { g8 b e }
   \deadNotesOff
   < a,\3 c\2 e\1 >1
 }
index 53da1bdf743b8e27e29cd35c72c1d4619f5f8351..437088c936b6d5e87141509358b043f06b64e99a 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @node Repeats
 @section Repeats
@@ -225,11 +225,11 @@ at the start of each alternative, except the first.
 \alternative {
   {
     f2 d |
-    \set Timing.measureLength = #(ly:make-moment 3 4)
+    \set Timing.measureLength = #(ly:make-moment 3/4)
     g4 g g  % optional bar check is allowed here
   }
   {
-    \set Timing.measureLength = #(ly:make-moment 4 4)
+    \set Timing.measureLength = #(ly:make-moment 4/4)
     a2 a |
   }
 }
@@ -391,7 +391,7 @@ layout of repeats.  Its value is a Scheme list of repeat commands.
 
 @table @code
 @item start-repeat
-Print a @code{|:} bar line.
+Print a @code{.|:} bar line.
 
 @lilypond[verbatim,quote,relative=2]
 c1
@@ -404,7 +404,7 @@ As per standard engraving practice, repeat signs are not printed
 at the beginning of a piece.
 
 @item end-repeat
-Print a @code{:|} bar line:
+Print a @code{:|.} bar line:
 
 @lilypond[verbatim,quote,relative=2]
 c1
@@ -660,7 +660,7 @@ use a double-percent symbol.
 
 @lilypond[verbatim,quote,relative=2]
 \repeat percent 4 { c8. <d f>16 }
-\repeat percent 2 { \times 2/3 { r8 c d } e4 }
+\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
 @end lilypond
 
 @snippets
index e44e2e441d8c27090a4a451977a88f29f8738a42..cc69b76764a820681c9c64d48621526d197d949b 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Rhythms
 @section Rhythms
@@ -186,26 +186,38 @@ rests from 128th to maxima (8 x whole) may be printed.
 @cindex tuplets
 @cindex triplets
 
-@funindex \times
-@funindex times
+@funindex \tuplet
+@funindex tuplet
 
-Tuplets are made from a music expression by multiplying all the
-durations with a fraction:
+Tuplets are made from a music expression with the @code{\tuplet}
+command, multiplying the speed of the music expression by a
+fraction:
 
 @example
-\times @var{fraction} @{ @var{music} @}
+\tuplet @var{fraction} @{ @var{music} @}
 @end example
 
 @noindent
-The duration of @code{@var{music}} will be multiplied by the
-fraction.  The fraction's denominator will be printed over or
+The fraction's numerator will be printed over or
 under the notes, optionally with a bracket.  The most common
-tuplet is the triplet in which 3 notes have the duration of 2, so
-the notes are 2/3 of their written length.
+tuplets are triplets: 3@tie{}notes sound within the duration
+normally allowed for@tie{}2:
 
 @lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
+@end lilypond
+
+@cindex tuplet grouping
+@noindent
+When entering long passages of tuplets, having to write a separate
+@code{\tuplet} command for each group is inconvenient.  It is
+possible to specify the duration of one tuplet group directly
+before the music in order to have the tuplets grouped
+automatically:
+
+@lilypond[quote,verbatim,relative=2]
+g2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
 @end lilypond
 
 @cindex tuplet bracket placement
@@ -224,7 +236,7 @@ Tuplets may be nested:
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
 @end lilypond
 
 Modifying nested tuplets which begin at the same musical moment
@@ -296,7 +308,7 @@ Internals Reference:
 @knownissues
 Grace notes may be placed within tuplet brackets, @emph{except}
 when a staff begins with a grace note followed by a tuplet.  In this
-particular case, the grace note must be placed before the @code{\times}
+particular case, the grace note must be placed before the @code{\tuplet}
 command to avoid errors.
 
 @cindex tempo marks within tuplet brackets
@@ -1402,7 +1414,7 @@ So @code{\partial 8} becomes:
 
 @lilypond[quote,verbatim,relative=1]
 \time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
 e8 | a4 c8 b c4 |
 @end lilypond
 
@@ -1434,7 +1446,7 @@ occur, so use @code{\set Timing.measurePosition} instead.
 \time 6/8
 \partial 8
 e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
 r8 e,8 | a4 c8 b[ c b] |
 @end lilypond
 
@@ -1594,8 +1606,8 @@ Explicitly create a @code{Voice} context when starting a piece with
 @funindex timeSignatureFraction
 @funindex \scaleDurations
 @funindex scaleDurations
-@funindex \times
-@funindex times
+@funindex \tuplet
+@funindex tuplet
 
 Polymetric notation is supported explicitly or by manually modifying the
 visible time signature symbol and/or scaling note durations.
@@ -1636,7 +1648,7 @@ affect the autobeaming rules.
     \scaleDurations 3/5 {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c \times 2/3 { c8[ c c] } c4
+      c4. c \tuplet 3/2 { c8[ c c] } c4
     }
   }
 >>
@@ -1949,7 +1961,7 @@ c16 c8
 @cindex beams, with melismata
 
 @warning{If beams are used to indicate melismata in songs, then
-automatic beaming should be switched off with @code{\autoBeamOff}
+automatic beaming should be switched off with @code{@bs{}autoBeamOff}
 and the beams indicated manually.  Using @code{@bs{}partcombine} with
 @code{@bs{}autoBeamOff} can produce unintended results.  See the
 snippets for more information.}
@@ -2032,13 +2044,18 @@ below, or alternatively the default values themselves may be changed
 as explained in @ref{Time signature}.
 
 If a @code{beamExceptions} rule is defined for the time signature in
-force, that rule is used to determine the beam placement.  If no
-@code{beamExceptions} rule is defined for the time signature in force,
-the beam placement is determined by the settings of @code{baseMoment}
-and @code{beatStructure}.
+force, that rule alone is used to determine the beam placement; the
+values of @code{baseMoment} and @code{beatStructure} are ignored.
+
+If no @code{beamExceptions} rule is defined for the time signature
+in force, the beam placement is determined by the values of
+@code{baseMoment} and @code{beatStructure}.
+
+
+@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
 
 By default, @code{beamExceptions} rules are defined for most common
-time signatures, so the @code{beamException} rules must be disabled
+time signatures, so the @code{beamExceptions} rules must be disabled
 if automatic beaming is to be based on @code{baseMoment} and
 @code{beatStructure}.  The @code{beamExceptions} rules are disabled
 by
@@ -2047,41 +2064,35 @@ by
 \set Timing.beamExceptions = #'()
 @end example
 
-
-@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
-
-In most instances, automatic beams will end at the end of a beat.
-The ending points for beats are determined by the context properties
-@code{baseMoment} and @code{beatStructure}.  @code{beatStructure}
-is a scheme list that defines the length of each beat in the measure
-in units of @code{baseMoment}.  By default, @code{baseMoment} is
-one over the denominator of the time signature.  By default,
-each unit of length @code{baseMoment} is a single beat.
+When @code{beamExceptions} is set to @code{#'()}, either due to an
+explicit setting or because no @code{beamExceptions} rules are defined
+internally for the time signature in force, the ending points for
+beams are on beats as specified by the context properties
+@code{baseMoment} and @code{beatStructure}.  @code{beatStructure} is
+a scheme list that defines the length of each beat in the measure in
+units of @code{baseMoment}.  By default, @code{baseMoment} is one
+over the denominator of the time signature.  By default, each unit of
+length @code{baseMoment} is a single beat.
 
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
 c16^"default" c c c c |
+% beamExceptions are unlikely to be defined for 5/16 time,
+% but let's disable them anyway to be sure
+\set Timing.beamExceptions = #'()
 \set Timing.beatStructure = #'(2 3)
 c16^"(2+3)" c c c c |
 \set Timing.beatStructure = #'(3 2)
 c16^"(3+2)" c c c c |
 @end lilypond
 
-If a common time signature is being used, @code{beamExceptions}
-@emph{must} be disabled to enable @code{beatStructure} to work.
-The @code{\set Timing.beamExceptions = #'()} command can always
-be included if beaming is being determined by @code{beatStructure}.
-
 @lilypond[quote,relative=2,verbatim]
 \time 4/4
 a8^"default" a a a a a a a
-
-\set Timing.baseMoment = #(ly:make-moment 1 4)
-\set Timing.beatStructure = #'(1 1 1 1)
-a8^"no change" a a a a a a a
-
+% Disable beamExceptions because they are definitely
+% defined for 4/4 time
 \set Timing.beamExceptions = #'()
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
 \set Timing.beatStructure = #'(1 1 1 1)
 a8^"changed" a a a a a a a
 @end lilypond
@@ -2093,6 +2104,7 @@ enclosing context will apply.
 @lilypond[quote, verbatim,relative=1]
 \new Staff {
   \time 7/8
+  % No need to disable beamExceptions as they are not defined for 7/8 time
   \set Staff.beatStructure = #'(2 3 2)
   <<
     \new Voice = one {
@@ -2136,7 +2148,8 @@ compatible with the new value of @code{baseMoment}.
 
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+% No need to disable beamExceptions as they are not defined for 5/8 time
+\set Timing.baseMoment = #(ly:make-moment 1/16)
 \set Timing.beatStructure = #'(7 3)
 \repeat unfold 10 { a16 }
 @end lilypond
@@ -2227,7 +2240,7 @@ if @code{beamExceptions} is not reset.
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
 \set Timing.beatStructure = #'(3 3 2)
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c8} |
@@ -2244,7 +2257,7 @@ reset @code{beamExceptions}.
 \time 3/4
 % by default we beam in (6) due to beamExceptions
 \repeat unfold 6 {a8} |
-% This will beam (1 1 1) due to beatLength
+% This will beam (1 1 1) due to default baseMoment and beatStructure
 \set Timing.beamExceptions = #'()
 \repeat unfold 6 {a8}
 @end lilypond
@@ -2284,7 +2297,7 @@ beams may end, otherwise
 
 @item
 if a beam-ending rule is defined in @code{beamExceptions}
-for a longer beam-type, use it to determined the valid places
+for a longer beam-type, use it to determine the valid places
 where beams may end, otherwise
 
 @item
@@ -2363,7 +2376,7 @@ in only one staff.
 <<
   \new Staff {
     \time 3/4
-    \set Timing.baseMoment = #(ly:make-moment 1 8)
+    \set Timing.baseMoment = #(ly:make-moment 1/8)
     \set Timing.beatStructure = #'(1 5)
     \repeat unfold 6 { a8 }
   }
@@ -2534,10 +2547,10 @@ the last four 32nd notes are at a constant tempo.
 
 @lilypond[relative=1,verbatim,quote]
 \override Beam.grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\featherDurations #(ly:make-moment 2/1)
 { c16[ c c c c c c c] }
 \override Beam.grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\featherDurations #(ly:make-moment 2/3)
 { c32[ d e f] }
 % revert to non-feathered beams
 \override Beam.grow-direction = #'()
@@ -3633,11 +3646,11 @@ The next bar line then falls at 9/8 rather than 5/4.
 
 @lilypond[quote,verbatim]
 \new Voice \relative c' {
-  \set Timing.measureLength = #(ly:make-moment 5 4)
+  \set Timing.measureLength = #(ly:make-moment 5/4)
   c1 c4 |
   c1 c4 |
   c4 c
-  \set Timing.measurePosition = #(ly:make-moment 5 8)
+  \set Timing.measurePosition = #(ly:make-moment 5/8)
   b4 b b8 |
   c4 c1 |
 }
index 700a00fc5e39a4c19d75417f46fe0724efc85b20..4a02d1faa143070d76f24f7df27002ccbbf58ff5 100644 (file)
@@ -1049,7 +1049,7 @@ not designed to work with lyrics; such that when one of the voices is
 explicitly named in order to attach lyrics to it, the partcombiner will
 stop working.
 
-@code{\partcombine...} functions cannot be placed inside a @code{\times}
+@code{\partcombine...} functions cannot be placed inside a @code{\tuplet}
 or @code{\relative} block.
 
 If @code{printPartCombineTexts} is set and the two voices play the same
index 8352e5a8be91335dc05b44870624f8c332f8f485..ad892f96ebf42648c7b292ed31d58e99c032949f 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @ignore
 GDP TODO list
@@ -1393,7 +1393,7 @@ with the music:
   \remove "Forbid_line_break_engraver"
 } \relative c'' {
   <<
-    { c2. \times 2/3 { c4 c c } c2. | }
+    { c2. \tuplet 3/2 { c4 c c } c2. | }
     { s1 | \break s1 | }
   >>
 }
@@ -1607,7 +1607,7 @@ the section.
 The @code{Page_turn_engraver} reads the context property
 @code{minimumPageTurnLength} to determine how long a note-free section must
 be before a page turn is considered.  The default value for
-@code{minimumPageTurnLength} is @code{(ly:make-moment 1 1)}.  If you want
+@code{minimumPageTurnLength} is @code{(ly:make-moment 1/1)}.  If you want
 to disable page turns, you can set it to something very large.
 
 @example
@@ -1616,7 +1616,7 @@ to disable page turns, you can set it to something very large.
   a4 b c d |
   R1 | % a page turn will be allowed here
   a4 b c d |
-  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
   R1 | % a page turn will not be allowed here
   a4 b r2 |
   R1*2 | % a page turn will be allowed here
@@ -2902,7 +2902,7 @@ than @code{1 16}.
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -2921,14 +2921,14 @@ property can only be changed at the beginning of a score,
 \score {
   <<
     \new Staff {
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
       c8 c8 c8 c8
     }
     \new Staff {
       c8 c8 c8 c8
-      \times 4/5 {
+      \tuplet 5/4 {
         c8 c8 c8 c8 c8
       }
     }
@@ -3042,7 +3042,7 @@ spacing with ragged-right turned on.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3071,7 +3071,7 @@ setting.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3079,7 +3079,7 @@ setting.
  \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3102,10 +3102,10 @@ The @code{proportionalNotationDuration} setting takes a single argument,
 which is the reference duration against that all music will be spaced.
 The LilyPond Scheme function @code{make-moment} takes two arguments
 -- a numerator and denominator which together express some fraction of
-a whole note.  The call @code{(ly:make-moment 1 20)} therefore produces
+a whole note.  The call @code{(ly:make-moment 1/20)} therefore produces
 a reference duration of a twentieth note.  Values such as
-@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)}, and
-@code{(ly:make-moment 3 97)} are all possible as well.
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)}, and
+@code{(ly:make-moment 3/97)} are all possible as well.
 
 How do we select the right reference duration to pass to
 @code{proportionalNotationDuration}?  Usually by a process of trial
@@ -3119,7 +3119,7 @@ larger reference durations space music tightly.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3127,7 +3127,7 @@ larger reference durations space music tightly.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 8)
+      proportionalNotationDuration = #(ly:make-moment 1/8)
     }
   }
 }
@@ -3137,7 +3137,7 @@ larger reference durations space music tightly.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3145,7 +3145,7 @@ larger reference durations space music tightly.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 16)
+      proportionalNotationDuration = #(ly:make-moment 1/16)
     }
   }
 }
@@ -3155,7 +3155,7 @@ larger reference durations space music tightly.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
@@ -3163,7 +3163,7 @@ larger reference durations space music tightly.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 32)
+      proportionalNotationDuration = #(ly:make-moment 1/32)
     }
   }
 }
@@ -3187,12 +3187,12 @@ tuplet.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3211,12 +3211,12 @@ result.  Setting @code{proportionalNotationDuration} fixes this.
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3224,7 +3224,7 @@ result.  Setting @code{proportionalNotationDuration} fixes this.
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
     }
   }
 }
@@ -3242,12 +3242,12 @@ turn on @code{uniform-stretching}, which is a property of
     \new RhythmicStaff {
       c'2
       c'16 c'16 c'16 c'16
-      \times 4/5 {
+      \tuplet 5/4 {
         c'16 c'16 c'16 c'16 c'16
       }
     }
     \new RhythmicStaff {
-      \times 8/9 {
+      \tuplet 9/8 {
         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
       }
     }
@@ -3255,7 +3255,7 @@ turn on @code{uniform-stretching}, which is a property of
   \layout {
     \context {
       \Score
-      proportionalNotationDuration = #(ly:make-moment 1 20)
+      proportionalNotationDuration = #(ly:make-moment 1/20)
       \override SpacingSpanner.uniform-stretching = ##t
     }
   }
@@ -3344,7 +3344,7 @@ property of @code{SpacingSpanner}.  Compare the two scores below:
 
 @lilypond[quote,verbatim,ragged-right]
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   c''8
   c''8
   c''8
@@ -3354,7 +3354,7 @@ property of @code{SpacingSpanner}.  Compare the two scores below:
 }
 
 \new Staff {
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \override Score.SpacingSpanner.strict-note-spacing = ##t
   c''8
   c''8
@@ -3568,7 +3568,7 @@ duration longer, a @q{squeezing} effect occurs:
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
+      \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
     }
   }
 }
index 6a33b69084083a87a31230beb4db4f32727fa9af..e6a085fc56e0b6488be5580168fdd8fafb5e6104 100644 (file)
@@ -1166,11 +1166,7 @@ in markup mode:
 
 @lilypond[quote,verbatim,relative=1]
 g1 bes
-ees-\markup {
-  \finger 4
-  \tied-lyric #"~"
-  \finger 1
-}
+ees\finger \markup \tied-lyric #"4~1"
 fis_\markup { \dynamic rf }
 bes^\markup {
   \beam #8 #0.1 #0.5
@@ -1516,7 +1512,7 @@ size.  For an explanation of fonts, see @ref{Fonts explained}.
     (make-pango-font-tree "Times New Roman"
                           "Nimbus Sans"
                           "Luxi Mono"
-                           (/ (* staff-height pt) 2)))
+                          (/ staff-height pt 20)))
 }
 
 \relative c'{
index 89e08f44098358b35053fb6a59b4d5f40b7cb334..c6d3ee02bc8fe176fc7b578e5d0e3a27a8ba149c 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.17.11"
 
 @node Vocal music
 @section Vocal music
@@ -1857,7 +1857,7 @@ within the lyrics by setting the @code{associatedVoice} property:
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           % show associations clearly.
           \override NoteColumn.force-hshift = #-3
           f8 f g
@@ -3027,7 +3027,7 @@ global = {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index 5def9b0d07750c745c2c2dca08ffb77b0e31fb2c..77d5beaa6009983d39b352cb2b931579d4cbf6c2 100644 (file)
@@ -4,6 +4,13 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
+%% Note: this file works from version 2.17.6
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
 \version "2.17.6"
 
 \header {
index 6f05ed94eda50c4efc88120bf3960a9ab349a313..cedff6bca9e78f04e070f7f248750c808581b007 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, staff-notation, vocal-music"
index 2c74e33ce678a85198a00095d116e86c73bef760..e67d4f2954e7a7785495f94be9dc776e4c7413fe 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "breaks, contexts-and-engravers, staff-notation, workaround"
index f187bd84e8957a2b7bc9bfb4fbaab6b80d6e4719..d3adaa96b5c3e8a473b6a6ace6e3705506b1ec15 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contexts-and-engravers, really-simple, staff-notation"
index ee14a8aff5b52dfef57e7abfda0c4549e378ac4a..fdadc404f4993d960f2d3942c3c8d776ef1aab35 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "chords, specific-notation"
index 5a058474277d6584a3e55d3ce1f49635e63e964c..5912d2d8aa1728e60b98c52e22c0fbb2deae650b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, rhythms"
@@ -26,9 +26,9 @@ sections (enclosed within curly braces).
 
 
 {
-  r16[ g16 \times 2/3 { r16 e'8] }
-  g16( a \times 2/3 { b d e') }
-  g8[( a \times 2/3 { b d') e'] ~ }
+  r16[ g16 \tuplet 3/2 { r16 e'8] }
+  g16( a \tuplet 3/2 { b d e') }
+  g8[( a \tuplet 3/2 { b d') e'] ~ }
   \time 2/4
-  \times 4/5 { e'32\( a b d' e' } a'4.\)
+  \tuplet 5/4 { e'32\( a b d' e' } a'4.\)
 }
index 7f354029fe14650377e8c0d964c58fdd7fc30d64..d50a2a2459b2920b762a5dde26fef03cf4ea49b3 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "percussion, preparing-parts, really-simple, rhythms, specific-notation"
index 80df7dc6d0539e8beb736e61b6737f1663db7fc4..979460c6dc16777bf96bcd569abc8a95a9f0fe7d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "staff-notation, symbols-and-glyphs, vocal-music"
diff --git a/Documentation/snippets/adding-links-to-objects.ly b/Documentation/snippets/adding-links-to-objects.ly
new file mode 100644 (file)
index 0000000..95e68c8
--- /dev/null
@@ -0,0 +1,90 @@
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
+\version "2.17.11"
+
+\header {
+  lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides"
+
+  texidoc = "
+To add a link to a grob-stencil you could use @code{add-link} as
+defined here. Works with @code{\\override} and @code{\\tweak}.
+Drawback: @code{point-and-click} will be disturbed for the linked grobs.
+
+Limitation: Works for PDF only.
+
+The linked objects are colored with a separate command.
+
+"
+  doctitle = "Adding links to objects"
+} % begin verbatim
+
+% Code by Thomas Morley
+% Contributed by harm6
+% Tested with 2.14.2 up to 2.17.9
+
+#(define (add-link url-strg)
+  (lambda (grob)
+    (let* ((stil (ly:grob-property grob 'stencil)))
+      (if (ly:stencil? stil)
+        (begin
+          (let* (
+             (x-ext (ly:stencil-extent stil X))
+             (y-ext (ly:stencil-extent stil Y))
+             (url-expr (list 'url-link url-strg `(quote ,x-ext) `(quote ,y-ext)))
+             (new-stil (ly:stencil-add (ly:make-stencil url-expr x-ext y-ext) stil)))
+          (ly:grob-set-property! grob 'stencil new-stil)))
+        #f))))
+
+%%%% test
+
+urlI =
+"http://lilypond.org/doc/v2.14/Documentation/notation/writing-pitches"
+
+urlII =
+"http://lilypond.org/doc/v2.14/Documentation/notation/rhythms"
+
+urlIII =
+"http://lilypond.org/doc/v2.14/Documentation/notation/note-heads"
+
+urlIV =
+"http://lilypond.org/doc/v2.14/Documentation/notation/beams"
+
+urlV =
+"http://lilypond.org/doc/v2.14/Documentation/notation/note-head-styles"
+
+\relative c' {
+  \key cis\minor
+
+  \once \override Staff.Clef.color = #green
+  \once \override Staff.Clef.after-line-breaking =
+    #(add-link urlI)
+
+  \once \override Staff.TimeSignature.color = #green
+  \once \override Staff.TimeSignature.after-line-breaking =
+    #(add-link urlII)
+
+  \once \override NoteHead.color = #green
+  \once \override NoteHead.after-line-breaking =
+    #(add-link urlIII)
+
+  cis'1
+  \once \override Beam.color = #green
+  \once \override Beam.after-line-breaking =
+    #(add-link urlIV)
+  cis8 dis e fis gis2
+  <gis,
+   % With 2.17.9 you could use the command below to address the Accidental.
+   % \tweak Accidental.before-line-breaking #(add-link url)
+   \tweak color #green
+   \tweak after-line-breaking #(add-link urlV)
+   \tweak style #'harmonic
+   bis
+   dis
+   fis
+  >1
+  <cis, cis' e>
+}
index 05b4e9ba0770a68a6ba6af814923cad9e996d9f6..199c2d8bb87915b55ed067b0aa12bb5520c41b5c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, workaround"
index d442d817ec665bbe71ac326f30e2c3315820b025..b8f3f4970602feeb41964fb9fbfb44ff401f498f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index e7bcf160f125bdd413839b07dcff7de29486acfb..f13e68d03522a86e4bef12c4b0a69dd8f0be0a97 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "correction-wanted, spacing, text, vocal-music, workaround"
index 6b0b03478d7ffb50f8b414d93ae7007a63eb7feb..90f840cbf229e9e27868fc00b50d73364a90d845 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index b67aeac03a360a4c01f1a2ddfa57c0e0b5842de2..addd41a301deade569a5559d800091465fa26f9e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "paper-and-layout, text, titles"
index 321f4cb3d748742a6cab82106332dcf0bd4c86d3..4f274f86a6054239cd3649c8e39bcf55ca8d3210 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 8bfd4b76aad6cd3f60d5bc26fe9dc6644095e2ec..adf4cbbd6ac962fb45564f6169700560bb9fe66f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "text"
index c25eccd8a16d237457239aace1a6ea3b390118c7..e42018ead6faa891338868c28f38d9e97db491e7 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "text"
index d4a211ffe549e6a8268615e6989bc4ac25cdadd6..bcd495713f4aa6838282b3308256873c13bc1c36 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, fretted-strings, spacing, specific-notation"
index 719aa97ea12a02f12900037138a8beef78d8ef53..5c7801ad47b2a3939e7e9f2283c45c91d8d155aa 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, tweaks-and-overrides"
index db790153579531ce159097fb409051547424a0e8..38aaf69ea71c402f47c37d849fe798f8e32216fa 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, rhythms"
index 02a153baf72892b55707de56674247841d2bdac0..b48a1148d119bde1ad68bf952521e842d30c14b6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, really-simple, tweaks-and-overrides"
index c16659a403488d4252e5572ccc425cadb590dbcc..effd4009637782a368116851a835142cfc4f0a6a 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation, real-music, really-cool, template"
index 84e12ce3dc06aa706ede0f64dab6fa9f24342217..7fb11e4866217124123095e0a437d2284fc9c791 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation"
index 055fd10b3c5e15e598cfa2e26678916a1955215a..81f5816c0a56026213f67e6a06fe3c25ce693bbe 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "template, vocal-music"
@@ -87,7 +87,7 @@ tick = \markup {
       \layout {
         \context {
           \Score
-          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2)
+          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
         }
         \context {
           \Staff
index 62dad7ec1c415843e4cc01907b3fc8960c568b09..113ee328b7e27a225e0b6e6f1122a642dd030fdd 100644 (file)
@@ -42,7 +42,7 @@ fragment = {
 \new Staff {
   \transpose c d
   \relative c' {
-    \set shapeNoteStyles = ##(do re mi fa
+    \set shapeNoteStyles = #'#(do re mi fa
                                #f la ti)
     \fragment
   }
@@ -50,7 +50,7 @@ fragment = {
   \break
 
   \relative c' {
-    \set shapeNoteStyles = ##(cross triangle fa #f
+    \set shapeNoteStyles = #'#(cross triangle fa #f
                                mensural xcircle diamond)
     \fragment
   }
index 3d1708e4556223445e1dab4c2f9e7cb87906f467..ef813f21ba7a026d875c202648523d751b2345df 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "world-music"
index 2ff6e85ab8ee11224603cf655ddc810993254c34..057430dc868825b6785775307eb45f284951e5a5 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index d824ef92e567f1e804e2931e4f6ea80b7b691c75..40e9e04d68ee6d365fea613b03c4af546c002210 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "automatic-notation, connecting-notes, rhythms"
@@ -34,10 +34,10 @@ specified in @code{baseMoment}).
       }
     >>
     \oneVoice
-    \set baseMoment = #(ly:make-moment 1 8)
+    \set baseMoment = #(ly:make-moment 1/8)
     \set beatStructure = #'(2 2 2 2)
     b32^"baseMoment 1 8"[ a g f c' b a g]
-    \set baseMoment = #(ly:make-moment 1 16)
+    \set baseMoment = #(ly:make-moment 1/16)
     \set beatStructure = #'(4 4 4 4)
     b32^"baseMoment 1 16"[ a g f c' b a g]
   }
index 9af5fffa99995a2950d7f2526faf37c281f1e73e..83f9ea878f649c230f3739b502579a503abc79c9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "chords, editorial-annotations, rhythms, tweaks-and-overrides"
index d5b9e07ea93cd0c4f73828fa57c8871db66832d4..a09e8853d06277e3d1fbb12e29b229982924f3fb 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
@@ -22,7 +22,7 @@ levels:
 \relative c'' {
   \time 5/4
   % Set default beaming for all staves
-  \set Score.baseMoment = #(ly:make-moment 1 8)
+  \set Score.baseMoment = #(ly:make-moment 1/8)
   \set Score.beatStructure = #'(3 4 3)
   <<
     \new Staff {
index 1b60a49d41b2c8c2432be6b20ef69d657f5d38bb..4b9374e5eb49ace7c0f8ebd47bd5d8a833fadbc7 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index c9139bafb1f52c1702be5ee2dec65f48fb437744..e5a4277ea834a7fa02e09880287326dd0d650edf 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, really-cool, text"
index c1af6d24dae150e249a5c20eeb5200fbf358fb72..80e046bcd7137480f8d2861b715db14182cf7709 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, symbols-and-glyphs"
index db3ba99f0dd0ed08041e97408fac21f85c51cc33..48f10495df904319b33fdcf3561a8d07a002cade 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, expressive-marks, symbols-and-glyphs"
index c42000b8af319116f9f75fd2a88ca33a8a02e01a..573058b57372e4a049a94e5e172adcb3bf595053 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, symbols-and-glyphs, tweaks-and-overrides"
index 67e197227006f1dd368930a9ea1b8545ab881f3c..2403958853e027b55bdbbaa4afa46f9a9abe854a 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, really-cool, scheme-language, text"
index 741edb8388c023baa88f9313ca48c7bec6cad62d..8175b0e3cc95912e47a9cbf73c22b20b80178288 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, really-simple, simultaneous-notes, specific-notation, tweaks-and-overrides"
index 6409e4b15d31b8eca58caa87c205ef6652658641..3a1d1210b244cbcde27c6b23d0fac5cfd09d5837 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 118341b7a8a8acc192c31b6b0b3ec15b28620fe9..a61c79e52c3fd5ea69ef596829d08d2947148b54 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index b174cb5bd84b25e691639f72afe775a87e5888dd..44bd2576bd890839d4bd12f8c7615a69d19001b1 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings"
index 82d066eac5e22a507ef34f5212f62813fed46c00..29e4454e70fa6ce16c4250c31bd1c3604844fa3d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contexts-and-engravers, midi, real-music"
index 4ef7475f41f5f34362edda04ca388ed4925d0f70..cdab93592230878746f058e3c17495f3f099817a 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, vocal-music"
index 002aaf7216b57a008ba17664034236b9f1808256..028b57124f4a6204792c06d7c3a8c35db588a862 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index 3f6f3db167de6e6c0e24fd51544438f4896fa133..bb293680eae66e726061c872975512e4df5ba38b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches"
index 33978945b0fe86346959fdded696b52ca2b6c978..08127f589a7175226f8a118b9b40966cd0a5f417 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index 0719c560b1a62836e5c91dce7937397bb6bb91ad..6486531e597808d66d9ee9fc6edd23bbe3856862 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, rhythms"
index c4c53e5c320b6f2301d7d0f773f4ee832b863c96..b8e4f16bee28908961c23570122bb01d6dcbea4c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "specific-notation, staff-notation"
index ed30920b49eed08d4dd1aa7acc261f48e01bdcc6..7261a0dfe092db6ebe5bb4ae725ed3635b7b4577 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "paper-and-layout, staff-notation, tweaks-and-overrides"
index 5d4d8891066ccab518953da92a8a91ad4404f417..a33a7fb791f240c1d5dec127248184e99f9df6ae 100644 (file)
@@ -1,18 +1,18 @@
-%% DO NOT EDIT this file manually; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
-%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
-%% and then run scripts/auxiliar/makelsr.py
-%%
-%% This file is in the public domain.
-\version "2.17.6"
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.17.11
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
 
   texidoc = "
 By default, only the numerator of the tuplet number is printed over the
-tuplet bracket, i.e., the denominator of the argument to the
-@code{\\times} command. Alternatively, num:den of the tuplet number may
+tuplet bracket. Alternatively, num:den of the tuplet number may
 be printed, or the tuplet number may be suppressed altogether.
 
 "
@@ -20,11 +20,12 @@ be printed, or the tuplet number may be suppressed altogether.
 } % begin verbatim
 
 
+
 \relative c'' {
-  \times 2/3 { c8 c c }
-  \times 2/3 { c8 c c }
+  \tuplet 3/2 { c8 c c }
+  \tuplet 3/2 { c8 c c }
   \override TupletNumber.text = #tuplet-number::calc-fraction-text
-  \times 2/3 { c8 c c }
+  \tuplet 3/2 { c8 c c }
   \override TupletNumber.stencil = ##f
-  \times 2/3 { c8 c c }
+  \tuplet 3/2 { c8 c c }
 }
index 4da77bd8520f646be5e8ce4145c3894f9e9b2095..74a6d43c10c7bbaf2a63be739f53cbd97439cfe8 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.16.0
-\version "2.16.0"
+%% Note: this file works from version 2.17.11
+\version "2.17.11"
 
 \header {
   lsrtags = "workaround, contexts-and-engravers, contemporary-notation, rhythms"
   \new Staff {
     \scaleDurations 8/5 {
       \time 6/8
-      \set Timing.measureLength = #(ly:make-moment 6 5)
+      \set Timing.measureLength = #(ly:make-moment 6/5)
       b8 b b b b b
       \time 2/4
-      \set Timing.measureLength = #(ly:make-moment 4 5)
+      \set Timing.measureLength = #(ly:make-moment 4/5)
       b4 b
     }
   }
index 16ed079f6e578e48bedf99278136535810aab641..e8890d30adb5135235a86e4494223916190791f6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, pitches, really-cool"
index 0a8477adc57f1565ce54d8db0d7eeb19e9dacf29..a81ee58f0c6b38df2bdcd6dcacd3f11a479e633c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "simultaneous-notes, syntax-and-expressions, text"
index 9421a12fb1363cb71a39872a9cb933ffd1f720bf..befdb6134c85f1316a198abcf44a07f8e67aabf9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index f2b61e8e8dbd9ef0eb9b1c599b1965c69de8bf9d..dc911ccbcebc1264617f4fecde1d57a3ca8e4282 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 7d9d563318bb33526d5cb0b3843727aebc62bf1e..8892571d83d0b6f3ad5eca01be77de0a8109a267 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, expressive-marks, specific-notation"
index 4df07c679e00b1d4af621b2058538ecdfb7ff00b..6a9f070276d0c867111b298982b2a5e564b70d41 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index d4091b033dea85aa784312116cfed89a28efbb0b..255b3dbffa24a98d320e2ad459ed4feefc559f21 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index 736114f59b744810c01dd15fbfb5705c6946f82d..9c74de6b453cd25db13f1ef9ac3bfa42f30e5cdf 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
@@ -23,9 +23,9 @@ bracket), @code{#f} (never print a bracket) or @code{#'if-no-beam}
 
 
 music = \relative c'' {
-  \times 2/3 { c16[ d e } f8]
-  \times 2/3 { c8 d e }
-  \times 2/3 { c4 d e }
+  \tuplet 3/2 { c16[ d e } f8]
+  \tuplet 3/2 { c8 d e }
+  \tuplet 3/2 { c4 d e }
 }
 
 \new Voice {
index dba460587b29c125f96217c651538f640cf64652..c780dedcc3736c4d4405d89cb732ae51b34bd440 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks, tweaks-and-overrides"
index 343279e64bc3c5c2213d10950eac33f9ec86723f..22476cebfbccd592b6b3e0bdad5a403651d5ef7f 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.16.0
-\version "2.16.0"
+%% Note: this file works from version 2.17.11
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, real-music, really-cool, scheme-language"
@@ -25,7 +25,7 @@ Planets.
 rhythm =
 #(define-music-function (parser location p) (ly:pitch?)
    "Make the rhythm in Mars (the Planets) at the given pitch"
-  #{ \times 2/3 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #})
+  #{ \tuplet 3/2 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #})
 
 \new Staff {
   \time 5/4
index ba4ccc08c220dcbad54ca3a551f62d6959a7423d..85f596d7edf3bc3312868ecd549c718055b17917 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.13"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks, scheme-language, staff-notation, tweaks-and-overrides"
@@ -28,11 +28,6 @@ fifty =
 #(make-music 'FingeringEvent
              'digit 50)
 
-finger =
-#(define-music-function (parser location digit) (integer?)
-   (make-music 'FingeringEvent
-               'digit digit))
-
 #(define (calc-finger-without-warning grob)
    (let* ((event (event-cause grob))
          (digit (ly:event-property event 'digit)))
index 3dbde1f7425a8beab5083490369aa19644202e7c..16b88aa76369846cbdc8f064cef0cd40ac5a975f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
index 5e18e550e2936019fde484e5acf52538dcf0ff33..9bba146818db333801ae91ebf65c6b924b742686 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
index cb4ec966af60d2cecfad24d90c23f89aad0071df..bca3a3c34f5f855da8271656a0317bbd2825c708 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "chords, keyboards, tweaks-and-overrides, workaround"
index b653e146ac31d4649d2b4237277033b16a9b562b..fc6b85d4636e00d6ef0dd7b4f223e7c7cb7d9cc2 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation, specific-notation, symbols-and-glyphs, tweaks-and-overrides"
index f9d5816c3716fa9af9d9e956682effbd64e67487..c4ea5e813312b0fbd6382f535517b8ed3a3010ea 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
index 57032ef0fd226deddea079e835a7f87ea479ce73..5df731a3db45f25e2ac34c8be62b0ba84f7f87a2 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
index 50ff9bc0cda6324f42da991d69ae65a725c612b1..2e2daecefbbf3fe43b6588173f1c0e6ccd4ac0b0 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations"
index bdd354fce7da6280c378153fb7efa6942fc1d412..6ba7858ccae789864e508d03831ba242f27aaea6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings"
@@ -108,7 +108,7 @@ primeros = {
   \layout {
     \context {
       \Score
-      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
+      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     }
   }
   \midi { }
index 86d0906e06a4227e2bd1b2180602d308ac2bcbac..7d8059e50f2bf663ff4ad7d3e0c147a3b07641de 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "staff-notation, tweaks-and-overrides"
index 902541ce0c8ccefebf086716c56a8d750eb105ee..1e65f3df44151ee868ed66009ad771d57fb79e10 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "chords, simultaneous-notes, workaround"
index d6c8d46a2a2534599c2d762f3ae70d91b76de6ed..d8157d89f840ba776be64dacc5d49e58aa65fc49 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "devel, scheme-language, tweaks-and-overrides"
index a95c7739b5bebaee032dd021cf4f38c4102c6703..3151abc0d943463e2f4ebd8462bf7fe185a9d636 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides"
index 44cfe8c7a1f2f02f64942f28a19ca8df7fb58aa2..0a63d26180f20ed80ae59938ad1f431daeae378f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations"
index 196a3d8c81a5ccc935cf76a735d99ec12e880586..fbacd05768854dd21d9cbf333a9d074c8cb221d0 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides"
index 8b488aae5c89519e45e122d66bc68f82c618632e..6f500e1abc3cb75c34b86e91516b0fc10589df07 100644 (file)
@@ -1,4 +1,5 @@
 adding-fingerings-to-a-score.ly
+adding-links-to-objects.ly
 allowing-fingerings-to-be-printed-inside-the-staff.ly
 alternative-bar-numbering.ly
 analysis-brackets-above-the-staff.ly
index e6b962a5577363ac5aef7cfb20e4f79279f7bebe..5d5ed8e8bc386871eb384c8a4f68943a7e66bdbe 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index 76bf91d1ce127dde4f8ca20714f4861876e0e9eb..5cb6ff38825f102e73912323f77255ccf6ed590b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 1338e8c1756b0e71bfe21795d0e30096f81070db..265f4f4b1fc84d36033f9ab18080fd52bb6101e4 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "repeats, rhythms"
index 384c90017e2f978cb6f9f2bc1bb421f7ad27bac0..5e67e60d479c112c612c57e568dfe9d111641aca 100644 (file)
@@ -1,34 +1,36 @@
-%% DO NOT EDIT this file manually; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
-%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
-%% and then run scripts/auxiliar/makelsr.py
-%%
-%% This file is in the public domain.
-\version "2.16.0"
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.17.11
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, syntax-and-expressions"
 
   texidoc = "
 The property @code{tupletSpannerDuration} sets how long each of the
-tuplets contained within the brackets after @code{\\times} should last.
+tuplets contained within the brackets after @code{\\tuplet} should last.
 Many consecutive tuplets can then be placed within a single
-@code{\\times} expression, thus saving typing.
-
-In the example, two triplets are shown, while @code{\\times} was
-entered only once.
-
-
-Read the relevant sections of the Notation Reference for more
-information about @code{ly:make-moment}.
+@code{\\tuplet} expression, thus saving typing.
 
+There are several ways to set @code{tupletSpannerDuration}.  The command
+@code{\\tupletSpan} sets it to a given duration, and clears it when
+instead of a duration @code{\\default} is specified.  Another way is
+to use an optional argument with @code{\\tuplet}.
 "
-  doctitle = "Entering several tuplets using only one \\times command"
+  doctitle = "Entering several tuplets using only one \\tuplet command"
 } % begin verbatim
 
 
+
 \relative c' {
   \time 2/4
-  \set tupletSpannerDuration = #(ly:make-moment 1 4)
-  \times 2/3 { c8 c c c c c }
+  \tupletSpan 4
+  \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c }
+  \tupletSpan \default
+  \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c }
+  \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c }
 }
index 6f469e15c1ff1754c26934279612d082cfa97998..f9f5e9b908c8cc2da81077d29d8a30aefbeeb9e0 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -28,7 +28,7 @@ Expressive headword
 %   \context {
 %      \Score
 %      \override SpacingSpanner.base-shortest-duration =
-%         #(ly:make-moment 1 20)
+%         #(ly:make-moment 1/20)
 %   }
 %}
 
index 8b76e0204d938fa0f8990644f6b9a19060c51a7d..b3ae8877bafd562402553e263291873588a8c534 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index b9cdf44f71750fde290969b73b07892672c6ecee..9363e057777733c72a91f99b7461108eda4f875c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "keyboards, tweaks-and-overrides"
index e4ea09092fa0cddc632e2df4394ad8c2067a735a..acb060ae1f73d530ebbaa05893a59b8b4fffa02d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "symbols-and-glyphs, winds"
index b24c847840e6f7a88b577dad8ab635367c80b6b9..0583274b6ca0a074332735602aa3b1f6df81a065 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings, specific-notation, stylesheet, version-specific"
@@ -148,7 +148,7 @@ part = \relative c' {
   r4
 
   \tupletOff
-  \times 4/5 {
+  \tuplet 5/4 {
     <a e' a cis e>16^\xUp
     \headsOff
     <a e' a cis e>^\aUp
@@ -161,7 +161,7 @@ part = \relative c' {
   r4
 
   \tupletsOff
-  \times 2/3 {
+  \tuplet 3/2 {
     <a e' a cis e>8^\pDown
     \headsOff
     <a e' a cis e>^\xUp
@@ -169,7 +169,7 @@ part = \relative c' {
     \headsOn
   }
 
-  \times 2/3 {
+  \tuplet 3/2 {
     <a e' a cis e>8^\pDown
     \headsOff
     <a e' a cis e>^\xUp
@@ -177,14 +177,14 @@ part = \relative c' {
     \headsOn
   }
 
-  \times 2/3 {
+  \tuplet 3/2 {
     <a e' a cis e>8^\pDown
     \headsOff
     <a e' a cis e>^\xUp
     <a e' a cis e>^\iUp
     \headsOn
   }
-  \times 2/3 {
+  \tuplet 3/2 {
     <a e' a cis e>8^\pDown
     \headsOff
     <a e' a cis e>^\xUp
@@ -194,22 +194,22 @@ part = \relative c' {
 
   \tupletsOff
   \override Beam.positions = #'(2 . 2)
-  \times 2/3 {
+  \tuplet 3/2 {
     a8^\markup{ \small p }
     <e' a>^\strokeUpGolpe
     <e a>^\strokeDown
   }
-  \times 2/3 {
+  \tuplet 3/2 {
     a,8^\markup{ \small p }
     <e' a>^\strokeUpGolpe
     <e a>^\strokeDown
   }
-  \times 2/3 {
+  \tuplet 3/2 {
     a,8^\markup{ \small p }
     <e' a>^\strokeUpGolpe
     <e a>^\strokeDown
   }
-  \times 2/3 {
+  \tuplet 3/2 {
     a,8^\markup{ \small p }
     <e' a>^\strokeUpGolpe
     <e a>^\strokeDown
index fb387f9b69d739bdaede5326c280368a491d9979..01f8c5ad79e67d11ad583710844907a26049b74b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, winds"
index e2413c73b20d20d72d420b530673904820e34e88..d8e5f3bc730f7cdd29216083d524d741673ecc53 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "simultaneous-notes, tweaks-and-overrides"
index 6ab4f3706fd8c802af1ccb10a13c4d51a19e3053..bf9fa536d23075b1e05a7586d996aa050042a5f9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "vocal-music"
index 244eefef50812637844cdd2bf70420ef47fd75a4..063c1c7804e1bd6996fcbc8292416051bf911131 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "staff-notation, workaround"
index 7ae4dead641cf49548a3ddc6de5cebed34c8ff6a..c4a4eb142bb4023adfe1d23698ba531075c447b6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
index 934925104404873a9f4c76236a56a154d5097ace..ad985432eaa461d88a65f4e767c29ff88332996a 100644 (file)
@@ -4,13 +4,13 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.17.6
+%% Note: this file works from version 2.17.11
 % INSPIRATIONAL HEADER FOR LILYPOND DOCUMENTATION fretted-strings %
 % Passage from Johann Kaspar Mertz "Opern Revue, Op. 8, no. 17"   %
 % on melodies from Bellini's "Norma"                              %
 %*****************************************************************%
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -81,22 +81,22 @@ melody = \relative c {
   R1 % m. 5
 
   e'4^\benmarcato e8. d16-4
-  d4-4 \times 2/3 { \sfou \FO #'-0.3 #'0.6 <c-2>4 b8 } | % end of m. 6
+  d4-4 \tuplet 3/2 { \sfou \FO #'-0.3 #'0.6 <c-2>4 b8 } | % end of m. 6
 
   \FO #'-0.3 #'0.3
-  <a-3>4 \times 2/3 { c4 b8 } a4 e'8. e16 | % m. 7
+  <a-3>4 \tuplet 3/2 { c4 b8 } a4 e'8. e16 | % m. 7
 
   \FO #'-0.3 #'0.3
-  <g-4>4 \times 2/3 { \sfol \FO #'0.3 #'0.0 <f-1>4 e8 } e4  % beg of m. 8
-  \times 2/3 { \sfou <d-4>4 c8 } | % end of m. 8
+  <g-4>4 \tuplet 3/2 { \sfol \FO #'0.3 #'0.0 <f-1>4 e8 } e4  % beg of m. 8
+  \tuplet 3/2 { \sfou <d-4>4 c8 } | % end of m. 8
 
-  b4 \times 2/3 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 <b-0>4 e | % end of m. 9
+  b4 \tuplet 3/2 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 <b-0>4 e | % end of m. 9
 
-  e4 e8. d16-4 d4 \times 2/3 { c4 b8 } | % m. 10
+  e4 e8. d16-4 d4 \tuplet 3/2 { c4 b8 } | % m. 10
 
-  \times 2/3 { a4 a8 b4 c8 } % beg of m. 11
+  \tuplet 3/2 { a4 a8 b4 c8 } % beg of m. 11
   \sfou \FO #'-0.3 #'0.3
-  <d-4>4^\< \times 2/3 { e4 <d f>8\! } | % end of m. 11
+  <d-4>4^\< \tuplet 3/2 { e4 <d f>8\! } | % end of m. 11
 }
 
 bass = \relative c {
@@ -116,21 +116,21 @@ bass = \relative c {
   %% new section starts here in A minor
   \set Score.beamExceptions = #'()
   \once \override TextScript.staff-padding = #1.7
-  \times 2/3 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5
+  \tuplet 3/2 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5
 
-  \times 2/3 { a,8\pdolce e' a c a e } % beg m. 6
-  \times 2/3 { e,8 \sfou <e'-3> <gis-1> c gis e } | % end m. 6
+  \tuplet 3/2 { a,8\pdolce e' a c a e } % beg m. 6
+  \tuplet 3/2 { e,8 \sfou <e'-3> <gis-1> c gis e } | % end m. 6
 
-  \times 2/3 { a,8 <e'-2> a c e, b' a, e' a c a e } | % m. 7
+  \tuplet 3/2 { a,8 <e'-2> a c e, b' a, e' a c a e } | % m. 7
 
-  \times 2/3 { f,8 f' a \sfol \FO #'0.3 #'-0.5 <d-4> a f fis, d' a' d a d, } | % m. 8
+  \tuplet 3/2 { f,8 f' a \sfol \FO #'0.3 #'-0.5 <d-4> a f fis, d' a' d a d, } | % m. 8
 
-  \times 2/3 { <g,-3>8 d' g d' g, d % beg m. 9
+  \tuplet 3/2 { <g,-3>8 d' g d' g, d % beg m. 9
     \sfod \FO #'0.0 #'-2.0 <gis,-4> \sfou <e'-2> <gis-1> b gis e } | % end m. 9
 
-  \times 2/3 { a,8 e' a c a e e, e' gis c gis e } | % m. 10
+  \tuplet 3/2 { a,8 e' a c a e e, e' gis c gis e } | % m. 10
 
-  \times 2/3 { a,8 e' a b a e f, f' a d a f } | % m. 11
+  \tuplet 3/2 { a,8 e' a b a e f, f' a d a f } | % m. 11
 }
 
 \score {
index a62c85dddd4ee385dbb7fbc438933ea3c52acf4c..ef74586b7cdf6aaa8f5f7900bd0b6cdf47dd6ff6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings"
index af7d81868d807c443683a6388c3c3ce47c1af727..cf2bfb23e93e8b7465c1065c24de01b8c1d2718f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, really-cool, scheme-language"
@@ -29,7 +29,7 @@ get different random note patterns, just change this number.
                   (make-event-chord
                    (list
                     (make-music 'NoteEvent
-                                'duration (ly:make-duration 2 0 1 1)
+                                'duration (ly:make-duration 2 0 1/1)
                                 'pitch (ly:make-pitch
                                         (quotient idx 7)
                                         (remainder idx 7)
index c2182e123a3130279d1910ca41e18d86e5949b07..cc30a8b2bf262ebb4853e3aa620e6eecf15403fa 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "automatic-notation, really-cool, scheme-language"
@@ -78,7 +78,7 @@ modified to inser all collected scores so far to the book.
         (lambda (parser)
           (let* ((music (make-music 'EventChord
                           'elements (list (make-music 'NoteEvent
-                                            'duration (ly:make-duration 2 0 1 1)
+                                            'duration (ly:make-duration 2 0 1/1)
                                             'pitch (ly:make-pitch 0 pitch 0)))))
                  (score (scorify-music music parser))
                  (layout (ly:output-def-clone $defaultlayout))
index abb031df093b1fbf27fb2d166a4b783351daf401..254a266304f0467cf319f06072150e209cab3341 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations"
@@ -49,7 +49,7 @@ properties.
       % set up grids
       \consists "Grid_point_engraver"
       % set the grid interval to one quarter note
-      gridInterval = #(ly:make-moment 1 4)
+      gridInterval = #(ly:make-moment 1/4)
     }
     \context {
       \Score
index cd425b79cb2544611efe416778aa8ed5e7ff55fe..f8203c66466ec3976dbd8874a3ffe8bb600a54c7 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations"
@@ -58,7 +58,7 @@ this snippet.
     \context {
       \Staff
       \consists "Grid_point_engraver"
-      gridInterval = #(ly:make-moment 1 8)
+      gridInterval = #(ly:make-moment 1/8)
       % set line length and positioning:
       % two staff spaces above center line on hidden staff
       % to four spaces below center line on visible staff
index ebfcda051323494a825a957fc9d52209c452a18a..e49485b897b7fcd873b1cadcdbde7602b3031d3d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index f8fdea629f4573e5b5a1d27232a4c9a8edb29555..ce82f08d2b527bb0228162ae75ac98b90464879b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, percussion, real-music, rhythms"
index 1c3c4ea4ea590867214e11a58917e8ad840b1301..db44168bbb85dc6fbe334845c622a9dd8c78818f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches"
index 682e2d5421e3f4db6d64481b1bfaf7bfac35ad81..20f5a1aa3016f7f635287cef097a87f18bfb31b0 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index 5a57a7a743795a4ff42fd4b41f832d68d0ec270b..b336b35caf5dd57ff28804e2c7bab586698813ed 100644 (file)
@@ -4,6 +4,13 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
+%% Note: this file works from version 2.17.6
+%% DO NOT EDIT this file manually; it is automatically
+%% generated from LSR http://lsr.dsi.unimi.it
+%% Make any changes in LSR itself, or in Documentation/snippets/new/ ,
+%% and then run scripts/auxiliar/makelsr.py
+%%
+%% This file is in the public domain.
 \version "2.17.6"
 
 \header {
index cbcd2bc9c724c931b57be795526ef4f3feb74547..6b2a0ecc74af7124ace167aff732447e7c3d22bc 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings, specific-notation, tweaks-and-overrides"
index e7eb16dda18ac6cf6d8eb8a4f2cc08e6bc7b38df..feb49944e67d972480ca6a91bedeebd9d1e3fb07 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks, staff-notation, tweaks-and-overrides"
index 12d760f3ff1e1c2fd50bdb34e9ce9ad665468246..0116ec43c36f19e25300ac09bf17f4a924618732 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks, staff-notation, tweaks-and-overrides"
index bbb2f9fbd6b03ca3d9aa619d0d2ecaba3dcce8d5..032feea8891faae122aabf8d7286f7463814eca4 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "keyboards, real-music"
index c8378a2f1da094584efeb517d7d55663c64ffbc4..fcd1e580f9752fe78b74fe9e7fedae2108dec1bc 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index d556d5b80d5e820055a1658e6792bb3bb8ab894b..571723635ff6d111ddb4af432905613293f1767e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "real-music, staff-notation"
@@ -39,8 +39,8 @@ tuning = \markup {
 
 \relative c'' {
   \time 4/8
-  \times 2/3 { c8 d e } \times 2/3 { c d e }
-  \times 2/3 { c8 d e } \times 2/3 { c d e }
+  \tuplet 3/2 { c8 d e } \tuplet 3/2 { c d e }
+  \tuplet 3/2 { c8 d e } \tuplet 3/2 { c d e }
   g8 a g a
   g8 a g a
 }
index 150474729739106b2e9346033ece701b7c7db1f0..d0e244388fb62835aaa193bb8b25cf66d0eab46b 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, tweaks-and-overrides"
index ffc7a1e5626144b40adb7381d2a363fa604adf36..a0d43d51d28941d94d6b0f02da982b96b85efd54 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index d125dc80386fea60213aa6d6d411ac5db08ba80e..c2b459e8109dffc1f37ff0f65634f121de96f717 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "connecting-notes, contemporary-notation, expressive-marks, fretted-strings, keyboards, specific-notation"
index 93086da94c1aae14b51da5f788c2c52e00eb0896..906e546fbb698cc232ab966e100185c83f9a9525 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index 9167330fe64826c539b5c3ff19df484be2f658b2..fde77698fa3c808127fb126947479bc2204a5c65 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, text, vocal-music"
index b4d11b13d7fdd5c8eb2c6ff1f9df4be7fb6c8b96..7afb6ebf81ebe419ed7462f9969d714ca1b803b7 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, rhythms"
index 1cf8befaa02315be7d88b4d23a88acb2baf736b9..c22b373441e7311af1930f550367e8942dc2f753 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, really-cool, staff-notation, workaround"
index fe444152341330962595b2cb43fd74a9d5b5ba16..02a914a5f4ab4259a8927b8bf522df3a06b9a11f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "connecting-notes, rhythms, tweaks-and-overrides"
index a836fd38d17f4eccc3637fcd9fcc8ce14b31744a..81b2593ce93579b06f7243fd89aa9b049a12cb32 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, editorial-annotations, vocal-music, workaround"
index 36f6db452b5153b2ed2224a9c6b6891b0c816bc3..2503a0bac92419ec49427f807568a24f2627169f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "text"
index 42d9ceb5297d55b03d7b2d98210ae3c4351106cd..763f1d119c4d3bce81348a512e765036fd6e33c9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, repeats, staff-notation, workaround"
index 537d0a189795a85382f27f2a8c75b2a968006f72..be00e415136c4df4bbaa2b844a22c8137077217f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation, contexts-and-engravers, staff-notation, tweaks-and-overrides"
index 6a4807ec958beb19346a4b55d524552d9571773a..14659bfaf7f5ad580ceaf2d2df859b1fb27fddfc 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, rhythms, version-specific"
index 3cff9d1059f74068fe9cd427f118c963e816b228..bde66e61680a96f7a3d805cd5941149b5e0f8c71 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, rhythms"
@@ -30,11 +30,11 @@ modify what material they cover.
   % ...to cover all items up to the next note
   \set tupletFullLengthNote = ##t
   \time 2/4
-  \times 2/3 { c4 c c }
+  \tuplet 3/2 { c4 c c }
   % ...or to cover just whitespace
   \set tupletFullLengthNote = ##f
   \time 4/4
-  \times 4/5 { c4 c1 }
+  \tuplet 5/4 { c4 c1 }
   \time 3/4
   c2.
 }
index 8a225d29ff56a627f4b66e4ee93f685e6f1185a9..f0528e673b2cd72780ce33bb36df6de527a8f580 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, simultaneous-notes, tweaks-and-overrides"
index d2b93bb89c6d7ef23bce3d14528f8b37800d268b..4bae79c00f958731397fddd74aaa08cff21e5c26 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index d7bd204f2c74614869f8ee3d85b336d87eecb1f5..e1d8deea448609d05f32a9d972cf88bb636048a0 100644 (file)
 Markups attached to a multi-measure rest will be centered above or
 below it.  Long markups attached to multi-measure rests do not cause
 the measure to expand.  To expand a multi-measure rest to fit the
-markup, use a spacer rest with an attached markup before the
+markup, use an empty chord with an attached markup before the
 multi-measure rest.
 
-Note that the spacer rest causes a bar line to be inserted.  Text
-attached to a spacer rest in this way is left-aligned to the position
-where the note would be placed in the measure, but if the measure
-length is determined by the length of the text, the text will appear to
-be centered.
+Text attached to a spacer rest in this way is left-aligned to the
+position where the note would be placed in the measure, but if the
+measure length is determined by the length of the text, the text will
+appear to be centered.
 
 "
   doctitle = "Multi-measure rest markup"
 } % begin verbatim
 
-
 \relative c' {
   \compressFullBarRests
   \textLengthOn
-  s1*0^\markup { [MAJOR GENERAL] }
+  <>^\markup { [MAJOR GENERAL] }
   R1*19
-  s1*0_\markup { \italic { Cue: ... it is yours } }
-  s1*0^\markup { A }
+  <>_\markup { \italic { Cue: ... it is yours } }
+  <>^\markup { A }
   R1*30^\markup { [MABEL] }
   \textLengthOff
   c4^\markup { CHORUS } d f c
diff --git a/Documentation/snippets/new/changing-the-tuplet-number.ly b/Documentation/snippets/new/changing-the-tuplet-number.ly
new file mode 100644 (file)
index 0000000..dc147fa
--- /dev/null
@@ -0,0 +1,23 @@
+\version "2.17.11"
+
+\header {
+  lsrtags = "rhythms"
+
+  texidoc = "
+By default, only the numerator of the tuplet number is printed over the
+tuplet bracket. Alternatively, num:den of the tuplet number may
+be printed, or the tuplet number may be suppressed altogether.
+
+"
+  doctitle = "Changing the tuplet number"
+}
+
+
+\relative c'' {
+  \tuplet 3/2 { c8 c c }
+  \tuplet 3/2 { c8 c c }
+  \override TupletNumber.text = #tuplet-number::calc-fraction-text
+  \tuplet 3/2 { c8 c c }
+  \override TupletNumber.stencil = ##f
+  \tuplet 3/2 { c8 c c }
+}
index 0aff0ba5e746a97dd163ab0e57400204af244bfd..cedf58cd32f4ef39fb7723a7de8e7b8e75b9650f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "workaround, contexts-and-engravers, contemporary-notation, rhythms"
   \new Staff {
     \scaleDurations 8/5 {
       \time 6/8
-      \set Timing.measureLength = #(ly:make-moment 6 5)
+      \set Timing.measureLength = #(ly:make-moment 6/5)
       b8 b b b b b
       \time 2/4
-      \set Timing.measureLength = #(ly:make-moment 4 5)
+      \set Timing.measureLength = #(ly:make-moment 4/5)
       b4 b
     }
   }
index ea2d8305a9c97d49748c15800dd336d611e80420..8e9a8c65b4f3a5719a4e33e771264cc524227552 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, real-music, really-cool, scheme-language"
@@ -17,7 +17,7 @@ Planets.
 rhythm =
 #(define-music-function (parser location p) (ly:pitch?)
    "Make the rhythm in Mars (the Planets) at the given pitch"
-  #{ \times 2/3 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #})
+  #{ \tuplet 3/2 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #})
 
 \new Staff {
   \time 5/4
diff --git a/Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly b/Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly
new file mode 100644 (file)
index 0000000..0b6af1b
--- /dev/null
@@ -0,0 +1,28 @@
+\version "2.17.11"
+
+\header {
+  lsrtags = "rhythms, syntax-and-expressions"
+
+  texidoc = "
+The property @code{tupletSpannerDuration} sets how long each of the
+tuplets contained within the brackets after @code{\\tuplet} should last.
+Many consecutive tuplets can then be placed within a single
+@code{\\tuplet} expression, thus saving typing.
+
+There are several ways to set @code{tupletSpannerDuration}.  The command
+@code{\\tupletSpan} sets it to a given duration, and clears it when
+instead of a duration @code{\\default} is specified.  Another way is
+to use an optional argument with @code{\\tuplet}.
+"
+  doctitle = "Entering several tuplets using only one \\tuplet command"
+}
+
+
+\relative c' {
+  \time 2/4
+  \tupletSpan 4
+  \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c }
+  \tupletSpan \default
+  \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c }
+  \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c }
+}
index b7b6b58dec2d28674a7cd0fa33337531f4142e00..11b57ee7bc0cef2a9915e4babaff91715dbaba3a 100644 (file)
@@ -3,7 +3,7 @@
 % on melodies from Bellini's "Norma"                              %
 %*****************************************************************%
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -73,22 +73,22 @@ melody = \relative c {
   R1 % m. 5
 
   e'4^\benmarcato e8. d16-4
-  d4-4 \times 2/3 { \sfou \FO #'-0.3 #'0.6 <c-2>4 b8 } | % end of m. 6
+  d4-4 \tuplet 3/2 { \sfou \FO #'-0.3 #'0.6 <c-2>4 b8 } | % end of m. 6
 
   \FO #'-0.3 #'0.3
-  <a-3>4 \times 2/3 { c4 b8 } a4 e'8. e16 | % m. 7
+  <a-3>4 \tuplet 3/2 { c4 b8 } a4 e'8. e16 | % m. 7
 
   \FO #'-0.3 #'0.3
-  <g-4>4 \times 2/3 { \sfol \FO #'0.3 #'0.0 <f-1>4 e8 } e4  % beg of m. 8
-  \times 2/3 { \sfou <d-4>4 c8 } | % end of m. 8
+  <g-4>4 \tuplet 3/2 { \sfol \FO #'0.3 #'0.0 <f-1>4 e8 } e4  % beg of m. 8
+  \tuplet 3/2 { \sfou <d-4>4 c8 } | % end of m. 8
 
-  b4 \times 2/3 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 <b-0>4 e | % end of m. 9
+  b4 \tuplet 3/2 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 <b-0>4 e | % end of m. 9
 
-  e4 e8. d16-4 d4 \times 2/3 { c4 b8 } | % m. 10
+  e4 e8. d16-4 d4 \tuplet 3/2 { c4 b8 } | % m. 10
 
-  \times 2/3 { a4 a8 b4 c8 } % beg of m. 11
+  \tuplet 3/2 { a4 a8 b4 c8 } % beg of m. 11
   \sfou \FO #'-0.3 #'0.3
-  <d-4>4^\< \times 2/3 { e4 <d f>8\! } | % end of m. 11
+  <d-4>4^\< \tuplet 3/2 { e4 <d f>8\! } | % end of m. 11
 }
 
 bass = \relative c {
@@ -108,21 +108,21 @@ bass = \relative c {
   %% new section starts here in A minor
   \set Score.beamExceptions = #'()
   \once \override TextScript.staff-padding = #1.7
-  \times 2/3 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5
+  \tuplet 3/2 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5
 
-  \times 2/3 { a,8\pdolce e' a c a e } % beg m. 6
-  \times 2/3 { e,8 \sfou <e'-3> <gis-1> c gis e } | % end m. 6
+  \tuplet 3/2 { a,8\pdolce e' a c a e } % beg m. 6
+  \tuplet 3/2 { e,8 \sfou <e'-3> <gis-1> c gis e } | % end m. 6
 
-  \times 2/3 { a,8 <e'-2> a c e, b' a, e' a c a e } | % m. 7
+  \tuplet 3/2 { a,8 <e'-2> a c e, b' a, e' a c a e } | % m. 7
 
-  \times 2/3 { f,8 f' a \sfol \FO #'0.3 #'-0.5 <d-4> a f fis, d' a' d a d, } | % m. 8
+  \tuplet 3/2 { f,8 f' a \sfol \FO #'0.3 #'-0.5 <d-4> a f fis, d' a' d a d, } | % m. 8
 
-  \times 2/3 { <g,-3>8 d' g d' g, d % beg m. 9
+  \tuplet 3/2 { <g,-3>8 d' g d' g, d % beg m. 9
     \sfod \FO #'0.0 #'-2.0 <gis,-4> \sfou <e'-2> <gis-1> b gis e } | % end m. 9
 
-  \times 2/3 { a,8 e' a c a e e, e' gis c gis e } | % m. 10
+  \tuplet 3/2 { a,8 e' a c a e e, e' gis c gis e } | % m. 10
 
-  \times 2/3 { a,8 e' a b a e f, f' a d a f } | % m. 11
+  \tuplet 3/2 { a,8 e' a b a e f, f' a d a f } | % m. 11
 }
 
 \score {
index 6c005c20096722226b11275fc81d1a9a70d44835..fbefd5445ef17daf4050962b4ba805653f16f310 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "template, real-music, specific-notation"
@@ -150,7 +150,7 @@ AccordionTab= { \dynamicUp
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 4 4) % 4/4 - tact. How many beats per bar
+    gridInterval = #(ly:make-moment 4/4) % 4/4 - tact. How many beats per bar
     % The following line has to be adjusted O-F-T-E-N.
     \override GridPoint.Y-extent = #'(-2 . -21)
   }
index 64aafafb706615d4152da0d3f060c671ceeca937..65030025a338a43f88da3343f790d1ed7cd74f49 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
@@ -21,28 +21,28 @@ to the tuplet number or tuplet fraction.
 \relative c'' {
   \once \override TupletNumber.text =
     #(tuplet-number::non-default-tuplet-denominator-text 7)
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text =
     #(tuplet-number::non-default-tuplet-fraction-text 12 7)
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text =
     #(tuplet-number::append-note-wrapper
       (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
 
   \once \override TupletNumber.text =
     #(tuplet-number::append-note-wrapper
       tuplet-number::calc-denominator-text "4")
-  \times 2/3  { c8 c8 c8 c8 c8 c8 }
+  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
   \once \override TupletNumber.text =
     #(tuplet-number::append-note-wrapper
       tuplet-number::calc-fraction-text "4")
-  \times 2/3  { c8 c8 c8 c8 c8 c8 }
+  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
 
   \once \override TupletNumber.text =
     #(tuplet-number::fraction-with-notes "4." "8")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text =
     #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
 }
index 2ec7ebf8d9cd2ed53c42c1db9bf119875dc3e69d..ef6b06868ea9c60b65c74a0964c28f66721f37d9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "vocal-music"
index 742e687c9300aabe9742f8932d7df54292332023..b3803eea4a2a983dc3a879ab03ed4ae762b05f74 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, scheme-language, text, titles"
index 727f9d4191aa3c18be1fdeaa2e48360011f509b4..981f9b24ff8edf945042bd772ec91ca25274df82 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "spacing"
index 0e8590c7ac4ee8b727caf97d4eff276a6e2bfd8c..c67206c3aa3335e753411134078c96aeb119c765 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, version-specific"
@@ -30,9 +30,9 @@ tuplets have to be beamed manually.
 }
 \relative c'' {
   a8
-  \repeat unfold 5 { \times 2/3 { c[ b a] } }
+  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
   % Insert a manual line break within a tuplet
-  \times 2/3 { c[ b \bar "" \break a] }
-  \repeat unfold 5 { \times 2/3 { c[ b a] } }
+  \tuplet 3/2 { c[ b \bar "" \break a] }
+  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
   c8
 }
index 6a7cc933691915716d9e7ac8d034e675566c65fb..780fd63386b330af7f669407472a610cc42641f5 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index 68861a1dc30f69e376cdc3106967a13835a09844..e2937e6a7f2dc7a2d55935b81577db8dbcfd3a14 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index 253b05ec0315cf1a17423e60aa0c9a90158b3213..0949048f624b128a00483035fe7353ebbef72f6c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations"
index d3c6e90dc9672e68ac62002d576ab7ac929fad50..1c9098a4609d729ac79a356b858849fedac8c662 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 898921de85cf9c0615a404db358495452860babe..c03f7fd45cedcf4158dec7dc77136ec811c74e1c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index c329547df0eae2e3984d7d7c66f322e6c928f464..690738975af0b59876e6b42d85c9eb0694faca3d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "breaks, repeats, symbols-and-glyphs, workaround"
@@ -65,13 +65,13 @@ line.
         % ==================
         % Move text to the desired position
         % \once \override TextScript.extra-offset = #'( 2 . -3.5 )
-        % | s1*0^\markup { D.S. al Coda } }
+        % | <>^\markup { D.S. al Coda } }
 
         % text center-aligned
         % ====================
         % Move text to the desired position
         % \once \override TextScript.extra-offset = #'( 6 . -5.0 )
-        % | s1*0^\markup { \center-column { D.S. "al Coda" } }
+        % | <>^\markup { \center-column { D.S. "al Coda" } }
 
         % text and symbols center-aligned
         % ===============================
index 8348981a4e28bd116c24e5c7d178cb286e8741b7..12b507e2b6b02657789f9f9564a3d8f2d1654fd7 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks, tweaks-and-overrides"
index 8df5f99d7677cf8df5be829bdf0afecfd60037e6..89be0cb1d501becd0baee28de45d0ed244ec26d5 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
@@ -22,10 +22,10 @@ tuplet marking.  This can be overcome by setting @code{TupletBracket
 \new Staff {
    \set tupletFullLength = ##t
    \time 1/8
-   \times 2/3 { c'16 c'16 c'16 }
-   \times 2/3 { c'16 c'16 c'16 }
-   \times 2/3 { c'16 c'16 c'16 }
-   \override Score.RehearsalMark.break-visibility = ##(#t #t #t)
+   \tuplet 3/2 { c'16 c'16 c'16 }
+   \tuplet 3/2 { c'16 c'16 c'16 }
+   \tuplet 3/2 { c'16 c'16 c'16 }
+   \override Score.RehearsalMark.break-visibility = #'#(#t #t #t)
    \override Score.RehearsalMark.direction = #DOWN
    \override Score.RehearsalMark.self-alignment-X = #RIGHT
 % due to issue 2362 the following line is commented
@@ -40,10 +40,10 @@ tuplet marking.  This can be overcome by setting @code{TupletBracket
   \override TupletBracket.full-length-to-extent = ##f
 
   \time 1/8
-  \times 2/3 { c'16 c'16 c'16 }
-  \times 2/3 { c'16 c'16 c'16 }
-  \times 2/3 { c'16 c'16 c'16 }
-  \override Score.RehearsalMark.break-visibility = ##(#t #t #t)
+  \tuplet 3/2 { c'16 c'16 c'16 }
+  \tuplet 3/2 { c'16 c'16 c'16 }
+  \tuplet 3/2 { c'16 c'16 c'16 }
+  \override Score.RehearsalMark.break-visibility = #'#(#t #t #t)
   \override Score.RehearsalMark.direction = #DOWN
   \override Score.RehearsalMark.self-alignment-X = #RIGHT
 % due to issue 2362 the following line is commented
index 75c335bdeafccb02eb52708dcd13f99ded706346..0213281e84b623bd63c95f6ceaa4b2571df43fe5 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
index 63b65a8372c0cebfb01dad4faef1bb3cd679cbc0..906263f89372b7f29231582cb8064cdbd611f150 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index 634017285c1e2dab1d88cf3f153603e695e8a2d1..a7e7877f108de1e9a0b5d1deb07e528dbc2fc986 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index 89e2fbf87a829a4013d9c213e5ac3b0b8f41df66..9304df56129de40f23af9e574c8e06cc44c98e99 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "text"
index 4c563872b41e188604e7d401e58a765ee371e477..56c1af5d20e922cbba6a349f9354ac863f953ea8 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, rhythms, tweaks-and-overrides"
index 2f5821a6b7e96cfb51bc7c64381152d1ae0a3ae4..8d52ffd405e7541ac359a72687713096a16d5a55 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, percussion, real-music, really-cool, rhythms"
@@ -43,7 +43,7 @@ global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } }
     \remove "Bar_number_engraver"
     \override SpacingSpanner.uniform-stretching = ##t
     \override SpacingSpanner.strict-note-spacing = ##t
-    proportionalNotationDuration = #(ly:make-moment 1 64)
+    proportionalNotationDuration = #(ly:make-moment 1/64)
   }
   \context {
     \Staff
@@ -79,12 +79,12 @@ Bassklarinette = \new Staff \with {
     \bar "|"
     \time 2/4
     \tupletUp
-    \times 2/3 { ees''4 r4 d''4 ~ }
+    \tuplet 3/2 { ees''4 r4 d''4 ~ }
 
     \bar "|"
     \time 3/8
     \tupletUp
-    \times 3/4 { d''4 r4 }
+    \tuplet 4/3 { d''4 r4 }
 
     \bar "|"
     \time 2/4
index 90b9148df50469590cc7f11df4e373a67458f922..be85c96e0432d785d58aea240c05ee54abfa7e3e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "spacing, tweaks-and-overrides"
@@ -21,13 +21,13 @@ the note that occurs at the same time. This may cause collisions.
 
 \relative c'' <<
   \override Score.SpacingSpanner.strict-note-spacing = ##t
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \new Staff {
     c8[ c \clef alto c c \grace { d16 } c8 c] c4
     c2 \grace { c16[ c16] } c2
   }
   \new Staff {
-    c2 \times 2/3 { c8 \clef bass cis,, c } c4
+    c2 \tuplet 3/2 { c8 \clef bass cis,, c } c4
     c1
   }
 >>
index 4edd6a59e58172bc594738f50c0cd2c85affb19e..ce836d85e89bf9a499f11c3aabed4bff6f88a824 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "staff-notation, text, vocal-music"
index b83496137443d94decf2e74e1b7d96b8abd9715b..002f5e76452b1b7fe2ab97a58f64504bde95e11e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "staff-notation"
index a3323302ab143ffe4d539854f88de7723b90f4ff..6395357b46831d063453d2c64b94a4c4a706ac7a 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "winds"
index fd0fdce66220359594db3d42c0b52dd51d44c54e..512445cd17029e0d22e89155f92237d532f8614c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index 6cad882e87f416581562e381d62dd9074dfcc4cd..40a0f90e3cb8a52850b99b2e7fdcbb058b818933 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "breaks, staff-notation, tweaks-and-overrides"
index 068f180268e41a033bc1818648169d48ba45b975..d64cd0fdd13d26a358a6c011f70e663b885e02fc 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index 789f0b6d346682b3c5591e271ca9121955aee9f7..77a4f89f0d606c96287380254d9b640cf308f1a8 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation, rhythms, symbols-and-glyphs, tweaks-and-overrides"
index 6d47071c7979cb17ab9b530e0e9089ca05c5e2d2..494698339d8b2948aa78ef10afdfffbb0fb07e58 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index 895de25a793d894561e194dbc2f88a16a7ebc1a4..b0c99b7dc44a2f58ce2a80def71f777893a30d5c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -27,7 +27,7 @@ Rhythms headword
   \context {
     \Score
     \override SpacingSpanner.base-shortest-duration =
-      #(ly:make-moment 1 40)
+      #(ly:make-moment 1/40)
       %\override SpacingSpanner.strict-grace-spacing = ##t
   }
 }
index 3e9034afe7de5530eea6e67131f93aa1630a08fe..1b0afdae471176eabe75a178f417df2315e64bfa 100644 (file)
@@ -1,4 +1,5 @@
 adding-extra-fingering-with-scheme.ly
+adding-links-to-objects.ly
 adding-the-current-date-to-a-score.ly
 center-text-below-hairpin-dynamics.ly
 changing--flageolet-mark-size.ly
index 4cdddcad383f1e17b5cd21d595050336f0b03ce3..c60c404e6361cdfca5c4c2c63695afd4764cdee5 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.17.6
-\version "2.17.6"
+%% Note: this file works from version 2.17.11
+\version "2.17.11"
 
 \header {
   lsrtags = "template, real-music, specific-notation"
@@ -158,7 +158,7 @@ AccordionTab= { \dynamicUp
   \context {
     \Staff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 4 4) % 4/4 - tact. How many beats per bar
+    gridInterval = #(ly:make-moment 4/4) % 4/4 - tact. How many beats per bar
     % The following line has to be adjusted O-F-T-E-N.
     \override GridPoint.Y-extent = #'(-2 . -21)
   }
index 68e858368b367e93856bd1fb0628225294aece67..86b9fba5e587f59443e9817cc0581687c66e99dd 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -41,7 +41,7 @@ Random complex notation
           c'''32([ b''16 a''16 gis''16 g''32)]
         }
         \\
-        { s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] }
+        { s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] }
         \\
         { s4 \autoBeamOff d''8.. f''32  }
         \\
index be7a8967d80d9988484487a719c2a8cb31b7af87..7670ff4ddb35574a4099ea33ff8a3a3ee89f634c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "pitches, tweaks-and-overrides"
@@ -29,7 +29,7 @@ or the end.
 
 \new Staff {
   \override Score.BreakAlignment.break-align-orders =
-    ##((left-edge ambitus breathing-sign clef staff-bar
+    #'#((left-edge ambitus breathing-sign clef staff-bar
                    key-cancellation key-signature time-signature custos)
 
         (left-edge ambitus breathing-sign clef key-cancellation
index 067fbbfd2c78f72e5c0cf832808e6648fa55e80e..4b5ae7f7b9d05161959dac2b4c2421926322676e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
index f0e503ed5040d3948ea7858eda3436d47d974308..8cbcca3d4048cda1417e161937d83dec271d798d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "repeats"
index dea361c49cbfdff667664b826d236bf709277c9f..78bed2d65ad16dcd6061fac138b282f75a4f6353 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index a518debae4ce1c18017a2079c4a23ab87bf44bf2..611057d4cbdf18d0a78a9eb968202074fca44fe4 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "repeats"
@@ -23,7 +23,7 @@ lasts one measure, which is a duration of 3/4.
 \relative c'' {
   \time 3/4
   c4 c c
-  \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
+  \set Score.voltaSpannerDuration = #(ly:make-moment 3/4)
   \repeat volta 5 { d4 d d }
   \alternative {
     {
index ec67a11657c1a544fa30016fc2c8411984186ef9..2c76bb441e72b246704c20c6ec4f4e6fb3c8251d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides, version-specific"
index dec4e68295002eb7ba6f1588eac0556ec9603b0c..a08838f8f8ac03b15539a0538e3e89c3380c526c 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -29,7 +29,7 @@ Simultaneous notes
   \context {
     \Score
     \override SpacingSpanner.base-shortest-duration =
-    #(ly:make-moment 1 18)
+    #(ly:make-moment 1/18)
     \override NonMusicalPaperColumn.line-break-system-details =
     #'((alignment-distances . (12)))
   }
index 760135cda9a0180aa34d08e3dbebf7353b8156f8..20793ff47e2f2927dd33dea468c440dc4939ac2d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings"
index b5960df4974eb6434ea8de750ac3d86a0a36c8b1..778e5c6ea3af69c53ff6ccc456a2e159698a37ca 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "fretted-strings"
index ca7ba8362573ca7010f59f43a003c8a0b384936e..eb7906dd95e25d617495a24a15c87cfb18390841 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contemporary-notation, rhythms"
index 41ffdce5400e46d5cafb7a056d8db28cbdcc4bb3..e7080e65a5898334dc02a278699e15a53336c13d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms"
@@ -34,12 +34,12 @@ in this snippet. Also, when @code{baseMoment} is changed,
   c32[ c c c c c c c]
 
   % Set beam sub-group length to an eighth note
-  \set baseMoment = #(ly:make-moment 1 8)
+  \set baseMoment = #(ly:make-moment 1/8)
   \set beatStructure = #'(2 2 2 2)
   c32[ c c c c c c c]
 
   % Set beam sub-group length to a sixteenth note
-  \set baseMoment = #(ly:make-moment 1 16)
+  \set baseMoment = #(ly:make-moment 1/16)
   \set beatStructure = #'(4 4 4 4)
   c32[ c c c c c c c]
 }
index 0ecae8edd5560507be14ac459186822006d4886e..46dd50df5298f76e14983ce51d0995e2972c33a9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "simultaneous-notes, tweaks-and-overrides"
index 46cea080dad816e8601330fd51be452f76d33a13..f310f6d596be17edf39415198ce62ab59ef1ac23 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "paper-and-layout"
index 05ec402058b58be71ed9e7544565c08f0ccf0224..011e59d17c88915e07e27b8e0add92c0546e8b0f 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -28,7 +28,7 @@ Text headword
   \context {
     \Score
     \override SpacingSpanner.base-shortest-duration =
-    #(ly:make-moment 1 20)
+    #(ly:make-moment 1/20)
   }
 }
 
index 5eebaacc095b7eb687dc1da3a415c1d656040409..7af0104e33835ca8b0307ec8c39460a016f1bf17 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "specific-notation, staff-notation, tweaks-and-overrides"
index 257034d9599675551e7bd4a5d142a1ecda9c392d..d86c6fd0ac8bc929cbcf8d369620707a2e3bc9ac 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "specific-notation, staff-notation, tweaks-and-overrides"
index bee629dc693d0b3daddfaf3ed1190da66668485b..db0df20f9615652eb310f164760aa588a5b216ab 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index 0de6d91f4ae6ed8e09808891e2587ed02f205b71..4cbcf14f7a200678b99e86f9b81e4f7c34f04ccb 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "ancient-notation, specific-notation, tweaks-and-overrides, workaround"
index 2b647d08547461da83c800de38b9523222c3ee7f..9d1e274ff5ef6ffdf99faa68a95b3c57bfcda25c 100644 (file)
@@ -43,10 +43,10 @@ In this manner, the most natural enharmonic notes are chosen.
          ;; for historical reasons
          (n (ly:pitch-notename p)))
      (cond
-      ((and (> a 1) (or (eq? n 6) (eq? n 2)))
+      ((and (> a 1) (or (= n 6) (= n 2)))
        (set! a (- a 2))
        (set! n (+ n 1)))
-      ((and (< a -1) (or (eq? n 0) (eq? n 3)))
+      ((and (< a -1) (or (= n 0) (= n 3)))
        (set! a (+ a 2))
        (set! n (- n 1))))
      (cond
index b7dbf1918de604284a5fcc5b9967b57f1e9c1695..92a4d858ddee8494afc6f8c5c5afa537fcc67837 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
index 1e21cb226b617d30bcc0ce747080b5a58766ad21..37bceb9b5985341711993730e9a5e60c67fb64d9 100644 (file)
@@ -1,3 +1,4 @@
+adding-links-to-objects.ly
 adding-timing-marks-to-long-glissandi.ly
 adjusting-grace-note-spacing.ly
 altering-the-length-of-beamed-stems.ly
index c6d9644ab9dad95bef97dcf0b7753d6ae079e8aa..de2d700e78273bf5fce82bf765aeec9ca9dad0e6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
@@ -163,22 +163,22 @@ ViolinSolo = \relative c' {
   \time 4/4
   \stemUp
   \tupletDown
-  \times 2/3 { d4 ^\markup \colmark { \quatre \db \accel } d d }
-  \times 2/3 { d4 ^\markup \colmark { " " \db " " \sulp } d d }
+  \tuplet 3/2 { d4 ^\markup \colmark { \quatre \db \accel } d d }
+  \tuplet 3/2 { d4 ^\markup \colmark { " " \db " " \sulp } d d }
 
 
 
   %% Measure 5
   \time 5/4
-  \tupletbp \times 2/3 { d8 \mf \< ^\markup \colmark { \quatre \db \norm } d _\open d }
-  \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db \sulp } d _\open d }
-  \tupletbp \times 2/3 { d16 ^\markup \colmark { " " \db \norm } d _\open d d d _\open d }
+  \tupletbp \tuplet 3/2 { d8 \mf \< ^\markup \colmark { \quatre \db \norm } d _\open d }
+  \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db \sulp } d _\open d }
+  \tupletbp \tuplet 3/2 { d16 ^\markup \colmark { " " \db \norm } d _\open d d d _\open d }
   d2 \ff ^\markup \colmark { " " \pvib } \>
 
 
   %% Measure 6
   \time 5/8
-  \once \override Beam.grow-direction = #RIGHT  % \featherDurations #(ly:make-moment 2 3)
+  \once \override Beam.grow-direction = #RIGHT  % \featherDurations #(ly:make-moment 2/3)
   { d16 \staccato
     [ d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato]
   }
@@ -187,11 +187,11 @@ ViolinSolo = \relative c' {
 
   %% Measure 7
   \time 7/4
-  \tupletbp \times 2/3 { d16 ^\markup \colmark { \quatre } d _\open d d d _\open d }
-  \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db } d _\open d }
-  \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db " " \sulp } d _\open d }
-  \times 2/3 { d4 ^\markup \colmark { \quatre \db \ritar \norm } d d }
-  \times 2/3 { d4 ^\markup \colmark { " " \db " " \sulp } d d \ppp ~ }
+  \tupletbp \tuplet 3/2 { d16 ^\markup \colmark { \quatre } d _\open d d d _\open d }
+  \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db } d _\open d }
+  \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db " " \sulp } d _\open d }
+  \tuplet 3/2 { d4 ^\markup \colmark { \quatre \db \ritar \norm } d d }
+  \tuplet 3/2 { d4 ^\markup \colmark { " " \db " " \sulp } d d \ppp ~ }
 
 
   %% Measure 8
index c2e468501521a9c768dd4a8745367e5adfe3dc76..88c159d58f5b3239daa4647c42cc0529c49e1f28 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "devel, scheme-language, tweaks-and-overrides"
index 976387a0d1c36e334f56bd647e01f1c7c8de355a..2c4f701109fcbee3ad74300d50fec512659ae67e 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, really-cool, scheme-language, tweaks-and-overrides"
index f6bb8ed356c507fc2b44814b08ce8f478e7b0374..8f1fcc8b7e8874b5aa8997432c232d99ff5e975d 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, tweaks-and-overrides"
index 2e9f1a32431d1c8614ea4cb84e9f71f4229702df..a6f6393c5b76dfc3213dbab42e1d0ab33480480a 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "editorial-annotations, expressive-marks"
index 5fcbb8e39b11b474be3a5fd3691801c1317c5a17..4924b2cc6a9ce197be3f7b127a17ed1bc9c33490 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "spacing, tweaks-and-overrides, workaround"
@@ -16,13 +16,13 @@ aligned to a common reference point, regardless of their actual extent.
 This way, every element will be vertically aligned, thus producing a
 more pleasing output.
 
-The same idea is used to align the text scripts along their baseline.
+The same idea, together with \\textLengthOn, is used to align the text
+scripts along their baseline.
 
 "
   doctitle = "Vertically aligned dynamics and textscripts"
 } % begin verbatim
 
-
 music = \relative c' {
   a'2\p b\f
   e4\p f\f\> g, b\p
@@ -34,6 +34,7 @@ music = \relative c' {
   \break
   \override DynamicLineSpanner.staff-padding = #2.0
   \override DynamicLineSpanner.Y-extent = #'(-1.5 . 1.5)
+  \textLengthOn
   \override TextScript.Y-extent = #'(-1.5 . 1.5)
   \music
 }
index 0adb0dec41def52b13ff6e762b25842cf82ed534..c0f2ea8f575b6c6ded076cabaf5665ad9f991f91 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "expressive-marks"
index dfbb0c8a503c38d41ad00cff9dcfd0f3dd960e6d..4a85d9d6a4d45f32980e47f88c0b0aa8dab0c6a9 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "spacing, tweaks-and-overrides, vocal-music"
@@ -39,7 +39,7 @@ positioning of lyrics and ossias.
         \override StaffSymbol.staff-space = #(magstep -2)
         \remove "Time_signature_engraver"
       } {
-        \times 4/6 {
+        \tuplet 6/4 {
           \override TextScript.padding = #3
           c8[^"ossia above" d e d e f]
         }
index 7c59cd3b1620509a15a17fff8bda7de53fcab57e..d4127616bbf85c97a1c3ed70c856c8183b864556 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "vocal-music"
index 8e1796fd47d0b11b50aa25464b5ea8765e6d472e..d7375a0e046a0b47a2261870b68d777446830660 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "automatic-notation, keyboards, template, vocal-music"
index 51ffe694b2f6b7ee7bcbc4fdf5d186211ddc83cf..e5179d33b64591510ca9594e2326c71fb8d193f6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "contexts-and-engravers, template, vocal-music"
index 100d57e09857f97cee5c6b65ae52256689c94832..6a50961bb1806ba6dbaab5092d5838f028ddb193 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "really-simple, template, vocal-music"
index d09d784396542d4ca302646832e24d999b191deb..6324fea01e620847c24674369df39052bd9518b0 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index 821403d192245f6ace9d14eea0f57c156d1cd10b..338475584e0b82361481667ec8d8cddb03e9f3f6 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   lsrtags = "headword"
index 5225b67d5cea5ac9170749a13486479bbd63bbe1..3bfa09893439d6e56bebefb30bd218d7823d99a5 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.16.0"
+@c \version "2.17.11"
 
 @c Note: keep this node named so that `info lilypond-book' brings you here.
 @node lilypond-book
@@ -86,7 +86,7 @@ For example,
 
 \begin{lilypond}
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 \end{lilypond}
 
@@ -145,7 +145,7 @@ For example,
 
 @lilypond
 \relative c' {
-  c2 e2 \times 2/3 { f8 a b } a2 e4
+  c2 e2 \tuplet 3/2 { f8 a b } a2 e4
 }
 @end lilypond
 
index afce3d3bb5db08d33c051fe6f86d2fd96b612cd8..035b8840aea4f4c8c60f2ed06e00884b3f7c0612 100644 (file)
@@ -1202,8 +1202,14 @@ using the extensions available at:
 @itemize
 
 @item
-@uref{http://www.canorus.org,Canorus}, a score editor, can also export to
-LilyPond, but is still beta-software. Testers are welcome, though.
+@uref{http://www.jezra.net/projects/bwwtolily,bwwtolily} attempts to
+convert a @code{.bww} or @code{.bmw} file to LilyPond.  While not all of
+the embellishments may get converted properly (this is especially true
+with piobaireachd), the program will list them.
+
+@item
+@uref{http://www.canorus.org,Canorus}, a score editor, can also export
+to LilyPond, but is still beta-software. Testers are welcome, though.
 
 @item
 @uref{http://enc2ly.sourceforge.net/en/,Enc2ly} is a GNU/Linux program
@@ -1211,42 +1217,41 @@ which converts an @uref{http://www.gvox.com/,Encore} music score into
 a LilyPond one.
 
 @item
-@uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} is a Go tool that converts
-@uref{http://www.gvox.com/,Encore} files to LilyPond. It was created using
-Felipe Castro's research and reverse engineering by tweaking existing .enc files
-and loading them using the 4.55 demo version.
+@uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} is a Go tool that
+converts @uref{http://www.gvox.com/,Encore} files to LilyPond.  It was
+created using Felipe Castro's research and reverse engineering by
+tweaking existing .enc files and loading them using the 4.55 demo
+version.
 
 @item
-@uref{http://www.musescore.org,MuseScore}, a score editor, has incomplete
-LilyPond export but is being actively developed.
+@uref{http://www.musescore.org,MuseScore}, a score editor, has
+incomplete LilyPond export but is being actively developed.
 
 @item
-@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}, a
-score editor based on the @uref{http://www.cairographics.org,Cairo} library,
-has experimental support for exporting to LilyPond.
+@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd},
+a score editor based on the @uref{http://www.cairographics.org,Cairo}
+library, it has experimental support for exporting to LilyPond.
 
 @item
-@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY} is
-a C# program which converts a
-@c @uref{http://www.noteworthysoftware.com/,NoteWorthy}
-NoteWorthy composer song into LilyPond.
+@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY}
+is a C# program which converts a NoteWorthy composer song into LilyPond.
 
 @item
-@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} is
-a program that helps create scores and parts, including a mode for mixing
-different musical works together in a single score or part.
+@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple}
+is a program that helps create scores and parts, including a mode for
+mixing different musical works together in a single score or part.
 
 @item
-@uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI sequencer,
-which also has a score editor for single-staff editing.
+@uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI
+sequencer, which also has a score editor for single-staff editing.
 
 @item
-@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic MIDI to
-LilyPond converter.
+@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic
+MIDI-to-LilyPond converter.
 
 @item
-@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature editor
-and player, includes a score viewer and can export to LilyPond.
+@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature
+editor and player, includes a score viewer and can export to LilyPond.
 
 @end itemize
 
@@ -1256,18 +1261,19 @@ and player, includes a score viewer and can export to LilyPond.
 
 @item
 @uref{http://www.projectabjad.org/,Abjad}, a
-@uref{http://www.python.org/,Python} API for Formalized Score
-Control designed to help composers build up complex pieces of
-LilyPond notation in an iterative and incremental way.
+@uref{http://www.python.org/,Python} API for Formalized Score Control
+designed to help composers build up complex pieces of LilyPond notation
+in an iterative and incremental way.
 
 @item
-@uref{http://common-lisp.net/project/fomus/,FOMUS}, a LISP library
-to generate music notation from computer music software
-environments.
+@uref{http://common-lisp.net/project/fomus/,FOMUS}, (FOrmat MUSic) is a
+music notation tool for computer music composers.  It is written in the
+Lisp programming language, and has been tested in a variety of
+interpreters.  A C++ port is also available.
 
 @item
-@uref{http://strasheela.sourceforge.net,Strasheela}, an
-environment built on top of the
+@uref{http://strasheela.sourceforge.net/strasheela/doc/index.html,Strasheela},
+an environment built on top of the
 @uref{http://www.mozart-oz.org/, Mozart/Oz} constraint programming
 language.
 
@@ -1282,12 +1288,12 @@ language.
 
 @item
 @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.
+@uref{http://www.frescobaldi.org/,Frescobaldi}, and exists as LilyKDE3
+for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only.
 
 @item
 @uref{http://noteedit.berlios.de,NoteEdit}, which imported
-@uref{http://www.musicxml.com/xml.html,MusicXML}, has been forked
+@uref{http://www.makemusic.com/musicxml,MusicXML}, has been forked
 into
 @uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}
 and @uref{http://canorus.org,Canorus}.
index 29ab3b591e839c29b7d5243a0f16c8cba8ca9565..81d2ad686438c000579de66c3a0f25ebbc98b940 100644 (file)
@@ -9,9 +9,9 @@
 @c used for news about the upcoming release; see CG 10.2
 
 @newsItem
-@subsubheading LilyPond 2.17.10 released!  @emph{January 12 2013}
+@subsubheading LilyPond 2.17.12 released!  @emph{February 8, 2013}
 
-We are happy to announce the release of LilyPond 2.17.10.  This
+We are happy to announce the release of LilyPond 2.17.12.  This
 release contains the usual number of bugfixes and enhancements, and contains
 some work in progress.  You will have access to the very latest features, but
 some may be incomplete, and you may encounter bugs and crashes.  If you require
@@ -25,16 +25,6 @@ a stable version of Lilypond, we recommend using the 2.16 version.
 We are happy to announce the release of LilyPond 2.16.2. This release is mainly
 to correct a problem with lilypond-book running on Windows. We recommend that
 only people requiring this functionality upgrade to this version.
-@newsEnd
-
-@newsItem
-@subsubheading LilyPond 2.17.9 released!  @emph{December 15, 2012}
-
-We are happy to announce the release of LilyPond 2.17.9.  This
-release contains the usual number of bugfixes and enhancements, and contains
-some work in progress.  You will have access to the very latest features, but
-some may be incomplete, and you may encounter bugs and crashes.  If you require
-a stable version of Lilypond, we recommend using the 2.16 version.
 
 @newsEnd
 
index 1331adfcf20681f44cf8cb9705075733efa1b365..20b9750c13d96a72601205c52c76a5bf33800c34 100644 (file)
@@ -26,6 +26,38 @@ NOTE:
   * don't duplicate entries from news-front.itexi
 @end ignore
 
+@newsItem
+@subsubheading LilyPond 2.17.11 released!  @emph{January 26, 2013}
+
+We are happy to announce the release of LilyPond 2.17.11.  This
+release contains the usual number of bugfixes and enhancements, and contains
+some work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you require
+a stable version of Lilypond, we recommend using the 2.16 version.
+
+@newsEnd
+
+@newsItem
+@subsubheading LilyPond 2.17.10 released!  @emph{January 12 2013}
+
+We are happy to announce the release of LilyPond 2.17.10.  This
+release contains the usual number of bugfixes and enhancements, and contains
+some work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you require
+a stable version of Lilypond, we recommend using the 2.16 version.
+
+@newsEnd
+
+@newsItem
+@subsubheading LilyPond 2.17.9 released!  @emph{December 15, 2012}
+
+We are happy to announce the release of LilyPond 2.17.9.  This
+release contains the usual number of bugfixes and enhancements, and contains
+some work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you require
+a stable version of Lilypond, we recommend using the 2.16 version.
+
+@newsEnd
 
 @newsItem
 @subsubheading LilyPond 2.17.8 released!  @emph{December 1, 2012}
index 9b12cef21bc30a7dc159e2776898ca1756b014dd..cf14ce19b10086eb934822eaa916ce1e86cad753 100644 (file)
@@ -1,7 +1,8 @@
 <tweets>
   <tweet>
-    Nov 6, at Xinghai Conservatory of Music in Guangzhou, China, a premiere of
-    James Harkins's new piece for sheng and electronics, typeset in
-    lilypond.
+    &lt;a href="http://www.contemporary-music.de"&gt;Stefan Thomas&lt;/a&gt;'s "ab und zu" for accordion and 5 players will be performed
+    on February 27th in the "&lt;a
+    href="http://www.tonhalle.de/suchausgabe_datum/%26datum=2013/02/27"&gt;
+    Tonhalle&lt;/a&gt;" in Düsseldorf, Germany.
   </tweet>
 </tweets>
index a01e5abbbe98d53e93a6a2ba04eb3c86f9897336..f073b630690ed1eabd52a4d5e884f18f3f35d809 100644 (file)
@@ -834,11 +834,11 @@ manuals can be found at @url{http://lilypond.org}}
 @headitem Infrequent
 
 @item
-@docLinkSplit{Web,web,@manualDevelWebSplit}
+@docLinkSplit{Web,web,@manualDevelWebSplit-zh}
 @tab
-@docLinkBig{Web,web,@manualDevelWebBig}
+@docLinkBig{Web,web,@manualDevelWebBig-zh}
 @tab
-@docLinkPdf{Web,web,@manualDevelWebPdf}
+@docLinkPdf{Web,web,@manualDevelWebPdf-zh}
 
 @item
 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
diff --git a/LICENSE b/LICENSE
index 753f485dbef318b4f72e6cc55e8b01f714c7184c..e03b1e19ae24f55860ebeb92b8cf83b94074e830 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -22,13 +22,20 @@ The following exceptions apply:
   * It does not apply to ly/articulate.ly, which is only licensed
     under the GPL version 3 (not any later versions).
 
-  * If you create a document which uses fonts included in LilyPond,
-    and embed this font or unaltered portions of this font into the
-    document, then this font does not by itself cause the resulting
-    document to be covered by the GNU General Public License.  This
-    exception does not however invalidate any other reasons why the
-    document might be covered by the GNU General Public License.
-    If you modify one or more of the fonts, you may extend this
-    exception to your version of the fonts but you are not obliged
-    to do so.  If you do not wish to do so, delete this exception
-    statement from your version.
+  * The files under mf/ form a font, and this font is dual-licensed
+    under the GPL+Font exception and the SIL Open Font License (OFL).
+    A copy of the OFL is in the file LICENSE.OFL.
+
+    The font exception for the GPL stipulates the following exception:
+
+      If you create a document which uses fonts included in LilyPond,
+      and embed this font or unaltered portions of this font into the
+      document, then this font does not by itself cause the resulting
+      document to be covered by the GNU General Public License.  This
+      exception does not however invalidate any other reasons why the
+      document might be covered by the GNU General Public License.
+      If you modify one or more of the fonts, you may extend this
+      exception to your version of the fonts but you are not obliged
+      to do so.  If you do not wish to do so, delete this exception
+      statement from your version.
+
diff --git a/LICENSE.OFL b/LICENSE.OFL
new file mode 100644 (file)
index 0000000..41e80d6
--- /dev/null
@@ -0,0 +1,95 @@
+
+Copyright (c) 1996--2013, The LilyPond authors (lilypond.org) 
+with Reserved Font Name "Emmentaler" and "Feta".
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+SIL OPEN FONT LICENSE
+
+Version 1.1 - 26 February 2007
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/VERSION b/VERSION
index 16276b281ee268d93e44b77b89c376fdee931a66..b05a55cdf63a505b4244ea10bb5f9e03f3b504b9 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=17
-PATCH_LEVEL=11
+PATCH_LEVEL=13
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.16.2
-VERSION_DEVEL=2.17.10
+VERSION_DEVEL=2.17.12
index 0dcd5bd870f38eb476dd8f308682414d2d1b342f..4d5710ba9e9ce69ad7282562fec3908600e18563 100644 (file)
@@ -1,5 +1,5 @@
 dnl aclocal.m4   -*-shell-script-*-
-dnl StepMake subroutines for configure.in
+dnl StepMake subroutines for configure.ac
 
 
 ### mostly interal macros
@@ -140,7 +140,7 @@ AC_DEFUN(STEPMAKE_CHECK_VERSION_UNSUPPORTED, [
     fi
 ])
 
-### Macros to build configure.in
+### Macros to build configure.ac
 
 
 AC_DEFUN(STEPMAKE_BIBTEX2HTML, [
index 9d21f79936ad373586637c034fd07334c77dd778..46dd22f98b86f9f1dc2895212a72c635d5928a81 100755 (executable)
@@ -7,7 +7,7 @@ case $1 in
     --noconf*) NOCONFIGURE=true;;
 esac
 
-for i in $srcdir/configure.in #`find $srcdir -name configure.in -print`
+for i in $srcdir/configure.ac #`find $srcdir -name configure.ac -print`
 do 
   dir=`dirname $i`
   echo processing $dir
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..2ae2f6c
--- /dev/null
@@ -0,0 +1,282 @@
+dnl configure.ac   -*-shell-script-*-
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.60)
+
+# Bootstrap the init process.
+AC_INIT
+
+# Bootstrap StepMake configure
+AC_CONFIG_AUX_DIR([config])
+
+STEPMAKE_INIT
+
+# List a file that identifies your package.
+AC_CONFIG_SRCDIR([lily/main.cc])
+
+# Move to aclocal.m4?
+AC_CONFIG_HEADERS([$CONFIGFILE.hh:config.hh.in])
+
+# Uncomment the configuration options your package needs.
+
+DOCUMENTATION=yes
+AC_ARG_ENABLE(documentation,
+    [AS_HELP_STRING([--enable-documentation],
+                   [build Documentation.  Default: on])],
+    [DOCUMENTATION=$enableval])
+AC_SUBST(DOCUMENTATION)
+
+AC_ARG_WITH(ncsb-dir,
+    [AS_HELP_STRING([--with-ncsb-dir=DIR],
+                   [location of Century Schoolbook fonts.])],
+    [NCSB_DIR=$withval],
+    [NCSB_DIR=""])
+
+reloc_b=no
+AC_ARG_ENABLE(relocation,
+    [AS_HELP_STRING([--enable-relocation],
+                   [compile with dynamic relocation.  Default: off])],
+    [reloc_b=$enableval])
+
+rpath_b=no
+AC_ARG_ENABLE(rpath,
+    [AS_HELP_STRING([--enable-rpath],
+                   [hardcode runtime library path.  Default: off])],
+    [rpath_b=$enableval])
+
+LINK_GXX_STATICALLY=no
+AC_ARG_ENABLE(static-gxx,
+    [AS_HELP_STRING([--enable-static-gxx],
+                   [link libstdc++.a statically.  Default: off])],
+    [LINK_GXX_STATICALLY=$enableval])
+AC_SUBST(LINK_GXX_STATICALLY)
+
+# must come before any header checks
+STEPMAKE_COMPILE
+
+AC_CHECK_PROG(FCLIST, fc-list, fc-list)
+AC_MSG_CHECKING([New Century Schoolbook PFB files])
+AC_SUBST(NCSB_SOURCE_FILES)
+AC_SUBST(NCSB_DIR)
+UNCHECKED_NCSB_SOURCE_FILES=""
+if test "$NCSB_DIR" != "" ;  then
+  for f in c059013l c059016l c059033l c059036l; do
+    if test ! -f "$NCSB_DIR/$f.pfb"; then
+      STEPMAKE_WARN($NCSB_DIR does not contain $f.pfb.)
+    else
+      UNCHECKED_NCSB_SOURCE_FILES="$NCSB_DIR/$f.pfb $UNCHECKED_NCSB_SOURCE_FILES"
+    fi
+  done
+else
+  if test "$FCLIST" != ""; then
+    for style in Roman Italic "Bold Italic" Bold; do
+      NCSB_FILE=`$FCLIST "Century Schoolbook L:style=$style:foundry=urw:fontformat=Type 1" file \
+                | head -n 1`
+      NCSB_FILE=`echo $NCSB_FILE | sed 's/\(:.*\)$//g'`
+      NCSB_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $NCSB_FILE`
+      UNCHECKED_NCSB_SOURCE_FILES="$NCSB_FILE $UNCHECKED_NCSB_SOURCE_FILES"
+    done
+    NCSB_DIR=`AS_DIRNAME($NCSB_FILE)`
+  else
+    AC_MSG_RESULT(not found)
+    echo "Can't find Century Schoolbook files. Install FontConfig's fc-list,"
+    echo "or use --with-ncsb-dir"
+    STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts)
+  fi
+fi
+NCSB_SOURCE_FILES=""
+for f in $UNCHECKED_NCSB_SOURCE_FILES; do
+  if test "`grep Cyrillic "$f"`" = ""; then
+    STEPMAKE_WARN($f does not have Cyrillic characters.)
+    STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts)
+  else
+    NCSB_SOURCE_FILES="$f $NCSB_SOURCE_FILES"
+  fi
+done
+AC_MSG_RESULT($NCSB_SOURCE_FILES)
+
+AC_LANG([C++])
+
+STEPMAKE_PYTHON(REQUIRED, 2.4)
+# this checks if we have GNU C by compiling a program with
+# __GNUC__, but that macro now unofficially means "the compiler
+# supports the GNU C extensions" -- the intel C compiler and clang
+# both support __GNUC__!
+STEPMAKE_GCC_OR_CLANG(REQUIRED, 3.4)
+
+STEPMAKE_CXX(REQUIRED)
+STEPMAKE_GXX_OR_CLANG(REQUIRED, 3.4)
+STEPMAKE_GXXCODEGENBUG
+STEPMAKE_CXXTEMPLATE
+STEPMAKE_STL_DATA_METHOD
+STEPMAKE_LIB(REQUIRED)
+STEPMAKE_DLOPEN
+# Do not use bison 1.50 and 1.75.
+# 1.29 is required fr %locations, but I'm not sure it's enough --ns
+STEPMAKE_BISON(OPTIONAL, 1.29)
+STEPMAKE_FLEX(REQUIRED)
+STEPMAKE_FLEXLEXER(REQUIRED)
+STEPMAKE_FLEXLEXER_LOCATION
+STEPMAKE_LOCALE
+STEPMAKE_GETTEXT
+STEPMAKE_MSGFMT(REQUIRED)
+STEPMAKE_TEXMF(REQUIRED)
+STEPMAKE_TEXMF_DIRS
+STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2)
+
+# check for 3 typedefs added in Guile 1.9
+save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$GUILE_CFLAGS $CXXFLAGS"
+AC_CHECK_TYPES([scm_t_hash_fold_fn, scm_t_hash_handle_fn],
+              [AC_DEFINE(HAVE_GUILE_HASH_FUNC)], [],
+              [#include <libguile.h>])
+AC_CHECK_TYPES([scm_t_subr],
+              [AC_DEFINE(HAVE_GUILE_SUBR_TYPE)], [],
+              [#include <libguile.h>])
+CXXFLAGS="$save_CXXFLAGS"
+
+## Check for usable cxxabi
+save_LIBS="$LIBS"
+LIBS="$LIBS $CXXABI_LIBS"
+AC_MSG_CHECKING(for usable C++ demangler)
+AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <cxxabi.h>],
+           [abi::__cxa_demangle ("", 0, 0, 0)])],
+    [AC_DEFINE(HAVE_CXA_DEMANGLE)
+       AC_MSG_RESULT(yes)],[
+       LIBS="$LIBS -lsupc++"
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <cxxabi.h>],
+                   [abi::__cxa_demangle ("", 0, 0, 0)])],
+           [AC_DEFINE(HAVE_CXA_DEMANGLE)
+               AC_MSG_RESULT([yes, using -lsupc++])
+               CXXABI_LIBS="$CXXABI_LIBS -lsupc++"],
+           [AC_MSG_RESULT([no, use c++filt -t for manual demangling])])])
+LIBS="$save_LIBS"
+AC_SUBST(CXXABI_LIBS)
+
+## check rational bugfix.
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS"
+AC_MSG_CHECKING(GUILE rational bugfix)
+AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <libguile.h>
+#ifdef SCM_FRACTION_REDUCED_BIT
+#error
+#endif
+]])],[AC_MSG_RESULT(ok)],[REQUIRED="$REQUIRED GUILE-with-rational-bugfix"
+AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt)])
+CPPFLAGS="$save_CPPFLAGS"
+
+
+STEPMAKE_PYTHON_DEVEL(REQUIRED)
+
+STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222)
+
+STEPMAKE_PATH_PROG(T1ASM, t1asm, REQUIRED)
+
+AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h fpu_control.h])
+AC_CHECK_HEADERS([sstream])
+AC_HEADER_STAT
+AC_FUNC_MEMCMP
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS([chroot fopencookie gettext isinf memmem snprintf vsnprintf])
+
+STEPMAKE_PROGS(PKG_CONFIG, pkg-config, REQUIRED, 0.9.0)
+
+AC_MSG_CHECKING(whether to enable dynamic relocation)
+if test "$reloc_b" = "yes"; then
+    AC_DEFINE(ARGV0_RELOCATION)
+fi
+AC_MSG_RESULT($reloc_b)
+
+AC_MSG_CHECKING(for rpath linkage)
+if test "$rpath_b" = "yes"; then
+    LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,\\\$\$ORIGIN/../lib"
+elif test "$rpath_b" != "no"; then
+    LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$rpath_b"
+fi
+AC_MSG_RESULT($rpath_b)
+
+HOST_ARCH=`$CC -dumpmachine`
+AC_SUBST(HOST_ARCH)
+
+STEPMAKE_PANGO_FT2(pangoft2, REQUIRED, 1.6.0)
+STEPMAKE_FONTCONFIG(fontconfig, REQUIRED, 2.4.0)
+STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10)
+
+STEPMAKE_WINDOWS
+
+# guile executable for some scripts
+STEPMAKE_GUILE(OPTIONAL)
+
+# perl for help2man.
+STEPMAKE_PERL(OPTIONAL)
+
+## Optional tools for building documentation, website, extra fonts.
+if test "$DOCUMENTATION" = "yes"; then
+  DOCUMENTATION_REQUIRED=REQUIRED
+else
+  DOCUMENTATION_REQUIRED=OPTIONAL
+fi
+
+STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, $DOCUMENTATION_REQUIRED, 8.60)
+
+STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11)
+STEPMAKE_PROGS(TEXI2HTML, texi2html, $DOCUMENTATION_REQUIRED, 1.82)
+STEPMAKE_PROGS(DBLATEX, dblatex, $DOCUMENTATION_REQUIRED, 0.1.4)
+STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(PDFLATEX, pdflatex, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(TEXI2PDF, texi2pdf, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(TEXINDEX, texindex, $DOCUMENTATION_REQUIRED)
+AC_MSG_CHECKING(for epsf.tex)
+TEX_EPSF=`kpsewhich tex epsf`
+if test "$TEX_EPSF" = ""; then
+    AC_MSG_RESULT(not found)
+    STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,epsf.tex)
+else
+    AC_MSG_RESULT($TEX_EPSF)
+fi
+AC_MSG_CHECKING(for Cyrillic characters support in TeX)
+TEX_FIKPARM=`kpsewhich -format=mf fikparm`
+if test "$TEX_FIKPARM" = ""; then
+    AC_MSG_RESULT(not found)
+    STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,
+['lh CTAN package (texlive-lang-cyrillic or texlive-texmf-fonts)'])
+else
+    AC_MSG_RESULT(yes)
+fi
+STEPMAKE_PROGS(NETPBM, pngtopnm, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(IMAGEMAGICK, convert, $DOCUMENTATION_REQUIRED)
+# this name avoids a conflict with ZIP in stepmake/aclocal.m4
+STEPMAKE_PROGS(ZIPDOC, zip, $DOCUMENTATION_REQUIRED)
+STEPMAKE_PROGS(RSYNC, rsync, $DOCUMENTATION_REQUIRED)
+
+AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}")
+
+# must also have local.make if configure fails.
+touch local.make
+
+if test "$reloc_b$rpath_b" = "yesno"; then
+    STEPMAKE_WARN([Using --enable-relocation without --enable-rpath.  LilyPond may have trouble finding libraries.])
+fi
+
+# Gather requirements and generate output.
+STEPMAKE_END
+
+test -n "$CONFIGURATION" && mc=" conf=$CONFIGURATION" || mc=""
+
+if make top-doc 1>/dev/null 2>&1; then
+    rm -f INSTALL.txt && ln Documentation/topdocs/out/INSTALL.txt .
+    rm -f README.txt && ln Documentation/topdocs/out/README.txt .
+fi
+
+cat <<EOF
+
+Type:
+    make$mc all       to build LilyPond
+    make$mc install   to install LilyPond
+    make$mc help      to see all possible targets
+
+Edit local.make for local Makefile overrides.
+
+
+EOF
diff --git a/configure.in b/configure.in
deleted file mode 100644 (file)
index 954db04..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-dnl configure.in   -*-shell-script-*-
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.60)
-
-# Bootstrap the init process.
-AC_INIT
-
-# Bootstrap StepMake configure
-AC_CONFIG_AUX_DIR([config])
-
-STEPMAKE_INIT
-
-# List a file that identifies your package.
-AC_CONFIG_SRCDIR([lily/main.cc])
-
-# Move to aclocal.m4?
-AC_CONFIG_HEADERS([$CONFIGFILE.hh:config.hh.in])
-
-# Uncomment the configuration options your package needs.
-
-DOCUMENTATION=yes
-AC_ARG_ENABLE(documentation,
-    [AS_HELP_STRING([--enable-documentation],
-                   [build Documentation.  Default: on])],
-    [DOCUMENTATION=$enableval])
-AC_SUBST(DOCUMENTATION)
-
-AC_ARG_WITH(ncsb-dir,
-    [AS_HELP_STRING([--with-ncsb-dir=DIR],
-                   [location of Century Schoolbook fonts.])],
-    [NCSB_DIR=$withval],
-    [NCSB_DIR=""])
-
-reloc_b=no
-AC_ARG_ENABLE(relocation,
-    [AS_HELP_STRING([--enable-relocation],
-                   [compile with dynamic relocation.  Default: off])],
-    [reloc_b=$enableval])
-
-rpath_b=no
-AC_ARG_ENABLE(rpath,
-    [AS_HELP_STRING([--enable-rpath],
-                   [hardcode runtime library path.  Default: off])],
-    [rpath_b=$enableval])
-
-LINK_GXX_STATICALLY=no
-AC_ARG_ENABLE(static-gxx,
-    [AS_HELP_STRING([--enable-static-gxx],
-                   [link libstdc++.a statically.  Default: off])],
-    [LINK_GXX_STATICALLY=$enableval])
-AC_SUBST(LINK_GXX_STATICALLY)
-
-# must come before any header checks
-STEPMAKE_COMPILE
-
-AC_CHECK_PROG(FCLIST, fc-list, fc-list)
-AC_MSG_CHECKING([New Century Schoolbook PFB files])
-AC_SUBST(NCSB_SOURCE_FILES)
-AC_SUBST(NCSB_DIR)
-UNCHECKED_NCSB_SOURCE_FILES=""
-if test "$NCSB_DIR" != "" ;  then
-  for f in c059013l c059016l c059033l c059036l; do
-    if test ! -f "$NCSB_DIR/$f.pfb"; then
-      STEPMAKE_WARN($NCSB_DIR does not contain $f.pfb.)
-    else
-      UNCHECKED_NCSB_SOURCE_FILES="$NCSB_DIR/$f.pfb $UNCHECKED_NCSB_SOURCE_FILES"
-    fi
-  done
-else
-  if test "$FCLIST" != ""; then
-    for style in Roman Italic "Bold Italic" Bold; do
-      NCSB_FILE=`$FCLIST "Century Schoolbook L:style=$style:foundry=urw:fontformat=Type 1" file \
-                | head -n 1`
-      NCSB_FILE=`echo $NCSB_FILE | sed 's/\(:.*\)$//g'`
-      NCSB_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $NCSB_FILE`
-      UNCHECKED_NCSB_SOURCE_FILES="$NCSB_FILE $UNCHECKED_NCSB_SOURCE_FILES"
-    done
-    NCSB_DIR=`AS_DIRNAME($NCSB_FILE)`
-  else
-    AC_MSG_RESULT(not found)
-    echo "Can't find Century Schoolbook files. Install FontConfig's fc-list,"
-    echo "or use --with-ncsb-dir"
-    STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts)
-  fi
-fi
-NCSB_SOURCE_FILES=""
-for f in $UNCHECKED_NCSB_SOURCE_FILES; do
-  if test "`grep Cyrillic "$f"`" = ""; then
-    STEPMAKE_WARN($f does not have Cyrillic characters.)
-    STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts)
-  else
-    NCSB_SOURCE_FILES="$f $NCSB_SOURCE_FILES"
-  fi
-done
-AC_MSG_RESULT($NCSB_SOURCE_FILES)
-
-AC_LANG([C++])
-
-STEPMAKE_PYTHON(REQUIRED, 2.4)
-# this checks if we have GNU C by compiling a program with
-# __GNUC__, but that macro now unofficially means "the compiler
-# supports the GNU C extensions" -- the intel C compiler and clang
-# both support __GNUC__!
-STEPMAKE_GCC_OR_CLANG(REQUIRED, 3.4)
-
-STEPMAKE_CXX(REQUIRED)
-STEPMAKE_GXX_OR_CLANG(REQUIRED, 3.4)
-STEPMAKE_GXXCODEGENBUG
-STEPMAKE_CXXTEMPLATE
-STEPMAKE_STL_DATA_METHOD
-STEPMAKE_LIB(REQUIRED)
-STEPMAKE_DLOPEN
-# Do not use bison 1.50 and 1.75.
-# 1.29 is required fr %locations, but I'm not sure it's enough --ns
-STEPMAKE_BISON(OPTIONAL, 1.29)
-STEPMAKE_FLEX(REQUIRED)
-STEPMAKE_FLEXLEXER(REQUIRED)
-STEPMAKE_FLEXLEXER_LOCATION
-STEPMAKE_LOCALE
-STEPMAKE_GETTEXT
-STEPMAKE_MSGFMT(REQUIRED)
-STEPMAKE_TEXMF(REQUIRED)
-STEPMAKE_TEXMF_DIRS
-STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2)
-
-# check for 3 typedefs added in Guile 1.9
-save_CXXFLAGS="$CXXFLAGS"
-CXXFLAGS="$GUILE_CFLAGS $CXXFLAGS"
-AC_CHECK_TYPES([scm_t_hash_fold_fn, scm_t_hash_handle_fn],
-              [AC_DEFINE(HAVE_GUILE_HASH_FUNC)], [],
-              [#include <libguile.h>])
-AC_CHECK_TYPES([scm_t_subr],
-              [AC_DEFINE(HAVE_GUILE_SUBR_TYPE)], [],
-              [#include <libguile.h>])
-CXXFLAGS="$save_CXXFLAGS"
-
-## Check for usable cxxabi
-save_LIBS="$LIBS"
-LIBS="$LIBS $CXXABI_LIBS"
-AC_MSG_CHECKING(for usable C++ demangler)
-AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <cxxabi.h>],
-           [abi::__cxa_demangle ("", 0, 0, 0)])],
-    [AC_DEFINE(HAVE_CXA_DEMANGLE)
-       AC_MSG_RESULT(yes)],[
-       LIBS="$LIBS -lsupc++"
-       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <cxxabi.h>],
-                   [abi::__cxa_demangle ("", 0, 0, 0)])],
-           [AC_DEFINE(HAVE_CXA_DEMANGLE)
-               AC_MSG_RESULT([yes, using -lsupc++])
-               CXXABI_LIBS="$CXXABI_LIBS -lsupc++"],
-           [AC_MSG_RESULT([no, use c++filt -t for manual demangling])])])
-LIBS="$save_LIBS"
-AC_SUBST(CXXABI_LIBS)
-
-## check rational bugfix.
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS"
-AC_MSG_CHECKING(GUILE rational bugfix)
-AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <libguile.h>
-#ifdef SCM_FRACTION_REDUCED_BIT
-#error
-#endif
-]])],[AC_MSG_RESULT(ok)],[REQUIRED="$REQUIRED GUILE-with-rational-bugfix"
-AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt)])
-CPPFLAGS="$save_CPPFLAGS"
-
-
-STEPMAKE_PYTHON_DEVEL(REQUIRED)
-
-STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222)
-
-STEPMAKE_PATH_PROG(T1ASM, t1asm, REQUIRED)
-
-AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h fpu_control.h])
-AC_CHECK_HEADERS([sstream])
-AC_HEADER_STAT
-AC_FUNC_MEMCMP
-AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([chroot fopencookie gettext isinf memmem snprintf vsnprintf])
-
-STEPMAKE_PROGS(PKG_CONFIG, pkg-config, REQUIRED, 0.9.0)
-
-AC_MSG_CHECKING(whether to enable dynamic relocation)
-if test "$reloc_b" = "yes"; then
-    AC_DEFINE(ARGV0_RELOCATION)
-fi
-AC_MSG_RESULT($reloc_b)
-
-AC_MSG_CHECKING(for rpath linkage)
-if test "$rpath_b" = "yes"; then
-    LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,\\\$\$ORIGIN/../lib"
-elif test "$rpath_b" != "no"; then
-    LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$rpath_b"
-fi
-AC_MSG_RESULT($rpath_b)
-
-HOST_ARCH=`$CC -dumpmachine`
-AC_SUBST(HOST_ARCH)
-
-STEPMAKE_PANGO_FT2(pangoft2, REQUIRED, 1.6.0)
-STEPMAKE_FONTCONFIG(fontconfig, REQUIRED, 2.4.0)
-STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10)
-
-STEPMAKE_WINDOWS
-
-# guile executable for some scripts
-STEPMAKE_GUILE(OPTIONAL)
-
-# perl for help2man.
-STEPMAKE_PERL(OPTIONAL)
-
-## Optional tools for building documentation, website, extra fonts.
-if test "$DOCUMENTATION" = "yes"; then
-  DOCUMENTATION_REQUIRED=REQUIRED
-else
-  DOCUMENTATION_REQUIRED=OPTIONAL
-fi
-
-STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, $DOCUMENTATION_REQUIRED, 8.60)
-
-STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11)
-STEPMAKE_PROGS(TEXI2HTML, texi2html, $DOCUMENTATION_REQUIRED, 1.82)
-STEPMAKE_PROGS(DBLATEX, dblatex, $DOCUMENTATION_REQUIRED, 0.1.4)
-STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(PDFLATEX, pdflatex, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(TEXI2PDF, texi2pdf, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(TEXINDEX, texindex, $DOCUMENTATION_REQUIRED)
-AC_MSG_CHECKING(for epsf.tex)
-TEX_EPSF=`kpsewhich tex epsf`
-if test "$TEX_EPSF" = ""; then
-    AC_MSG_RESULT(not found)
-    STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,epsf.tex)
-else
-    AC_MSG_RESULT($TEX_EPSF)
-fi
-AC_MSG_CHECKING(for Cyrillic characters support in TeX)
-TEX_FIKPARM=`kpsewhich -format=mf fikparm`
-if test "$TEX_FIKPARM" = ""; then
-    AC_MSG_RESULT(not found)
-    STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,
-['lh CTAN package (texlive-lang-cyrillic or texlive-texmf-fonts)'])
-else
-    AC_MSG_RESULT(yes)
-fi
-STEPMAKE_PROGS(NETPBM, pngtopnm, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(IMAGEMAGICK, convert, $DOCUMENTATION_REQUIRED)
-# this name avoids a conflict with ZIP in stepmake/aclocal.m4
-STEPMAKE_PROGS(ZIPDOC, zip, $DOCUMENTATION_REQUIRED)
-STEPMAKE_PROGS(RSYNC, rsync, $DOCUMENTATION_REQUIRED)
-
-AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}")
-
-# must also have local.make if configure fails.
-touch local.make
-
-if test "$reloc_b$rpath_b" = "yesno"; then
-    STEPMAKE_WARN([Using --enable-relocation without --enable-rpath.  LilyPond may have trouble finding libraries.])
-fi
-
-# Gather requirements and generate output.
-STEPMAKE_END
-
-test -n "$CONFIGURATION" && mc=" conf=$CONFIGURATION" || mc=""
-
-if make top-doc 1>/dev/null 2>&1; then
-    rm -f INSTALL.txt && ln Documentation/topdocs/out/INSTALL.txt .
-    rm -f README.txt && ln Documentation/topdocs/out/README.txt .
-fi
-
-cat <<EOF
-
-Type:
-    make$mc all       to build LilyPond
-    make$mc install   to install LilyPond
-    make$mc help      to see all possible targets
-
-Edit local.make for local Makefile overrides.
-
-
-EOF
diff --git a/input/regression/accidental-grouping.ly b/input/regression/accidental-grouping.ly
new file mode 100644 (file)
index 0000000..b8cfce4
--- /dev/null
@@ -0,0 +1,16 @@
+\version "2.17.10"
+
+\header {
+  texidoc = "By setting @code{accidentalGrouping} to @code{'voice},
+LilyPond will horizontally stagger the accidentals of octaves
+in different voices as seen in this test's E-sharp.
+"
+}
+
+ \relative c''' {
+   << { <gis cis eis gis>1 } \\
+      { eis,              } >>
+  \set Staff . accidentalGrouping = #'voice
+   << { <gis' cis eis gis>1 } \\
+      { eis,              } >>
+}
index 907e3eae360628fd1c9aed4bf6c8abf7aa865280..88e1ec24816358e776de8814bbdb3e2f787ddb0b 100644 (file)
@@ -3,7 +3,7 @@
 anywhere in the vertical alignment. "
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t
@@ -22,7 +22,7 @@ anywhere in the vertical alignment. "
       }
       \new Staff {
         \set Staff.alignAboveContext = #"3"
-        \times 4/6 {
+        \tuplet 6/4 {
           \override TextScript.padding = #3
           c4^"this" d_"staff" e^"above" d_"last" e^"staff" f
         }
index f0aec5f86653b4d101afa233ac40486815966dcf..fa22244c6d9ab499ac54f030e488fdf0157f25c6 100644 (file)
@@ -10,6 +10,8 @@ and a @code{Mensural_ligature_engraver} without segfaulting.
 \new Voice \with  {
   \consists "Ambitus_engraver"
   \consists "Mensural_ligature_engraver"
+  \remove "Ligature_bracket_engraver"
 } {
+  \cadenzaOn
   \[ c'\longa c''\longa \]
 }
index 6798aa8e83ef723fb2dc1c73f5d42e8892e094d8..c811a5d9635d4674c72a6a6a1ffcbfb58b36e7c0 100644 (file)
@@ -8,14 +8,14 @@ beaming pattern related functions at the start of an autobeam."
 }
 
 
-\version "2.16.0"
+\version "2.17.11"
 \paper { ragged-right = ##t }
 {
   \time 2/4
   b16 b b b
   b16 b b b
   \set subdivideBeams = ##t
-  \set Score.baseMoment = #(ly:make-moment 1 8)
+  \set Score.baseMoment = #(ly:make-moment 1/8)
   b16 b b b
   b16 b b b
 }
index 121a22f79f81bf9f4e63a71ccfef33fa965c9ee8..a9229e1df26980ecd078223c6d90c3126a26fd3d 100644 (file)
@@ -4,10 +4,10 @@
   texidoc = "Automatic beaming is also done on tuplets."
 }
 
-\version "2.16.0"
+\version "2.17.11"
 \layout { ragged-right= ##t }
 
 \relative c''{
   c8 c c c
-  \times 4/6 { c c c c c c}
+  \tuplet 6/4 { c c c c c c}
 }
index e6b36894d338be2bee5310b9ad58b9c2eae423fa..1b9e3abb1f2e775bacfe83cd398e68102e6f9e21 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "Tuplet-spanner should not put (visible) brackets on
@@ -8,9 +8,9 @@ beams even if they're auto generated."
 \layout { ragged-right= ##t }
 
 \relative c' {
-  \set tupletSpannerDuration = #(ly:make-moment 1 4)
+  \tupletSpan 4
   \override TupletBracket.bracket-visibility = #'if-no-beam
-  \times 2/3 {
+  \tuplet 3/2 {
     f8[ f f ] f8[ f f ] f f f f f f 
   }
 }
index 4a098e33d854b02f9819bd6902ffd0d35b4eb519..79aad6b6bb91700f79b61923097d5fa6736c346f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 
@@ -27,7 +27,7 @@ is changed, beams should start at the beginning of the measure.
   r8^\markup "Beam to the beat" c c c c c
   c c c r r4 \bar "||"
 
-  \set Timing.baseMoment = #(ly:make-moment 1 8)
+  \set Timing.baseMoment = #(ly:make-moment 1/8)
   \set Timing.beatStructure = #'(3 3)
   r8^\markup "Override to beam groups of 3 eighth notes" c c c c c
   r4. c8 c c c c c r4.
index fbd81b8ec236ac794ab3c9b7a7e33283212ddfbf..37a1361d9b5ba0e039c376625c1d5e410c3668b7 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 
@@ -10,7 +10,7 @@ In the example, the first beat should be beamed completely together."
 \relative c' {
   \time 2/4
   c16 c
-  \times 2/3 { c8 c16 }
-  \times 2/3 { c8 c16 }
+  \tuplet 3/2 { c8 c16 }
+  \tuplet 3/2 { c8 c16 }
   c16 c
 }
index 5191c5331277cdab13822e11d1f3e64268097b93..018c014da84bfcd7d1b47b2ac0af7866ad325075 100644 (file)
@@ -2,7 +2,7 @@
   texidoc = "Exercise all output functions"
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper { ragged-right = ##t }
 
@@ -11,7 +11,7 @@
     \new Staff
       {
        \ottava #1
-       \times 2/3 { c8[\< f]( f''\!) }
+       \tuplet 3/2 { c8[\< f]( f''\!) }
        \ottava #0
        <f,, \5>4
 
index 29edf9e7f36097467a02440e29a571999145eba0..d165f4e5f479ae2ca1f40d2c89dd6d01818b2443 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header{
 
   texidoc = "Fully concave beams should be horizontal. Informally spoken,
@@ -12,7 +12,7 @@
 }
 
 
-resetMeasure = \set Score.measurePosition = #(ly:make-moment 0 1)
+resetMeasure = \set Score.measurePosition = #(ly:make-moment 0/1)
 
 %% examples from Ross.
 rossFourBeams =\relative c'' {
index 6d0e6d4ed1805af5307cbd4d55a30a6221f21be6..21c755c2550a78ced9b33000a693cca2928018c3 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 \header{
 texidoc="
 Beams should behave reasonably well, even under extreme circumstances.
@@ -23,7 +23,7 @@ extreme = \relative c'' {
 
   %%%%%%%
   \stemNeutral
-  \times 2/3{ d16[ fis' d,]} \times 2/3{ cis[ g'' cis,,]}
+  \tuplet 3/2{ d16[ fis' d,]} \tuplet 3/2{ cis[ g'' cis,,]}
   a'16 cis a, g''' % Used to give a nice beam directed upwards.
   \stemNeutral
 
index b21658c46b0c69f0c63827550af32f8cd7bfbedf..0006976c6e6b9d6b032d7ba98a619456ab163f8c 100644 (file)
@@ -6,7 +6,7 @@
   
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t
@@ -18,7 +18,7 @@
 % a linear decrease instead?
 %
 
-\featherDurations #(ly:make-moment 3 4) \relative c'' {
+\featherDurations #(ly:make-moment 3/4) \relative c'' {
   \override Beam.grow-direction = #LEFT
   c16[
     c c c
index 0593907d1b248185419b128722324710c4b6372f..f64237ab227bd4e11b3bbd7da9aea541bcc40b40 100644 (file)
@@ -6,7 +6,7 @@ as invisible stems."
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout {
   ragged-right = ##t
@@ -14,9 +14,9 @@ as invisible stems."
 }
 
 \relative c' {
-  \times 2/3 {r8[ c' g']}
+  \tuplet 3/2 {r8[ c' g']}
   \override Stem.stemlet-length = #0.5
-  \times 2/3 {r8[ c, g']}
+  \tuplet 3/2 {r8[ c, g']}
 }
 
 
index 93223c969df881920fdaf095625563919c7fdfd4..5db5ea1f54141b2f71b57d00e9ac5d3924911652 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   
@@ -13,8 +13,8 @@ the beams should be subdivided every 1/8.
 }
 
 \relative c' {
-    \set tupletSpannerDuration = #(ly:make-moment 1 4)
-    \set baseMoment = #(ly:make-moment 1 8)
+    \tupletSpan 4
+    \set baseMoment = #(ly:make-moment 1/8)
     \set subdivideBeams = ##t
-    \times 4/6 { \repeat unfold 24 { c16 } }
+    \tuplet 6/4 { \repeat unfold 24 { c16 } }
 }
index caac0a6f6d090d0e0d07f3cd5a47500978ed13de..0c0a4c91cfcc77ce96e5499e621c4b4447f229f6 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 
@@ -8,7 +8,7 @@ Beams in a completed tuplet should be continuous.
 }
 
 {
-  \times 2/3 {b16 b b} b8 b8 \times 2/3 {b16 b b}
-  \times 1/3 {b16 b b} b8. b \times 1/3 {b16 b b}
+  \tuplet 3/2 {b16 b b} b8 b8 \tuplet 3/2 {b16 b b}
+  \tuplet 3/1 {b16 b b} b8. b \tuplet 3/1 {b16 b b}
 }
 
index 39cdfe53707763e124df6cfc46ce9306990f051c..bb8bba1872a359a2df8a18128bca0181e7d2e58b 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 
 \header{
 texidoc="
@@ -10,7 +10,7 @@ case, line breaks are forbidden.
 
 \context Staff  \relative c''  {
 
-  c8[ \times 2/3 { c16 d e] }
+  c8[ \tuplet 3/2 { c16 d e] }
   s4*3
   
   c8.[ c16]
index d2a8667a6d82f8ecdbd1597b1573e776ea5c8721..5ec8e4b5a6aeecf8c36c1a6c104e4ad475540c41 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "
@@ -8,29 +8,29 @@ broken beat units.  This should work in tuplets as well as in ordinary time.
 }
 
 \relative c'' {
-    \times 2/3 {
+    \tuplet 3/2 {
       c8. c16 c8
     }
-   \times 2/3 {
+   \tuplet 3/2 {
       c8 c16 c8.
     }
-  \times 4/5 {
+  \tuplet 5/4 {
     c8[ c8. c16 c8 c8]
   }
-  \times 4/5 {
+  \tuplet 5/4 {
     c8[ c8 c16 c8. c8]
   }
-  \times 4/5 {
+  \tuplet 5/4 {
     c8 c16 c8. c8 c8
   }
-  \times 4/5 {
+  \tuplet 5/4 {
     c8 c8 c8. c16 c8
   }
   c8.[ c16 c8 c8]
   c8[ c16 c8. c8]
   c8[ c8. c16 c8]
   c8.[ c16 c8. c16]
-  \times 4/5 { c8 [ c16 c8 c16 c8 c8 ] }
-  \times 4/5 { a8 a32 a8 a16. a8 a8 }
+  \tuplet 5/4 { c8 [ c16 c8 c16 c8 c8 ] }
+  \tuplet 5/4 { a8 a32 a8 a16. a8 a8 }
 }
 
index d70b80aab010d13287381ffb84faf3d0061910cc..ba8f1fdbe619f4c38813b02999f5d5594df1744e 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 
 \header {
@@ -11,5 +11,5 @@ correctly on them.
 
 \relative c' {
   <c e g>4 r <c e g>2 ~ |
-  \times 2/3 { <c e g>4 q q } \times 2/3 { q q q } |
+  \tuplet 3/2 { <c e g>4 q q } \tuplet 3/2 { q q q } |
 }
index 305f58a128a214aff5817dd9d9d8fa9991873a3d..e2e397618f2bee26bdfed7514ec3dbb868474e26 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "
@@ -15,6 +15,6 @@ Completion heads may be used with tuplets (and compressed music) too.
 }
 
 \context Staff \relative c'' {
-  \set tupletSpannerDuration = #(ly:make-moment 1 1)
-  \times 2/3 { g1 g g }
+  \tupletSpan 1
+  \tuplet 3/2 { g1 g g }
 }
index f88ab32ef9c09cfee28ee2de8c00757dd87f90a2..e35e6393444d2cd3b920b5d6a6bc02abc9b689cb 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 texidoc = "
@@ -17,10 +17,10 @@ Note head completion may be broken into sub-bar units by setting the
 
 \context Staff \relative f {
   \time 9/8
-  \set completionUnit = #(ly:make-moment 3 8)
+  \set completionUnit = #(ly:make-moment 3/8)
   g'1.. g2
   \time 6/4
-  \set completionUnit = #(ly:make-moment 1 4)
-  \set tupletSpannerDuration = #(ly:make-moment 1 4)
-  \times 2/3 { e4 c8 f g a4 b8 c4 b8 a4 g8 a e f4 }
+  \set completionUnit = #(ly:make-moment 1/4)
+  \tupletSpan 4
+  \tuplet 3/2 { e4 c8 f g a4 b8 c4 b8 a4 g8 a e f4 }
 }
index 2ecae684e4bd1a6acfeb2cae157e06ab404de52c..9d4306a2acf0919e06730b24fbd515f55460d5d4 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 #(use-modules (srfi srfi-13)
               (ice-9 format))
 
@@ -178,14 +178,15 @@ stderr of this run."
 \test ##[ { \change Staff = "up" { c d } } #]          % ContextChange
 
 %% Tuplets
-\test ##[ \times 2/3 { c8 d e } #]                             % TimeScaledMusic
-\test ##[ \times 4/6 { c16 d e f g a } #]
-\test ##[ \times 2/3 { c d e \times 2/5 { f e d2 d4 } c } #]
-%}
+\test ##[ \tuplet 3/2 { c8 d e } #]                            % TimeScaledMusic
+\test ##[ \tuplet 6/4 { c16 d e f g a } #]
+\test ##[ \tuplet 3/2 { c d e \tuplet 5/2 { f e d2 d4 } c } #]
+\test ##[ \tuplet 3/2 2 { c d e \tuplet 5/2 2 { f e d2 d4 } c } #]
+
 %% \relative and \tranpose
 \test #"NOT A BUG" ##[ \relative c' { c b } #] % RelativeOctaveMusic
 \test #"NOT A BUG" ##[ \transpose c d { c d } #]       % TransposedMusic
-%}
+
 %% Repeats
 \test ##[ \repeat volta 2 { c d } #]           % VoltaRepeatedMusic
 \test ##[ \repeat unfold 2 { c d } #]                  % UnfoldedRepeatedMusic
index 8c6b087f5139a00ddd903c8e244f9d9df6a3d668..f87e23f038a36546b7d65d1eaac174b2fc741dc7 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Dot Columns are engraved in the Staff by default,
@@ -9,7 +9,7 @@ and these dots avoid notes in other voices."
 
 music = \relative c'' { \time 3/4 << {
   <d f g>4. c c b g f a <a b> a <a' b>
-} \\ \times 1/2 {
+} \\ \tuplet 2/1 {
   <f, g b>2. a-- <a b> <g a>-. a2. a-- a a b <a b> \bar "|."
 } >> }
 
index 71f32a35ebd0b076ec37c0a27cd9fc2afda8326b..96b59cb81ceaa17b229d62917c32798f4e6168ac 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "The compression factor of a duration identifier is
@@ -6,7 +6,7 @@ correctly accounted for by the parser."
 }
 
 % looks like a whole note, has duration of half note
-wholeHalved = #(ly:make-duration 0 0 1 2)
+wholeHalved = #(ly:make-duration 0 0 1/2)
 
 
 \relative c' {
diff --git a/input/regression/fingering-directions.ly b/input/regression/fingering-directions.ly
new file mode 100644 (file)
index 0000000..ba8d152
--- /dev/null
@@ -0,0 +1,32 @@
+\version "2.16.0"
+
+\header {
+  texidoc = "Fingering directions in directed and undirected contexts."
+}
+
+\layout { ragged-right= ##t }
+
+{
+  \relative c''
+  \new Voice {
+    \tempo "\\voiceTwo"
+    \voiceTwo
+    c2^5 <c^5>
+    c_5 <c_5>
+    c-5 <c-5>
+    \tempo "\\oneVoice"
+    \oneVoice
+    c^5 <c^5>
+    c_5 <c_5>
+    c-5 <c-5>
+  } \addlyrics {
+    \override LyricText . font-size = #-2
+    \override LyricText . font-series = #'bold
+    "c^5" "<c^5>"
+    "c_5" "<c_5>"
+    "c-5" "<c-5>"
+    "c^5" "<c^5>"
+    "c_5" "<c_5>"
+    "c-5" "<c-5>"
+  }
+}
index d3af8ab84e95157de580c7141ac9221cdfe5a754..bf00be2fc41b2396041b5d4c01f267caf457b910 100644 (file)
@@ -5,7 +5,7 @@
 }
 
 
-\version "2.16.0"
+\version "2.17.11"
 
 %% todo : use macro, to show the statement tested. 
 #(ly:progress "~a\n" (ly:expand-environment "${HOME} $HOME $$ "))
@@ -14,7 +14,7 @@
 %% very platform dependent.
 %% #(ly:font-config-display-fonts)
 
-#(ly:progress "~A\n" (ly:duration->string (ly:make-duration 2 2 3 7)))
+#(ly:progress "~A\n" (ly:duration->string (ly:make-duration 2 2 3/7)))
 #(ly:parser-parse-string (ly:parser-clone parser) "foo  = #1 #(ly:progress \"hello there\n\")")
 
 #(ly:progress "~a\n" (ly:truncate-list! (iota 5) 10))
index f3d53a79021935acc2be365336404547fda5e354..5611773909407757ae173a4a733ad9b5abc0566e 100644 (file)
@@ -7,6 +7,6 @@
 \relative c' {
   \once \override Voice.Glissando.style =
     #(lambda (grob)
-       (if (eq? 1 (ly:grob-property grob 'glissando-index)) 'zigzag 'default))
+       (if (= 1 (ly:grob-property grob 'glissando-index)) 'zigzag 'default))
   <d f a>1 \glissando s1 <f a c>
 }
index 820386f1143d119b8cd25fec8520e76f15059783..7cea105e644613f6e802189fd8a6ae6ea5d4f59d 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 
 \header{
 
@@ -18,7 +18,7 @@ Main note scripts do not end up on the grace note.
   \grace b8 c4\fermata
   \grace {  c32[ cis32] } gis4
   \grace {  cis32[ dis32] } e4
-  \grace {  c32[ d] }\times 2/3 {  c8[ c c] }
+  \grace {  c32[ d] }\tuplet 3/2 {  c8[ c c] }
   \grace {  b32[ ( c32] }   c4)
   \grace  <c d>16  c8[ c8]
                                %       \grace  c16  c8[ c8]
index e43000956ca9c99ebe210eacb55c338847b24209..ed4e054c62111d4ce4a2848a0a849c31e8fd2d0f 100644 (file)
@@ -5,7 +5,7 @@
 staves synchronized with the notes."
 
 }
-\version "2.17.6"
+\version "2.17.11"
 
 skips =
 {
@@ -39,7 +39,7 @@ skips =
   \context {
     \RhythmicStaff
     \consists "Grid_point_engraver"
-    gridInterval = #(ly:make-moment 1 8)
+    gridInterval = #(ly:make-moment 1/8)
     \override BarLine.bar-extent = #'(-0.025 . 0.025)
   }
   \context {
index 7548edad73458421920b01388cd7c1a0c02c5135..28f99fd58e826e12666f9b6acb535a88d30d68cc 100644 (file)
@@ -5,7 +5,7 @@ if the switch occurs together with context instantiation."
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 <<
   \relative \new Voice = "lahlah" {
@@ -14,7 +14,7 @@ if the switch occurs together with context instantiation."
     <<
       \new Voice = "alternative" {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
          %% show associations clearly.
           \override NoteColumn.force-hshift = #-3
           r8 f g
index 9d0943f390b19cc5a2cb3487adc9dbc49b904108..cedcb39d2d2e5fc2350fa3455384630f238ff459 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 
 \header{
 
@@ -19,7 +19,7 @@ lyrics ignore any other rhythms in the piece."
 
 m = \relative c'' {
     \autoBeamOff
-    g8( a)  r8 \times 2/3 { g'8( f e) } r8 \grace {  d16[ c b] } e4
+    g8( a)  r8 \tuplet 3/2 { g'8( f e) } r8 \grace {  d16[ c b] } e4
     \textLengthOff
     d8.^"melisma"      \melisma c16
     \melismaEnd
diff --git a/input/regression/make-relative.ly b/input/regression/make-relative.ly
new file mode 100644 (file)
index 0000000..706bdb9
--- /dev/null
@@ -0,0 +1,82 @@
+\version "2.17.11"
+\header {
+
+  texidoc = "@code{make-relative} is a Scheme utility macro mainly
+useful for creating music functions accepting pitches as arguments.
+Its purpose is to make music functions taking pitch arguments for
+producing complex music fragments integrate nicely within a
+@code{\\relative} section.  This regtest typesets a short music
+fragment twice, once without using @code{\\relative}, once using it.
+The fragment should appear identical in both cases."
+
+}
+
+\layout { ragged-right= ##t }
+
+ph =
+#(define-music-function (parser location p1 p2 p3 p4 p5)
+  (ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch?)
+  (make-relative (p1 p2 p3 p4 p5) p1
+   #{
+     \repeat unfold 2 { $p1 2 } |
+     \repeat unfold 2 { r16 $p2 8. ~ $p2 4 } |
+     \repeat unfold 2 { r8 $p3 16 $p4 $p5 $p3 $p4 $p5 } |
+   #}))
+
+\parallelMusic #'(low middle high)
+{
+  \ph c' e' g' c'' e''
+  R1*7 | \skip 1*7 | \oneVoice R1*7 \voiceOne |
+  \ph a c' e' g' c''
+  \voiceTwo | \change Staff = "down" \voiceOne | \oneVoice |
+  \ph d a d' fis' c''
+  \oneVoice R1*21 \voiceTwo | \skip 1*21 | R1*21 |
+  \ph c, c g bes e'
+  c,2~ c, | r16 c8. ~ c4 ~ c2
+  | r8 f16 a c' f' c' a c' a f a f d f d |
+  c,2~ c, | r16 b,8. ~ b,4 ~ b,2
+  | r8 g'16 b' d'' f'' d'' b' d'' b' g' b' d' f' e' d' |
+  c,1\fermata | c1 | <e' g' c''>1\fermata \bar "|." |
+}
+
+\score {
+  \new PianoStaff <<
+    \compressFullBarRests
+    \new Staff = "up" {
+      << \high \\ \middle >>
+    }
+    \new Staff = "down" {
+      \clef bass
+      \low
+    }
+  >>
+}
+
+\parallelMusic #'(low middle high)
+\relative c' {
+  \ph c e g c e
+  R1*7 | \skip 1*7 | \oneVoice R1*7 \voiceOne |
+  \ph a c e g c
+  \voiceTwo | \change Staff = "down" \voiceOne | \oneVoice |
+  \ph d, a' d fis c'
+  \oneVoice R1*21 \voiceTwo | \skip 1*21 | R1*21 |
+  \ph c, c' g' bes e
+  c2~ c | r16 c'8. ~ c4 ~ c2
+  | r8 f16 a c f c' a c a f a f d f d |
+  c,,2~ c | r16 b'8. ~ b4 ~ b2
+  | r8 g'16 b d f d b d b g b d f e d |
+  c,,1\fermata | c'1 | <e' g c>1\fermata \bar "|." |
+}
+
+\score {
+  \new PianoStaff <<
+    \compressFullBarRests
+    \new Staff = "up" {
+      << \high \\ \middle >>
+    }
+    \new Staff = "down" {
+      \clef bass
+      \low
+    }
+  >>
+}
index bb1406b4cc3185c6eb1b2a81fe63a4c5f02d34cb..c24c6d43b7d3d41c474313c6a6a868e7731845c2 100644 (file)
@@ -1,11 +1,20 @@
-\version "2.16.0"
+\version "2.17.12"
 
 \header {
   texidoc = "@code{\\note-by-number} and @code{\\note} support
-all note head styles."
+all note head styles and straight flags."
 }
 
-#(define-markup-command (show-note-styles layout props) ()
+#(define styles-list
+  '(default altdefault
+    baroque neomensural
+    mensural petrucci
+    harmonic harmonic-black
+    harmonic-mixed diamond
+    cross xcircle
+    triangle slash))
+
+#(define-markup-command (show-note-styles layout props styles) (list?)
    (interpret-markup layout props
                      (make-column-markup
                       (map
@@ -23,16 +32,32 @@ all note head styles."
                                (lambda (dur-log)
                                  (make-note-by-number-markup
                                   dur-log 0 UP))
-                               '(-3 -2 -1 0 1 2))))))))
-                       '(default altdefault
-                          baroque neomensural
-                          mensural petrucci
-                          harmonic harmonic-black
-                          harmonic-mixed diamond
-                          cross xcircle
-                          triangle slash)))))
+                               '(-3 -2 -1 0 1 2 3 4 5 6))))))))
+                       styles))))
+
+\markup {
+  \column {
+    \vspace #1
+    \underline "Note-head-styles:"
+    \override #'(baseline-skip . 6)
+    \show-note-styles #styles-list
+  }
+}
+
+\markup {
+  \column {
+    \vspace #1
+    \underline "Modern-straight-flag:"
+    \override #'(flag-style . modern-straight-flag)
+    \show-note-styles #'(default)
+  }
+}
 
 \markup {
-  \override #'(baseline-skip . 6)
-  \show-note-styles
+  \column {
+    \vspace #1
+    \underline "Old-straight-flag:"
+    \override #'(flag-style . old-straight-flag)
+    \show-note-styles #'(default)
+  }
 }
index b642b98df625d94b55083e3e180467bde0c25a24..307336799b8493a96a3b366b2fb87577db2fd384 100644 (file)
@@ -3,64 +3,70 @@
   texidoc = "The note markup function may be used to make metronome
  markings. It works for a variety of flag, dot and duration settings."
 }
-\version "2.17.6"
+\version "2.17.12"
 
-\score {
-  \relative c''
-  {
-    c4^\markup {
-      \note #"1" #1
-      \note #"2" #1
-      \note #"4" #1
-      \note #"8" #1
-      \note #"16" #1
-      \note #"32" #1
-      \note #"64" #1
+mrkp =
+\markup {
+   \note #"1" #1
+   \note #"2" #1
+   \note #"4" #1
+   \note #"8" #1
+   \note #"16" #1
+   \note #"32" #1
+   \note #"64" #1
 
-      \note #"1" #-1
-      \note #"2" #-1
-      \note #"4" #-1
-      \note #"8" #-1
-      \note #"16" #-1
-      \note #"32" #-1
-      \note #"64" #-1
+   \note #"1" #-1
+   \note #"2" #-1
+   \note #"4" #-1
+   \note #"8" #-1
+   \note #"16" #-1
+   \note #"32" #-1
+   \note #"64" #-1
 
-      \note #"1." #-1
-      \note #"2." #-1
-      \note #"4." #-1
-      \note #"8." #-1
-      \note #"16." #-1
-      \note #"32." #-1
-      \note #"64." #-1
+   \note #"1." #-1
+   \note #"2." #-1
+   \note #"4." #-1
+   \note #"8." #-1
+   \note #"16." #-1
+   \note #"32." #-1
+   \note #"64." #-1
 
-      \note #"1." #1
-      \note #"2." #1
-      \note #"4." #1
-      \note #"8." #1
-      \note #"16." #1
-      \note #"32." #1
-      \note #"64." #1
+   \note #"1." #1
+   \note #"2." #1
+   \note #"4." #1
+   \note #"8." #1
+   \note #"16." #1
+   \note #"32." #1
+   \note #"64." #1
 
-      \override #'(style . cross)
-      { \note-by-number #2 #1 #1
-        \note-by-number #2 #1 #-1
-      }
-      \override #'(style . triangle)
-      { \note-by-number #2 #1 #1
-        \note-by-number #2 #1 #-1
-      }
+   \override #'(style . cross)
+   { \note-by-number #2 #1 #1
+     \note-by-number #2 #1 #-1
+   }
+   \override #'(style . triangle)
+   { \note-by-number #2 #1 #1
+     \note-by-number #2 #1 #-1
+   }
+}
 
+\score {
+  \relative c''
+  {
+    c4^\markup {
+            \column {
+                    \mrkp
+                    \override #'(style . mensural) \mrkp
+                    \override #'(flag-style . modern-straight-flag) \mrkp
+                    \override #'(flag-style . old-straight-flag) \mrkp
+            }
     }
-
     \override NoteHead.style = #'triangle
     c4 a
   }
-
   \layout {
     \context {
       \Score
       \override PaperColumn.keep-inside-line = ##f
     }
   }
-
 }
index 71860fb49fdb37ed3c1a55d88f4fe8db61dcdcf0..ffac9f2e68998f67ec017088cc231a560b4cb3bc 100644 (file)
@@ -2,7 +2,7 @@
     texidoc = "Use \\score block as markup command."
 }
 
-\version "2.16.0"
+\version "2.17.11"
 
 tuning = \markup {
     \score {
@@ -24,8 +24,8 @@ tuning = \markup {
 
 \relative c'' {
     \time 4/8
-    \times 2/3 { c8 d e } \times 2/3 {c d e}
-    \times 2/3 { c8 d e } \times 2/3 {c d e}
+    \tuplet 3/2 { c8 d e } \tuplet 3/2 {c d e}
+    \tuplet 3/2 { c8 d e } \tuplet 3/2 {c d e}
     g8 a8 g8 a
     g8 a8 g8 a
 }
index 16325e95576621fd53d3ccdca9ca0b2ce53dbe11..52f5b13962951ce401bb52a6e9823fbc2282f6e2 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
 texidoc = "A @code{MetronomeMark}, @code{RehearsalMark} and @code{BarNumber}
@@ -20,7 +20,7 @@ should not effect the starting point of spanners.
    \override Beam.breakable = ##t
    \override Glissando.breakable = ##t
 
-   \ottava #1 \times 1/1 { e'8\<\startTextSpan\startTrillSpan\glissando
+   \ottava #1 \tuplet 1/1 { e'8\<\startTextSpan\startTrillSpan\glissando
      [ \override NoteColumn.glissando-skip = ##t\repeat unfold 22 e'8
        \revert NoteColumn.glissando-skip e'8\!\stopTextSpan\stopTrillSpan ] } |
  }
index ac6b5c67a385e90f7a90d39d54ea939cee86c06d..d692c223591bb542fa435f3f4d20530d88919324 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "
@@ -11,7 +11,7 @@ printed with an en-dash character, separated by thin-spaces.
   \tempo 4 = 66 ~ 72
   c1 | c
   $(make-event-chord (list (make-music 'TempoChangeEvent
-                                        'tempo-unit (ly:make-duration 2 0 1 1)
+                                        'tempo-unit (ly:make-duration 2 0 1/1)
                                         'metronome-count (cons 124 132))))
   c1 | c
 }
diff --git a/input/regression/midi-grace-after-tie.ly b/input/regression/midi-grace-after-tie.ly
new file mode 100644 (file)
index 0000000..6aca01b
--- /dev/null
@@ -0,0 +1,17 @@
+\header {
+
+  texidoc = "Tied notes sound as one note in MIDI.  Grace notes
+  following a tied note shorten the resulting single note in MIDI."
+
+  % https://code.google.com/p/lilypond/issues/detail?id=3091
+}
+\version "2.16.0"
+\score {
+  \relative c' {
+    % This first b~ tie should be honoured in the MIDI output:
+    a2. b4~
+    % i.e. this b8 must not be sounded:
+    | b8 \grace c16 d4
+  }
+  \midi { }
+}
index 11153ded7d8c233eb1bdf4ad8675e693a9406830..49cda2ccc4a26133706be7a3a5c1564aec8daa1d 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 \header {
 texidoc = "
 
@@ -21,11 +21,11 @@ Midi2ly tuplet test.
 
     a1 a2 a2. a4 a4. a8 a8. a16 a16. a32 a32. a64
 
-    \times 2/3 { b4 b4 b4 }
-    \times 3/5 { b4 b4 b4 b4 b4 }
+    \tuplet 3/2 { b4 b4 b4 }
+    \tuplet 5/3 { b4 b4 b4 b4 b4 }
 
-    \times 2/3 { c8 c8 c8 }
-    \times 3/5 { c8 c8 c8 c8 c8 }
+    \tuplet 3/2 { c8 c8 c8 }
+    \tuplet 5/3 { c8 c8 c8 c8 c8 }
 
   }
   \layout { }  
index 5aff4966521b0a0d26e36a5db01cba0d399c689d..a961de79d0520423c8b420c5bd75df9165030951 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 \include "mozart-hrn3-defs.ily"
 
 allegro = \relative c' {
@@ -130,19 +130,19 @@ allegro = \relative c' {
   c4) r r2
   R1 |
   \mark "H"
-  \times 2/3 { c8[ b a ] }
-  \times 2/3 { g[ a b] }
-  \times 2/3 { c[ d e] }
-  \times 2/3 { f[ e d] } |
-  \times 2/3 { c[ b a ] }
-  \times 2/3 { g[ a b] }
-  \times 2/3 { c[ d e] }
-  \times 2/3 { f[ e d] }|
-  c4 \times 2/3 { r8 g'[( e)]} c4
-  \times 2/3 { r8 e[ ( c)]} |
-  g4 \times 2/3 { r8  c8[( g)] }
-  \times 2/3 { e[ ( g) e-. ] }
-  \times 2/3 { c[ ( e) c-.] }|
+  \tuplet 3/2 { c8[ b a ] }
+  \tuplet 3/2 { g[ a b] }
+  \tuplet 3/2 { c[ d e] }
+  \tuplet 3/2 { f[ e d] } |
+  \tuplet 3/2 { c[ b a ] }
+  \tuplet 3/2 { g[ a b] }
+  \tuplet 3/2 { c[ d e] }
+  \tuplet 3/2 { f[ e d] }|
+  c4 \tuplet 3/2 { r8 g'[( e)]} c4
+  \tuplet 3/2 { r8 e[ ( c)]} |
+  g4 \tuplet 3/2 { r8  c8[( g)] }
+  \tuplet 3/2 { e[ ( g) e-. ] }
+  \tuplet 3/2 { c[ ( e) c-.] }|
   g4 r8 g'\f a[ b c d]|
   \afterGrace d1_(\trill { c16[ d] }
   c4) r r2
index a1636a7e6f1202546c70aa12856f122efb5c9b9f..0c1c5ce1951fd7ef37347ff3e023296433d4669d 100644 (file)
@@ -5,14 +5,14 @@ even after a switch, a tuplet ends correctly."
   
 }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \new Staff <<
   \partcombine
   \relative c'' {
     r2
-    \times 2/3 { g8[ g g] }
-    \times 2/3 { g[ g g] } g1
+    \tuplet 3/2 { g8[ g g] }
+    \tuplet 3/2 { g[ g g] } g1
   }
   \relative c'' { R1 g1 }
 >>
index 37029bae091329fa9d8a86b540f4d2389f2c64d4..1cdd5009e73319210e603f7fde2ff12f36fa400d 100644 (file)
@@ -5,17 +5,17 @@
 
 \paper { ragged-right = ##T }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \score {
   <<
     \new Staff {
       \partcombine
       \relative c'' {
-        \times 2/3 { d4 d d ~ } d2
+        \tuplet 3/2 { d4 d d ~ } d2
       }
       \relative c'' {
-        \times 2/3 { b4 a g ~ } g2
+        \tuplet 3/2 { b4 a g ~ } g2
       }
     }
   >>
index 5be066d2ce2c73b9f846b45497837c6df47a2c6a..0f5aa8302a2cd4d7d96ac0c3a36f71745bbeac22 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Phrasing slurs do not collide with tuplet numbers."
@@ -6,7 +6,7 @@
 
 \relative c'' {
   \voiceOne
-  \times 2/3 {
+  \tuplet 3/2 {
     c8\( b c
   }
   a2.\)
index 438cdb822cb8332729d357680edab34321718497..ceec1d58e5924e5484d59251919e9aa2ec596ce7 100644 (file)
@@ -5,8 +5,7 @@
     texidoc = "Quotations take into account the transposition of both
 source and target.  In this example, all instruments play sounding
 central C, the target is a instrument in F.  The target part may be
-@code{\\transpose}d.  In this case, all the pitches (including the
-quoted ones) will transposed as well.  "
+@code{\\transpose}d.  The quoted pitches will stay unchanged."
 
 }
 
index 55798ba5a2b6380506cc9eb7f8818e556523e378..c796d79b3e90c4625ba767f97c24c0f9648421d6 100644 (file)
@@ -3,12 +3,12 @@
   texidoc  ="Tuplet bracket ends properly when quoting."
 }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \paper { ragged-right = ##t }
 
 \addQuote x {
-   \times 2/3 { a'8 a' a' } a'4 a'2 |
+   \tuplet 3/2 { a'8 a' a' } a'4 a'2 |
 }
 
 \new Staff <<
index 1b9d9f2833cd3e8aa0af900386ef59093daded29..420f8641ba553379681f4e6db03c3c4b5bf70f7c 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
 
@@ -9,7 +9,7 @@
 }
 
 foo = \relative c' {
-  \times 2/3 { c4 c c } \times 2/3 { c4 c c }
+  \tuplet 3/2 { c4 c c } \tuplet 3/2 { c4 c c }
 }
 
 \addQuote "foo" { \foo }
index 0daf8a185e01b555d58f7b15bf9a4bba257fc443..3c0decb5e3ddd6c096cb5d5ebf914ffd0fe775d7 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Beat repeats for patterns containing mixed durations use
@@ -10,7 +10,7 @@ a double percent symbol."
     c8. <d f>16
   }
   \repeat percent 2 {
-    \times 2/3 {
+    \tuplet 3/2 {
       r8 d e
     }
     c4
index 5e24ef5f3958984a1d33b78916f64ecece0a6cfe..fd1609f1b6a279a66430ac7e1599b5ab54b44139 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 
@@ -19,7 +19,7 @@ informations from top- and booklevel stack correctly."
           (let* ((scmpitch (ly:make-pitch 0 pitch 0))
                  (music (make-music 'EventChord
                           'elements (list (make-music 'NoteEvent
-                                            'duration (ly:make-duration 2 0 1 1)
+                                            'duration (ly:make-duration 2 0 1/1)
                                             'pitch scmpitch))))
                  (score (scorify-music music parser))
                  (layout (ly:output-def-clone $defaultlayout))
index 8849fa490745873330815a859feec95bde1c9916..b2f6262915bba100d6d47f61e08d9c116466de9b 100644 (file)
@@ -7,15 +7,15 @@
 }
 
 
-\version "2.16.0"
+\version "2.17.11"
 \paper {
   ragged-right = ##T
 }
 
 \new Staff \relative c' {
   \set Score.skipTypesetting = ##t
-  \times 2/3 { c8 c c } \times 2/3 { c c c }
-  \times 2/3 { c c c } \times 2/3 { c c c}
+  \tuplet 3/2 { c8 c c } \tuplet 3/2 { c c c }
+  \tuplet 3/2 { c c c } \tuplet 3/2 { c c c}
   \set Score.skipTypesetting = ##f
   d1 \break
   c
index 5d3304f382f2f3e46fad3f8fe5c17deca1c4a94b..8a43894cd5e0eb534e0c5005e3c11f0a3a8113d6 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "A slur's shift region is automatically made
@@ -6,5 +6,5 @@ higher to accommodate extra encompass elements."
 }
 
 \relative c' {
-  c'2( \times 2/3 { g4 e c) }
+  c'2( \tuplet 3/2 { g4 e c) }
 }
index cfcf4397cc765bdc435a480a56d0cbee67eedf16..202ea32713f52851c25279216e45042f23630aaa 100644 (file)
@@ -5,7 +5,7 @@ This may not work if the slur starts after the tuplet.  "
   
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t
@@ -17,7 +17,7 @@ This may not work if the slur starts after the tuplet.  "
   \override TupletBracket.bracket-visibility = ##f
   \override Slur.details.region-size  = #6
   
-  \times 2/3
+  \tuplet 3/2
   {
     c(  g'  c,)
   }
index 30a5d9b6636efea291e70c0dc5c2c905acd18f65..472c008dbdf8d5f54399a8d275c4fb4113f41531 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header {
   texidoc="Festival song synthesis output supports
 reordered lyrics.
@@ -14,7 +14,7 @@ reordered lyrics.
     <<
       \context Voice = alternative {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           \override NoteColumn.force-hshift = #-3
           f8 f g
         }
index b958e5279de3967824c0635c410f17a523af5981..5c5fec17ff8cc4ff05057b19b08d4c03521b4132 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header {
   texidoc="Festival song synthesis output supports
 reordered lyrics.
@@ -19,7 +19,7 @@ reordered lyrics.
       }
       \context Voice = alternative {
         \voiceOne
-        \times 2/3 {
+        \tuplet 3/2 {
           \override NoteColumn.force-hshift = #-3
           f8 f g
         }
index 18f2ba46286232696cf384871bd86a41c55937d9..43fdb6e8d488a14f380c7a9ef5c90bbb8d4abea8 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Loose columns (here, the treble clef) are spaced
@@ -8,7 +8,7 @@ correctly in polyphonic music.
 
 \new PianoStaff <<
   \new Staff \relative c' {
-    \times 2/3 { g'4 a2 }
+    \tuplet 3/2 { g'4 a2 }
   }
   \new Staff \relative c' {
     \clef bass fis,,8 cis'
index fa578065710239c6259ea118310c529f27008154..2400a0343a6682df3794e6f03e7c60382351a8b6 100644 (file)
@@ -6,7 +6,7 @@ This means that the 3/8 setting does not affect the whole rest spacing."
 }
 
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout {
   ragged-right = ##t
@@ -18,7 +18,7 @@ This means that the 3/8 setting does not affect the whole rest spacing."
   } {
     \relative c' {
       \override Score.SpacingSpanner.uniform-stretching = ##t
-      \set Score.proportionalNotationDuration = #(ly:make-moment 4 25)
+      \set Score.proportionalNotationDuration = #(ly:make-moment 4/25)
       r1
       \time 3/8 r4.
     }
index 2ac5360241f8a7f7af9afbaba838ea2eb8e7716f..bab9232a8d1b7113ec43676e601aaa1352c96622 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
  \header{
 
@@ -18,12 +18,12 @@ hence it must be switched on explicitly with the
 \relative c' { 
   \context StaffGroup << 
     \new Staff  \context Voice { 
-      \times 2/10 {  c8[ c c c c c c c c c] } 
-      \times 2/10 {  c[  c c c c c c c c c] } 
+      \tuplet 10/2 {  c8[ c c c c c c c c c] } 
+      \tuplet 10/2 {  c[  c c c c c c c c c] } 
     }
     \new Staff  \context Voice { 
-      \times 2/11 {  c8[ c c c c c c c c c c] } 
-      \times 2/11 {  c[  c c c c c c c c c c] } 
+      \tuplet 11/2 {  c8[ c c c c c c c c c c] } 
+      \tuplet 11/2 {  c[  c c c c c c c c c c] } 
     }
   >>
 }
index 9160af59afa68c0c3e3b90f09ba8da64ed1f7d41..73c13dcdf28d43487835a0114b96e9de6f950a7c 100644 (file)
@@ -6,15 +6,15 @@ to the distance for the given duration."
 
 }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \paper { ragged-right = ##t }
 
 \relative c''
 <<
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \new Staff { c8[ c c c c c]  c4 c2 r2 }
-  \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
+  \new Staff { c2  \tuplet 3/2 { c8 c c } c4 c1 }
 >>
 
    
index fb568a06d76d9f6a487b9338ba21371659829598..e1539e59b821cdbaf1240e8c9be01ea2bce16d06 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "When space-to-barline is false, we measure the space between the note and the
@@ -9,7 +9,7 @@ the start of the barline."
 \paper {ragged-right = ##t}
 
 {
-  \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 16)
+  \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/16)
   c'2 \clef bass c'2 \clef treble
   \override NoteSpacing.space-to-barline = ##f
   c'2 \clef bass c'2 \clef treble
index b8b3e0b178d34c5abfddc552ed0f92cc9e86d807..cfe63c8bc8f0624fed98a80ef84467660062738f 100644 (file)
@@ -9,7 +9,7 @@ time.  This may cause collisions.  "
 }
 
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t
@@ -24,13 +24,13 @@ time.  This may cause collisions.  "
 \relative c''
 <<
   \override Score.SpacingSpanner.strict-note-spacing = ##t 
-  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
   \new Staff {
     c8[ c \clef alto c c \grace { d16 }  c8 c]  c4 c2
     \grace { c16[ c16] }
     c2 }
   \new Staff {
-    c2  \times 2/3 { c8 \clef bass cis,, c } 
+    c2  \tuplet 3/2 { c8 \clef bass cis,, c } 
     c4
     c1
   }
index 57e284f6aa25f5c7b12eb99638304fd29d0f945b..16cd079404acf57bb0eaf41a0b0c6925f1eeb4ee 100644 (file)
@@ -6,7 +6,7 @@
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \relative c''
 <<
@@ -15,7 +15,7 @@
     c16[ c c c c c c c c c16]
   }
   \new Staff {
-    \times 6/7 { c16 c c cis c c c }
+    \tuplet 7/6 { c16 c c cis c c c }
     c8[ c32 c32 c16]
     
   }
index 6f22cc6dddb12b1890ded29533e4dc9f7bbdd421..02ffba9a5c7714f5de0be4857eb71785bf347269 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "The @code{break-overshoot} property sets the amount that
@@ -14,5 +14,5 @@ prefatory matter."
   \override TupletBracket.break-overshoot = #'(1.0 . 2.0)
   \override TupletBracket.bracket-visibility = ##t
   \override Beam.breakable = ##t
-  c2.. \times 2/3 { c8.[ \break c8.] }
+  c2.. \tuplet 3/2 { c8.[ \break c8.] }
 }
index 1dd829a5d8601d2d15aaf4c8e0e80c31cef775ec..7e42a72a5cf317f779605923698a1bb4f0390477 100644 (file)
@@ -7,7 +7,7 @@ large on smaller staves."
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout {
   ragged-right = ##t
@@ -15,7 +15,7 @@ large on smaller staves."
 
 melody = \relative c''' {
   \override DynamicText.extra-offset = #'(0 . 3)
-  s1-\f c8[(\< r a g]) e[ r d( <f a>])\! \times 2/3 { d4 d d }
+  s1-\f c8[(\< r a g]) e[ r d( <f a>])\! \tuplet 3/2 { d4 d d }
 }
 
 <<
index 2c40bba8e8680992bed665213154930dda42f7fe..55f65479114b503269757d1ad1efbb42c0e6501c 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header{ texidoc = "As default, tablature staves show only the fret numbers, because
                     in most situations, they are combined with normal staves.
@@ -18,7 +18,7 @@ tabstuff = {
   \ottava #1
   r4 d'4 r8 e |
   \ottava #0
-  \times 3/4 { b,4 c \glissando d\5 \glissando c } |
+  \tuplet 4/3 { b,4 c \glissando d\5 \glissando c } |
   c4. d-_( |
   e\varcoda-> )
   \override TextSpanner.bound-details.left.text = "rit." f\startTextSpan |
index e65cbd8d959e7566c031b5e3389aa4b980ce6a26..6b84baa674f17516bb9f675a5198fccc5c9a249e 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 \header {
 
   texidoc = "In combination with a beam, the bracket of the tuplet
@@ -10,8 +10,8 @@ the bracket."
 \layout { ragged-right= ##t }
 
 \context Voice\relative c'' {
-  \times 2/3 { r  c8[ c8] }
-  \times 2/3 {  c8[ c c] }
-  \times 2/3 {  c16[ c16]  c8[ c8] }
+  \tuplet 3/2 { r  c8[ c8] }
+  \tuplet 3/2 {  c8[ c c] }
+  \tuplet 3/2 {  c16[ c16]  c8[ c8] }
 }
 
index 4a164f83df4e87833fd0099287d04fab02c0e06e..719851b26d6c6a89df045918f2d8eb87389ddb00 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "@code{TupletBracket} grobs avoid @code{Fingering} grobs.
@@ -7,5 +7,5 @@
 
 \relative d'' {
  \override TupletBracket.direction = #UP
- \times 2/3 { d4 a8-4 }
+ \tuplet 3/2 { d4 a8-4 }
 }
index 8df61c59508aaf642c2f7af7e2721d12e52ea7c0..1cccccde46ee50817b30775d860d2238b2657782 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Tuplet brackets avoid scripts by default.
@@ -6,5 +6,5 @@
 }
 
 \relative c'' {
-  \times 2/3 { a8^\espressivo r a^\espressivo }
+  \tuplet 3/2 { a8^\espressivo r a^\espressivo }
 }
index d92768ee44819283a0f764e0ae4d66fe9ffe6078..62ce79a461ce42e8cef0e8fb80c7186a531e8eb8 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "@code{TupletBracket} grobs avoid @code{StringNumber} grobs.
@@ -7,5 +7,5 @@
 
 \relative d'' {
  \override TupletBracket.direction = #UP
- \times 2/3 { d4 <a\4>8 }
+ \tuplet 3/2 { d4 <a\4>8 }
 }
index 7f864fa85d34c54897e44321198c6d24f79b2973..2e6c9d0f34a48b95a33148d17f4a5e490663f01d 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t
@@ -17,12 +17,12 @@ even across multiple staves."
 }
 
 voice = {
-  \times 2/3 { b8 \change Staff=I c' d' }
-  \times 2/3 { d' c' \change Staff=II b }
-  \times 2/3 { \change Staff=III c,
+  \tuplet 3/2 { b8 \change Staff=I c' d' }
+  \tuplet 3/2 { d' c' \change Staff=II b }
+  \tuplet 3/2 { \change Staff=III c,
                \change Staff=II b
                \change Staff=I c' }
-  \times 2/3 { c'[ \change Staff=II b] c }
+  \tuplet 3/2 { c'[ \change Staff=II b] c }
 }
 
 \score {
index ea8c1ea7521400808e0b7ae5f99653cfaf3b0e1d..1713160738662bc016cdd5eff56221be43b33210 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "The direction of tuplet brackets is the direction
@@ -8,13 +8,13 @@ to UP.
 }
 
 \relative c'' {
-  \times 2/3 { r r r }
-  \times 2/3 { r c r }
-  \times 2/3 { r a r }
-  \times 2/3 { c' f,, r }
-  \times 2/3 { f, c'' r }
-  \times 2/3 { a a c }
-  \times 2/3 { c c a }
-  \times 2/3 { a a a }
-  \times 2/3 { c c c }
+  \tuplet 3/2 { r r r }
+  \tuplet 3/2 { r c r }
+  \tuplet 3/2 { r a r }
+  \tuplet 3/2 { c' f,, r }
+  \tuplet 3/2 { f, c'' r }
+  \tuplet 3/2 { a a c }
+  \tuplet 3/2 { c c a }
+  \tuplet 3/2 { a a a }
+  \tuplet 3/2 { c c c }
 }
index a8e54dcffb3f32ea2630d59457cf5a5f34920351..ecfa6814f77edef22dd44aa53d4594b0589cbc25 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header {
 
   texidoc = "Tuplet brackets' outside staff priority can be
@@ -9,14 +9,14 @@ set.  Brackets, by default, carry their numbers with them."
 \relative c'' {
   \override TupletBracket.avoid-scripts = ##f
   % Plain old tuplet
-  \times 2/3 { a8 r a }
+  \tuplet 3/2 { a8 r a }
   % With nothing set, collisions abound both horizontally and
   % vertically
-  \times 2/3 { a8^\espressivo r a^\espressivo }
+  \tuplet 3/2 { a8^\espressivo r a^\espressivo }
   % Setting the staff priority prevents collisions
   \override TupletBracket.outside-staff-priority = #1
-  \times 2/3 { a8^\espressivo r a^\espressivo }
+  \tuplet 3/2 { a8^\espressivo r a^\espressivo }
   % Note that, with the outside-staff-priority set, this bracket
   % should be at the same vertical level as the first one
-  \times 2/3 { a8 r a }
+  \tuplet 3/2 { a8 r a }
 }
index 160259135c497e854d529442fce06e1b1c1719b8..752f595128f86978dd1dc51cc41778f492d40a28 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "Tuplet brackets do not push objects with outside-staff-priority
@@ -8,5 +8,5 @@ too high.
 
 \relative c' {
   \override TupletBracket.direction = #UP
-  \times 1/1 { a^"foo" a' a' a' }
+  \tuplet 1/1 { a^"foo" a' a' a' }
 }
index 5de92d9563bdf99d5b7c6c83be8ef14805a28638..1d4a986ac5444009816bebb068303e8122c8f203 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "The default behavior of tuplet-bracket visibility is to print a bracket
@@ -21,9 +21,9 @@ unless there is a beam of the same length as the tuplet.  Overriding
 }
 
 music = \relative c'' {
-  \times 2/3 { c16[ d e } f8]
-  \times 2/3 { c8 d e }
-  \times 2/3 { c4 d e }
+  \tuplet 3/2 { c16[ d e } f8]
+  \tuplet 3/2 { c8 d e }
+  \tuplet 3/2 { c4 d e }
 }
 
 \new Voice {
index 25b50f359f35c91ae8b7a96614aad838b5b8d7ee..9021ead4b1a0c34a994f3af11897069dd5c14d0a 100644 (file)
@@ -8,7 +8,7 @@
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \paper {
   ragged-right = ##t  
@@ -23,7 +23,7 @@
                                          (markup #:fontsize 6
                                             #:arrow-head X LEFT #f)
                                          (markup #:arrow-head X RIGHT #f))
-  \times 11/19 {
+  \tuplet 19/11 {
     c4 c4 c4 c4
     \bar "-" \break
     c4 c4 c4 c4
index 425604fd9c3cf5d7d487aba6ae1c29bd45bfc561..f7cf547b1667930d20c46325e623391fe682eb65 100644 (file)
@@ -4,16 +4,16 @@
   attaching column for a full-length tuplet bracket can be ignored."
 
 }
-\version "2.17.6"
+\version "2.17.11"
 
 \new Staff {
    \set tupletFullLength = ##t
    
    \time 1/8
-   \times 2/3 { c'16 c'16 c'16 }
-   \times 2/3 { c'16 c'16 c'16 }
+   \tuplet 3/2 { c'16 c'16 c'16 }
+   \tuplet 3/2 { c'16 c'16 c'16 }
    \override TupletBracket.full-length-to-extent = ##f
-   \times 2/3 { c'16 c'16 c'16 }
+   \tuplet 3/2 { c'16 c'16 c'16 }
    \override Score.RehearsalMark.break-visibility = ##(#t #t #t)
    \override Score.RehearsalMark.direction = #down
    \mark "xxxxxxxxxxxxxxxxxxxxxxx"
index 9553f9101acfd5d59bc6bea2d00387945f81f22a..06806188b4f2b8643a98d201fafc065a766099b9 100644 (file)
@@ -6,17 +6,17 @@ the next note, by setting @code{tupletFullLengthNote}."
 
   }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \new RhythmicStaff {
   \set tupletFullLength = ##t
   \time 4/4
-  \times 4/5 {
+  \tuplet 5/4 {
     c'4 c'1
   }
   \set tupletFullLengthNote = ##t
   \time 2/4
-  \times 2/3 {
+  \tuplet 3/2 {
     c4 c c 
   }
   \time 3/4
index ac161cdfda87dc641ea12952a99d57d72e89b1b5..28c1c8f32571d06199fe7106cb719eac16cc540f 100644 (file)
@@ -5,7 +5,7 @@
 start of the next non-tuplet note.  "
 
 }
-\version "2.17.6"
+\version "2.17.11"
 
 \paper { ragged-right = ##t
 indent = 0.0 }
@@ -17,12 +17,12 @@ indent = 0.0 }
 {
   \set tupletFullLength = ##t
   c4
-  \times 2/3 { c8[ c c] }
-  \times 2/3 { c8[ c \bar "-" \break c] }
-  << \times 2/3 { c8[ c c]  }
+  \tuplet 3/2 { c8[ c c] }
+  \tuplet 3/2 { c8[ c \bar "-" \break c] }
+  << \tuplet 3/2 { c8[ c c]  }
      { s4*5/6 \bar "-" \break } >>
   c4
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
   
   \bar "|." \key c\minor
 }
index 1c75daa260042548d3fa10dcf13efaa29815bcc2..4bf91a6e4d63a86f39ac627f902da74c7495e303 100644 (file)
@@ -5,7 +5,7 @@
 
 }
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout {
   indent = 0.0\mm
@@ -15,6 +15,6 @@
 
 \relative c'' {
   \override TupletNumber.text = #tuplet-number::calc-fraction-text
-  \times  17/12  { c8 c4 c8 c8}
+  \tuplet  12/17  { c8 c4 c8 c8}
 }
 
index 65a577379453d28d8558d73eb9653114e3ae4072..a163eb262b062828626fcc354206f84d8e3002ec 100644 (file)
@@ -5,13 +5,13 @@
   
 }
 
-\version "2.16.0"
+\version "2.17.11"
 \paper{
   ragged-right=##t
 }
 
 {
-  \times 4/7 {
-    \times 4/5 { c'8 d' e' f' g' } a' b' c''
+  \tuplet 7/4 {
+    \tuplet 5/4 { c'8 d' e' f' g' } a' b' c''
   }
 }
index 915e889039f06a2f155f98c6f5143ba249a9de88..33876e0034c0e23c51a448a06a13da6018a5062c 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
     texidoc = "Broken nested tuplets avoid each other correctly.
 
       r2
 
-      \times 4/3 {
-        \times 2/3 { c8[ c c] }
-        \times 2/3 { c8[ c c] }
-        \times 2/3 { c8[ c c] }
+      \tuplet 3/4 {
+        \tuplet 3/2 { c8[ c c] }
+        \tuplet 3/2 { c8[ c c] }
+        \tuplet 3/2 { c8[ c c] }
       }
 
-      \times 4/3 {
-        \times 2/3 { a8[ a a] }
-        \times 2/3 { a8[ a a] }
-        \times 2/3 { a8[ a a] }
+      \tuplet 3/4 {
+        \tuplet 3/2 { a8[ a a] }
+        \tuplet 3/2 { a8[ a a] }
+        \tuplet 3/2 { a8[ a a] }
       }
 
       \override TupletNumber.text = #tuplet-number::calc-fraction-text
-      \times 4/6 {
-        \times 2/3 {
+      \tuplet 6/4 {
+        \tuplet 3/2 {
           a4 a a
         }
-        \times 3/5 {
+        \tuplet 5/3 {
           a4 a a a a
         }
         a4
index 3bba0989e7f0a6c9d06831596d36d990002468cc..093c57f28961a7c519b8ce6041180b1210bb872f 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
     texidoc=" Tuplets may be nested."
 }
 
 \relative c'' {
-  \times 4/3 {
-    \times 2/3 { c8[ c c] }
-    \times 2/3 { c8[ c c] }
-    \times 2/3 { c8[ c c] }
+  \tuplet 3/4 {
+    \tuplet 3/2 { c8[ c c] }
+    \tuplet 3/2 { c8[ c c] }
+    \tuplet 3/2 { c8[ c c] }
   }
 
-  \times 4/3 {
-    \times 2/3 { a8[ a a] }
-    \times 2/3 { a8[ a a] }
-    \times 2/3 { a8[ a a] }
+  \tuplet 3/4 {
+    \tuplet 3/2 { a8[ a a] }
+    \tuplet 3/2 { a8[ a a] }
+    \tuplet 3/2 { a8[ a a] }
   }
 
   \override TupletNumber.text = #tuplet-number::calc-fraction-text
-  \times 4/6 {
-    \times 2/3 {
+  \tuplet 6/4 {
+    \tuplet 3/2 {
       a4 a a
     }
-    \times 3/5 {
+    \tuplet 5/3 {
       a4 a a a a
     }
   }
   s1*1/6
   
   \stemUp
-  \times 4/6 {
-    \times 2/3 {
+  \tuplet 6/4 {
+    \tuplet 3/2 {
       a1*1/6 a f'
     }
-    \times 3/5 {
+    \tuplet 5/3 {
       c f g a b 
     }
   }
index 095bf03ad5e143c688176e4438ba07b884d72b2c..c1c35d881772d7c9d40358d2fb3e73c298bbb679 100644 (file)
@@ -3,7 +3,7 @@
 }
 
 
-\version "2.17.6"
+\version "2.17.11"
 
 \layout{
  \context{
@@ -19,7 +19,7 @@
 }
 
 partition = {
-    \times 2/3 { f8 g a }
+    \tuplet 3/2 { f8 g a }
 }
 
 
index f04ffcd154980f83ed60fc01a4fe53bda9de0dc3..8cdb353a6d6bc3a3bb0c8645054a0cc647d7fc8b 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
 
@@ -13,5 +13,5 @@ positioned above them.
 \relative c'' {
    \override TupletBracket.outside-staff-priority = #1
    \override TupletNumber.font-size = #5
-   \times 2/3 { a4\trill a\trill^"foo" a\trill }
+   \tuplet 3/2 { a4\trill a\trill^"foo" a\trill }
 }
\ No newline at end of file
index 1e4207297830d0d3f18bcdf5ef72456eb57e62fd..1a21d0cf770fb54ca73f12038a3cf2f822b642cf 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header {
 
   texidoc = "Tuplet numbers' outside staff priority can be
@@ -8,9 +8,9 @@ set."
 
 \relative c'' {
   \override TupletBracket.avoid-scripts = ##f
-  \times 2/3 { a8\trill a\trill a\trill }
+  \tuplet 3/2 { a8\trill a\trill a\trill }
   \override TupletNumber.outside-staff-priority = #1
-  \times 2/3 { a8\trill a\trill a\trill }
+  \tuplet 3/2 { a8\trill a\trill a\trill }
   \override Script.outside-staff-priority = #2
-  \times 2/3 { a8\trill a\trill a\trill }
+  \tuplet 3/2 { a8\trill a\trill a\trill }
 }
index b22f5ee35f5f1a35a75df510eac7afd6a4abbdc8..fa92b7cc43419399f73a845aec14acfef8fd62e7 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
   texidoc = "Tuplet number position is correct when slurs and scripts
@@ -10,5 +10,5 @@ are present.
 {
   R1 |
   \break
-  \times 2/3 { e8(-> e e) }
+  \tuplet 3/2 { e8(-> e e) }
 }
index 0b2bbd7cdc9877353de22e2d8f7df8f55bd9374d..f23ccc99d043318b146c46d0c414190f332ea23b 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 
 \header {
   texidoc = "Tuplet bracket formatting supports numerous options,
@@ -8,31 +8,31 @@ for instance, bracketed (B) and non-bracketed (NB).
 
 \context Voice \relative c'' {
 
-  \times 2/3 { c'8 c,, c }
-  \times 2/3 { c'8 c'' c,, }
+  \tuplet 3/2 { c'8 c,, c }
+  \tuplet 3/2 { c'8 c'' c,, }
 
-  \times 2/3 { c8[^"NB" c c] }
+  \tuplet 3/2 { c8[^"NB" c c] }
 
-  \times 2/3 { c8^"B"  c[ c] }
-  \times 2/4 { r8_"B"  c,[ c'] r8 }
+  \tuplet 3/2 { c8^"B"  c[ c] }
+  \tuplet 4/2 { r8_"B"  c,[ c'] r8 }
 
   \override TupletBracket.bracket-visibility = #'if-no-beam  
-  \times 2/3 { c8[ c c] }
+  \tuplet 3/2 { c8[ c c] }
 
   \tupletUp
   \override TupletNumber.stencil = ##f
-  \times 2/3 { c8^""^""^"up, no digit" c[ c] }
+  \tuplet 3/2 { c8^""^""^"up, no digit" c[ c] }
   \revert TupletNumber.stencil
 
   \override TupletBracket.bracket-visibility = ##t
   \override TupletBracket.edge-height = #'(0 . 0)
   \override TupletBracket.shorten-pair = #'(2.0 . 2.0)
-  \times 4/6 { c_"shorter, no edges" f b  b f c}       
+  \tuplet 6/4 { c_"shorter, no edges" f b  b f c}      
   \revert TupletBracket.edge-height
   \revert TupletBracket.shorten-pair
 
   \override TupletBracket.bracket-flare = #'(0.5 . 0.5)
-  \times 2/3 { b^""^""^"angled edges" b b }
+  \tuplet 3/2 { b^""^""^"angled edges" b b }
   \tupletNeutral
-  \times 2/3 { b b b }
+  \tuplet 3/2 { b b b }
 }
index 14d3364cbc7ef52bf0f6f8806bc80e958698e11f..beda1ec33e9e9c02bedfabb504637196c3289284 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 \header {
 
   texidoc = "Tuplets may contain rests. "
@@ -9,14 +9,14 @@
 
 \context Voice  \relative c'' {
   \time 2/4
-  \times 2/3 { r c,,, c''' }
-  \times 2/3 { r c c  }
-  \times 2/3 { r c r }
-  \times 2/3 { r r r }
-  \times 2/3 { r c e }
-  \times 2/3 { c r e }
-  \times 2/3 { r c g }
-  \times 2/3 { c r g }
+  \tuplet 3/2 { r c,,, c''' }
+  \tuplet 3/2 { r c c  }
+  \tuplet 3/2 { r c r }
+  \tuplet 3/2 { r r r }
+  \tuplet 3/2 { r c e }
+  \tuplet 3/2 { c r e }
+  \tuplet 3/2 { r c g }
+  \tuplet 3/2 { c r g }
 }
 
 
index 56509d27afadd6c533db1bc098dffebfd1ebb189..322a4d635b76d0bac131aa8811cad9a66ad66d6e 100644 (file)
@@ -4,14 +4,14 @@
   texidoc = "Show tuplet numbers also on single-note tuplets (otherwise the timing would look messed up!), but don't show a bracket. Make sure that tuplets without any notes don't show any number, either."
 
 }
-\version "2.16.0"
+\version "2.17.11"
 
 \paper { ragged-right = ##t
 indent = 0.0 }
 
 \new Staff <<
   \new Voice \relative c'' {
-    \times 4/6 { c2.:8 } \times 2/3 { g4.:8 } \times 2/3 { a,4.:8 } \times 4/6 {} \bar"|."
+    \tuplet 6/4 { c2.:8 } \tuplet 3/2 { g4.:8 } \tuplet 3/2 { a,4.:8 } \tuplet 6/4 {} \bar"|."
   }
 >>
   
index cccb4ab56d428a067866d556e2de2c3416c5226f..c112f0c9af3c1e36eed00f2cb756a068e7dc110b 100644 (file)
@@ -15,20 +15,20 @@ The bracket direction is determined by the dominating stem direction.
   ragged-right = ##t 
 }
 
-\version "2.16.0"
+\version "2.17.11"
 
 \new Voice {
   \relative c'' {
-    \times 2/3 { c4 d e}
-    \times 2/3 { c4 d e}
+    \tuplet 3/2 { c4 d e}
+    \tuplet 3/2 { c4 d e}
   }
   
   \relative c' {
-    \times 4/5 { a'4 as g fis f }
-    \times 4/5 { fis4 e es d des }
-    \times 4/5 { fis,4 e es d des }
-    \times 4/5 { bes'''4 bes,, b c cis }
-    \times 4/5 { a''4 b b c cis }
+    \tuplet 5/4 { a'4 as g fis f }
+    \tuplet 5/4 { fis4 e es d des }
+    \tuplet 5/4 { fis,4 e es d des }
+    \tuplet 5/4 { bes'''4 bes,, b c cis }
+    \tuplet 5/4 { a''4 b b c cis }
   }
 }
 
index 9ae2b584b1ef71b9c6e87cff5983d58b3fc29841..8729d9747a7ba6ebb1f74045c4ca24da3cdd0cca 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.16.0"
+\version "2.17.11"
 \header {
 
   texidoc = "Horizontal tuplet brackets are shifted vertically
@@ -10,9 +10,9 @@ to avoid staff line collisions."
 \layout { ragged-right= ##t }
 
 \context Voice\relative c'' {
-  \times 2/3 { b'4 b b }
-  \times 2/3 { f4 f f }
-  \times 2/3 { g4 g g }
-  \times 2/3 { a4 a a }
+  \tuplet 3/2 { b'4 b b }
+  \tuplet 3/2 { f4 f f }
+  \tuplet 3/2 { g4 g g }
+  \tuplet 3/2 { a4 a a }
 }
 
index 7a3b8b6f4502c9b372818831cb88c0ea449ffa90..82fd4b97802b1f5a0f17fd430faa29cfbb3b37ed 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.17.11"
 
 \header {
 
@@ -9,9 +9,9 @@ Subdivision works properly for tuplets
 
 \relative c'' {
   \set subdivideBeams = ##t
-  \set baseMoment = #(ly:make-moment 1 8)
+  \set baseMoment = #(ly:make-moment 1/8)
   \set beatStructure = #'(2 2 2 2)
   \repeat unfold 8 {
-    \times 2/3 { c16 e d }
+    \tuplet 3/2 { c16 e d }
   }
 }
index 5d6dac0cc3887a5ec300d2ffa5f40569357b049f..7e01d344db4ff1a82d8739d9843a0c472e61a805 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header{
   texidoc="Non-standard tuplet texts: Printing other tuplet fractions than the ones actually assigned."
 }
@@ -7,9 +7,9 @@
 
 \context Voice \relative c'' {
   \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7)
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7)
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
 }
index acf002a8960cdd4b9f6cc60d616c05e385e5efbf..9a63ebdf4574f42c28496d06aff9996ceb0d001f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header{
   texidoc="Non-standard tuplet texts: Printing a tuplet fraction with note durations assigned to both the denominator and the numerator."
 }
@@ -6,7 +6,7 @@
 
 \context Voice \relative c'' {
   \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes "4." "8")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
   \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
-  \times 2/3  { c4. c4. c4. c4. }
+  \tuplet 3/2  { c4. c4. c4. c4. }
 }
index aba37347261a5cf69846e56286093962b504a552..c29e1f19973e6d8ff0f31933a51fcd148d984f10 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.6"
+\version "2.17.11"
 \header{
   texidoc="Non-standard tuplet texts: Appending a note value to the normal text and to the fraction text."
 }
@@ -7,7 +7,7 @@
 
 \context Voice \relative c'' {
   \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4")
-  \times 2/3  { c8 c8 c8 c8 c8 c8 }
+  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
   \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4")
-  \times 2/3  { c8 c8 c8 c8 c8 c8 }
+  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
 }
index 97cfe1491e84ad181857a89396538107b3f3549e..c250c5bea431a78fec627a7017a57ae213bb26dd 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "2.17.6"
+\version "2.17.11"
 \header{
   
   texidoc="
@@ -20,16 +20,16 @@ direction as the bracket. The endings can be adjusted with
 
 
 \context Voice \relative c'' {
-  \times 2/3 { a8 b c }
-  \times 2/3 { r8  b[ f] }
+  \tuplet 3/2 { a8 b c }
+  \tuplet 3/2 { r8  b[ f] }
   \override TupletBracket.bracket-flare = #'(0.5 . 0.5)
-  \times 2/3 { r8 b r8 }
+  \tuplet 3/2 { r8 b r8 }
   c4 |
   
-  \times 3/4 { c4 c4 c4 c4 } c4 | 
+  \tuplet 4/3 { c4 c4 c4 c4 } c4 | 
   
   \time 6/8
-  \times 6/9 { c8 c c c c c c c c }
+  \tuplet 9/6 { c8 c c c c c c c c }
 
 }
 
index 12b90722380485f7b3c739046395d6a1ae1a4010..ac525d27de59984baaf236d467f934f9c2236864 100644 (file)
@@ -329,7 +329,11 @@ Accidental_engraver::make_standard_accidental (Stream_event * /* note */,
   if (!accidental_placement_)
     accidental_placement_ = make_item ("AccidentalPlacement",
                                        a->self_scm ());
-  Accidental_placement::add_accidental (accidental_placement_, a);
+
+  Accidental_placement::add_accidental
+    (accidental_placement_, a,
+     get_property ("accidentalGrouping") == ly_symbol2scm ("voice"),
+     (long) trans);
 
   note_head->set_object ("accidental-grob", a->self_scm ());
 
@@ -525,6 +529,7 @@ ADD_TRANSLATOR (Accidental_engraver,
                 "internalBarNumber "
                 "extraNatural "
                 "harmonicAccidentals "
+                "accidentalGrouping "
                 "keySignature "
                 "localKeySignature ",
 
index 169fe39fdd15d3804e6e036874928b7d1ad0a785..1f2a943045bf1d687642a4146ec9567a07fd9461 100644 (file)
@@ -47,7 +47,7 @@ accidental_pitch (Grob *acc)
 }
 
 void
-Accidental_placement::add_accidental (Grob *me, Grob *a)
+Accidental_placement::add_accidental (Grob *me, Grob *a, bool stagger, long context_hash)
 {
   Pitch *p = accidental_pitch (a);
   if (!p)
@@ -55,11 +55,12 @@ Accidental_placement::add_accidental (Grob *me, Grob *a)
 
   a->set_parent (me, X_AXIS);
   a->set_property ("X-offset", Grob::x_parent_positioning_proc);
-  int n = p->get_notename ();
+  long n = p->get_notename ();
 
   SCM accs = me->get_object ("accidental-grobs");
-  SCM key = scm_from_int (n);
-  SCM entry = scm_assq (key, accs);
+  SCM key = scm_cons (scm_from_int (n), scm_from_long  (stagger ? context_hash : 1));
+  // assoc because we're dealing with pairs
+  SCM entry = scm_assoc (key, accs);
   if (entry == SCM_BOOL_F)
     entry = SCM_EOL;
   else
@@ -67,7 +68,7 @@ Accidental_placement::add_accidental (Grob *me, Grob *a)
 
   entry = scm_cons (a->self_scm (), entry);
 
-  accs = scm_assq_set_x (accs, key, entry);
+  accs = scm_assoc_set_x (accs, key, entry);
 
   me->set_object ("accidental-grobs", accs);
 }
@@ -129,6 +130,11 @@ Real ape_priority (Accidental_placement_entry const *a)
 bool ape_less (Accidental_placement_entry *const &a,
                Accidental_placement_entry *const &b)
 {
+  vsize size_a = a->grobs_.size ();
+  vsize size_b = b->grobs_.size ();
+  if (size_a != size_b)
+    return size_b < size_a;
+
   return ape_priority (a) < ape_priority (b);
 }
 
@@ -181,23 +187,42 @@ stagger_apes (vector<Accidental_placement_entry *> *apes)
   vector<Accidental_placement_entry *> asc = *apes;
 
   vector_sort (asc, &ape_less);
+  // we do the staggering below based on size
+  // this ensures that if a placement has 4 entries, it will
+  // always be closer to the NoteColumn than a placement with 1
+  // this allows accidentals to be on-average closer to notes
+  // while still preserving octave alignment
+  vector<vector<Accidental_placement_entry *> > ascs;
+
+  vsize sz = INT_MAX;
+  for (vsize i = 0; i < asc.size (); i++)
+    {
+      vsize my_sz = asc[i]->grobs_.size ();
+      if (sz != my_sz)
+        ascs.push_back (vector<Accidental_placement_entry *> ());
+      ascs.back ().push_back (asc[i]);
+      sz = my_sz;
+    }
 
   apes->clear ();
 
-  int parity = 1;
-  for (vsize i = 0; i < asc.size ();)
+  for (vsize i = 0; i < ascs.size (); i++)
     {
-      Accidental_placement_entry *a = 0;
-      if (parity)
+      int parity = 1;
+      for (vsize j = 0; j < ascs[i].size ();)
         {
-          a = asc.back ();
-          asc.pop_back ();
-        }
-      else
-        a = asc[i++];
+          Accidental_placement_entry *a = 0;
+          if (parity)
+            {
+              a = ascs[i].back ();
+              ascs[i].pop_back ();
+            }
+          else
+            a = ascs[i][j++];
 
-      apes->push_back (a);
-      parity = !parity;
+          apes->push_back (a);
+          parity = !parity;
+        }
     }
 
   reverse (*apes);
index 92fee10a50a3fddf160078537e9f5dfee526559e..99d3f8a3350ce2eee60f67635b3fe8476a472225 100644 (file)
@@ -197,7 +197,7 @@ Ambitus_engraver::finalize ()
           Separation_item::add_conditional_item (heads_[d],
                                                  accidental_placement);
           Accidental_placement::add_accidental (accidental_placement,
-                                                accidentals_[d]);
+                                                accidentals_[d], false, 0);
           Pointer_group_interface::add_grob (ambitus_,
                                              ly_symbol2scm ("note-heads"),
                                              heads_[d]);
index 201e8fd98e7cf4939c1de6b4a7e8ca64efc540d6..895439e78401bbbb118a0c227eaaa592e457855a 100644 (file)
@@ -58,15 +58,41 @@ void
 Audio_note::tie_to (Audio_note *t, Moment skip)
 {
   tied_ = t;
-  Audio_note *first = t;
-  while (first->tied_)
-    first = first->tied_;
+  Audio_note *first = tie_head();
   // Add the skip to the tied note and the length of the appended note
   // to the full duration of the tie...
   first->length_mom_ += skip + length_mom_;
   length_mom_ = 0;
 }
 
+Audio_note *
+Audio_note::tie_head ()
+{
+  Audio_note *first = this;
+  while (first->tied_)
+    first = first->tied_;
+  return first;
+}
+
+string
+Audio_note::to_string () const
+{
+  string s = "#<Audio_note pitch ";
+  s += pitch_.to_string();
+  s += " len ";
+  s += length_mom_.to_string();
+  if (tied_)
+    {
+      s += " tied to " + tied_->to_string();
+    }
+  if (tie_event_)
+    {
+      s += " tie_event";
+    }
+  s += ">";
+  return s;
+}
+
 Audio_key::Audio_key (int acc, bool major)
 {
   accidentals_ = acc;
index 3823c3498484cbe9f1cc9e75a035ee1753284960..a19ab52af89dcd0d52f74ec3e9e2922308322c89 100644 (file)
   along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "axis-group-engraver.hh"
+#include "engraver.hh"
 
 #include "axis-group-interface.hh"
+#include "hara-kiri-group-spanner.hh"
 #include "pointer-group-interface.hh"
 #include "context.hh"
 #include "international.hh"
 
 #include "translator.icc"
 
+/**
+   Put stuff in a Spanner with an Axis_group_interface.
+   Use as last element of a context.
+*/
+class Axis_group_engraver : public Engraver
+{
+protected:
+  Spanner *staffline_;
+  SCM interesting_;
+  vector<Grob *> elts_;
+  void process_music ();
+  virtual void finalize ();
+  DECLARE_ACKNOWLEDGER (grob);
+  void process_acknowledged ();
+  virtual Spanner *get_spanner ();
+  virtual void add_element (Grob *);
+  virtual bool must_be_last () const;
+  virtual void derived_mark () const;
+
+public:
+  TRANSLATOR_DECLARATIONS (Axis_group_engraver);
+};
+
+
 Axis_group_engraver::Axis_group_engraver ()
 {
   staffline_ = 0;
+  interesting_ = SCM_EOL;
+}
+
+void
+Axis_group_engraver::derived_mark () const
+{
+  scm_gc_mark (interesting_);
 }
 
+
 bool
 Axis_group_engraver::must_be_last () const
 {
@@ -48,6 +81,7 @@ Axis_group_engraver::process_music ()
       Grob *it = unsmob_grob (get_property ("currentCommandColumn"));
       staffline_->set_bound (LEFT, it);
     }
+  interesting_ = get_property ("keepAliveInterfaces");
 }
 
 Spanner *
@@ -82,6 +116,15 @@ Axis_group_engraver::acknowledge_grob (Grob_info i)
     return;
   }
   elts_.push_back (i.grob ());
+
+  if (staffline_ && to_boolean(staffline_->get_property("remove-empty")))
+    {
+      for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s))
+        {
+          if (i.grob ()->internal_has_interface (scm_car (s)))
+            Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ());
+        }
+    }
 }
 
 /*
@@ -131,7 +174,8 @@ ADD_TRANSLATOR (Axis_group_engraver,
                 "VerticalAxisGroup ",
 
                 /* read */
-                "currentCommandColumn ",
+                "currentCommandColumn "
+                "keepAliveInterfaces ",
 
                 /* write */
                 ""
diff --git a/lily/box-quarantine.cc b/lily/box-quarantine.cc
deleted file mode 100644 (file)
index dff8587..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-  This file is part of LilyPond, the GNU music typesetter.
-
-  Copyright (C) 2011--2012 Mike Solomon <mike@mikesolomon.org>
-  Jan Nieuwenhuizen <janneke@gnu.org>
-
-  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 "box-quarantine.hh"
-#include <functional>
-
-Box_quarantine::Box_quarantine (Real padding, Axis a)
-  : padding_ (padding), a_ (a)
-{
-}
-
-void
-Box_quarantine::add_box_to_quarantine (Box infected)
-{
-  Box nbox (infected);
-  nbox[a_].widen (padding_ / 2);
-  boxes_to_quarantine_.push_back (nbox);
-}
-
-vector<Box>
-Box_quarantine::quarantined_boxes ()
-{
-  return boxes_to_quarantine_;
-}
-
-struct Intersection_info
-{
-  vsize index_;
-  Real amount_;
-  int mid_;
-  Intersection_info (vsize index, Real amount, int mid);
-};
-
-Intersection_info::Intersection_info (vsize index, Real amount, int mid)
-  : index_ (index), amount_ (amount), mid_ (mid)
-{
-}
-
-/*
-  boxes_to_quarantine_ contains a vector of boxes that may
-  or may not overlap.  it iterates through these boxes,
-  pushing quarantined_boxes_ epsilon over or epsilon under a
-  collision.  when this type of change happens, the loop is marked
-  as "dirty" and re-iterated.
-
-  TODO: not sure if this loop causes infinite behavior...
-*/
-
-bool
-sort_towards_middle(Intersection_info ii0, Intersection_info ii1)
-{
-  // ugh...with C++11, we'll just be able to do a factory instead of
-  // bundling mid with the Intersection_info
-  int mid = ii0.mid_;
-  assert ((double)(ii0.index_ - mid) >= 0.0);
-  assert ((double)(ii1.index_ - mid) >= 0.0);
-  return fabs (ii0.index_ - mid) < fabs (ii1.index_ - mid);
-}
-
-void
-Box_quarantine::solve ()
-{
-  int mid = boxes_to_quarantine_.size () / 2;
-  Real epsilon = 1.0e-4;
-  bool dirty = false;
-  do
-    {
-      dirty = false;
-      vector<Intersection_info> ii;
-      for (vsize i = 0; i < boxes_to_quarantine_.size () - 1; i++)
-        {
-          Box scratch (boxes_to_quarantine_[i]);
-          scratch.intersect (boxes_to_quarantine_[i + 1]);
-          if (!scratch.is_empty ())
-            ii.push_back (Intersection_info (i, scratch[a_].length (), mid));
-        }
-      vector_sort (ii, sort_towards_middle);
-      if (ii.size () > 0)
-        {
-          Offset shift (-(epsilon + ii[0].amount_ / 2.0), 0.0);
-          if (a_ == Y_AXIS)
-            shift = shift.swapped ();
-          boxes_to_quarantine_[ii[0].index_].translate (shift);
-          shift[a_] = -shift[a_];
-          boxes_to_quarantine_[ii[0].index_ + 1].translate (shift);
-          dirty = true;
-        }
-    }
-  while (dirty);
-}
index 90b41c155e9572c71fa82befec3e6830a6858fb6..d2c93155a578964e5cf439400fe626236b611ca3 100644 (file)
@@ -160,8 +160,29 @@ Context::find_create_context (SCM n, string id, SCM operations)
     Don't create multiple score contexts.
   */
   Global_context *gthis = dynamic_cast<Global_context *> (this);
-  if (gthis && gthis->get_score_context ())
-    return gthis->get_score_context ()->find_create_context (n, id, operations);
+  if (gthis)
+    {
+      if (gthis->get_score_context ())
+        return gthis->get_score_context ()->find_create_context (n, id, operations);
+
+      // Special case: If we use \set Timing.xxx = whatever before
+      // Score is established, the alias of Score to Timing will not
+      // be taken into account.  We check for this particular case
+      // here.  Aliases apart from Score-level ones don't warrant
+      // context creation as they could create unwanted contexts, like
+      // RhythmicVoice instead of Voice.  Creating a Score context,
+      // however, can't really do anything wrong.
+
+      SCM score_name = default_child_context_name ();
+      SCM score_def = find_context_def (get_output_def (), score_name);
+
+      if (Context_def *cd = unsmob_context_def (score_def))
+        {
+          if (cd->is_alias (n))
+            return create_context (cd, id, operations);
+        }
+    }
+
 
   if (Context *existing = find_context_below (this, n, id))
     return existing;
index 76c7bd3b89bd884b782fbdcefb0568bdf8aac41f..1cc6c12b116ca4689d746dedaab149f031712d59 100644 (file)
 
 #include "grob.hh"
 #include "fingering-column.hh"
-#include "box-quarantine.hh"
 #include "pointer-group-interface.hh"
 #include "staff-symbol-referencer.hh"
 #include "item.hh"
 #include "paper-column.hh"
 
-#include <map>
-
-// The sorting algorithm may not preserve the order of the
-// original fingerings. We use Fingering_position_info to retain
-// this order.
-
-struct Fingering_position_info {
-  Box box_;
-  vsize idx_;
-  Fingering_position_info (Box, vsize);
-};
-
-Fingering_position_info::Fingering_position_info (Box box, vsize idx)
-  : box_ (box), idx_ (idx)
-{
-}
-
-bool
-fingering_position_less (Fingering_position_info fpi0, Fingering_position_info fpi1)
-{
-  return Interval::left_less (fpi0.box_[Y_AXIS], fpi1.box_[Y_AXIS]);
-}
-
 MAKE_SCHEME_CALLBACK (Fingering_column, calc_positioning_done, 1);
 SCM
 Fingering_column::calc_positioning_done (SCM smob)
@@ -56,8 +32,6 @@ Fingering_column::calc_positioning_done (SCM smob)
   if (!me->is_live ())
     return SCM_BOOL_T;
 
-  map<Grob *, bool> shifted;
-
   me->set_property ("positioning-done", SCM_BOOL_T);
 
   extract_grob_set (me, "fingerings", const_fingerings);
@@ -77,32 +51,43 @@ Fingering_column::calc_positioning_done (SCM smob)
                      common_refpoint_of_array (fingerings, me, Y_AXIS)};
 
   Real padding = robust_scm2double (me->get_property ("padding"), 0.2);
-  Box_quarantine bq (padding, Y_AXIS);
-  vector<Fingering_position_info> origs;
-  for (vsize i = 0; i < fingerings.size (); i++)
-    {
-      Interval x_ext = fingerings[i]->extent (common[X_AXIS], X_AXIS);
-      // center on Y parent
-      fingerings[i]->translate_axis (-fingerings[i]->extent (fingerings[i], Y_AXIS).length () / 2.0, Y_AXIS);
-      Interval y_ext = fingerings[i]->extent (fingerings[i], Y_AXIS)
-                       + fingerings[i]->get_parent (Y_AXIS)
-                         ->relative_coordinate (common[Y_AXIS], Y_AXIS);
-      origs.push_back(Fingering_position_info (Box (x_ext, y_ext), i));
-    }
 
   // order the fingerings from bottom to top
-  vector_sort (origs, fingering_position_less);
-
-  for (vsize i = 0; i < origs.size (); i++)
-    bq.add_box_to_quarantine (Box (origs[i].box_));
+  vector_sort (fingerings, pure_position_less);
+
+ vector<Real> shift(fingerings.size());
+
+  // Try stacking the fingerings top-to-bottom, and then bottom-to-top.
+  // Use the average of the resulting stacked locations as the final positions
+  for (UP_and_DOWN (d))
+     {
+      Real stack_end = -d * infinity_f;
+      Interval prev_x_ext;
+      for (vsize i = (d == UP)? 0 : fingerings.size() - 1;
+           i < fingerings.size ();
+           i += d)
+        {
+          Interval x_ext = fingerings[i]->extent(common[X_AXIS], X_AXIS);
+          Interval y_ext = fingerings[i]->extent(fingerings[i], Y_AXIS);
+          Real parent_y = fingerings[i]->get_parent(Y_AXIS)
+                         ->relative_coordinate(common[Y_AXIS], Y_AXIS);
+
+          // Checking only between sequential neighbors, seems good enough
+          if (!intersection(x_ext, prev_x_ext).is_empty())
+            stack_end += d * (y_ext.length() + padding);
+          // minmax() returns whichever is further along in direction d
+          stack_end = minmax(d, stack_end, parent_y);
+
+          shift[i] += 0.5 * (stack_end - y_ext[d] - parent_y);
+
+          prev_x_ext = x_ext;
+        }
+     }
 
-  bq.solve ();
-  vector<Box> news (bq.quarantined_boxes ());
-
-  for (vsize i = 0; i < origs.size (); i++)
-    fingerings[origs[i].idx_]->translate_axis (news[i][Y_AXIS][DOWN] - origs[i].box_[Y_AXIS][DOWN], Y_AXIS);
+  for (vsize i = 0; i < fingerings.size (); i++)
+    fingerings[i]->translate_axis(shift[i], Y_AXIS);
 
 return SCM_BOOL_T;
+ return SCM_BOOL_T;
 }
 
 void
index 2571ac1d709c10bec1e00df16e873877aefdbd58..56d7b3257eae269451251c1a8926d62e5069a6eb 100644 (file)
@@ -123,13 +123,10 @@ Fingering_engraver::make_script (Direction d, Stream_event *r, int i)
 
   fingering->set_property ("script-priority", scm_from_int (priority));
 
-  if (!is_direction (fingering->get_property_data ("direction")))
-    {
-      if (d)
-        fingering->set_property ("direction", scm_from_int (d));
-      else
-        fingering->set_property ("direction", scm_from_int (RIGHT));
-    }
+  if (d)
+    fingering->set_property ("direction", scm_from_int (d));
+  else if (!is_direction (fingering->get_property_data ("direction")))
+    fingering->set_property ("direction", scm_from_int (UP));
 
   fingerings_.push_back (fingering);
 }
diff --git a/lily/hara-kiri-engraver.cc b/lily/hara-kiri-engraver.cc
deleted file mode 100644 (file)
index 243d9cb..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-  This file is part of LilyPond, the GNU music typesetter.
-
-  Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-  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 "axis-group-engraver.hh"
-#include "hara-kiri-group-spanner.hh"
-#include "rhythmic-head.hh"
-#include "spanner.hh"
-
-#include "translator.icc"
-
-/*
-  TODO: fold together with axis_group_engraver?
- */
-
-class Hara_kiri_engraver : public Axis_group_engraver
-{
-protected:
-  virtual Spanner *get_spanner ();
-  DECLARE_ACKNOWLEDGER (grob);
-  virtual void add_element (Grob *e);
-  void process_music ();
-  virtual void derived_mark () const;
-  SCM interesting_;
-public:
-  TRANSLATOR_DECLARATIONS (Hara_kiri_engraver);
-};
-
-Hara_kiri_engraver::Hara_kiri_engraver ()
-{
-  interesting_ = SCM_EOL;
-}
-
-void
-Hara_kiri_engraver::derived_mark () const
-{
-  scm_gc_mark (interesting_);
-}
-
-void
-Hara_kiri_engraver::process_music ()
-{
-  Axis_group_engraver::process_music ();
-  interesting_ = get_property ("keepAliveInterfaces");
-}
-
-void
-Hara_kiri_engraver::add_element (Grob *e)
-{
-  Axis_group_engraver::add_element (e);
-}
-
-Spanner *
-Hara_kiri_engraver::get_spanner ()
-{
-  Spanner *sp = make_spanner ("VerticalAxisGroup", SCM_EOL);
-  return sp;
-}
-
-void
-Hara_kiri_engraver::acknowledge_grob (Grob_info i)
-{
-  Axis_group_engraver::acknowledge_grob (i);
-  if (staffline_)
-    {
-      for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s))
-        {
-          if (i.grob ()->internal_has_interface (scm_car (s)))
-            Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ());
-        }
-    }
-}
-
-ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob);
-ADD_TRANSLATOR (Hara_kiri_engraver,
-                /* doc */
-                "Like @code{Axis_group_engraver}, but make a hara-kiri"
-                " spanner, and add interesting items (i.e., note heads, lyric"
-                " syllables, and normal rests).",
-
-                /* create */
-                "VerticalAxisGroup ",
-
-                /* read */
-                "keepAliveInterfaces ",
-
-                /* write */
-                ""
-               );
-
index fa0902e1ae21be8b35bf80239488fe613af52774..08ba1e163f37053b1c1f0b9b99381d999e6aea11 100644 (file)
@@ -27,7 +27,7 @@ class Accidental_placement
 {
 public:
   DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element));
-  static void add_accidental (Grob *, Grob *);
+  static void add_accidental (Grob *, Grob *, bool, long);
 
   static vector<Grob *> get_relevant_accidentals (vector<Grob *> const &elts, Grob *left);
   static void split_accidentals (Grob *accs,
index 45dcc7b7991f6b486fbd1f8c284cafa0f56bbf61..5e5d499fbd433d6d1876a1ef98468e2d91b6574e 100644 (file)
@@ -86,6 +86,8 @@ public:
 
   // with tieWaitForNote, there might be a skip between the tied notes!
   void tie_to (Audio_note *, Moment skip = 0);
+  Audio_note *tie_head ();
+  virtual string to_string () const;
 
   Pitch pitch_;
   Moment length_mom_;
diff --git a/lily/include/axis-group-engraver.hh b/lily/include/axis-group-engraver.hh
deleted file mode 100644 (file)
index 9f87aa3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  This file is part of LilyPond, the GNU music typesetter.
-
-  Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-  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/>.
-*/
-
-#ifndef AXIS_GROUP_ENGRAVER_HH
-#define AXIS_GROUP_ENGRAVER_HH
-
-#include "engraver.hh"
-
-/**
-   Put stuff in a Spanner with an Axis_group_interface.
-   Use as last element of a context.
-*/
-class Axis_group_engraver : public Engraver
-{
-protected:
-  Spanner *staffline_;
-  vector<Grob *> elts_;
-  void process_music ();
-  virtual void finalize ();
-  DECLARE_ACKNOWLEDGER (grob);
-  void process_acknowledged ();
-  virtual Spanner *get_spanner ();
-  virtual void add_element (Grob *);
-  virtual bool must_be_last () const;
-
-public:
-  TRANSLATOR_DECLARATIONS (Axis_group_engraver);
-};
-#endif /* AXIS_GROUP_ENGRAVER_HH */
diff --git a/lily/include/box-quarantine.hh b/lily/include/box-quarantine.hh
deleted file mode 100644 (file)
index 3673a95..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-  This file is part of LilyPond, the GNU music typesetter.
-
-  Copyright (C) 2012 Mike Solomon <mike@mikesolomon.org>
-
-  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/>.
-*/
-
-#ifndef BOX_QUARANTINE_HH
-#define BOX_QUARANTINE_HH
-
-#include "lily-proto.hh"
-#include "std-vector.hh"
-#include "box.hh"
-
-class Box_quarantine
-{
-public:
-  Box_quarantine (Real, Axis);
-  void add_box_to_quarantine (Box);
-  void solve ();
-  vector<Box> quarantined_boxes ();
-
-private:
-  vector<Box> boxes_to_quarantine_;
-  Real padding_;
-  Axis a_;
-};
-
-#endif // BOX_QUARANTINE_HH
index 8da28072660aebb6b30aebc0063ba5e46f63f864..08701c982777c31954b8861da1c3392fbbfbc750 100644 (file)
@@ -50,6 +50,7 @@ private:
   SCM scopes_;
   SCM start_module_;
   int hidden_state_;
+  Input override_input_;
   SCM eval_scm (SCM, char extra_token = 0);
 public:
   SCM eval_scm_token (SCM sval) { return eval_scm (sval, '#'); }
@@ -69,7 +70,7 @@ public:
   Input last_input_;
 
   Lily_lexer (Sources *, Lily_parser *);
-  Lily_lexer (Lily_lexer const &, Lily_parser *);
+  Lily_lexer (Lily_lexer const &, Lily_parser *, SCM);
   int yylex ();
 
   void add_lexed_char (int);
@@ -77,6 +78,7 @@ public:
   void prepare_for_next_token ();
   int try_special_identifiers (SCM *, SCM);
   Input here_input () const;
+  Input const &override_input (Input const &) const;
 
   void add_scope (SCM);
   SCM set_current_scope ();
index 810076c8a241a7e3d9e0b42ae3acf7a82dbddb7e..03556ab01eda873a94f5aad7ce7f7c231f3281f9 100644 (file)
@@ -54,7 +54,8 @@ public:
   bool ignore_version_b_;
 
   Lily_parser (Sources *sources);
-  Lily_parser (Lily_parser const &, SCM closures = SCM_EOL);
+  Lily_parser (Lily_parser const &, SCM closures = SCM_EOL,
+               SCM location = SCM_BOOL_F);
 
   DECLARE_SCHEME_CALLBACK (layout_description, ());
 
index 9ecb1b44aaf377c089302ca7e870251f6ba25b60..e726c4abe57d6796eb0c133ca5cecc56cc8140e2 100644 (file)
@@ -80,7 +80,6 @@ class Grace_music;
 class Grob;
 class Grob_array;
 class Grob_info;
-class Hara_kiri_engraver;
 class Hara_kiri_line_group_engraver;
 class Includable_lexer;
 class Input;
index fb4fa530ee3fd6ef93090a6d50fa4cb3da27315f..bb703e9503c4eccfe421702067ea4f91a02b1ce7 100644 (file)
   Simple smobs are created by adding the
   DECLARE_SIMPLE_SMOBS(Classname) to the declaration
 
+  A simple smob is only optionally under the reign of the GUILE
+  garbage collector: its usual life time is that of a normal C++
+  object.  While a smobbed_copy () is fully under control of the
+  garbage collector and will have its mark_smob function called during
+  garbage collection, an automatic variable of this type will not have
+  mark_smob called, but rather have its memory image in the call stack
+  scanned for contained non-immediate SCM values.  Anything requiring
+  more complex mark_smob behavior is not suitable for a simple smob.
+
+  When you create a smobbed_copy, the _copy_ is fully managed by the
+  GUILE memory system.  As a corollary, multiple smobbed_copy calls
+  yield multiple GUILE objects generally not eq? to each other.
+
   2. Complex smobs are objects that have an identity. These objects
   carry this identity in the form of a self_scm () method, which is a
-  SCM pointer to the object itself.
+  SCM pointer to the object itself.  Complex smobs are always under
+  control of the GUILE memory system.
 
   The constructor for a complex smob should have 3 steps:
 
index 9b1d6eb5aabb1f18d778715b502bc1532dac9eca..c1d3dd86a5a613ae8f78babdcc70152fb71b4ddb 100644 (file)
@@ -314,7 +314,7 @@ BOM_UTF8    \357\273\277
                yy_push_state (state);
        }
        else
-               error (_ ("\\maininput not allowed outside init files"));
+               LexerError (_ ("\\maininput not allowed outside init files").c_str ());
 }
 
 <INITIAL,chords,lyrics,figures,notes>\\include           {
@@ -374,8 +374,8 @@ BOM_UTF8    \357\273\277
 }
 
 <incl,version,sourcefilename>\"[^""]*   { // backup rule
-       error (_ ("end quote missing"));
-       exit (1);
+       LexerError (_ ("end quote missing").c_str ());
+       yy_pop_state ();
 }
 
     /* Flex picks the longest matching pattern including trailing
index c529da7c43a1efaa97d41b1ec336185b44358ccc..c196808a2fef49b9a3c62ec0cafd964477021bfe 100644 (file)
@@ -106,7 +106,8 @@ Lily_lexer::Lily_lexer (Sources *sources, Lily_parser *parser)
   chordmodifier_tab_ = scm_make_vector (scm_from_int (1), SCM_EOL);
 }
 
-Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser)
+Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser,
+                        SCM override_input)
   : Includable_lexer ()
 {
   parser_ = parser;
@@ -122,6 +123,8 @@ Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser)
   main_input_level_ = 0;
 
   extra_tokens_ = SCM_EOL;
+  if (unsmob_input (override_input))
+    override_input_ = *unsmob_input (override_input);
 
   smobify_self ();
 
@@ -335,6 +338,13 @@ Lily_lexer::here_input () const
   return Input (*lexloc_);
 }
 
+Input const &
+Lily_lexer::override_input (Input const &in) const
+{
+  return override_input_.get_source_file ()
+    ? override_input_ : in;
+}
+
 void
 Lily_lexer::prepare_for_next_token ()
 {
index 059cac3149d23b150b2e9f1164f6ac03e96713c3..74d3feb65349a37f54e46a9e6437ca6ebefccca2 100644 (file)
@@ -146,11 +146,12 @@ LY_DEFINE (ly_parser_lexer, "ly:parser-lexer",
 }
 
 LY_DEFINE (ly_parser_clone, "ly:parser-clone",
-           1, 1, 0, (SCM parser_smob, SCM closures),
+           1, 2, 0, (SCM parser_smob, SCM closures, SCM location),
            "Return a clone of @var{parser-smob}.  An association list"
            " of port positions to closures can be specified in @var{closures}"
            " in order to have @code{$} and @code{#} interpreted in their original"
-           " lexical environment.")
+           " lexical environment.  If @var{location} is a valid location,"
+           " it becomes the source of all music expressions inside.")
 {
   LY_ASSERT_SMOB (Lily_parser, parser_smob, 1);
   Lily_parser *parser = unsmob_lily_parser (parser_smob);
@@ -158,7 +159,7 @@ LY_DEFINE (ly_parser_clone, "ly:parser-clone",
     closures = SCM_EOL;
   else
     LY_ASSERT_TYPE (ly_is_list, closures, 2);
-  Lily_parser *clone = new Lily_parser (*parser, closures);
+  Lily_parser *clone = new Lily_parser (*parser, closures, location);
 
   return clone->unprotect ();
 }
index 550f6fb84743f298cbfd1da60ab1e23bcaa67b06..1b78abaed0588debaf4adb9769ed328ce70e88d5 100644 (file)
@@ -53,7 +53,7 @@ Lily_parser::Lily_parser (Sources *sources)
   lexer_->unprotect ();
 }
 
-Lily_parser::Lily_parser (Lily_parser const &src, SCM closures)
+Lily_parser::Lily_parser (Lily_parser const &src, SCM closures, SCM location)
 {
   lexer_ = 0;
   sources_ = src.sources_;
@@ -65,10 +65,9 @@ Lily_parser::Lily_parser (Lily_parser const &src, SCM closures)
   smobify_self ();
   if (src.lexer_)
     {
-      lexer_ = new Lily_lexer (*src.lexer_, this);
+      lexer_ = new Lily_lexer (*src.lexer_, this, location);
+      lexer_->unprotect ();
     }
-
-  lexer_->unprotect ();
 }
 
 Lily_parser::~Lily_parser ()
index 6d0b1290a38491f3f8c47f21d7063ab88f47b3a1..b97630b0d147ed8ebc05d63c111b8928c3667cad 100644 (file)
@@ -178,7 +178,8 @@ void
 Midi_walker::process ()
 {
   Audio_item *audio = items_[index_];
-  do_stop_notes (audio->audio_column_->ticks ());
+  Audio_column *col = audio->get_column ();
+  do_stop_notes (col->ticks ());
 
   if (Midi_item *midi = get_midi (audio))
     {
index 01086620ef5e3f6ea23ce554926c52e7eb8ee338..b0a81195c7185b953fa97c645d83d18eaebd4fc9 100644 (file)
@@ -86,15 +86,18 @@ Note_performer::process_music ()
           notes_.push_back (p);
 
           /*
-            shorten previous note.
+            Shorten previous note. If it was part of a tie, shorten
+            the first note in the tie.
            */
           if (now_mom ().grace_part_)
             {
               if (last_start_.grace_part_ == Rational (0))
                 {
                   for (vsize i = 0; i < last_notes_.size (); i++)
-                    last_notes_[i]->length_mom_ += Moment (0,
-                                                           now_mom ().grace_part_);
+                    {
+                      Audio_note *tie_head = last_notes_[i]->tie_head ();
+                      tie_head->length_mom_ += Moment (0, now_mom ().grace_part_);
+                    }
                 }
             }
         }
index 37d5fa4e770c4d954375bc584b899a75d4f6c499..3f4faf5d7c06ceadc599fade3b9a08355ed3ee16 100644 (file)
@@ -194,7 +194,9 @@ while (0)
 
 %{
 
-#define MY_MAKE_MUSIC(x, spot)  make_music_with_input (ly_symbol2scm (x), spot)
+#define MY_MAKE_MUSIC(x, spot) \
+       make_music_with_input (ly_symbol2scm (x), \
+                              parser->lexer_->override_input (spot))
 
 /* ES TODO:
 - Don't use lily module, create a new module instead.
@@ -203,12 +205,12 @@ while (0)
 #define LOWLEVEL_MAKE_SYNTAX(proc, args)       \
   scm_apply_0 (proc, args)
 /* Syntactic Sugar. */
-#define MAKE_SYNTAX(name, location, ...)       \
-  LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (parser->self_scm (), make_input (location) , ##__VA_ARGS__, SCM_UNDEFINED))
+#define MAKE_SYNTAX(name, location, ...)                               \
+       LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (parser->self_scm (), make_input (parser->lexer_->override_input (location)), ##__VA_ARGS__, SCM_UNDEFINED))
 #define START_MAKE_SYNTAX(name, ...)                                   \
        scm_list_n (ly_lily_module_constant (name) , ##__VA_ARGS__, SCM_UNDEFINED)
 #define FINISH_MAKE_SYNTAX(start, location, ...)                       \
-       LOWLEVEL_MAKE_SYNTAX (scm_car (start), scm_cons2 (parser->self_scm (), make_input (location), scm_append_x (scm_list_2 (scm_cdr (start), scm_list_n (__VA_ARGS__, SCM_UNDEFINED)))))
+       LOWLEVEL_MAKE_SYNTAX (scm_car (start), scm_cons2 (parser->self_scm (), make_input (parser->lexer_->override_input (location)), scm_append_x (scm_list_2 (scm_cdr (start), scm_list_n (__VA_ARGS__, SCM_UNDEFINED)))))
 
 SCM get_next_unique_context_id ();
 SCM get_next_unique_lyrics_context_id ();
@@ -3422,7 +3424,8 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
                mus = mus->clone ();
                *destination = mus->self_scm ();
                unsmob_music (*destination)->
-                       set_property ("origin", make_input (last_input_));
+                       set_property ("origin",
+                                     make_input (override_input (last_input_)));
 
                bool is_event = mus->is_mus_type ("post-event");
                mus->unprotect ();
index c6b245ba61b25da7b4a0223bf126d22a069ebdb7..03cbfdd3d43700c3cb30cc8ab6836519df6661d5 100644 (file)
@@ -22,6 +22,7 @@
 #include "warn.hh"
 #include "translator-group.hh"
 #include "global-context.hh"
+#include "moment.hh"
 
 void
 Timing_translator::stop_translation_timestep ()
@@ -66,16 +67,80 @@ Timing_translator::initialize ()
   context ()->set_property ("currentBarNumber", barnumber);
   context ()->set_property ("internalBarNumber", barnumber);
 
-  context ()->set_property ("timeSignatureFraction",
-                            timing->get_property ("timeSignatureFraction"));
+  SCM timeSignatureFraction = timing->get_property ("timeSignatureFraction");
+
+  if (!scm_is_pair (timeSignatureFraction))
+    {
+      programming_error ("missing timeSignatureFraction");
+      timeSignatureFraction = scm_cons (scm_from_int (4), scm_from_int (4));
+    }
+  context ()->set_property ("timeSignatureFraction", timeSignatureFraction);
+
+  SCM measureLength = timing->get_property ("measureLength");
+
+  if (!unsmob_moment (measureLength))
+    {
+      measureLength =
+        Moment (ly_scm2rational
+                (scm_divide (scm_car (timeSignatureFraction),
+                             scm_cdr (timeSignatureFraction)))).smobbed_copy ();
+    }
+  context ()->set_property ("measureLength", measureLength);
+
   /*
     Do not init measurePosition; this should be done from global
     context.
   */
-  context ()->set_property ("measureLength",
-                            timing->get_property ("measureLength"));
-  context ()->set_property ("baseMoment",
-                            timing->get_property ("baseMoment"));
+
+  SCM timeSignatureSettings = timing->get_property ("timeSignatureSettings");
+  if (!scm_is_pair (timeSignatureSettings))
+    {
+      programming_error ("missing timeSignatureSettings");
+      // A memoized constant is not the prettiest thing as a fallback
+      // since it does not track changes of the variable.  However,
+      // this is still better than nothing, and we already complained
+      // via a programming_error
+      timeSignatureSettings = ly_lily_module_constant ("default-time-signature-settings");
+    }
+  context ()->set_property ("timeSignatureSettings", timeSignatureSettings);
+
+  SCM beamExceptions = timing->get_property ("beamExceptions");
+  if (!scm_is_pair (beamExceptions))
+    {
+      beamExceptions =
+        scm_call_2 (ly_lily_module_constant ("beam-exceptions"),
+                    timeSignatureFraction,
+                    timeSignatureSettings);
+    }
+  context ()->set_property ("beamExceptions", beamExceptions);
+
+  SCM baseMoment = timing->get_property ("baseMoment");
+  if (!unsmob_moment (baseMoment))
+    {
+      baseMoment =
+        Moment (ly_scm2rational
+                (scm_call_2 (ly_lily_module_constant ("base-length"),
+                             timeSignatureFraction,
+                             timeSignatureSettings))).smobbed_copy ();
+    }
+  context ()->set_property ("baseMoment", baseMoment);
+
+  SCM beatStructure = timing->get_property ("beatStructure");
+  if (!scm_is_pair (beatStructure))
+    {
+      beatStructure =
+        scm_call_3 (ly_lily_module_constant ("beat-structure"),
+                    ly_rational2scm (unsmob_moment (baseMoment)->main_part_),
+                    timeSignatureFraction,
+                    timeSignatureSettings);
+    }
+  context ()->set_property ("beatStructure", beatStructure);
+
+  context ()->set_property ("beamHalfMeasure",
+                            timing->get_property ("beamHalfMeasure"));
+
+  context ()->set_property ("autoBeaming",
+                            timing->get_property ("autoBeaming"));
 }
 
 Rational
index 872ccae48d662215f64c844b5f4b9cadc920062c..bf9a223684840885a32edf9d1efbcfa5354676b0 100644 (file)
@@ -126,12 +126,17 @@ Tuplet_iterator::process (Moment m)
 void
 Tuplet_iterator::construct_children ()
 {
-  spanner_duration_ = music_get_length ();
+  if (Duration *d = unsmob_duration (get_music ()->get_property ("duration")))
+    spanner_duration_ = d->get_length ();
+  else
+    {
+      spanner_duration_ = music_get_length ();
 
-  Moment *mp
-    = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration"));
-  if (mp)
-    spanner_duration_ = min (mp->main_part_, spanner_duration_);
+      Moment *mp
+        = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration"));
+      if (mp)
+        spanner_duration_ = min (mp->main_part_, spanner_duration_);
+    }
 
   Music_wrapper_iterator::construct_children ();
 
index ed4e7aa75269c14fc55d667e38abd76430bf8d36..985c680e35d1be37de0b703d0f68a2667a6d08f2 100644 (file)
@@ -89,7 +89,7 @@
 %  * Add Mordents (reported by Patrick Karl)
 %
 
-\version "2.16.0"
+\version "2.17.11"
 
 #(use-modules (srfi srfi-1))
 #(use-modules (srfi srfi-11))
 
 % How much to slow down for a rall. or a poco rall.
 % (or speed up for accel or poco accel)
-#(define ac:rallFactor (ly:make-moment 60 100)) % 40% slowdown
-#(define ac:pocoRallFactor (ly:make-moment 90 100)) % 10% slowdown
+#(define ac:rallFactor (ly:make-moment 60/100)) % 40% slowdown
+#(define ac:pocoRallFactor (ly:make-moment 90/100)) % 10% slowdown
 
 % The absolute time for a twiddle in a trill, in minutes.
 % Start with 1/4 seconds == 1/240 minutes
-#(define ac:maxTwiddleTime (ly:make-moment 1 240))
+#(define ac:maxTwiddleTime (ly:make-moment 1/240))
 
 % How long ordinary grace notes should be relative to their notated
 % duration.  9/40 is LilyPond's built-in behaviour for MIDI output
                 (cons 6 0))))
 
 
-#(define ac:currentTempo (ly:make-moment 15 1)) % 4 = 60, measured wholes per minute
+#(define ac:currentTempo (ly:make-moment 15/1)) % 4 = 60, measured wholes per minute
 #(define ac:lastTempo ac:currentTempo) % for 'a tempo' or 'tempo I'
 
 % The duration of the current note.  Start at a crotchet
 % for no good reason.
-#(define ac:currentDuration (ly:make-duration 2 0 1 1))
+#(define ac:currentDuration (ly:make-duration 2 0 1/1))
 
 % Amount of musical time (in whole notes) that we need to steal from the
 % next events seen.
     pre-t
     (let loop ((len (ly:music-length music)))
      (if (ly:moment<? t len)
-      (loop (ly:moment-mul len (ly:make-moment 1 2)))
+      (loop (ly:moment-mul len (ly:make-moment 1/2)))
       len)))))
 
 
 #(define (ac:trill music)
   " Replace music with time-compressed repeats of the music,
     maybe accelerating if the length is longer than a crotchet "
-  (let* ((hemisemidur (ly:make-duration 5 0 1 1))
+  (let* ((hemisemidur (ly:make-duration 5 0 1/1))
         (orig-len  (ly:music-length music))
         (t (ac:twiddletime music))
         (uppernote '())
-        (note_moment (ly:moment-mul t (ly:make-moment 1 2)))
+        (note_moment (ly:moment-mul t (ly:make-moment 1/2)))
         (c1 (ly:moment-div orig-len note_moment))
         (c2 (inexact->exact
              (round (/ (ly:moment-main-numerator c1)
          'metronome-count
          tempo
          'tempo-unit
-         (ly:make-duration 0 0 1 1))
+         (ly:make-duration 0 0 1/1))
     (context-spec-music
     (make-property-set 'tempoWholesPerMinute  tempo) 'Score))))
 
        ; We implement as a half-shake.
        (let*
         ((totallength (ly:music-length music))
-         (newlen (ly:moment-sub totallength (ly:make-moment 3 32)))
+         (newlen (ly:moment-sub totallength (ly:make-moment 3/32)))
          (newdur (ly:make-duration
                   0 0
                   (ly:moment-main-numerator newlen)
                   (ly:moment-main-denominator newlen)))
-         (gracedur (ly:make-duration 5 0 1 1))
+         (gracedur (ly:make-duration 5 0 1/1))
          (gracenote (ly:music-deep-copy music))
          (abovenote (ly:music-deep-copy music))
          (mainnote (ly:music-deep-copy music))
         ((totaldur (ly:music-property
                (car (ly:music-property music 'elements)) 'duration))
          (dur (ly:duration-length totaldur))
-         (newlen (ly:moment-sub dur (ly:make-moment 2 32)))
+         (newlen (ly:moment-sub dur (ly:make-moment 2/32)))
          (newdur (ly:make-duration
                0 0
                   (ly:moment-main-numerator newlen)
          (music-map (lambda (n)
           (if (eq? 'NoteEvent (ly:music-property n 'name))
            (set! (ly:music-property n 'duration)
-            (ly:make-duration 5 0 1 1)))
+            (ly:make-duration 5 0 1/1)))
                      n)
           mordent)
          (music-map (lambda (n)
@@ -906,10 +906,10 @@ appoggiatura =
         (main-orig-len (ly:music-length main))
         (numerator (ly:moment-main-numerator maindur))
         (factor (if (eq? (remainder numerator 3) 0)
-                 (ly:make-moment 1 3) (ly:make-moment 1 2))))
+                 (ly:make-moment 1/3) (ly:make-moment 1/2))))
    (ly:music-compress grace
     (ly:moment-mul factor (ly:moment-div main-orig-len grace-orig-len)))
-   (ly:music-compress main (ly:moment-sub (ly:make-moment 1 1) factor))
+   (ly:music-compress main (ly:moment-sub (ly:make-moment 1/1) factor))
 
     (set! (ly:music-property grace 'elements)
      (append (ly:music-property grace 'elements)
index c4378a8e6629537e9b0cec985b1ec5e2eaa0e230..b57fd713372f74149187fceb37a7f8077ab9180a 100644 (file)
 \version "2.17.6"
 
 RemoveEmptyStaves = \with {
-  \remove "Axis_group_engraver"
-  % If RemoveEmptyStaves is called twice, two
-  % Hara_kiri_engravers would be added, which leads to a
-  % warning.
-  % This code makes sure that no previous Hara_kiri_engraver
-  % is left before adding a new one.
-  \remove "Hara_kiri_engraver"
-  \consists "Hara_kiri_engraver"
   \override VerticalAxisGroup.remove-empty = ##t
   \description "Remove staves which are considered to be empty according
 to the list of interfaces set by @code{keepAliveInterfaces}."
index daf1aed3d31ae521d068366aa3f4f8686c23a54f..a7754ef67c54aa095ee6b3639c55c57b523a5142 100644 (file)
@@ -16,7 +16,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.17.6"
+\version "2.17.11"
 
 \context {
   \name "Global"
@@ -37,7 +37,7 @@
 
   \consists "Fretboard_engraver"
   \consists "Output_property_engraver"
-  \consists "Hara_kiri_engraver"
+  \consists "Axis_group_engraver"
   \consists "Separating_line_group_engraver"
   \consists "Font_size_engraver"
   \consists "Instrument_name_engraver"
@@ -85,6 +85,7 @@
   \consists "Figured_bass_position_engraver"
   \consists "Script_row_engraver"
   \consists "Cue_clef_engraver"
+  \consists "Fingering_column_engraver"
 
   localKeySignature = #'()
   createSpacing = ##t
@@ -259,7 +260,6 @@ multiple voices on the same staff."
 
   \consists "Script_engraver"
   \consists "Script_column_engraver"
-  \consists "Fingering_column_engraver"
   \consists "Rhythmic_column_engraver"
   \consists "Note_spacing_engraver"
   \consists "Spanner_break_forbid_engraver"
@@ -441,7 +441,7 @@ printing of a single line of lyrics."
   \consists "Stanza_number_engraver"
   \consists "Instrument_name_engraver"
   \consists "Font_size_engraver"
-  \consists "Hara_kiri_engraver"
+  \consists "Axis_group_engraver"
   \consists "Pure_from_neighbor_engraver"
   searchForVoice = ##f
   %% explicitly set instrument, so it is not inherited from the parent
@@ -503,8 +503,9 @@ printing of a single line of lyrics."
   \consists "Output_property_engraver"
   \consists "Separating_line_group_engraver"
   \consists "Chord_name_engraver"
-  \consists "Hara_kiri_engraver"
+  \consists "Axis_group_engraver"
 %  \consists "Note_spacing_engraver"
+
   \override VerticalAxisGroup.remove-first = ##t
   \override VerticalAxisGroup.remove-empty = ##t
   \override VerticalAxisGroup.staff-affinity = #DOWN
@@ -620,16 +621,13 @@ automatically when an output definition (a @code{\\score} or
 
   repeatCountVisibility = #all-repeat-counts-visible
 
+%% Other Timing variables are derived and set by the Timing_translator
+%% at initialization time by calling the functions in
+%% scm/time-signature-settings.scm
+
   timeSignatureSettings = #default-time-signature-settings
   timeSignatureFraction = 4/4
 
-%% These defaults should be the same as the rules established in
-%%   scm/time-signature-settings.scm for 4/4 time
-  measureLength = #(ly:make-moment 4 4)
-  baseMoment = #(ly:make-moment 1  4)
-  beatStructure = #'(1 1 1 1)
-  beamExceptions = #'((end . (((1 . 8) . (4 4))
-                              ((1 . 12) . (3 3 3 3)))))
   beamHalfMeasure = ##t
 
   autoBeaming = ##t
@@ -767,7 +765,7 @@ automatically when an output definition (a @code{\\score} or
 
   \consists "Figured_bass_engraver"
   \consists "Separating_line_group_engraver"
-  \consists "Hara_kiri_engraver"
+  \consists "Axis_group_engraver"
 
   \override VerticalAxisGroup.remove-empty = ##t
   \override VerticalAxisGroup.remove-first = ##t
index 6c0f75970e708e370195b8934801074c507f77a3..9e5282de89d7ca33704a58fb592a62ec17c848e0 100644 (file)
@@ -66,7 +66,7 @@ program using the output of this function to interpret grace notes
 however they want (half duration, quarter duration?  before beat,
 after beat?  etc.)."
    (if
-       (eq? 0 (ly:moment-grace-numerator moment))
+       (zero? (ly:moment-grace-numerator moment))
        (ly:format "~a" (format-moment moment))
        ;; grace notes have a negative numerator, so no "-" necessary
        (ly:format
index e16fc683bade23e8685d1f0dc0d554f6edcf8284..b5b088b95cf5cb99a02d0539d13800f00a3e5ee1 100644 (file)
@@ -3,7 +3,7 @@
   $Id$
 %}
 
-\version "2.17.6"
+\version "2.17.11"
 
 %
 % Declare memorable shortcuts for special unicode characters
@@ -260,7 +260,7 @@ ligature = #(define-music-function
        %%% causes tons of "programming error: adding reverse spring,
        %%% setting to unit" messages.
        %%%
-       %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 4)
+       %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
        %\override SpacingSpanner.shortest-duration-space = #0
        %\override SpacingSpanner.average-spacing-wishes = ##f
        %\override SpacingSpanner.spacing-increment = #0.0
index 7daa84929c6e578d423e4a2d353cb387874cc56d..8e8a2fc2123436dd8ee428e859b3ff7bfecdaea6 100644 (file)
@@ -20,6 +20,7 @@
 #(note-names-language parser default-language)
 
 #(ly:set-option 'old-relative #f)
+#(define location #f)
 #(define toplevel-scores (list))
 #(define toplevel-bookparts (list))
 #(define $defaultheader #f)
index f3210832186e5b4510fcec365b6c3f2ef4312d3b..061e696d08f01f967924c674367e095cb245086a 100644 (file)
@@ -18,7 +18,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.17.6"
+\version "2.17.11"
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -344,10 +344,8 @@ without the need of a specific end spanner.")
                                  (extract-typed-music music 'span-event)))
          (stop-span-evs
           (map (lambda (m)
-                 (let ((c (music-clone m)))
-                   (set! (ly:music-property c 'span-direction) STOP)
-                   c))
-               start-span-evs))
+                 (music-clone m 'span-direction STOP))
+                start-span-evs))
          (end-ev-chord (make-music 'EventChord
                                    'elements stop-span-evs))
          (total (make-music 'SequentialMusic
@@ -381,6 +379,15 @@ featherDurations=
 
      argument))
 
+finger =
+#(define-event-function (parser location finger) (number-or-markup?)
+   (_i "Apply @var{finger} as a fingering indication.")
+
+   (make-music
+            'FingeringEvent
+            (if (number? finger) 'digit 'text)
+            finger))
+
 footnote =
 #(define-music-function (parser location mark offset footnote item)
    ((markup?) number-pair? markup? symbol-list-or-music?)
@@ -797,93 +804,102 @@ Example:
   C = { e e | f f | }
 @end verbatim
 ")
-   (let* ((voices (apply circular-list (make-list (length voice-ids) (list))))
-         (current-voices voices)
-         (current-sequence (list))
-         (original music)
-         (wrapper #f))
-     ;;
-     ;; utilities
-     (define (push-music m)
-       "Push the music expression into the current sequence"
-       (set! current-sequence (cons m current-sequence)))
-     (define (change-voice)
-       "Stores the previously built sequence into the current voice and
+   (define (bar-check? m)
+     "Checks whether m is a bar check."
+     (eq? (ly:music-property m 'name) 'BarCheck))
+   (define (recurse-and-split music)
+     "This returns either a list of music split along barchecks, or
+@code{#f}."
+     (let ((elt (ly:music-property music 'element))
+           (elts (ly:music-property music 'elements)))
+       (cond ((ly:music? elt)
+              (let ((lst (recurse-and-split elt)))
+                (and lst
+                     (map
+                      (lambda (x)
+                        (let ((res (music-clone music 'element x)))
+                          (if (ly:input-location?
+                               (ly:music-property x 'origin))
+                              (set! (ly:music-property res 'origin)
+                                    (ly:music-property x 'origin)))
+                          res))
+                      lst))))
+             ((any bar-check? elts)
+              (let* ((voices (apply circular-list
+                                    (make-list (length voice-ids)
+                                               '())))
+                     (current-voices voices)
+                     (current-sequence '()))
+                ;;
+                ;; utilities
+                (define (push-music m)
+                  "Push the music expression into the current sequence"
+                  (set! current-sequence (cons m current-sequence)))
+                (define (change-voice)
+                  "Stores the previously built sequence into the current voice and
        change to the following voice."
-       (list-set! current-voices 0 (cons (make-music 'SequentialMusic
-                                                    'elements (reverse! current-sequence))
-                                        (car current-voices)))
-       (set! current-sequence (list))
-       (set! current-voices (cdr current-voices)))
-     (define (bar-check? m)
-       "Checks whether m is a bar check."
-       (eq? (ly:music-property m 'name) 'BarCheck))
-     (define (music-origin music)
-       "Recursively search an origin location stored in music."
-       (cond ((null? music) #f)
-            ((not (null? (ly:music-property music 'origin)))
-             (ly:music-property music 'origin))
-            (else (or (music-origin (ly:music-property music 'element))
-                      (let ((origins (remove not (map music-origin
-                                                      (ly:music-property music 'elements)))))
-                        (and (not (null? origins)) (car origins)))))))
-     (while (music-is-of-type? music 'music-wrapper-music)
-           (set! wrapper music)
-           (set! music (ly:music-property wrapper 'element)))
-     (if wrapper
-        (set! (ly:music-property wrapper 'element)
-                                 (make-music 'SequentialMusic
-                                             'origin location))
-        (set! original
-              (make-music 'SequentialMusic
-                          'origin location)))
-     ;;
-     ;; first, split the music and fill in voices
-     ;; We flatten direct layers of SequentialMusic since they are
-     ;; pretty much impossible to avoid when writing music functions.
-     (let rec ((music music))
-       (for-each (lambda (m)
-                  (if (eq? (ly:music-property m 'name) 'SequentialMusic)
-                      (rec m)
-                      (begin
-                        (push-music m)
-                        (if (bar-check? m) (change-voice)))))
-                (ly:music-property music 'elements)))
-     (if (not (null? current-sequence)) (change-voice))
-     ;; un-circularize `voices' and reorder the voices
-     (set! voices (map-in-order (lambda (dummy seqs)
-                                 (reverse! seqs))
-                               voice-ids voices))
-     ;;
-     ;; set origin location of each sequence in each voice
-     ;; for better type error tracking
-     (for-each (lambda (voice)
-                (for-each (lambda (seq)
-                            (set! (ly:music-property seq 'origin)
-                                  (or (music-origin seq) location)))
-                          voice))
-              voices)
-     ;;
-     ;; check sequence length
-     (apply for-each (lambda* (#:rest seqs)
-                             (let ((moment-reference (ly:music-length (car seqs))))
-                               (for-each (lambda (seq moment)
-                                           (if (not (equal? moment moment-reference))
-                                               (ly:music-warning seq
-                                                                 "Bars in parallel music don't have the same length")))
-                                         seqs (map-in-order ly:music-length seqs))))
-           voices)
-     ;;
-     ;; bind voice identifiers to the voices
-     (for-each (lambda (voice-id voice)
-           (ly:parser-define! parser voice-id
-                              (let ((v (ly:music-deep-copy original)))
-                                (set! (ly:music-property
-                                       (car (extract-named-music
-                                             v 'SequentialMusic))
-                                       'elements) voice)
-                                v)))
-         voice-ids voices)))
+                  (set-car! current-voices
+                            (cons (reverse! current-sequence)
+                                  (car current-voices)))
+                  (set! current-sequence '())
+                  (set! current-voices (cdr current-voices)))
+                (for-each (lambda (m)
+                            (let ((split? (recurse-and-split m)))
+                              (if split?
+                                  (for-each
+                                   (lambda (m)
+                                     (push-music m)
+                                     (change-voice))
+                                   split?)
+                                  (begin
+                                    (push-music m)
+                                    (if (bar-check? m) (change-voice))))))
+                          elts)
+                (if (pair? current-sequence) (change-voice))
+                ;; un-circularize `voices' and reorder the voices
+
+                (set! voices (map reverse!
+                                  (list-head voices (length voice-ids))))
+
+                ;; check sequence length
+                (apply for-each (lambda seqs
+                                  (define (seq-len seq)
+                                    (reduce ly:moment-add
+                                            (ly:make-moment 0)
+                                            (map ly:music-length seq)))
+                                  (let ((moment-reference (seq-len (car seqs))))
+                                    (for-each (lambda (seq)
+                                                (if (not (equal? (seq-len seq)
+                                                                 moment-reference))
+                                                    (ly:music-warning
+                                                     (if (pair? seq)
+                                                         (last seq)
+                                                         (caar seqs))
+                                                     (_ "Bars in parallel music don't have the same length"))))
+                                              seqs)))
+                       voices)
+                (map
+                 (lambda (lst)
+                   (set! lst (concatenate! lst))
+                   (let ((res (music-clone music 'elements lst)))
+                     (if (and (pair? lst)
+                              (ly:input-location? (ly:music-property
+                                                   (car lst)
+                                                   'origin)))
+                         (set! (ly:music-property res 'origin)
+                               (ly:music-property (car lst) 'origin)))
+                     res))
+                 voices)))
+             (else #f))))
+   (let ((voices (recurse-and-split music)))
+     (if voices
+         ;;
+         ;; bind voice identifiers to the voices
+         (for-each (lambda (voice-id voice)
+                     (ly:parser-define! parser voice-id voice))
+         voice-ids voices)
+         (ly:music-warning music
+                           (_ "ignoring parallel music without barchecks")))))
 
 parenthesize =
 #(define-music-function (parser loc arg) (ly:music?)
@@ -1054,13 +1070,12 @@ for time signatures of @var{time-signature}.")
    (revert-time-signature-setting time-signature))
 
 rightHandFinger =
-#(define-event-function (parser location finger) (number-or-string?)
+#(define-event-function (parser location finger) (number-or-markup?)
    (_i "Apply @var{finger} as a fingering indication.")
 
    (make-music
             'StrokeFingerEvent
-            'origin location
-            (if (string? finger) 'text 'digit)
+            (if (number? finger) 'digit 'text)
             finger))
 
 scaleDurations =
@@ -1335,6 +1350,45 @@ transposition =
                        (ly:pitch-negate pitch))
     'Staff))
 
+tuplet =
+#(define-music-function (parser location ratio tuplet-span music)
+   (fraction? (ly:duration? '()) ly:music?)
+   (_i "Scale the given @var{music} to tuplets.  @var{ratio} is a
+fraction that specifies how many notes are played in place of the
+nominal value: it will be @samp{3/2} for triplets, namely three notes
+being played in place of two.  If the optional duration
+@var{tuplet-span} is specified, it is used instead of
+@code{tupletSpannerDuration} for grouping the tuplets.
+For example,
+@example
+\\tuplet 3/2 4 @{ c8 c c c c c @}
+@end example
+will result in two groups of three tuplets, each group lasting for a
+quarter note.")
+   (make-music 'TimeScaledMusic
+               'element (ly:music-compress
+                         music
+                         (ly:make-moment (cdr ratio) (car ratio)))
+               'numerator (cdr ratio)
+               'denominator (car ratio)
+               'duration tuplet-span))
+
+tupletSpan =
+#(define-music-function (parser location tuplet-span)
+   ((ly:duration?))
+   (_i "Set @code{tupletSpannerDuration}, the length into which
+@code{\\tuplet} without an explicit @samp{tuplet-span} argument of its
+own will group its tuplets, to the duration @var{tuplet-span}.  To
+revert to the default of not subdividing the contents of a @code{\\tuplet}
+command without explicit @samp{tuplet-span}, use
+@example
+\\tupletSpan \\default
+@end example
+")
+   (if tuplet-span
+       #{ \set tupletSpannerDuration = #(ly:duration-length tuplet-span) #}
+       #{ \unset tupletSpannerDuration #}))
+
 tweak =
 #(define-music-function (parser location prop value item)
    (symbol-list-or-symbol? scheme? symbol-list-or-music?)
index f26ed9f87db639f8ad93ff8142eebb05193c469c..e39bcf4c4840542101d3758dded226b195355bcd 100644 (file)
@@ -16,7 +16,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.16.0"
+\version "2.17.11"
 
 %%
 %% setup for Request->Element conversion.
   \name Score
 
   melismaBusyProperties = #default-melisma-properties
-  autoBeaming = ##t  % needed for consistent melismata with engravers
   instrumentName = #"bright acoustic"
   midiChannelMapping = #'staff
 
   %% quarter = 60
-  tempoWholesPerMinute = #(ly:make-moment 15 1)
+  tempoWholesPerMinute = #(ly:make-moment 15/1)
 
   \accepts Staff
   \accepts DrumStaff
   %% Timing variables in layout definitions before any
   %% Timing_translator has been run.
 
+  timeSignatureSettings = #default-time-signature-settings
   timeSignatureFraction = 4/4
+  autoBeaming = ##t  % needed for consistent melismata with engravers
 
-%% These defaults should be the same as the rules established in
-%%   scm/time-signature-settings.scm for 4/4 time
-  measureLength = #(ly:make-moment 4 4)
-  baseMoment = #(ly:make-moment 1  4)
+  %% Other beaming variables are not important as autobeams don't affect
+  %% the Midi.  Melismata are only affected by beams when autobeaming
+  %% is switched off.
 
   \consists "Timing_translator"
 
index 0baf24258b2af8c41e8ebf3ef86e8ea085671082..5d33decace0e926d0189d14d8d6a3b3c75960053 100644 (file)
@@ -46,9 +46,8 @@ staccatissimo = #(make-articulation "staccatissimo")
 staccato = #(make-articulation "staccato")
 stopped = #(make-articulation "stopped")
 tenuto = #(make-articulation "tenuto")
-thumb = \tweak text \markup \scale #(cons (magstep 5) (magstep 5))
-                            \musicglyph #"scripts.thumb"
-        #(make-music 'FingeringEvent)
+thumb = \finger \markup \scale #(cons (magstep 5) (magstep 5))
+                        \musicglyph #"scripts.thumb"
 trill = #(make-articulation "trill")
 turn = #(make-articulation "turn")
 upbow = #(make-articulation "upbow")
index 905d1c3e8e112545bc78ea1113e268951615c352..11306724402b1424d5c947ab3bbac15a0538d61c 100644 (file)
@@ -3,11 +3,11 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or you can redistribute it under
+% the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c96ff8d06cbe57f3d7e40525d13980fbc4e0211f..354e0f3e91df756b2de4f16823af564a6f50cdf0 100644 (file)
@@ -3,10 +3,11 @@
 %
 % Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or you can redistribute it under
+% the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index f80afc91b9a1e5102ff00716c9ef91a0e57f7757..e20269218224053dcc8efdadcd4fe45691304e93 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index a12b4ebda669051d6390564d89b3b6bed740c04c..e24f1605db2fe939ecf8bc36bb39b5e996be6bd4 100644 (file)
@@ -8,10 +8,10 @@
 % to automate generation of the lily tables.
 % The output should be parsed by the mf-to-table script.
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2436c6f1f3131c9e7af5a1b1d8280004c948d318..1210262421a478024ef6ba167df54407d850cce9 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index cf4adea384a141171782a914ba6e4fea717d0ae9..df91510af7355a3cbe1fa724bf372a4f56bf7bfd 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index eacfc57a24dcfb952ba4bbd89c59d74d76443209..87fc66047dfccba037f8b27548b7ed3147b39386 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 4f4a6e961adcc4a91037d5175f1021c13497c4b0..ffad571c0c3c943635a1d70286c4335a829d68d7 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 31201f184d651613ddc3b110db3f0ef7f5b6a620..a0b130bdada639107e7bd2cd250aa5dbfb0a8448 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 920ac35a55ee487692f41d160ecfe5bc30788a93..ad31d2bcc8a2d392772f0d550271c72c4c4bccc3 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9c233e0aded8c5426b24c20ce3b3e585a15031fb..545ca5a855b5ce4e97f5b1bb29249ea0347b0e3d 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index f8ea48dcacf9e4fba85c5d34d36a2935ba8b3281..646e153106f1a8044f312a375b469237bee27c6f 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c8e7a73a106e30d32eb5ea94f6f34ca16dca1309..0f3fcd35673df1281a2ddc7b0f5159d28a30bc26 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 5ecd5b71a8980759e47f14b63b7d2e4cf4f9409a..c948f345fd6e525fa0d221606b96a55f86dc99e9 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %                Jan Nieuwenhuizen <janneke@gnu.org>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2971f1e416f8784f3146892acf17130431c4478b..d3b29cab544fd8ff4caeb25e432445a666bca518 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index e1c513f94dd7bf7ce4d36d81cfaeffb3051a6e09..d76b3414535e4403fc01f071dfb88fdbc81385cb 100644 (file)
@@ -5,10 +5,10 @@
 % Jan Nieuwenhuizen <janneke@gnu.org>,
 % Juergen Reuter <reuter@ipd.uka.de>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c568aed7375303f44da5f5490f553d80d08d7f8b..be38847a2c2ec4970c71e8b403bd76b993b75ce9 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c2728c3f08d225017b71d5610d2d28f995ccd86c..c1b7c43a6a5d4289c951712cce4e7e6f0b87331e 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Jan Nieuwenhuizen <janneke@gnu.org>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index a40e5d9b1e04485e114819bf9e155ceac40cfc7f..947cc8a35a487c91bfac13000e000812a9229d8c 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 81d68a49a3f291f0611b41584b3e7661eddd595b..2cd890f3b0008ffd341d29b1a7ad5f832ec0e821 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 16c31a7bebe611db84ceb5264331a8d2511bc121..0d253ce653d73d859e4ed9f5ab6124be77c8389b 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index b111c9444502775b8be1803191ded359521c2329..c464c3f7f8342488834f5a37608216c65f90d64f 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 70cf9a43957d0b630e375e16ed6934ce4f8f70ce..3c255073c8339bb64a559b2119e340c356423466 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c45969ed6a60da78bbdb1117307c57477d7e7dae..d976b2df947dd3fcf00ca3aff66984e9eb6478eb 100644 (file)
@@ -5,11 +5,10 @@
 % & Han-Wen Nienhuys <hanwen@xs4all.nl>
 % & Juergen Reuter <reuter@ipd.uka.de>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 0e637550cab74851f05482108b698138aa7c1a4b..8ec75697ae2fc62870d0facc84adf8d93c4cff90 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Jan Nieuwenhuizen <janneke@gnu.org>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index a61edfe73b0cfa20a9c2cbfa27e301d249d5b954..8336df3306f441d7627d39def7926a3a196a3342 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index edad126265088095f9aa8d7a539a77da06e932ae..b4979ca4a6c608358390562f474cb6b28189224e 100644 (file)
@@ -5,10 +5,10 @@
 %
 % Voor Cup
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index b109d3bac2e21533a52f63e776e880009e624796..09439853a0b35a0b830e80db8bf5ec04d57985c2 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 1997--2012 Jan Nieuwenhuizen <janneke@gnu.org>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7b4cbf455d1e18d48c4c8c0b33d83c5808a634f7..91c3ae1fe49867c126308b3571d266194eb30479 100644 (file)
@@ -5,10 +5,10 @@
 %      Jan Nieuwenhuizen <janneke@gnu.org>
 %
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 62702e92ffcdad5e5f13a4bc61ccdca4416e9f8c..6df5e7ca5c77481afcaffbbc65d2d5ef6dc86bae 100644 (file)
@@ -3,10 +3,10 @@
 %
 % Copyright (C) 2011--2012 Bertrand Bordage <bordage.bertrand@gmail.com>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 2bbb7d91a50551722455d355b7c3560c34a1a0eb..0098f0ad424e4ca0cb8bab6cbccc8d140325042e 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 1998--2012 Mats Bengtsson <matsb@s3.kth.se>,
 %               Christian Mondrup <scancm@biobase.dk>
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 9ad4e698883382dffed7a4e414b5b4b5708a1b1e..ea63af0bfbe72d1dd708cf9da2a0c89f60fe3515 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 1998--2012 Jan Nieuwenhuizen <janneke@gnu.org>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7ea7f14f68d8800602a6aae067514d2d10f30c9b..f7cf78563b09b70a20669ebaaa1ac6acee58e47e 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 8cc936380ef113c632d7acc0d0d0ad460f4572e4..ec6561dc8e50a0cc001e6135c63a6b4caae99f23 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 3729679d720c53c4bba65bbc7726d38ce710e02e..08bf714858c738f7c234200d12ec419b144edcb3 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2000--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 4e77d9c465c64d3b67e123ca41b738fc71b4e716..86a8ee7f4c167d891420b3d7643235ef8e478245 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2006--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 13febbca6cc942851124491c7141411cd63c8923..f7c903f874bbaf2a4c65a8eb8797d6fe3f1c7508 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index c07bd219662a08d737fd3585d04f97369a078932..31b35ff25ba4db2a4fcdc263a9e0c9b13b843683 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 2002--2012 Juergen Reuter <reuter@ipd.uka.de>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 6554c8b210ad36fae99944a2b243803e8c4dd240..a42a1db393bd66aed906f078b5a8e7e4b6e18415 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 2001--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 3ccaca909442bec0f98d95da3ffccd35f68c338f..a4103791ff8302c808f4c2529def1013b2fd3f09 100644 (file)
@@ -3,11 +3,10 @@
 %
 % Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index afc713f3523e89e60c4c66f1233e013fe1e9a941..dbeb87530d11880a501cf03f46059bb4b00439f7 100644 (file)
@@ -6,10 +6,10 @@
 % Neo-mensural heads originally by
 % Christian Mondrup and Mats Bengtsson
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index b8b3c51ce8cb4c26e3b400795e888308b0d6a749..d238211b7e2aba6be7b2e892cced1ae836376ab5 100644 (file)
@@ -7,10 +7,10 @@
 % Christian Mondrup and Mats Bengtsson.
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 7899fcba428f01c8e26b1fdf48f8d1ab65aca58d..cc96bbc465661a7437277c6c2ef512c2f78804e0 100644 (file)
@@ -4,10 +4,10 @@
 % Copyright (C) 2002--2012 Juergen Reuter <reuter@ipd.uka.de>
 % 
 %
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 598835586a10a2f3e2b94dc963c48355162a5620..ef0fa621a5506dd73c2b91b018c094d512a0d043 100644 (file)
@@ -5,11 +5,10 @@
 %               Christian Mondrup <scancm@biobase.dk>
 % Copyright (C) 2002--2012 Juergen Reuter <reuter@ipd.uka.de>
 %
-%
-% LilyPond is free software: you can redistribute it and/or modify
+% The LilyPond font 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.
+% (at your option) any later version, or under the SIL Open Font License.
 %
 % LilyPond is distributed in the hope that it will be useful,
 % but WITHOUT ANY WARRANTY; without even the implied warranty of
index 4c4a0ed35f6b63bdf45480a1e8f402a57517fb08..7abaa3a906421d007d27e35d9be44119dbb7ce40 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -3756,7 +3756,6 @@ msgstr "Neplatná operace vlastnosti ~a"
 #~ msgid "setbeatGrouping. Use baseMoment and beatStructure.\n"
 #~ msgstr "setbeatGrouping. Použít baseMoment a beatStructure.\n"
 
-#~| msgid "Usage: %s"
 #~ msgid "success: %s"
 #~ msgstr "Úspěch: %s"
 
@@ -3802,7 +3801,6 @@ msgstr "Neplatná operace vlastnosti ~a"
 #~ msgid "second argument must be pitch list"
 #~ msgstr "Druhý argument musí být seznam výšek tónů"
 
-#~| msgid "warning: "
 #~ msgid "warning:"
 #~ msgstr "Varování:"
 
index 00605dc941e49e2aac52b4a2f6029bcd79c274f8..436c3acb45f240b599fc970495b0d77943426f86 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -33,11 +33,11 @@ msgstr "ne eblas trovi \\begin{document} en dokumento LaTeX"
 #: book_latex.py:188
 #, python-format
 msgid "Running `%s' on file `%s' to detect default page settings.\n"
-msgstr "Aplikado de '%s' al la dosiero '%s' por detekti originalajn paĝ-agordojn.\n"
+msgstr "Aplikado de '%s' al la dosiero '%s' por detekti apriorajn paĝ-agordojn.\n"
 
 #: book_latex.py:209 book_texinfo.py:228
 msgid "Unable to auto-detect default settings:\n"
-msgstr "Ne eblas mem detekti originalajn agordojn:\n"
+msgstr "Ne eblas aŭtomate detekti apriorajn agordojn:\n"
 
 #: book_latex.py:221 book_texinfo.py:240
 #, python-format
@@ -45,23 +45,23 @@ msgid ""
 "Unable to auto-detect default settings:\n"
 "%s"
 msgstr ""
-"Ne eblas mem detekti originalajn agordojn:\n"
+"Ne eblas aŭtomate detekti apriorajn agordojn:\n"
 "%s"
 
 #: book_snippets.py:406
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
-msgstr "evitinda ly-elektilo estis uzata: %s=%s"
+msgstr "evitinda ly-modifilo estis uzata: %s=%s"
 
 #: book_snippets.py:408
 #, python-format
 msgid "compatibility mode translation: %s=%s"
-msgstr "tradukado je kongrua reĝimo: %s=%s"
+msgstr "kongru-reĝima traduko: %s=%s"
 
 #: book_snippets.py:411
 #, python-format
 msgid "deprecated ly-option used: %s"
-msgstr "evitinda ly-elektilo estis uzata: %s"
+msgstr "evitinda ly-modifilo estis uzata: %s"
 
 #: book_snippets.py:413
 #, python-format
@@ -71,7 +71,7 @@ msgstr "tradukado je kongrua reĝimo: %s"
 #: book_snippets.py:530
 #, python-format
 msgid "ignoring unknown ly option: %s"
-msgstr "preterpaso de nekonata ly-elektilo: %s"
+msgstr "preterpaso de nekonata ly-modifilo: %s"
 
 #: book_snippets.py:621
 #, python-format
@@ -81,7 +81,7 @@ msgstr "Mankantaj dosieroj: %s"
 #: book_snippets.py:651
 #, python-format
 msgid "Could not overwrite file %s"
-msgstr "Ne eblis reskribi sur dosiero: %s"
+msgstr "Ne eblis anstataŭigi la dosieron %s"
 
 #: book_snippets.py:738
 #, python-format
@@ -126,7 +126,7 @@ msgstr ""
 #: book_texinfo.py:206
 #, python-format
 msgid "Running texi2pdf on file %s to detect default page settings.\n"
-msgstr "Aplikado de texi2pdf al la dosiero %s por detekti originalajn paĝ-agordojn.\n"
+msgstr "Aplikado de texi2pdf al la dosiero %s por detekti apriorajn paĝ-agordojn.\n"
 
 #: convertrules.py:12
 #, python-format
@@ -135,12 +135,12 @@ msgstr "Ne sufiĉe lerta por konverti %s."
 
 #: convertrules.py:13
 msgid "Please refer to the manual for details, and update manually."
-msgstr "Bonvolu iri al la gvidlibro por pli da detaloj, kaj ĝisdatigu malaŭtomate."
+msgstr "Bonvole konsultu la gvidlibron por pli da detaloj, kaj ĝisdatigu malaŭtomate."
 
 #: convertrules.py:14
 #, python-format
 msgid "%s has been replaced by %s"
-msgstr "%s estis anstataŭigata per %s"
+msgstr "%s estas anstataŭigita per %s"
 
 #: convertrules.py:24 lilylib.py:136 warn.cc:223
 #, c-format, python-format
@@ -216,11 +216,11 @@ msgstr "identigilaj nomoj: %s"
 
 #: convertrules.py:548
 msgid "point-and-click argument changed to procedure."
-msgstr "argumento 'point-and-click' ŝanĝis al 'procedure'."
+msgstr "argumento 'point-and-click' ŝanĝis al proceduro."
 
 #: convertrules.py:590
 msgid "semicolons removed"
-msgstr "komo-punktoj estis forigataj"
+msgstr "komo-punktoj estas forigitaj"
 
 #. 40 ?
 #: convertrules.py:633
@@ -273,7 +273,7 @@ msgstr "Permuti < > kaj << >>"
 
 #: convertrules.py:1316
 msgid "attempting automatic \\figures conversion.  Check results!"
-msgstr "provado aŭtomate konverti \\figures.  Kontrolu la rezultojn!"
+msgstr "ni provas aŭtomatan konverton de \\figures.  Kontrolu la rezultojn!"
 
 #: convertrules.py:1362
 msgid "Use Scheme code to construct arbitrary note events."
@@ -422,7 +422,7 @@ msgstr "Provu la internan interfacon 'texstrings'"
 #: convertrules.py:2100
 #, python-format
 msgid "Do something like: %s"
-msgstr "Faru ion simila al: %s"
+msgstr "Faru ion similan al: %s"
 
 #: convertrules.py:2103
 msgid "Or save as UTF-8 in your editor"
@@ -867,7 +867,7 @@ msgstr "Procezado de %s.ly"
 #: lilylib.py:194 lilylib.py:255
 #, python-format
 msgid "Invoking `%s'"
-msgstr "Alvokado de '%s'"
+msgstr "Alvoko de '%s'"
 
 #: lilylib.py:196 lilylib.py:257
 #, python-format
@@ -881,7 +881,7 @@ msgstr "Uzado: %s"
 
 #: musicexp.py:224 musicexp.py:229
 msgid "Language does not support microtones contained in the piece"
-msgstr "La lingvo de subtenas la mikrotonojn en la muziko"
+msgstr "La lingvo ne subtenas la mikrotonojn en la muziko"
 
 #: musicexp.py:491
 msgid "Tuplet brackets of curved shape are not correctly implemented"
@@ -934,7 +934,7 @@ msgstr "Ne eblas trovi instrumenton por ID=%s\n"
 #: abc2ly.py:1386 convert-ly.py:84 lilypond-book.py:122 midi2ly.py:1044
 #, python-format
 msgid "%s [OPTION]... FILE"
-msgstr "%s [ELEKTILO]... DOSIERO"
+msgstr "%s [MODIFILO]... DOSIERO"
 
 #: abc2ly.py:1387
 #, python-format
@@ -969,7 +969,7 @@ msgstr "konservi la nocion de vostligoj de ABC"
 
 #: abc2ly.py:1410
 msgid "suppress progress messages"
-msgstr "forigi mesaĝojn pri progreso"
+msgstr "formeti mesaĝojn pri progreso"
 
 #. Translators, please translate this string as
 #. "Report bugs in English via %s",
@@ -979,7 +979,7 @@ msgstr "forigi mesaĝojn pri progreso"
 #: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:249
 #, c-format, python-format
 msgid "Report bugs via %s"
-msgstr "Raportu misojn per %s (angle)"
+msgstr "Raportu program-misojn per %s (angle)"
 
 #: convert-ly.py:46
 msgid ""
@@ -1016,7 +1016,7 @@ msgstr "VERSIO"
 
 #: convert-ly.py:101
 msgid "start from VERSION [default: \\version found in file]"
-msgstr "komenci el VERSIO [apriore: \\version estis trovata en dosiero]"
+msgstr "komenci el VERSIO [aprioras \\version, trovita en la dosiero]"
 
 #: convert-ly.py:104
 msgid "edit in place"
@@ -1024,7 +1024,7 @@ msgstr "redakti surloke"
 
 #: convert-ly.py:108 lilypond-book.py:179 musicxml2ly.py:2627
 msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
-msgstr "Printi protokolajn mesaĝojn laŭ PROTOKOLNIVELO (NONE, ERROR, WARNING, PROGRESS (apriore), DEBUG)"
+msgstr "Montri protokolajn mesaĝojn laŭ PROTOKOLNIVELO (NONE, ERROR, WARNING, PROGRESS (apriore), DEBUG)"
 
 #: convert-ly.py:110 lilypond-book.py:163 lilypond-book.py:181
 #: musicxml2ly.py:2629 main.cc:131
@@ -1042,7 +1042,7 @@ msgstr "perforte ĝisdatigi la numeron de \\version al %s"
 
 #: convert-ly.py:128
 msgid "only update \\version number if file is modified"
-msgstr "nur ĝisdatigi la numeron de \version se la dosiero estas modifita"
+msgstr "nur ĝisdatigi la numeron de \\version se la dosiero estas modifita"
 
 #: convert-ly.py:134
 #, python-format
@@ -1105,7 +1105,7 @@ msgstr[1] "Okazis %d eraroj."
 #: etf2ly.py:1197
 #, python-format
 msgid "%s [OPTION]... ETF-FILE"
-msgstr "%s [ELEKTILO]... ETF-DOSIERO"
+msgstr "%s [MODIFILO]... ETF-DOSIERO"
 
 #: etf2ly.py:1198
 msgid ""
@@ -1139,7 +1139,7 @@ msgstr "FILTRO"
 
 #: lilypond-book.py:130
 msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
-msgstr "dukti kodaĵojn tra FILTRO [apriore: convert-ly -n -]"
+msgstr "dukti kodaĵojn tra FILTRO [apriore: 'convert-ly -n -']"
 
 #: lilypond-book.py:134
 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
@@ -1151,7 +1151,7 @@ msgstr "FORMO"
 
 #: lilypond-book.py:142
 msgid "add DIR to include path"
-msgstr "aldoni UJO al la inkluziva vojo"
+msgstr "aldoni UJOn al la inkluziva vojo"
 
 #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
 #: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:122
@@ -1160,11 +1160,11 @@ msgstr "UJO"
 
 #: lilypond-book.py:148
 msgid "format Texinfo output so that Info will look for images of music in DIR"
-msgstr "strukturigi eligon Texinfo tiel ke Info serĉos bildojn de muziko en UJO"
+msgstr "strukturigi eligon de Texinfo tiel ke Info serĉos bildojn de muziko en UJO"
 
 #: lilypond-book.py:155
 msgid "PAD"
-msgstr "SHOV"
+msgstr "ŜOVO"
 
 #: lilypond-book.py:157
 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
@@ -1180,7 +1180,7 @@ msgstr "skribi dosierojn lily-XXX al UJO, ligi al la dosierujo de --output"
 
 #: lilypond-book.py:173
 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
-msgstr "Ŝargi je la kroma PAKO de python (enhavanta ekz. propran elig-formon)"
+msgstr "Ŝargi je la kroma PAKO de python (enhavanta ekz. personigitan elig-formon)"
 
 #: lilypond-book.py:174
 msgid "PACKAGE"
@@ -1228,7 +1228,7 @@ msgid ""
 "case --pdf option is set instead of pdflatex"
 msgstr ""
 "lanĉi la programon PROG anstataŭ latex, aŭ okaze\n"
-"de elektilo --pdf estos uzata, anstataŭ pdflatex"
+"de modifilo --pdf estos uzata, anstataŭ pdflatex"
 
 #: lilypond-book.py:241 lilypond-book.py:246
 msgid "PROG"
@@ -1325,7 +1325,7 @@ msgstr "eraro: "
 
 #: midi2ly.py:94
 msgid "Exiting... "
-msgstr "Elirado... "
+msgstr "Ni haltas... "
 
 #: midi2ly.py:835
 msgid "found more than 5 voices on a staff, expect bad output"
@@ -1347,11 +1347,11 @@ msgstr "printi absolutajn tonaltojn"
 
 #: midi2ly.py:1052 midi2ly.py:1080
 msgid "DUR"
-msgstr "DUR"
+msgstr "D"
 
 #: midi2ly.py:1053
 msgid "quantise note durations on DUR"
-msgstr "proksimigi noto-daŭroj per DUR"
+msgstr "proksimigi noto-daŭroj per D"
 
 #: midi2ly.py:1056
 msgid "debug printing"
@@ -1379,11 +1379,11 @@ msgstr "antaŭvido de la unuaj 4 mezuroj"
 
 #: midi2ly.py:1078
 msgid "suppress progress messages and warnings about excess voices"
-msgstr "forigi mesaĝojn pri progreso kaj avertojn pri troaj voĉoj"
+msgstr "formeti mesaĝojn pri progreso kaj avertojn pri troaj voĉoj"
 
 #: midi2ly.py:1079
 msgid "quantise note starts on DUR"
-msgstr "proksimigi noto-komencojn je DUR"
+msgstr "proksimigi noto-komencojn je D"
 
 #: midi2ly.py:1083
 msgid "use s instead of r for rests"
@@ -1391,11 +1391,11 @@ msgstr "uzi s anstataŭ r por paŭzoj"
 
 #: midi2ly.py:1085
 msgid "DUR*NUM/DEN"
-msgstr "DUR*NUM/DEN"
+msgstr "D*NUM/DEN"
 
 #: midi2ly.py:1088
 msgid "allow tuplet durations DUR*NUM/DEN"
-msgstr "ebligi opigajn daŭrojn DUR*NUM/DEN"
+msgstr "ebligi opigajn daŭrojn D*NUM/DEN"
 
 #: midi2ly.py:1098
 msgid "treat every text as a lyric"
@@ -1518,7 +1518,7 @@ msgstr "Konvertado al esprimoj de LilyPond..."
 
 #: musicxml2ly.py:2564
 msgid "musicxml2ly [OPTION]... FILE.xml"
-msgstr "musicxml2ly [ELEKTILO]... DOSIERO.xml"
+msgstr "musicxml2ly [MODIFILO]... DOSIERO.xml"
 
 #: musicxml2ly.py:2566
 msgid ""
@@ -1558,11 +1558,11 @@ msgstr "konverti tonaltojn en absoluta reĝimo"
 
 #: musicxml2ly.py:2622
 msgid "LANG"
-msgstr "LINGVO"
+msgstr "LING"
 
 #: musicxml2ly.py:2624
 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
-msgstr "uzi LANG por tonalt-nomoj, ekz. 'deutsch' por not-nomoj en la germana"
+msgstr "uzi LING por tonalt-nomoj, ekz. 'deutsch' por not-nomoj en la germana"
 
 #: musicxml2ly.py:2638
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
@@ -1637,22 +1637,22 @@ msgstr "Pri <a href=\"%s\">aŭtomata elekto de lingvo</a>."
 #: getopt-long.cc:153
 #, c-format
 msgid "option `%s' requires an argument"
-msgstr "la elektilo '%s' postulas argumenton"
+msgstr "la modifilo '%s' postulas argumenton"
 
 #: getopt-long.cc:157
 #, c-format
 msgid "option `%s' does not allow an argument"
-msgstr "la elektilo '%s' ne permesas argumenton"
+msgstr "la modifilo '%s' ne permesas argumenton"
 
 #: getopt-long.cc:161
 #, c-format
 msgid "unrecognized option: `%s'"
-msgstr "nerekonata elektilo: '%s'"
+msgstr "nerekonata modifilo: '%s'"
 
 #: getopt-long.cc:167
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
-msgstr "malvalida argumento '%s' por la elektilo '%s'"
+msgstr "malvalida argumento '%s' por la modifilo '%s'"
 
 #: warn.cc:56
 #, c-format
@@ -2263,7 +2263,7 @@ msgid ""
 "set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
 msgstr ""
-"difini elektilon Scheme SIM al VAL (apriore: *t).\n"
+"difini modifilon Scheme SIM al VAL (apriore: *t).\n"
 "Uzu -dhelp por ricevi helpon."
 
 #: main.cc:110
@@ -2282,7 +2282,7 @@ msgstr "FORMOj"
 
 #: main.cc:113
 msgid "dump FORMAT,...  Also as separate options:"
-msgstr "ŝuti FORMOn,...  Ankaŭ kiel apartaj elektebloj:"
+msgstr "ŝuti FORMOn,...  Ankaŭ kiel apartaj modifiloj:"
 
 #: main.cc:114
 msgid "generate PDF (default)"
@@ -2366,7 +2366,7 @@ msgstr ""
 #: main.cc:233
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
-msgstr "Uzado: %s [ELEKTILO]... DOSIERO..."
+msgstr "Uzado: %s [MODIFILO]... DOSIERO..."
 
 #: main.cc:235
 msgid "Typeset music and/or produce MIDI from FILE."
@@ -2383,7 +2383,7 @@ msgstr "Por pli da informo, vidu %s"
 
 #: main.cc:241
 msgid "Options:"
-msgstr "Elektebloj:"
+msgstr "Modifiloj:"
 
 #: main.cc:295
 #, c-format
@@ -2759,12 +2759,12 @@ msgstr "Tiparo FreeType ne havas tiparnomon PostScript"
 #: paper-book.cc:214
 #, c-format
 msgid "program option -dprint-pages not supported by backend `%s'"
-msgstr "programa elektilo -dprint-pages ne estas subtenata de la intern-interfaco '%s'"
+msgstr "programa modifilo -dprint-pages ne estas subtenata de la intern-interfaco '%s'"
 
 #: paper-book.cc:233
 #, c-format
 msgid "program option -dpreview not supported by backend `%s'"
-msgstr "programa elektilo -dpreview ne estas subtenata de la intern-interfaco '%s'"
+msgstr "programa modifilo -dpreview ne estas subtenata de la intern-interfaco '%s'"
 
 #: paper-column-engraver.cc:261
 msgid "forced break was overridden by some other event, should you be using bar checks?"
@@ -2848,7 +2848,7 @@ msgstr "ne eblas trovi la komencon de piano-pedala krampo: '%s'"
 #: program-option-scheme.cc:235
 #, c-format
 msgid "no such internal option: %s"
-msgstr "neniu tia interna elektilo: %s"
+msgstr "neniu tia interna modifilo: %s"
 
 #: property-iterator.cc:100
 #, c-format
index 88999ff8633a76cff1906469494cfbbe23683ed8..90beab467017de47ed05113a2ecec142b22c0bb9 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.17.10\n"
+"Project-Id-Version: lilypond 2.17.12\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
-"POT-Creation-Date: 2013-01-12 14:13+0000\n"
+"POT-Creation-Date: 2013-02-08 17:02+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -888,12 +888,12 @@ msgid ""
 msgstr ""
 
 #: abc2ly.py:1395 convert-ly.py:91 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:138
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181
 msgid "show version number and exit"
 msgstr ""
 
 #: abc2ly.py:1398 convert-ly.py:95 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:117
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160
 msgid "show this help and exit"
 msgstr ""
 
@@ -918,7 +918,7 @@ msgstr ""
 #. or if there is a LilyPond users list or forum in your language
 #. "Report bugs in English via %s or in YOUR_LANG via URI"
 #: abc2ly.py:1413 convert-ly.py:149 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:249
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315
 #, c-format, python-format
 msgid "Report bugs via %s"
 msgstr ""
@@ -969,7 +969,7 @@ msgid ""
 msgstr ""
 
 #: convert-ly.py:110 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:131
+#: musicxml2ly.py:2629 main.cc:174
 msgid "LOGLEVEL"
 msgstr ""
 
@@ -997,7 +997,7 @@ msgid "convert to VERSION [default: %s]"
 msgstr ""
 
 #: convert-ly.py:144 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:140
+#: main.cc:183
 msgid "show warranty and copyright"
 msgstr ""
 
@@ -1056,7 +1056,7 @@ msgid ""
 msgstr ""
 
 #: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:123 main.cc:135
+#: main.cc:166 main.cc:178
 msgid "FILE"
 msgstr ""
 
@@ -1096,7 +1096,7 @@ msgid "add DIR to include path"
 msgstr ""
 
 #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:122
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165
 msgid "DIR"
 msgstr ""
 
@@ -1682,15 +1682,15 @@ msgstr ""
 msgid "cannot change, already in translator: %s"
 msgstr ""
 
-#: axis-group-engraver.cc:104
+#: axis-group-engraver.cc:147
 msgid "Axis_group_engraver: vertical group already has a parent"
 msgstr ""
 
-#: axis-group-engraver.cc:105
+#: axis-group-engraver.cc:148
 msgid "are there two Axis_group_engravers?"
 msgstr ""
 
-#: axis-group-engraver.cc:106
+#: axis-group-engraver.cc:149
 msgid "removing this vertical group"
 msgstr ""
 
@@ -1802,12 +1802,12 @@ msgstr ""
 msgid "cannot find or create new `%s'"
 msgstr ""
 
-#: context.cc:207
+#: context.cc:228
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
-#: context.cc:406
+#: context.cc:427
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
@@ -2160,7 +2160,7 @@ msgstr ""
 msgid "Lyric syllable does not have note.  Use \\lyricsto or associatedVoice."
 msgstr ""
 
-#: main.cc:70
+#: main.cc:104
 #, c-format
 msgid ""
 "This program is free software.  It is covered by the GNU General Public\n"
@@ -2169,7 +2169,7 @@ msgid ""
 "information.\n"
 msgstr ""
 
-#: main.cc:76
+#: main.cc:110
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License as \n"
@@ -2187,98 +2187,98 @@ msgid ""
 "Boston, MA 02111-1307, USA.\n"
 msgstr ""
 
-#: main.cc:105
+#: main.cc:148
 msgid "SYM[=VAL]"
 msgstr ""
 
-#: main.cc:106
+#: main.cc:149
 msgid ""
 "set Scheme option SYM to VAL (default: #t).\n"
 "Use -dhelp for help."
 msgstr ""
 
-#: main.cc:110
+#: main.cc:153
 msgid "EXPR"
 msgstr ""
 
-#: main.cc:110
+#: main.cc:153
 msgid "evaluate scheme code"
 msgstr ""
 
 #. Bug in option parser: --output =foe is taken as an abbreviation
 #. for --output-format.
-#: main.cc:113
+#: main.cc:156
 msgid "FORMATs"
 msgstr ""
 
-#: main.cc:113
+#: main.cc:156
 msgid "dump FORMAT,...  Also as separate options:"
 msgstr ""
 
-#: main.cc:114
+#: main.cc:157
 msgid "generate PDF (default)"
 msgstr ""
 
-#: main.cc:115
+#: main.cc:158
 msgid "generate PNG"
 msgstr ""
 
-#: main.cc:116
+#: main.cc:159
 msgid "generate PostScript"
 msgstr ""
 
-#: main.cc:119
+#: main.cc:162
 msgid "FIELD"
 msgstr ""
 
-#: main.cc:119
+#: main.cc:162
 msgid ""
 "dump header field FIELD to file\n"
 "named BASENAME.FIELD"
 msgstr ""
 
-#: main.cc:122
+#: main.cc:165
 msgid "add DIR to search path"
 msgstr ""
 
-#: main.cc:123
+#: main.cc:166
 msgid "use FILE as init file"
 msgstr ""
 
-#: main.cc:126
+#: main.cc:169
 msgid "USER, GROUP, JAIL, DIR"
 msgstr ""
 
-#: main.cc:126
+#: main.cc:169
 msgid ""
 "chroot to JAIL, become USER:GROUP\n"
 "and cd into DIR"
 msgstr ""
 
-#: main.cc:131
+#: main.cc:174
 msgid ""
 "print log messages according to LOGLEVEL.  Possible values are:\n"
 "NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
 msgstr ""
 
-#: main.cc:135
+#: main.cc:178
 msgid "write output to FILE (suffix will be added)"
 msgstr ""
 
-#: main.cc:136
+#: main.cc:179
 msgid "relocate using directory of lilypond program"
 msgstr ""
 
-#: main.cc:137
+#: main.cc:180
 msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
 msgstr ""
 
-#: main.cc:139
+#: main.cc:182
 msgid "be verbose (equivalent to loglevel=DEBUG)"
 msgstr ""
 
 #. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:206
+#: main.cc:261
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -2286,74 +2286,74 @@ msgid ""
 msgstr ""
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:233
+#: main.cc:299
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr ""
 
-#: main.cc:235
+#: main.cc:301
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr ""
 
-#: main.cc:237
+#: main.cc:303
 msgid "LilyPond produces beautiful music notation."
 msgstr ""
 
-#: main.cc:239
+#: main.cc:305
 #, c-format
 msgid "For more information, see %s"
 msgstr ""
 
-#: main.cc:241
+#: main.cc:307
 msgid "Options:"
 msgstr ""
 
-#: main.cc:295
+#: main.cc:374
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr ""
 
-#: main.cc:309
+#: main.cc:388
 #, c-format
 msgid "no such user: %s"
 msgstr ""
 
-#: main.cc:311
+#: main.cc:390
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr ""
 
-#: main.cc:326
+#: main.cc:405
 #, c-format
 msgid "no such group: %s"
 msgstr ""
 
-#: main.cc:328
+#: main.cc:407
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr ""
 
-#: main.cc:336
+#: main.cc:415
 #, c-format
 msgid "cannot chroot to: %s: %s"
 msgstr ""
 
-#: main.cc:343
+#: main.cc:422
 #, c-format
 msgid "cannot change group id to: %d: %s"
 msgstr ""
 
-#: main.cc:349
+#: main.cc:428
 #, c-format
 msgid "cannot change user id to: %d: %s"
 msgstr ""
 
-#: main.cc:355
+#: main.cc:434
 #, c-format
 msgid "cannot change working directory to: %s: %s"
 msgstr ""
 
-#: main.cc:601
+#: main.cc:805
 #, c-format
 msgid "exception caught: %s"
 msgstr ""
@@ -3218,76 +3218,76 @@ msgstr ""
 msgid "Skipping UTF-8 BOM"
 msgstr ""
 
-#: lexer.ll:271
+#: lexer.ll:265
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr ""
 
-#: lexer.ll:288
+#: lexer.ll:282
 msgid "quoted string expected after \\version"
 msgstr ""
 
-#: lexer.ll:292
+#: lexer.ll:286
 msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
-#: lexer.ll:296
+#: lexer.ll:290
 msgid "integer expected after \\sourcefileline"
 msgstr ""
 
-#: lexer.ll:323
+#: lexer.ll:317
 msgid "\\maininput not allowed outside init files"
 msgstr ""
 
-#: lexer.ll:347
+#: lexer.ll:341
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr ""
 
-#: lexer.ll:373
+#: lexer.ll:367
 msgid "string expected after \\include"
 msgstr ""
 
-#: lexer.ll:383
+#: lexer.ll:377
 msgid "end quote missing"
 msgstr ""
 
-#: lexer.ll:695
+#: lexer.ll:689
 msgid "EOF found inside a comment"
 msgstr ""
 
-#: lexer.ll:700
+#: lexer.ll:694
 msgid "EOF found inside string"
 msgstr ""
 
-#: lexer.ll:715
+#: lexer.ll:709
 msgid "Unfinished main input"
 msgstr ""
 
-#: lexer.ll:815
+#: lexer.ll:809
 #, c-format
 msgid "invalid character: `%s'"
 msgstr ""
 
-#: lexer.ll:937
+#: lexer.ll:931
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:1220
+#: lexer.ll:1214
 msgid "non-UTF-8 input"
 msgstr ""
 
-#: lexer.ll:1264
+#: lexer.ll:1258
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
-#: lexer.ll:1265
+#: lexer.ll:1259
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
-#: lexer.ll:1271
+#: lexer.ll:1265
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
@@ -3533,37 +3533,37 @@ msgstr ""
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr ""
 
-#: lily-library.scm:304
+#: lily-library.scm:340
 msgid "Music unsuitable for context-mod"
 msgstr ""
 
-#: lily-library.scm:359
+#: lily-library.scm:395
 #, scheme-format
 msgid "Cannot find context-def \\~a"
 msgstr ""
 
-#: lily-library.scm:375
+#: lily-library.scm:411
 msgid "Music unsuitable for output-def"
 msgstr ""
 
-#: lily-library.scm:891
+#: lily-library.scm:927
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
-#: lily-library.scm:965
+#: lily-library.scm:1001
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:990
+#: lily-library.scm:1026
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 
-#: lily-library.scm:996
+#: lily-library.scm:1032
 msgid "old relative compatibility not used"
 msgstr ""
 
@@ -3696,25 +3696,25 @@ msgstr ""
 msgid "music expected: ~S"
 msgstr ""
 
-#: music-functions.scm:1118
+#: music-functions.scm:1138
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:1256
+#: music-functions.scm:1276
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
-#: music-functions.scm:1316
+#: music-functions.scm:1336
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
-#: music-functions.scm:1317
+#: music-functions.scm:1337
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
-#: music-functions.scm:1662
+#: music-functions.scm:1682
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
@@ -3797,40 +3797,40 @@ msgstr ""
 msgid "assertion failed: ~S"
 msgstr ""
 
-#: translation-functions.scm:375
+#: translation-functions.scm:374
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:378
+#: translation-functions.scm:377
 #, scheme-format
 msgid "Missing fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:421
+#: translation-functions.scm:420
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:436 translation-functions.scm:448
+#: translation-functions.scm:435 translation-functions.scm:447
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:439
+#: translation-functions.scm:438
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
-#: translation-functions.scm:451
+#: translation-functions.scm:450
 msgid "Ignoring note in tablature."
 msgstr ""
 
-#: translation-functions.scm:474
+#: translation-functions.scm:473
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
-#: translation-functions.scm:579
+#: translation-functions.scm:578
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
index da8b20fc9411c571e0a283305ba3cd2ab6b5ae07..a1c8d507a648a7d31df0e0e150a0badb7449ace2 100644 (file)
@@ -3481,6 +3481,45 @@ def conv (str):
                   path_replace, str)
     return str
 
+@rule ((2, 17, 11), r"""\times -> \tuplet, \set tupletSpannerDuration -> \tupletSpan
+(ly:make-moment 1 4) -> (ly:make-moment 1/4)
+(ly:make-duration 0 0 1 2) -> (ly:make-duration 0 0 1/2)""")
+def conv(str):
+    def sub_dur (m):
+        num = int (m.group (1))
+        den = int (m.group (2))
+
+# if den is no power of 2, don't even try to use an unscaled duration
+        if (den & (den - 1)) != 0 :
+            return (r"\tupletSpan 1*%d/%d" % (num, den))
+
+        if den >= 4 and num == 7 :
+            return (r"\tupletSpan %d.." % (den/4))
+
+        if den >= 2 and num == 3 :
+            return (r"\tupletSpan %d." % (den/2))
+
+        if num == 1 :
+            return (r"\tupletSpan %d" % den)
+
+        return (r"\tupletSpan 1*%d/%d" % (num, den))
+
+    str = re.sub (r"\\set\s+tupletSpannerDuration\s*=\s*" +
+                  r"#\(ly:make-moment\s+([0-9]+)\s+([0-9]+)\s*\)",
+                  sub_dur, str)
+    str = re.sub (r"\\unset tupletSpannerDuration",
+                  r"\\tupletSpan \\default", str)
+    str = re.sub (r"\\times(\s*)([0-9]+)/([0-9]+)",
+                  r"\\tuplet\1\3/\2", str)
+
+    str = re.sub (r"(\(ly:make-moment\s+-?[0-9]+)\s+([1-9][0-9]*\))",
+                  r"\1/\2", str)
+    str = re.sub (r"(\(ly:make-moment\s+-?[0-9]+)\s+([0-9]+\s+-?[0-9]+)\s([0-9]+\))",
+                  r"\1/\2/\3", str)
+    str = re.sub (r"(\(ly:make-duration\s+-?[0-9]+\s+[0-9]+\s+[0-9]+)\s+([0-9]+\))",
+                  r"\1/\2", str)
+    return str
+
 # Guidelines to write rules (please keep this at the end of this file)
 #
 # - keep at most one rule per version; if several conversions should be done,
index 3cc956ee1c85a2e67c42170f7c6d6abf9d3e0163..8ac123e11e9f9d7bedfef87a7c3e2ed835e7c260 100644 (file)
@@ -327,34 +327,28 @@ is not used within the routine."
                                            line-pos) <))
                                (gap-to-find (/ (+ dot-y-length line-thickness)
                                                (/ staff-space 2)))
-                               (first (car folded-staff))
-                               (found #f))
+                               (first (car folded-staff)))
 
                           ;; find the first space big enough
                           ;; to hold a dot and a staff line
                           ;; (a space in the folded staff may be
                           ;; narrower but can't be wider than the
                           ;; corresponding original spaces)
-                          (reduce (lambda (x y) (if (and (> (- x y) gap-to-find)
-                                                         (not found))
-                                                    (begin
-                                                      (set! found #t)
-                                                      (set! dist (+ x y))))
-                                          x)
-                                  ""
-                                  folded-staff)
-
-                          (if (not found)
-                              (set! dist (if (< gap-to-find first)
-                                             ;; there's a central space big
-                                             ;; enough to hold both dots
-                                             first
-
-                                             ;; dots should go outside
-                                             (+ (* 2 (car
-                                                      (reverse folded-staff)))
-                                                (/ (* 4 dot-y-length)
-                                                   staff-space))))))))))))
+                          (set! dist
+                                (or
+                                 (any (lambda (x y)
+                                        (and (> (- y x) gap-to-find)
+                                             (+ x y)))
+                                      folded-staff (cdr folded-staff))
+                                 (if (< gap-to-find first)
+                                     ;; there's a central space big
+                                     ;; enough to hold both dots
+                                     first
+
+                                     ;; dots should go outside
+                                     (+ (* 2 (last folded-staff))
+                                        (/ (* 4 dot-y-length)
+                                           staff-space))))))))))))
         (set! staff-space 1.0))
 
     (let* ((stencil empty-stencil)
index 8d1df2aed7487b22c742780e4f73c0c12833fbd2..f0c5d3aea9f546980949318d6498d1dcef483ba8 100644 (file)
@@ -62,6 +62,9 @@
 (define-public (number-or-string? x)
   (or (number? x) (string? x)))
 
+(define-public (number-or-markup? x)
+  (or (number? x) (markup? x)))
+
 (define-public (string-or-pair? x)
   (or (string? x) (pair? x)))
 
index 69381836a751107318fd4a457f523958fafa9dc6..b90d7c4ed5a95da6091ea81b551a2e8c0779043e 100644 (file)
@@ -284,8 +284,7 @@ work than classifying the pitches."
                  (= 7 (pitch-step main-name))
                  (is-natural-alteration? main-name)
                  (pair? (remove-uptil-step 7 alterations))
-                 (reduce (lambda (x y) (and x y)) #t
-                         (map is-natural-alteration? alterations)))
+                 (every is-natural-alteration? alterations))
                 (begin
                   (set! main-name (last alterations))
                   (set! alterations '())))
index 1aaf582cd724d352a87a6e8ace5210bec26992b3..e9239fc65f8da1f07428c275270cbb99cd607edb 100644 (file)
@@ -44,6 +44,9 @@
 
      ;; TODO FIXME
 
+     (accidentalGrouping ,symbol? "If set to @code{'voice}, accidentals
+on the same note in different octaves may be horizontally staggered
+if in different voices.")
      (aDueText ,markup? "Text to print at a unisono passage.")
      (additionalPitchPrefix ,string? "Text with which to prefix
 additional pitches within a chord name.")
@@ -635,7 +638,6 @@ proceeding to next time step.  This is an internal variable.")
      (graceSettings ,list? "Overrides for grace notes.  This property
 should be manipulated through the @code{add-grace-property} function.")
 
-
      (hasStaffSpacing ,boolean? "True if the current
 @code{CommandColumn} contains items that will affect spacing.")
 
index 09dfbf79a34b39898a30e7b413166aea0f15d078..c8ecbcf22709dd6a6750315d1d9f8e033ad0c570 100644 (file)
     (list 'unquote `(ly:make-moment
                     ,(ly:moment-main-numerator e)
                     ,(ly:moment-main-denominator e)
-                    . ,(if (eq? 0 (ly:moment-grace-numerator e))
+                    . ,(if (zero? (ly:moment-grace-numerator e))
                            '()
                            (list (ly:moment-grace-numerator e)
                                  (ly:moment-grace-denominator e))))))
index 47db681b6a92a0699ec34f7cba7dc8949b05291c..cc4a9c76e935f7ba965f2904aedcfce460856724 100644 (file)
         (outside-staff-padding . 0.5)
         (outside-staff-priority . 750)
         (self-alignment-X . ,CENTER)
+       (side-axis . ,Y)
         (staff-padding . 0.5)
         (stencil . ,measure-counter-stencil)
         (meta . ((class . Spanner)
                  (interfaces . (font-interface
                                 measure-counter-interface
                                 self-alignment-interface
+                               side-position-interface
                                 text-interface))))))
 
     (MeasureGrouping
index f4cf31dd3b647910eb84aed42a2ecc0e68bde82a..92b4b704eb08d1778ba2b5794016799408d5a3da 100755 (executable)
@@ -898,7 +898,7 @@ samplePath =
         (new-commands (map (lambda (x)
                              (cond
                                ;; for rmoveto, rlineto
-                               ((and (relative? x) (eq? 3 (length x)))
+                               ((and (relative? x) (= 3 (length x)))
                                 (let ((cp (cons
                                             (+ (car current-point)
                                                (second x))
@@ -908,7 +908,7 @@ samplePath =
                                   (list (car cp)
                                         (cdr cp))))
                                ;; for rcurveto
-                               ((and (relative? x) (eq? 7 (length x)))
+                               ((and (relative? x) (= 7 (length x)))
                                 (let* ((old-cp current-point)
                                        (cp (cons
                                              (+ (car old-cp)
@@ -923,12 +923,12 @@ samplePath =
                                         (car cp)
                                         (cdr cp))))
                                ;; for moveto, lineto
-                               ((eq? 3 (length x))
+                               ((= 3 (length x))
                                 (set-point (cons (second x)
                                                  (third x)))
                                 (drop x 1))
                                ;; for curveto
-                               ((eq? 7 (length x))
+                               ((= 7 (length x))
                                 (set-point (cons (sixth x)
                                                  (seventh x)))
                                 (drop x 1))
@@ -3204,12 +3204,16 @@ A feta brace in point size @var{size}, rotated 180 degrees.
   (number? number? number?)
   #:category music
   #:properties ((font-size 0)
-               (style '()))
+                (flag-style '())
+                (style '()))
   "
 @cindex notes within text by log and dot-count
 
-Construct a note symbol, with stem.  By using fractional values for
+Construct a note symbol, with stem and flag.  By using fractional values for
 @var{dir}, longer or shorter stems can be obtained.
+Supports all note-head-styles.
+Supported flag-styles are @code{default}, @code{old-straight-flag} and
+@code{modern-straight-flag}.
 
 @lilypond[verbatim,quote]
 \\markup {
@@ -3220,56 +3224,120 @@ Construct a note symbol, with stem.  By using fractional values for
 @end lilypond"
   (define (get-glyph-name-candidates dir log style)
     (map (lambda (dir-name)
-          (format #f "noteheads.~a~a" dir-name
-                  (if (and (symbol? style)
-                           (not (equal? 'default style)))
-                      (select-head-glyph style (min log 2))
-                      (min log 2))))
-        (list (if (= dir UP) "u" "d")
-              "s")))
+                   (format #f "noteheads.~a~a" dir-name
+                                   (if (and (symbol? style)
+                                            (not (equal? 'default style)))
+                                       (select-head-glyph style (min log 2))
+                                       (min log 2))))
+                 (list (if (= dir UP) "u" "d")
+                       "s")))
 
   (define (get-glyph-name font cands)
     (if (null? cands)
-       ""
-       (if (ly:stencil-empty? (ly:font-get-glyph font (car cands)))
-           (get-glyph-name font (cdr cands))
-           (car cands))))
+                ""
+                (if (ly:stencil-empty? (ly:font-get-glyph font (car cands)))
+                    (get-glyph-name font (cdr cands))
+                    (car cands))))
+
+  (define (buildflags flag-stencil remain curr-stencil spacing)
+     ;; Function to recursively create a stencil with @code{remain} flags
+     ;; from the single-flag stencil @code{curr-stencil}, which is already
+     ;; translated to the position of the previous flag position.
+     ;;
+     ;; Copy and paste from /scm/flag-styles.scm
+    (if (> remain 0)
+        (let* ((translated-stencil
+                 (ly:stencil-translate-axis curr-stencil spacing Y))
+               (new-stencil (ly:stencil-add flag-stencil translated-stencil)))
+          (buildflags new-stencil (- remain 1) translated-stencil spacing))
+        flag-stencil))
+
+  (define (straight-flag-mrkp flag-thickness flag-spacing
+                                upflag-angle upflag-length
+                                downflag-angle downflag-length
+                                dir)
+  ;; Create a stencil for a straight flag.  @var{flag-thickness} and
+  ;; @var{flag-spacing} are given in staff spaces, @var{upflag-angle} and
+  ;; @var{downflag-angle} are given in degrees, and @var{upflag-length} and
+  ;; @var{downflag-length} are given in staff spaces.
+  ;;
+  ;; All lengths are scaled according to the font size of the note.
+  ;;
+  ;; From /scm/flag-styles.scm, modified to fit here.
+
+      (let* ((stem-up (> dir 0))
+             ; scale with the note size
+             (factor (magstep font-size))
+             (stem-thickness (* factor 0.1))
+             (line-thickness (ly:output-def-lookup layout 'line-thickness))
+             (half-stem-thickness (/ (* stem-thickness line-thickness) 2))
+             (raw-length (if stem-up upflag-length downflag-length))
+             (angle (if stem-up upflag-angle downflag-angle))
+             (flag-length (+ (* raw-length factor) half-stem-thickness))
+             (flag-end (polar->rectangular flag-length angle))
+             (thickness (* flag-thickness factor))
+             (thickness-offset (cons 0 (* -1 thickness dir)))
+             (spacing (* -1 flag-spacing factor dir))
+             (start (cons (- half-stem-thickness) (* half-stem-thickness dir)))
+             ; The points of a round-filled-polygon need to be given in
+             ; clockwise order, otherwise the polygon will be enlarged by
+             ; blot-size*2!
+             (points (if stem-up (list start flag-end
+                                       (offset-add flag-end thickness-offset)
+                                       (offset-add start thickness-offset))
+                                 (list start
+                                       (offset-add start thickness-offset)
+                                       (offset-add flag-end thickness-offset)
+                                       flag-end)))
+             (stencil (ly:round-filled-polygon points half-stem-thickness))
+             ; Log for 1/8 is 3, so we need to subtract 3
+             (flag-stencil (buildflags stencil (- log 3) stencil spacing)))
+        flag-stencil))
 
   (let* ((font (ly:paper-get-font layout (cons '((font-encoding . fetaMusic))
-                                              props)))
-        (size-factor (magstep font-size))
-         (stem-length (* size-factor (max 3 (- log 1))))
+                                                 props)))
+         (size-factor (magstep font-size))
+         (blot (ly:output-def-lookup layout 'blot-diameter))
          (head-glyph-name
-         (let ((result (get-glyph-name font (get-glyph-name-candidates
-                                             (sign dir) log style))))
-           (if (string-null? result)
-               ;; If no glyph name can be found, select default heads.  Though
-               ;; this usually means an unsupported style has been chosen, it
-               ;; also prevents unrelated 'style settings from other grobs
-               ;; (e.g., TextSpanner and TimeSignature) leaking into markup.
-               (get-glyph-name font (get-glyph-name-candidates
-                                     (sign dir) log 'default))
-               result)))
+           (let ((result (get-glyph-name font
+                           (get-glyph-name-candidates
+                             (sign dir) log style))))
+             (if (string-null? result)
+                 ;; If no glyph name can be found, select default heads.
+                 ;; Though this usually means an unsupported style has been
+                 ;; chosen, it also prevents unrelated 'style settings from
+                 ;; other grobs (e.g., TextSpanner and TimeSignature) leaking
+                 ;; into markup.
+                 (get-glyph-name font
+                   (get-glyph-name-candidates
+                     (sign dir) log 'default))
+                 result)))
          (head-glyph (ly:font-get-glyph font head-glyph-name))
-        (attach-indices (ly:note-head::stem-attachment font head-glyph-name))
-         (stem-thickness (* size-factor 0.13))
+         (ancient-flags? (or (eq? style 'mensural) (eq? style 'neomensural)))
+         (attach-indices (ly:note-head::stem-attachment font head-glyph-name))
+         (stem-length (* size-factor (max 3 (- log 1))))
+         ;; With ancient-flags we want a tighter stem
+         (stem-thickness (* size-factor (if ancient-flags? 0.1 0.13)))
          (stemy (* dir stem-length))
          (attach-off (cons (interval-index
-                           (ly:stencil-extent head-glyph X)
-                           (* (sign dir) (car attach-indices)))
-                          (* (sign dir) ; fixme, this is inconsistent between X & Y.
-                             (interval-index
-                              (ly:stencil-extent head-glyph Y)
-                              (cdr attach-indices)))))
+                             (ly:stencil-extent head-glyph X)
+                             (* (sign dir) (car attach-indices)))
+                           ; fixme, this is inconsistent between X & Y.
+                           (* (sign dir)
+                              (interval-index
+                               (ly:stencil-extent head-glyph Y)
+                               (cdr attach-indices)))))
+         ;; For a tighter stem (with ancient-flags) the stem-width has to be
+         ;; adjusted.
+         (stem-X-corr (if ancient-flags? (* 0.5 dir stem-thickness) 0))
          (stem-glyph (and (> log 0)
-                         (ly:round-filled-box
-                          (ordered-cons (car attach-off)
-                                        (+ (car attach-off)
-                                           (* (- (sign dir)) stem-thickness)))
-                          (cons (min stemy (cdr attach-off))
-                                (max stemy (cdr attach-off)))
-                          (/ stem-thickness 3))))
-
+                          (ly:round-filled-box
+                            (ordered-cons (+ stem-X-corr (car attach-off))
+                                  (+ stem-X-corr (car attach-off)
+                                     (* (- (sign dir)) stem-thickness)))
+                            (cons (min stemy (cdr attach-off))
+                                  (max stemy (cdr attach-off)))
+                            (/ stem-thickness 3))))
          (dot (ly:font-get-glyph font "dots.dot"))
          (dotwid (interval-length (ly:stencil-extent dot X)))
          (dots (and (> dot-count 0)
@@ -3278,22 +3346,45 @@ Construct a note symbol, with stem.  By using fractional values for
                                   (ly:stencil-translate-axis
                                    dot (* 2 x dotwid) X))
                                 (iota dot-count)))))
+         ;; Straight-flags. Values taken from /scm/flag-style.scm
+         (modern-straight-flag (straight-flag-mrkp 0.55 1 -18 1.1 22 1.2 dir))
+         (old-straight-flag (straight-flag-mrkp 0.55 1 -45 1.2 45 1.4 dir))
+         ;; Calculate a corrective to avoid a gap between
+         ;; straight-flags and the stem.
+         (flag-style-Y-corr (if (or (eq? flag-style 'modern-straight-flag)
+                                    (eq? flag-style 'old-straight-flag))
+                                (/ blot 10 (* -1 dir))
+                                0))
          (flaggl (and (> log 2)
                       (ly:stencil-translate
-                       (ly:font-get-glyph font
-                                         (string-append "flags."
-                                                        (if (> dir 0) "u" "d")
-                                                        (number->string log)))
-                       (cons (+ (car attach-off) (if (< dir 0)
-                                                    stem-thickness 0))
-                            stemy)))))
+                        (cond ((eq? flag-style 'modern-straight-flag)
+                               modern-straight-flag)
+                              ((eq? flag-style 'old-straight-flag)
+                               old-straight-flag)
+                              (else
+                               (ly:font-get-glyph font
+                                 (format #f (if ancient-flags?
+                                                "flags.mensural~a2~a"
+                                                "flags.~a~a")
+                                            (if (> dir 0) "u" "d")
+                                            log))))
+                        (cons (+ (car attach-off)
+                                 ;; For tighter stems (with ancient-flags) the
+                                 ;; flag has to be adjusted different.
+                                 (if (and (not ancient-flags?) (< dir 0))
+                                     stem-thickness
+                                     0))
+                              (+ stemy flag-style-Y-corr))))))
 
     ;; If there is a flag on an upstem and the stem is short, move the dots
     ;; to avoid the flag.  16th notes get a special case because their flags
     ;; hang lower than any other flags.
+    ;; Not with ancient flags or straight-flags.
     (if (and dots (> dir 0) (> log 2)
-            (or (< dir 1.15) (and (= log 4) (< dir 1.3))))
-       (set! dots (ly:stencil-translate-axis dots 0.5 X)))
+                     (or (eq? flag-style 'default) (null? flag-style))
+                     (not ancient-flags?)
+                     (or (< dir 1.15) (and (= log 4) (< dir 1.3))))
+                (set! dots (ly:stencil-translate-axis dots 0.5 X)))
     (if flaggl
         (set! stem-glyph (ly:stencil-add flaggl stem-glyph)))
     (if (ly:stencil? stem-glyph)
@@ -3302,11 +3393,11 @@ Construct a note symbol, with stem.  By using fractional values for
     (if (ly:stencil? dots)
         (set! stem-glyph
               (ly:stencil-add
-               (ly:stencil-translate-axis
-               dots
-               (+ (cdr (ly:stencil-extent head-glyph X)) dotwid)
-               X)
-               stem-glyph)))
+                (ly:stencil-translate-axis
+                  dots
+                  (+ (cdr (ly:stencil-extent head-glyph X)) dotwid)
+                  X)
+                stem-glyph)))
     stem-glyph))
 
 (define-public log2
@@ -3317,7 +3408,7 @@ Construct a note symbol, with stem.  By using fractional values for
   "Parse the `duration-string', e.g. ''4..'' or ''breve.'',
 and return a (log dots) list."
   (let ((match (regexp-exec (make-regexp "(breve|longa|maxima|[0-9]+)(\\.*)")
-                           duration-string)))
+                            duration-string)))
     (if (and match (string=? duration-string (match:substring match 0)))
         (let ((len (match:substring match 1))
               (dots (match:substring match 2)))
index de442ba6d643ff9832f6c879b2eb81b0030169ed..723ed130ec49b00912fe045a00d6006e65d8856a 100644 (file)
@@ -92,11 +92,11 @@ to be used by the sequential-iterator"
                 (lambda (context)
                   (let* ((time-signature-settings
                           (ly:context-property context 'timeSignatureSettings))
-                         (my-base-fraction
-                           (base-fraction fraction time-signature-settings))
+                         (my-base-length
+                           (base-length fraction time-signature-settings))
                          (my-beat-structure
                            (if (null? structure)
-                               (beat-structure my-base-fraction
+                               (beat-structure my-base-length
                                                fraction
                                                time-signature-settings)
                                structure))
@@ -106,7 +106,7 @@ to be used by the sequential-iterator"
                      (ly:context-set-property!
                        context 'timeSignatureFraction fraction)
                      (ly:context-set-property!
-                       context 'baseMoment (fraction->moment my-base-fraction))
+                       context 'baseMoment (ly:make-moment my-base-length))
                      (ly:context-set-property!
                        context 'beatStructure my-beat-structure)
                      (ly:context-set-property!
index e5d511675e2a011432890263dee456e9f2673ffb..dc10fa265f04592b1e8b9953633738073bb685ef 100644 (file)
@@ -661,6 +661,10 @@ Otherwise, return #f."
 (define-display-method TimeScaledMusic (times parser)
   (let* ((num (ly:music-property times 'numerator))
         (den (ly:music-property times 'denominator))
+         (span (ly:music-property times 'duration #f))
+         ;; need to format before changing time scale
+         (formatted-span
+          (and span (duration->lily-string span #:force-duration #t)))
         (scale (/ num den))
         (dur (*previous-duration*))
         (time-scale (*time-scale*)))
@@ -672,9 +676,10 @@ Otherwise, return #f."
                                      (* (ly:duration-scale dur)
                                         scale)))
                   (*time-scale* (* time-scale scale)))
-      (format #f "\\times ~a/~a ~a"
-             num
+      (format #f "\\tuplet ~a/~a ~@[~a ~]~a"
              den
+             num
+              formatted-span
              (music->lily-string (ly:music-property times 'element) parser)))))
 
 (define-display-method RelativeOctaveMusic (m parser)
index 42aa0e023812dd51c30ec6e0342216dab33594a4..dbad0cf0923abadc86445777fe273775b3a5d68d 100644 (file)
@@ -133,8 +133,6 @@ For chord inversions, this is negative.")
      (ops ,scheme? "The operations to apply during the creation of a
 context.")
      (origin ,ly:input-location? "Where was this piece of music defined?")
-     (original-chord ,ly:music? "Original chord of a repeated chord.
-Used by repeated chords in \\relative mode, to determine the first note octave")
      (ottava-number ,integer? "The octavation for @code{\\ottava}.")
 
      (page-break-permission ,symbol? "When the music is at top-level,
index dc93024041d961a8918d8c4ed0a79377fee3eed2..e7d121b411c210be1685e4b5e8362429ed7217e1 100644 (file)
@@ -376,6 +376,7 @@ Syntax: @code{\\override} [ @var{context} @code{.} ]
        (types . (general-music layout-instruction-event
                  override-property-event))
        (iterator-ctor . ,ly:push-property-iterator::constructor)
+       (untransposable . #t)
        ))
 
     (PageBreakEvent
@@ -442,6 +443,7 @@ Syntax: @var{note}@code{\\(} and @var{note}@code{\\)}")
 Syntax: @code{\\set @var{context}.@var{prop} = @var{scheme-val}}")
        (types . (layout-instruction-event general-music))
        (iterator-ctor . ,ly:property-iterator::constructor)
+       (untransposable . #t)
        ))
 
     (PropertyUnset
index f60ba5a43b10a26ae4a9833492fe5e88c9ae83bd..d2da0dda0b5f635dcc715a299365e1357eb9544e 100644 (file)
@@ -76,30 +76,17 @@ returns @samp{1/3}."
   "Returns true if x is the square of a value in input-list."
   (pair? (memv (inexact->exact (sqrt x)) input-list)))
 
-(define (satisfies-function? function input-list)
-  "Returns true if an element in @code{input-list} is true
-   when @code{function} is applied to it.
-   For example:
-   @code{guile> (satisfies-function? null? '((1 2) ()))}
-   @code{#t}
-   @code{guile> (satisfies-function? null? '((1 2) (3)))}
-   @code{#f}"
-  (if (null?  input-list)
-    #f
-    (or (function (car input-list))
-      (satisfies-function? function (cdr input-list)))))
-
 (define (true-entry? input-list)
   "Is there a true entry in @code{input-list}?"
-  (satisfies-function? identity input-list))
+  (any identity input-list))
 
 (define (entry-greater-than-x? input-list x)
   "Is there an entry greater than @code{x} in @code{input-list}?"
-  (satisfies-function? (lambda (y) (> y x)) input-list))
+  (any (lambda (y) (> y x)) input-list))
 
 (define (n-true-entries input-list)
   "Returns number of true entries in @code{input-list}."
-  (reduce + 0 (map (lambda (x) (if x 1 0)) input-list)))
+  (count identity input-list))
 
 (define (bezier-head-for-stencil bezier cut-point)
   "Prepares a split-bezier to be used in a connected path stencil."
index ecf5a4598fe6ee66c3347c9ba5613731989aaddb..5b39cc46ffdfc91255c64951a461bd974ecbf2e2 100644 (file)
@@ -541,19 +541,12 @@ For example:
   (helper lst (make-vector n '()) (1- n)))
 
 (define (list-element-index lst x)
-  (list-index (lambda (m) (equal? m x))))
+  (list-index (lambda (m) (equal? m x)) lst))
 
 (define-public (count-list lst)
   "Given @var{lst} as @code{(E1 E2 .. )}, return
 @code{((E1 . 1) (E2 . 2) ... )}."
-
-  (define (helper l acc count)
-    (if (pair? l)
-       (helper (cdr l) (cons (cons (car l) count) acc) (1+ count))
-       acc))
-
-
-  (reverse (helper lst '() 1)))
+  (map cons lst (iota (length lst) 1)))
 
 (define-public (list-join lst intermediate)
   "Put @var{intermediate} between all elts of @var{lst}."
index 4905e0687b6977e1284728d4fa0eae561e16a510..e5e8cd93d67d871ef2be83499d2b572db9a5bee3 100644 (file)
@@ -575,6 +575,7 @@ messages into errors.")
     (,moment-pair? . "pair of moment objects")
     (,number-list? . "number list")
     (,number-or-grob? . "number or grob")
+    (,number-or-markup? . "number or markup")
     (,number-or-pair? . "number or pair")
     (,number-or-string? . "number or string")
     (,number-pair? . "pair of numbers")
index 9cbec5fc4f55f61c6b28f17e558109da84e0a4b4..4cbf9a67aa9a5b0e6775d415a3db36f8cadeaf29 100644 (file)
 into a @code{MultiMeasureTextEvent}."
 
   (if (memq 'script-event (ly:music-property music 'types))
-      (let* ((location (ly:music-property music 'origin))
-            (dir (ly:music-property music 'direction))
-            (tags (ly:music-property music 'tags))
-            (p (make-music 'MultiMeasureTextEvent
-                           'origin location
-                           'tags tags
-                           'text (ly:music-property music 'text))))
-       (if (ly:dir? dir)
-           (set! (ly:music-property p 'direction) dir))
-       p)
+      (apply make-music 'MultiMeasureTextEvent
+            (flatten-alist (ly:music-mutable-properties music)))
       music))
 
 (define-ly-syntax (multi-measure-rest parser location duration articulations)
index 42102a1ee80226f4164c9ceb48a31a2a081bf069..bb5bb9ab88e5aa8b27f5486acd34407711b5211a 100644 (file)
@@ -806,7 +806,7 @@ NUMBER is 0-base, i.e., Voice=1 (upstems) has number 0.
     (if (ly:music? e)
        (set! (ly:music-property m 'element)  (voicify-music e)))
     (if (and (equal? (ly:music-property m 'name) 'SimultaneousMusic)
-            (reduce (lambda (x y ) (or x y)) #f (map music-separator? es)))
+            (any music-separator? es))
        (set! m (context-spec-music (voicify-chord m) 'Staff)))
     m))
 
@@ -843,17 +843,37 @@ NUMBER is 0-base, i.e., Voice=1 (upstems) has number 0.
 (define-public (music-has-type music type)
   (memq type (ly:music-property music 'types)))
 
-(define-public (music-clone music)
-  (define (alist->args alist acc)
-    (if (null? alist)
-       acc
-       (alist->args (cdr alist)
-                    (cons (caar alist) (cons (cdar alist) acc)))))
-
-  (apply
-   make-music
-   (ly:music-property music 'name)
-   (alist->args (ly:music-mutable-properties music) '())))
+(define-public (music-clone music . music-properties)
+  "Clone @var{music} and set properties according to
+@var{music-properties}, a list of alternating property symbols and
+values:
+@example\n(music-clone start-span 'span-direction STOP)
+@end example
+Only properties that are not overriden by @var{music-properties} are
+actually fully cloned."
+  (let ((old-props (list-copy (ly:music-mutable-properties music)))
+        (new-props '())
+        (m (ly:make-music (ly:prob-immutable-properties music))))
+    (define (set-props mus-props)
+      (if (and (not (null? mus-props))
+               (not (null? (cdr mus-props))))
+          (begin
+            (set! old-props (assq-remove! old-props (car mus-props)))
+            (set! new-props
+                  (assq-set! new-props
+                             (car mus-props) (cadr mus-props)))
+            (set-props (cddr mus-props)))))
+    (set-props music-properties)
+    (for-each
+     (lambda (pair)
+       (set! (ly:music-property m (car pair))
+             (ly:music-deep-copy (cdr pair))))
+     old-props)
+    (for-each
+     (lambda (pair)
+       (set! (ly:music-property m (car pair)) (cdr pair)))
+     new-props)
+    m))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; warn for bare chords at start.
@@ -1849,6 +1869,40 @@ yourself."
   (map (lambda (x) (ly:music-property x 'pitch))
        (event-chord-notes event-chord)))
 
+(defmacro-public make-relative (pitches last-pitch music)
+  "The list of pitch-carrying variables in @var{pitches} is used as a
+sequence for creating relativable music from @var{music}.
+The variables in @var{pitches} are, when considered inside of
+@code{\\relative}, all considered to be specifications to the preceding
+variable.  The first variable is relative to the preceding musical
+context, and @var{last-pitch} specifies the pitch passed as relative
+base onto the following musical context."
+
+  ;; pitch and music generator might be stored instead in music
+  ;; properties, and it might make sense to create a music type of its
+  ;; own for this kind of construct rather than using
+  ;; RelativeOctaveMusic
+  (define ((make-relative::to-relative-callback pitches p->m p->p) music pitch)
+    (let* ((chord (make-event-chord
+                   (map
+                    (lambda (p)
+                      (make-music 'NoteEvent
+                                  'pitch p))
+                    pitches)))
+           (pitchout (begin
+                       (ly:make-music-relative! chord pitch)
+                       (event-chord-pitches chord))))
+      (set! (ly:music-property music 'element)
+            (apply p->m pitchout))
+      (apply p->p pitchout)))
+  `(make-music 'RelativeOctaveMusic
+               'to-relative-callback
+               (,make-relative::to-relative-callback
+                (list ,@pitches)
+                (lambda ,pitches ,music)
+                (lambda ,pitches ,last-pitch))
+               'element ,music))
+    
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; The following functions are all associated with the crossStaff
 ;  function
index 024788036ec4b1ced6ca5caa28845ec2072dfa65..bcb65588a4f576e89aafe33019940f3e4b998fa8 100644 (file)
@@ -872,24 +872,21 @@ and duration-log @var{log}."
 ;; fingering
 
 (define-public (fingering::calc-text grob)
-  (let* ((event (event-cause grob))
-        (digit (ly:event-property event 'digit)))
-
-    (number->string digit 10)))
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
+        (number->string (ly:event-property event 'digit) 10))))
 
 (define-public (string-number::calc-text grob)
-  (let ((digit (ly:event-property (event-cause grob) 'string-number)))
-
-    (number->string digit 10)))
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
+        (number->string (ly:event-property event 'string-number) 10))))
 
 (define-public (stroke-finger::calc-text grob)
-  (let* ((digit (ly:event-property (event-cause grob) 'digit))
-        (text (ly:event-property (event-cause grob) 'text)))
-
-    (if (string? text)
-       text
+  (let ((event (event-cause grob)))
+    (or (ly:event-property event 'text #f)
        (vector-ref (ly:grob-property grob 'digit-names)
-                   (1- (max (min 5 digit) 1))))))
+                   (1- (max 1
+                             (min 5 (ly:event-property event 'digit))))))))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index b2c6dc20849a47eddc2a73fa02c45860bdff88cd..56284f9c4dc6111d41dc8691a00178553a60ff44 100644 (file)
 (define-public (make-cue-clef-set clef-name)
   "Generate the clef setting commands for a cue clef with name
 @var{clef-name}."
-  (define (make-prop-set props)
-    (let ((m (make-music 'PropertySet)))
-      (map (lambda (x) (set! (ly:music-property m (car x)) (cdr x))) props)
-      m))
-  (let ((e '())
-       (c0 0)
-       (oct 0)
-       (style 'default)
-       (match (string-match "^(.*)([_^])([^0-9a-zA-Z]*)([1-9][0-9]*)([^0-9a-zA-Z]*)$" clef-name)))
-    (if match
-       (begin
-         (set! clef-name (match:substring match 1))
-         (set! oct
-               (* (if (equal? (match:substring match 2) "^") -1 1)
-                  (- (string->number (match:substring match 4)) 1)))
-          (set! style
-                (cond ((equal? (match:substring match 3) "(") 'parenthesized)
-                      ((equal? (match:substring match 3) "[") 'bracketed)
-                      (else style)))))
-    (set! e (assoc-get clef-name supported-clefs))
-    (if e
-       (let* ((prop-list `(((symbol . cueClefGlyph) (value . ,(car e)))
-                            ((symbol . middleCCuePosition)
-                             (value . ,(+ oct
-                                          (cadr e)
-                                          (assoc-get (car e) c0-pitch-alist))))
-                            ((symbol . cueClefPosition) (value . ,(cadr e)))
-                            ((symbol . cueClefOctavation) (value . ,(- oct)))))
-               (prop-list (if (eq? style 'default)
-                              prop-list
-                              (append
-                                prop-list
-                                `(((symbol . cueClefOctavationStyle)
-                                   (value . ,style))))))
-              (musics (map make-prop-set prop-list))
-              (recalc-mid-C (make-music 'ApplyContext))
-              (seq (make-music 'SequentialMusic
-                               'elements (append musics (list recalc-mid-C))))
-              (csp (make-music 'ContextSpeccedMusic)))
-         (set! (ly:music-property recalc-mid-C 'procedure) ly:set-middle-C!)
-         (context-spec-music seq 'Staff))
-       (begin
-         (ly:warning (_ "unknown clef type `~a'") clef-name)
-         (ly:warning (_ "supported clefs: ~a")
-                     (string-join
-                      (sort (map car supported-clefs) string<?)))
-         (make-music 'Music)))))
-
+  (define cue-clef-map
+    '((clefGlyph . cueClefGlyph)
+      (middleCClefPosition . middleCCuePosition)
+      (clefPosition . cueClefPosition)
+      (clefOctavation . cueClefOctavation)
+      (clefOctavationStyle . cueClefOctavationStyle)))
+  (let ((clef (make-clef-set clef-name)))
+    (for-each
+     (lambda (m)
+       (let ((mapped (assq-ref cue-clef-map
+                               (ly:music-property m 'symbol))))
+         (if mapped
+             (set! (ly:music-property m 'symbol) mapped))))
+     (extract-named-music clef 'PropertySet))
+    clef))
 
 (define-public (make-cue-clef-unset)
   "Reset the clef settings for a cue clef."
-  (define (make-prop-unset props)
-    (let ((m (make-music 'PropertyUnset)))
-      (set! (ly:music-property m (car props)) (cdr props))
-      m))
-  (let* ((musics (map make-prop-unset
-                       `((symbol . cueClefGlyph)
-                         (symbol . middleCCuePosition)
-                         (symbol . cueClefPosition)
-                         (symbol . cueClefOctavation)
-                         (symbol . cueClefOctavationStyle))))
-        (recalc-mid-C (make-music 'ApplyContext))
-        (seq (make-music 'SequentialMusic
-                         'elements (append musics (list recalc-mid-C))))
-        (csp (make-music 'ContextSpeccedMusic)))
-    (set! (ly:music-property recalc-mid-C 'procedure) ly:set-middle-C!)
-    (context-spec-music seq 'Staff)))
-
+  (map-some-music
+   (lambda (m)
+     (and (eq? (ly:music-property m 'name) 'PropertySet)
+          (make-music 'PropertyUnset
+                      'symbol (ly:music-property m 'symbol))))
+   (make-cue-clef-set "treble_(8)")))
 
 ;; a function to add new clefs at runtime
 (define-public (add-new-clef clef-name clef-glyph clef-position octavation c0-position)
index ad95a16d24d2f74ebc70e793b6d485f09a67d2e4..23978608a218e21812ddd482614bbcc9b50e5a0d 100644 (file)
@@ -65,13 +65,17 @@ from @var{port} and return the corresponding Scheme music expression.
                                       (set! closures
                                             (cons `(cons ,p (lambda () ,expr))
                                                   closures)))))))))))
-    (define (embedded-lilypond parser lily-string filename line closures)
-      (let* ((clone (ly:parser-clone parser closures))
+    (define (embedded-lilypond parser lily-string filename line
+                               closures location)
+      (let* ((clone (ly:parser-clone parser closures location))
             (result (ly:parse-string-expression clone lily-string
                                                 filename line)))
        (if (ly:parser-has-error? clone)
            (ly:parser-error parser (_ "error in #{ ... #}")))
        result))
-    (list embedded-lilypond 'parser lily-string filename line (cons 'list (reverse! closures)))))
+    (list embedded-lilypond
+          'parser lily-string filename line
+          (cons 'list (reverse! closures))
+          'location)))
 
 (read-hash-extend #\{ read-lily-expression)
index 9b0db9a3fd4617e1ac786cfe95e077910a567473..4be305bd0b89a4ab6e54c2380fc42f23d0873980 100644 (file)
@@ -381,7 +381,7 @@ defined by @code{fill}."
        (reduce min +inf.0 (map caadr x))
        (reduce max -inf.0 (map cadadr x))))
     (map (lambda (x)
-          (if (eq? (length x) 8)
+          (if (= (length x) 8)
               (apply bezier-min-max x)
               (apply line-min-max x)))
         (map (lambda (x y)
@@ -403,7 +403,7 @@ respectively."
         ;; modify pointlist to scale the coordinates
         (path (map (lambda (x)
                      (apply
-                       (if (eq? 6 (length x))
+                       (if (= 6 (length x))
                            (lambda (x1 x2 x3 x4 x5 x6)
                              (list 'curveto
                                    (* x1 x-scale)
index 6beae72e6032173cd0c09555cb922522ed09c82b..d9e62fe1b8c5909b31d25e4954c934a47b98c9c2 100644 (file)
                              beat-structure
                              beam-exceptions)
   (list
-    (cons 'baseMoment base-fraction)
+    (cons 'baseMoment (if (pair? base-fraction)
+                          (/ (car base-fraction) (cdr base-fraction))
+                          base-fraction))
     (cons 'beatStructure beat-structure)
     (cons 'beamExceptions beam-exceptions)))
 
-(define-public (base-fraction time-signature time-signature-settings)
-  "Get @code{baseMoment} fraction value for @var{time-signature} from
+(define-public (base-length time-signature time-signature-settings)
+  "Get @code{baseMoment} rational value for @var{time-signature} from
 @var{time-signature-settings}."
    (let ((return-value (get-setting 'baseMoment
                                     time-signature
                                     time-signature-settings)))
      (if (null? return-value)
-         (cons 1 (cdr time-signature))
+         (/ (cdr time-signature))
          return-value)))
 
-(define-public (beat-structure base-fraction time-signature time-signature-settings)
-  "Get @code{beatStructure} value in @var{base-fraction} units
+(define-public (beat-structure base-length time-signature time-signature-settings)
+  "Get @code{beatStructure} value in @var{base-length} units
 for @var{time-signature} from @var{time-signature-settings}."
-  (define (fraction-divide numerator denominator)
-    (/ (* (car numerator) (cdr denominator))
-       (* (cdr numerator) (car denominator))))
 
   (let ((return-value (get-setting 'beatStructure
                                    time-signature
@@ -211,9 +210,10 @@ for @var{time-signature} from @var{time-signature-settings}."
                                     (zero? (remainder numerator 3)))
                                3
                                1))
-               (beat-length (cons (* group-size (car base-fraction))
-                                  (cdr base-fraction)))
-               (beat-count (fraction-divide time-signature beat-length)))
+               (beat-count (/ (car time-signature)
+                              (cdr time-signature)
+                              base-length
+                              group-size)))
           (if (integer? beat-count)
               (make-list beat-count group-size)
               '()))
index 665d259743700ae6488b83d6403a7e1a5eb99c2b..5877674d10e9e08d3d65538e762048b3b281627b 100644 (file)
@@ -338,24 +338,18 @@ if no fingering is present."
 
     (define (close-enough fret)
       "Decide if @var{fret} is acceptable, given the already used frets."
-      (if (null? specified-frets)
-       #t
-       (reduce
-         (lambda (x y)
-           (and x y))
-         #t
-         (map (lambda (specced-fret)
-                (or (eq? 0 specced-fret)
-                    (eq? 0 fret)
-                    (>= maximum-stretch (abs (- fret specced-fret)))))
-              specified-frets))))
+      (every (lambda (specced-fret)
+               (or (zero? specced-fret)
+                   (zero? fret)
+                   (>= maximum-stretch (abs (- fret specced-fret)))))
+             specified-frets))
 
     (define (string-qualifies string pitch)
       "Can @var{pitch} be played on @var{string}, given already placed
 notes?"
       (let* ((fret (calc-fret pitch string tuning)))
        (and (or (and (not restrain-open-strings)
-                     (eq? fret 0))
+                     (zero? fret))
                 (>= fret minimum-fret))
             (integer? fret)
             (close-enough fret))))
@@ -364,7 +358,7 @@ notes?"
       "Is @var{pitch} and open-string note on @var{string}, given
 the current tuning?"
       (let* ((fret (calc-fret pitch string tuning)))
-       (eq? fret 0)))
+       (zero? fret)))
 
     (define (set-fret! pitch-entry string finger)
       (let ((this-fret (calc-fret (car pitch-entry)
@@ -400,7 +394,7 @@ the current tuning?"
       (for-each
         (lambda (pitch-entry string-fret-finger)
          (let* ((string (list-ref string-fret-finger 0))
-                 (finger (if (eq? (length string-fret-finger) 3)
+                 (finger (if (= (length string-fret-finger) 3)
                              (list-ref string-fret-finger 2)
                              '()))
                  (pitch (car pitch-entry))
@@ -408,8 +402,8 @@ the current tuning?"
                            #f
                            finger)))
            (if (or (not (null? string))
-                   (eq? digit 0))
-               (if (eq? digit 0)
+                   (eqv? digit 0))
+               (if (eqv? digit 0)
                     ;; here we handle fingers of 0 -- open strings
                    (let ((fit-string
                            (find (lambda (string)
@@ -458,7 +452,7 @@ the current tuning?"
        (let* ((string-fret-finger (list-ref string-fret-fingers
                                              (cdr pitch-entry)))
                (string (list-ref string-fret-finger 0))
-               (finger (if (eq? (length string-fret-finger) 3)
+               (finger (if (= (length string-fret-finger) 3)
                            (list-ref string-fret-finger 2)
                            '()))
                (pitch (car pitch-entry))
index 16951c9935281da96898075c829cef2b3aff72a1..e7caa311610f8dc8f282b4099ce1459cf5e1f813 100644 (file)
@@ -38,6 +38,35 @@ done
 '''
 
 translations = {
+    'cs': {
+        'Source': 'Source',
+        'Learning': 'Učení',
+        'Music glossary': 'Slovníček',
+        'Essay': 'Článek',
+        'Notation': 'Notový zápis',
+        'Usage': 'Používání',
+        'Snippets': 'Úryvky',
+        'Web': 'Web',
+        'Changes': 'Změny',
+
+        'Extending': 'Rozšíření',
+        'Internals': 'Vnitřnosti',
+        'Contributor': 'Vývojářské',
+
+        ' (split HTML)': ' (rozdělené HTML)',
+        ' (big HTML)': ' (velké HTML)',
+
+        'Regression tests for ': 'Zkoušky regresí ',
+        'PDF of regtests for ': 'PDF zkoušky regresí ',
+        'abc2ly Regression tests for ': 'abc2ly zkoušky regresí ',
+        'PDF of abc2ly regtests for ': 'PDF abc2ly zkoušky regresí ',
+        'lilypond-book Regression tests for ': 'lilypond-book zkoušky regresí ',
+        'PDF of lilypond-book regtests for ': 'PDF lilypond-book zkoušky regresí ',
+        'MusicXML Regression tests for ': 'MusicXML zkoušky regresí ',
+        'PDF of MusicXML regtests for ': 'PDF MusicXML zkoušky regresí ',
+
+        'Doc tarball for ': 'Doc tarball for ',
+        },
     'de': {
         'Source': 'Quellen',
         'Learning': 'Einführung',
@@ -66,7 +95,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'PDF der MusicXML Regressionstests für ',
 
         'Doc tarball for ': 'Dokumentation tar-gepackt für ',
-        ' (did not exist in 2.12)': ' (nicht existent in 2.12)',
         },
     'es': {
         'Source': 'Código fuente',
@@ -97,7 +125,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'Pruebas de MusicXML en PDF para ',
 
         'Doc tarball for ': 'Tarball de la documentación para ',
-        ' (did not exist in 2.12)': ' (no existía en la versión 2.12)',
      },
     'fr': {
         'Source': 'Sources',
@@ -128,7 +155,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'PDF des tests de régression de MusicXML pour ',
 
         'Doc tarball for ': 'Archive de la documentation pour ',
-        ' (did not exist in 2.12)': ' (non disponible pour la version 2.12)',
         },
     'hu': {
         'Source': 'Forrás',
@@ -157,7 +183,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'PDF formátumban - verzió: ',
 
         'Doc tarball for ': 'Tömörített csomag - verzió: ',
-        ' (did not exist in 2.12)': ' (nem létezett a 2.12-es verzióban)',
         },
     'it': {
         'Source': 'Sorgenti',
@@ -187,7 +212,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'PDF dei test di collaudo di MusicXML per ',
 
         'Doc tarball for ': 'Archivio della documentazione per ',
-        ' (did not exist in 2.12)': ' (non disponibile per la versione 2.12)',
         },
     'ja': {
         'Source': 'ソース',
@@ -219,7 +243,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'MusicXML 回帰テスト (PDF 版) バージョン ',
 
         'Doc tarball for ': 'ドキュメント アーカイブ バージョン ',
-        ' (did not exist in 2.12)': ' (バージョン 2.12 には存在しません)',
 
         },
     'nl': {
@@ -251,7 +274,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'MusicXML regressietesten voor ',
 
         'Doc tarball for ': 'Tarball met documentation voor ',
-        ' (did not exist in 2.12)': ' (bestond nog niet in 2.12)',
      },
     'zh': {
         'Source': '源码',
@@ -282,7 +304,6 @@ translations = {
         'PDF of MusicXML regtests for ': 'MusicXML 的 PDF 回归测试 ',
 
         'Doc tarball for ': '为文档压缩包',
-        ' (did not exist in 2.12)': ' (在 2.12 中不存在)',
         },
     }
 
@@ -416,29 +437,7 @@ def translateNameToUrl(manual, version):
     ver_minor = ver_split[0] + '.' + ver_split[1]
     url = depth + "doc/v" + ver_minor + "/Documentation/"
 
-    if (ver_minor == '2.12'):
-        if (manual=='learning'):
-            return url+'user/lilypond-learning'
-        elif (manual=='internals'):
-            return url+'user/lilypond-internals'
-        elif (manual=='notation'):
-            return url+'user/lilypond'
-        elif (manual=='usage'):
-            return url+'user/lilypond-program'
-        elif (manual=='snippets'):
-            return url+'../input/lsr/lilypond-snippets'
-        elif (manual=='changes'):
-            return url+'topdocs/NEWS.html'
-        elif (manual=='music-glossary'):
-            return url+'user/music-glossary'
-        elif (manual=='essay'):
-            return url+'user/lilypond-learning/Background.html'
-        elif (manual=='extending'):
-            return url+'user/lilypond/Interfaces-for-programmers.html'
-        else:
-            return ''
-    else:
-        return url+manual
+    return url+manual
 
 def addLang(url, lang):
     if lang:
@@ -464,25 +463,6 @@ def make_manual_links(name, version, lang):
             manual = 'Music glossary'
         url = translateNameToUrl(m, version)
 
-        if (url == ''):
-            # can't have a comma here due to texinfo
-            make_ver_link(macroLang("manual"+name+mshort+'Pdf',lang),
-                "http://lilypond.org",
-                mshort+getTrans(" (did not exist in 2.12)",lang))
-            make_ver_link(macroLang("manual"+name+mshort+'Split',lang),
-                "http://lilypond.org",
-                mshort+getTrans(" (did not exist in 2.12)",lang))
-            make_ver_link(macroLang("manual"+name+mshort+'Big',lang),
-                "http://lilypond.org",
-                mshort+getTrans(" (did not exist in 2.12)",lang))
-            make_ver_link(macroLang("manual"+name+mshort+'SplitNoName',lang),
-                "http://lilypond.org",
-                mshort+getTrans(" (did not exist in 2.12)",lang))
-            continue
-        # this is stupid and I shouldn't have bothered trying
-        # to support the 2.12 docs and it will be deleted once
-        # 2.14 is out and the website won't be visible to users
-        # until 2.14 is out.  -gp
         if (url.endswith('.html')):
             make_ver_link(macroLang("manual"+name+mshort+'Pdf',lang),
                       addLang(url, lang),
@@ -553,7 +533,7 @@ def make_doctarball_links(name, version, lang):
         url, getTrans("Doc tarball for ", lang)+version)
 
 print "@c This file was autogenerated"
-print "@c     from: VERSION"
+print "@c     from: %s" % VERSION
 print "@c     by:   %s" % sys.argv[0]
 print ""
 print "@c ************************ Download binaries ************"
index 09d8d95a44b99df2f469aeb3a009a5d6d587772b..6f4525dac19da80fea2617d4872e640ee2c9953b 100755 (executable)
@@ -3,7 +3,7 @@
 srcdir=${srcdir:-.}
 set -ux
 
-AUTOGEN_INPUT_CHECKSUM=`cat $srcdir/configure.in $srcdir/aclocal.m4 | md5sum | cut -b 1-32`
+AUTOGEN_INPUT_CHECKSUM=`cat $srcdir/configure.ac $srcdir/aclocal.m4 | md5sum | cut -b 1-32`
 
 CHECKSUM_FILE=autogen.checksum
 
@@ -14,4 +14,3 @@ fi
 set -e
 ${srcdir}/autogen.sh "$@"
 printf "%s" $AUTOGEN_INPUT_CHECKSUM > $CHECKSUM_FILE
-
index f216898fe8dd62e186ce9226e3f384d403a0af85..1b998b938dfc3eb6b2c0bbb13dc0aa1c06be10e3 100644 (file)
@@ -95,7 +95,7 @@ $(outdir)/version.hh: $(depth)/VERSION $(config_make) $(top-src-dir)/scripts/bui
 $(outdir)/config.hh: $(config_h)
        cp -p $< $@
 
-configure: configure.in aclocal.m4
+configure: configure.ac aclocal.m4
        NOCONFIGURE=yes $(src-depth)/autogen.sh
        chmod +x configure