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

index f61e99a3a501e32ee15bbef0dd7f2623f5a111f4..4c8757e600a014592805c48095b0230591e061bc 100644 (file)
--- a/.mailmap
+++ b/.mailmap
@@ -174,6 +174,7 @@ Trevor Bača <trevorbaca@gmail.com>
 Trevor Daniels <t.daniels@treda.co.uk>
 Trevor Daniels <Trevor@Trevor-Laptop>
 Valentin Villenave <valentin@localhost.(none)>
+Valentin Villenave <valentin@villenave.net>
 Valentin Villenave <v.villenave@gmail.com>
 Vegard Nossum <vegard@peltkore.net>
 Werner Lemberg <wl>
index b85535c55b31dd971050652fdba968e1e87f2edd..929a09988699cc7545a8bb32c6273e2996ba4f2c 100644 (file)
@@ -264,6 +264,13 @@ grep FIXME --exclude "misc/*" --exclude "*GNUmakefile" \
   --exclude "snippets/*" ????*/*
 @end example
 
+- check for altered regtests, and document as necessary.  (update
+  tags as appropriate)
+
+@example
+git diff -u -r release/2.12.0-1 -r release/2.13.13-1 input/regression/
+@end example
+
 
 News:
 
index 4b9a892252fba120d0c78902286296df06258b63..27e30b165a60b326cf7bc87af252181f42484802 100644 (file)
@@ -34,7 +34,7 @@ Download the lily-git script from:
 @c long filenames like "scripts_auxiliar_lily-git.tcl"
 
 @example
-@uref{http://git.sv.gnu.org/cgit/lilypond.git/plain/scripts/auxiliar/lily-git.tcl}.
+@uref{http://git.sv.gnu.org/cgit/lilypond.git/plain/scripts/auxiliar/lily-git.tcl}
 @end example
 
 To run the program from the command line, navigate to the
@@ -1452,6 +1452,31 @@ should add these lines to @file{.git/config}:
 @end example
 @end itemize
 
+@knownissues
+Encryption protocols, including ssh, generally do not permit packet
+fragmentation to avoid introducing a point of insecurity.  This
+means that the maximum packet size must not exceed the smallest
+MTU (Maximum Transmission Unit) set in the routers along the path.
+This smallest MTU is determined by a procedure during call set-up
+which relies on the transmission over the path of ICMP packets.
+If any of the routers in the path block ICMP packets this mechanism
+fails, resulting in the possibility of packets being transmitted
+which exceed the MTU of one of the routers.  If this happens the
+packet is discarded, causing the ssh session to hang, timeout or
+terminate with the error message
+
+@example
+ssh: connect to host <host ip addr> port 22: Bad file number
+fatal: The remote end hung up unexpectedly
+@end example
+
+depending on precisely when in the proceedings the first large
+packet is transmitted.  Most routers on the internet have MTU
+set to 1500, but routers installed in homes to connect via
+broadband may use a slightly smaller MTU for efficient transmission
+over ATM.  If this problem is encountered a possible work-around is
+to set the MTU in the local router to 1500.
+
 @node Git on Windows
 @section Git on Windows
 
index 2d85714c8b233a38e12955df44e26166d32db29a..14b6b301b02ed84842fcbe4ea3b880c797dadb22 100644 (file)
@@ -79,6 +79,8 @@ diff -u $DEST/lilypond-texi2html.init $GIT/Documentation/lilypond-texi2html.init
 diff -u $DEST/extract_texi_filenames.py $GIT/scripts/build/extract_texi_filenames.py
 diff -u $DEST/create-version-itexi.py $GIT/scripts/build/create-version-itexi.py
 diff -u $DEST/create-weblinks-itexi.py $GIT/scripts/build/create-weblinks-itexi.py
+diff -u $DEST/mass-link.py $GIT/scripts/build/mass-link.py
+diff -u $DEST/website_post.py $GIT/scripts/build/website_post.py
 @end verbatim
 
 If the changes look ok, make them trusted:
@@ -93,6 +95,8 @@ cp $GIT/Documentation/lilypond-texi2html.init $DEST/lilypond-texi2html.init
 cp $GIT/scripts/build/extract_texi_filenames.py $DEST/extract_texi_filenames.py
 cp $GIT/scripts/build/create-version-itexi.py $DEST/create-version-itexi.py
 cp $GIT/scripts/build/create-weblinks-itexi.py $DEST/create-weblinks-itexi.py
+cp $GIT/scripts/build/mass-link.py $DEST/mass-link.py
+cp $GIT/scripts/build/website_post.py $DEST/website_post.py
 @end verbatim
 
 Build the website:
index 3cccbd9994c5a4ed426eb11752aa6eaa5dc62cb8..b57d9e8b20400d3a78096b2fb68e49ca54f033dc 100644 (file)
@@ -137,7 +137,7 @@ Libre de GNU.
 * Ensayo::                 Ensayo.
 * Notación::               Referencia.
 * Utilización::            Utilización.
-* Fragmentos de código::   Fragmentos de código.
+* Fragmentos::             Fragmentos de código.
 * FAQ::                    Preguntas frecuentes.
 * Web::                    Web.
 * Cambios::                Noticias.
@@ -493,8 +493,8 @@ En construcción.
 @divEnd
 
 
-@node Todo
-@unnumberedsec Todo
+@node Todos
+@unnumberedsec Todos
 @translationof All
 
 @divClass{column-left-top}
index 10ffea93b7604ecc4245f4e95ad4b0e2d83511bc..971afb27207064a577a1dd6aa9576d8554176f03 100644 (file)
@@ -35,7 +35,7 @@ such beautiful sheet music.
 @end menu
 
 @node The LilyPond story
-@unnumberedsec The LilyPond story
+@section The LilyPond story
 
 Long before LilyPond had been used to engrave beautiful performance
 scores, before it could create university course notes or even simple
@@ -143,7 +143,7 @@ Henle no. 666, @copyright{}2000:
 @end iftex
 
 @node Engraving details
-@unnumberedsec Engraving details
+@section Engraving details
 
 @cindex engraving
 @cindex typography, music
@@ -538,7 +538,7 @@ to see and love to play from.
 
 
 @node Automated engraving
-@unnumberedsec Automated engraving
+@section Automated engraving
 
 @cindex engraving, automated
 @cindex automated engraving
@@ -1047,7 +1047,7 @@ note head symbol is changed during the music fragment.
 
 
 @node What symbols to engrave?
-@unnumberedsec What symbols to engrave?
+@section What symbols to engrave?
 
 @cindex engraving
 @cindex typography
@@ -1248,7 +1248,7 @@ Internals Reference: @rinternals{Contexts}.
 
 
 @node Music representation
-@unnumberedsec Music representation
+@section Music representation
 
 @cindex syntax
 @cindex recursive structures
@@ -1347,7 +1347,7 @@ the source code.
 
 
 @node Example applications
-@unnumberedsec Example applications
+@section Example applications
 
 @cindex simple examples
 @cindex examples, simple
@@ -1472,7 +1472,7 @@ TODO: add extra chapter for computer aesthetics?
 
 @page
 @node Appendix
-@unnumberedsec Appendix
+@section Appendix
 
 This appendix contains four reference engravings and two
 software-engraved versions of Bach's Fugue in G minor from the
index c507c1f18fc4448ec842d7926bd9828764854e64..197d08ad39a20a103091e0caf1b2b44be9b8689c 100644 (file)
@@ -141,6 +141,8 @@ Ian Hulin,
 Michael Käppler,
 Marek Klein,
 Kieren MacMillan,
+Thomas Morgan,
+Boris Shingarov,
 Andrew Wilson
 
 @c no comma for last entry
@@ -202,6 +204,7 @@ Christian Hitz
 
 @c use commas not colons
 
+Dénes Harmath,
 Jean-Charles Malahieude,
 @c @email{lolyfan@@wanadoo.fr},
 Till Rettig,
index ce643205ad3acda171de05a3567bdb64be012850..69c24ee8b31ad60b5fd3b1b92e877f4ba552571f 100644 (file)
@@ -440,7 +440,7 @@ appearance may be modified in the usual way with
 @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]}
+\times 2/3 { c8[ c c] }
 \once \override TupletNumber
   #'text = #tuplet-number::calc-fraction-text
 \times 2/3 {
@@ -448,7 +448,7 @@ appearance may be modified in the usual way with
   c[ c]
   \once \override TupletNumber #'transparent = ##t
   \times 2/3 { c8[ c c] }
-\times 2/3 { c8[ c c]}
+  \times 2/3 { c8[ c c] }
 }
 @end lilypond
 
@@ -509,9 +509,9 @@ music:
 {
   \time 6/8
   {
-    r4 b8 b[( g]) g |
-    g[( e]) e d[( f]) a |
-    a g
+    r4 b8 b[( g]) g
+    g4[( e]) e d[( f]) a
+    a4 g
   }
   \addlyrics {
     The man who feels love's sweet e -- mo -- tion
@@ -597,9 +597,9 @@ close to it.}  Let's do that:
   {
     % Increase thickness of all following slurs from 1.2 to 5.0
     \override Slur #'thickness = #5.0
-    r4 b8 b[( g]) g |
-    g[( e]) e d[( f]) a |
-    a g
+    r4 b8 b[( g]) g
+    g4[( e]) e d[( f]) a
+    a4 g
   }
   \addlyrics {
     The man who feels love's sweet e -- mo -- tion
@@ -666,9 +666,9 @@ repositioned as follows:
     r4 b8
     % Increase thickness of immediately following slur only
     \once \override Slur #'thickness = #5.0
-    b[( g]) g |
-    g[( e]) e d[( f]) a |
-    a g
+    b4[( g]) g
+    g4[( e]) e d[( f]) a
+    a4 g
   }
   \addlyrics {
     The man who feels love's sweet e -- mo -- tion
@@ -705,11 +705,11 @@ the slurs begin:
     r4 b8
     % Increase thickness of immediately following slur only
     \once \override Slur #'thickness = #5.0
-    b[( g]) g |
+    b4[( g]) g
     % Increase thickness of immediately following slur only
     \once \override Slur #'thickness = #5.0
-    g[( e]) e d[( f]) a |
-    a g
+    g4[( e]) e d[( f]) a
+    a4 g
   }
   \addlyrics {
     The man who feels love's sweet e -- mo -- tion
@@ -732,12 +732,12 @@ after the second slur:
     r4 b8
     % Increase thickness of all following slurs from 1.2 to 5.0
     \override Slur #'thickness = #5.0
-    b[( g]) g |
-    g[( e])
+    b4[( g]) g
+    g4[( e])
     % Revert thickness of all following slurs to default of 1.2
     \revert Slur #'thickness
-    e d[( f]) a |
-    a g
+    e4 d[( f]) a
+    a4 g
   }
   \addlyrics {
     The man who feels love's sweet e -- mo -- tion
@@ -840,9 +840,9 @@ like so:
 {
   \time 6/8
   {
-    r4 b8 b[( g]) g |
-    g[( e]) e d[( f]) a |
-    a g
+    r4 b8 b[( g]) g
+    g4[( e]) e d[( f]) a
+    a4 g
   }
   \addlyrics {
     \override LyricText #'font-shape = #'italic
@@ -1021,8 +1021,8 @@ the implied Context, @code{Voice}:
 {
   \time 12/16
   \override BarLine #'stencil = ##f
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1046,8 +1046,8 @@ it by adding the correct context:
 {
   \time 12/16
   \override Staff.BarLine #'stencil = ##f
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1093,8 +1093,8 @@ required, as always, to precede the value itself in the
 {
   \time 12/16
   \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1125,8 +1125,8 @@ transparent is:
 {
   \time 12/16
   \override Staff.TimeSignature #'transparent = ##t
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1146,8 +1146,8 @@ instead:
 {
   \time 12/16
   \override Staff.TimeSignature #'stencil = ##f
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1187,8 +1187,8 @@ we write:
 {
   \time 12/16
   \override Staff.BarLine #'color = #white
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1221,8 +1221,8 @@ converts X11 color names into the list of internal values,
 {
   \time 12/16
   \override Staff.BarLine #'color = #(x11-color 'white)
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1251,8 +1251,8 @@ and to white it should be @code{(rgb-color 1 1 1)}:
 {
   \time 12/16
   \override Staff.BarLine #'color = #(rgb-color 1 1 1)
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1281,8 +1281,8 @@ various shades of grey:
   \override Voice.NoteHead      #'color = #(x11-color 'grey85)
   \override Voice.Stem          #'color = #(x11-color 'grey85)
   \override Staff.BarLine       #'color = #(x11-color 'grey10)
-  c4 b8 c d16 c d8 |
-  g, a16 b8 c d4 e16 |
+  c4 b8 c d16 c d8
+  g,8 a16 b8 c d4 e16
   e8
 }
 @end lilypond
@@ -1315,18 +1315,18 @@ how to introduce a new temporary staff, as in an @rglos{ossia}.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \new Staff ="main" {
-       \relative g' {
-         r4 g8 g c4 c8 d |
-         e4 r8
-         <<
-           { f c c }
-           \new Staff \with {
-             alignAboveContext = #"main" }
-           { f8 f c }
-         >>
-         r4 |
-       }
-     }
+  \relative g' {
+    r4 g8 g c4 c8 d
+    e4 r8
+    <<
+      { f8 c c }
+      \new Staff \with {
+        alignAboveContext = #"main" }
+      { f8 f c }
+    >>
+    r4
+  }
+}
 @end lilypond
 
 Ossia are normally written without clef and time signature, and
index adec460f29e650f651a884b4f99a20c3ddc1a124..96671041ed09df10358069feca15ae3a19182f00 100644 (file)
@@ -1302,18 +1302,26 @@ Vaticana} style are provided.
     \override TextScript #'font-family = #'typewriter
     \override TextScript #'font-shape = #'upright
     \override Script #'padding = #-0.1
-    a\ictus_"ictus " \break
-    a\circulus_"circulus " \break
-    a\semicirculus_"semicirculus " \break
-    a\accentus_"accentus " \break
+    a\ictus_"ictus " \bar "" \break
+    a\circulus_"circulus " \bar "" \break
+    a\semicirculus_"semicirculus " \bar "" \break
+    a\accentus_"accentus " \bar "" \break
     \[ a_"episema" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
   }
 }
 @end lilypond
 
 
-@c @seealso
-@c TODO: nothing here yet ...
+Snippets:
+@rlsr{Ancient notation}.
+
+Internals Reference:
+@rinternals{Episema},
+@rinternals{EpisemaEvent},
+@rinternals{Episema_engraver},
+@rinternals{Script},
+@rinternals{ScriptEvent},
+@rinternals{Script_engraver}.
 
 
 @knownissues
@@ -1321,9 +1329,6 @@ Vaticana} style are provided.
 Some articulations are vertically placed too closely to the
 corresponding note heads.
 
-The episema line is not displayed in many cases.  If it is displayed,
-the right end of the episema line is often too far to the right.
-
 
 @c {{{2Augmentum dots (@emph{morae})
 @node Augmentum dots (@emph{morae})
index 0763f6f0d2afd5cfea7de74584eb715a15c3fe35..1c6fc0270db8a31aaf86763153d52650830a0d50 100644 (file)
@@ -63,11 +63,56 @@ Methods to create new dynamic markings are also discussed.
 @cindex prallmordent
 @cindex prall, up
 @cindex prall, down
+@cindex mordent, up
+@cindex mordent, down
 @cindex thumb marking
 @cindex segno
 @cindex coda
 @cindex varcoda
 
+@funindex \accent
+@funindex \marcato
+@funindex \staccatissimo
+@funindex \espressivo
+@funindex \staccato
+@funindex \tenuto
+@funindex \portato
+@funindex \upbow
+@funindex \downbow
+@funindex \flageolet
+@funindex \thumb
+@funindex \lheel
+@funindex \rheel
+@funindex \ltoe
+@funindex \rtoe
+@funindex \open
+@funindex \halfopen
+@funindex \stopped
+@funindex \snappizzicato
+@funindex \turn
+@funindex \reverseturn
+@funindex \trill
+@funindex \prall
+@funindex \mordent
+@funindex \prallprall
+@funindex \prallmordent
+@funindex \upprall
+@funindex \downprall
+@funindex \upmordent
+@funindex \downmordent
+@funindex \pralldown
+@funindex \prallup
+@funindex \lineprall
+@funindex \signumcongruentiae
+@funindex \shortfermata
+@funindex \fermata
+@funindex \longfermata
+@funindex \verylongfermata
+@funindex \segno
+@funindex \coda
+@funindex \varcoda
+
+
 @funindex -
 
 A variety of symbols that denote articulations, ornamentations,
@@ -292,9 +337,9 @@ g1\espressivo
 
 Crescendos and decrescendos can be engraved as textual markings
 instead of hairpins.  Dashed lines are printed to indicate their
-extent.  The built-in commands @code{\crescTextCresc}, 
-@code{\dimTextDecresc}, @code{\dimTextDecr}, and @code{\dimTextDim} 
-will tell LilyPond to use such textual marks instead of hairpins 
+extent.  The built-in commands @code{\crescTextCresc},
+@code{\dimTextDecresc}, @code{\dimTextDecr}, and @code{\dimTextDim}
+will tell LilyPond to use such textual marks instead of hairpins
 for all subsequent @code{\<} and @code{\>} commands.  The corresponding
 @code{\crescHairpin} and @code{\dimHairpin} commands will revert
 to hairpins again:
index 01d72d6fb9c964bfa1b4f0513545a3ee96e17d0b..e331891507d471206e3aa1774f67581536273156 100644 (file)
@@ -55,7 +55,8 @@ tablature.  Sometimes the two types are combined, and it is
 especially common in popular music to use chord diagrams above
 a staff of traditional notation.  The guitar and the banjo are
 transposing instruments, sounding an octave lower than written.
-Scores for these instruments should use the @code{"treble_8"} clef.
+Scores for these instruments should use the @code{"treble_8"} clef (or
+@code{\transposition c} to get correct MIDI output).
 Some other elements pertinent to fretted string instruments
 are covered elsewhere:
 
@@ -84,7 +85,8 @@ Notation Reference:
 @ref{Writing music in parallel},
 @ref{Arpeggio},
 @ref{List of articulations},
-@ref{Clef}.
+@ref{Clef},
+@ref{Instrument transpositions}.
 
 
 @node String number indications
index 54b6a0f780e45b24205712d21c69f038167b0922..efbded1f897a4dae5b6253100f54f50f6dfea3b3 100644 (file)
@@ -1331,6 +1331,7 @@ lilypond file.ly >display.txt
 * Extracting fragments of music::
 * Skipping corrected music::
 * Alternative output formats::
+* Replacing the notation font::
 @end menu
 
 @node Extracting fragments of music
@@ -1431,6 +1432,12 @@ command line options, see @rprogram{Command line options for
 lilypond}.
 
 
+@node Replacing the notation font
+@subsection Replacing the notation font
+
+FIXME stub.
+
+
 @node MIDI output
 @section MIDI output
 
index 0f1982adccdd91a7008614063a35b0eff5cbb59d..7e724994978cb9656b24441393dcb2f9f737af94 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los símbolos específicos de acordeón discanto se escriben mediante
 @code{\\markup}.  Se puede trucar la colocación vertical de los
index 34e1bae8175b08aa014d864e5843b5e2d12b4176..46827e4131b8ae1ddfe4c9a9f228235f04b4fb32 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords, ancient-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al escribir un bajo cifrado, existe una forma de especificar si
 queremos que las cifras se sitúen encima o debajo de las notas del
index 9ef23147e1cb5ebf419c414871db77544d36243e..22c31cb7324ad4c4367ff536d1f9cf6031acd29a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation, vocal-music"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Añadir un ámbito por voz"
   texidoces = "
 Se puede añadir un ámbito por cada voz. En este caso, el ámbito se
index 9f5b0ca6e0e48f4d422096a24848f2163a993352..dbed9f3bf6f8e23fe410b3cd7b99be1ad40de258 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers, breaks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al añadir un pentagrama nuevo en un salto de línea, por desgracia
 se añade un espacio adicional al final de la línea antes del salto
index 0686fad1d76b31bd11db20d5a8e6a8c961c5185b..d0fbd3570a7c5717b4c0ee278daabcfd6be9dbb8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede añadir (posiblemente de forma temporal) un pentagrama
 nuevo una vez que la pieza ha comenzado.
index e50ac6ebdcaa9b42886dc0ada89be2445a1f5a4b..450a79365a37af13e74b28597df5cf1bcb2b90c0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para añadir indicaciones de línea divisoria dentro del contexto de
 los nombres de acorde @code{ChordNames}, incluya el grabador
index e5b791d56285302fb8e69e19622de9a4f5f247aa..1975d6db201a102a023097e7cfcbf87e2c9ae706 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La sintaxis de LilyPond puede implicar muchas colocaciones poco
 comunes para los paréntesis, corchetes, etc, que a veces se tienen
index b4aa1aad7a895e838dace8df5c3e1864d029c84f..7e046f846cc6c7e86de5dcd48e2cbcd4b879e6fe 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, percussion"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Mediante la utilización de las potentes herramientas preconfiguradas
 como la función @code{\\drummode} y el contexto @code{DrumStaff}, la
index d14ae822069f6df3cdb5bea9ba7b1f7bc8d5715a..28832a9eeecab869a2956c8f5800b048bfef6c89 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La función @code{\\parenthesize} es un truco especial que encierra
 objetos entre paréntesis.  El grob asociado es @code{ParenthesesItem}.
index d5eb9c2b7cf4de8f6baf1475f8034ef3514022fe..f83db72ab2f8f45ebf5b35cd0d2fdf2aed8b3777 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, titles"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Con algo de código de Scheme, se puede añadir fácilmente la fecha
 actual a una partitura.
index 17dff6aa5598718b278672743ab4c89a71fde563..d298793262c679b6be4ba1bd56100df0fd1fd23c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El grabador @code{Volta_engraver} reside de forma predeterminada
 dentro del contexto de @code{Score}, y los corchetes de la repetición
index a19ec0848aa56e5911ab24a2ae41527c019b5926..e9127872a11fe9184ee720352c0edc882b35918c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Voces adicionales para evitar colisiones"
  texidoces = "
 En ciertos casos de polifonía compleja, se necesitan voces adicionales
index f9de50dc263f6d4e20cc1e12c767e1eaf1832a00..476c9fecdddfa46ab864396296f0ebebec40f031 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music, spacing"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este fragmento de código muestra cómo situar la línea de base de la
 letra más cerca del pentagrama.
index 75a07f1556c85f315ded9cf693d86daefca9f7b4..5b10f1635ae6e0b7d8b0fda909cc6f1ca920e867 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Puede ser necesario trucar la propiedad
 @code{shortest-duration-space} para poder ajustar el tamaño de las
index 7d289250812a1aecb2d7e71abb6ede0b914d1023..fbe16f3d7f1aa0424a4884060950ed137235771e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, paper-and-layout, titles"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La alineación horizontal de los nombres de instrumento se puede
 trucar modificando la propiedad @code{Staff.InstrumentName
index a9084121eaefaebdf4cce52028345978a0de7b50..942cc919a7c3d12e50d958f3625ced93de68ce96 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Los números de compás se alinean de forma predeterminada por la
index f88ddfd90b60343df01c52fc50b78dacfd569122..058c2c7dc947060b807721c417b0a91400230152 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Si están especificadas, las marcas de texto se pueden alinear con
 objetos de notación distintos a las líneas divisorias.  Entre estos
index 445ed012821b74e7af64d023fde4f631fb7ac9e0..561473cf0264ff791f82d5221a5946194b543c8d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, fretted-strings, spacing"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 
   texidoces = "
 Las cifras de digitación orientadas verticalmente se colocan de forma
index 6f58f579a45357adf03cd080b66f85ef659b2cd1..1c76e3486aa607db3071901f0abf49e436583801 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, vocal-music"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Ámbitos con varias voces"
   texidoces = "
 La adición del grabador @code{Ambitus_engraver} al contexto de
index e7b341b7c3e4270e129ec1ed784532e307d57056..991f9586cddd4e326e60866f602f0e4a77ab5a37 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 De forma predeterminada se añaden corchetes de análisis sencillos
 debajo del pentagrama.  El ejemplo siguiente muestra una manera de
index 5bd3fb8b156d470486e533f7dbecab8f3342762b..2a86e7a0519a3d3248cf4c89b93b2ffd031d95ff 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Aquí se muestran muchos de (¿o quizá todos?) los símbolos que
 están contemplados por la capacidad de LilyPond para la música
index 84ac1b7f14fe11930220b496c29dce2b966a6aa2..05ba2a51ab0762d8a8f98a723ededbb55e4a7993 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este ejemplo muestra cómo hacer una transcripción moderna de canto
 gregoriano. El canto gregoriano no tiene compás ni plicas; utiliza
index 100fee64f1429faef58802c46648dffbade49c05..25bad966f94089d3fbf6794e32655c1ab715838f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al transcribir música mensural, es útil un «incipit» al compienzo
 de la pieza para indicar la tonalidad y el tempo
index 86820160f5702867dee213ccdfe15d436ffa363f..ad10287da3a014b8c58c58c940b6c15838014be6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las indicaciones de compás también se pueden grabar en estilo antiguo.
 
index 3d9bc8e0316f4671bb2c68e113d6e63335137979..7fefb409f1a8c711e1b2ea915397fd59c79065a7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Aplicar estilos de cabeza según la nota de la escala"
   texidoces = "
 La propiedad @code{shapeNoteStyles} se puede usar para definir varios
index 65088ca71c04830dd534e34a0893e05cc584e2bb..b53cf50135828d94093f137e962c3f5f989b1fb1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "world-music"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para las improvisaciones o @emph{taqasim} que son libres durante unos
 momentos, se puede omitir la indicación de compás y se puede usar
index c051d423576ace9bf0bb3bf537bc315fd5f4d203..8b82245dfe876e4ee946b17564210f0f878060ba 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden subdividir las barras automáticamente.  Estableciendo la
 propiedad @code{subdivideBeams}, las barras se subdividen en
index 6f768627a39a4129c67a88cec7eaa7a7d0ea9980..8d252cc08998c5d3f1b6136d5bfe283715605e08 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las reglas de final de barra especificadas en el contexto
 @code{Score} se aplican a todos los pentagramas, pero se pueden
index f44ab2070425d566d4e4333a25033c171f432c2e..9b758a5d8cc375d01f397badadc9bd843bc98e7c 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 No está especificada ninguna agrupación predeterminada automática
 de las barras para el compás de 7/8, de forma que si se requieren
index e5f99f1d5313552a0988fac162bfde70fed135f8..76b5117d9a24143b1afe0183bd0dc04baa84055f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Normalmente están prohibidos los saltos de línea si las barras
 atraviesan las líneas divisorias.  Se puede cambiar este
index 8be5682a7a56c3d5b2c7b2ff024dabdef5ef6285..de595ce241044df7c8e51b0b72644a0ace2754d1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La instrucción @code{\\whiteout} intercala un rectángulo blanco
 debajo de un elemento de marcado.  Este rectángulo blanco no tapa
index 930189a2f9597ba3f4582fc7f6318fe337f9e009..a044ff4e1d900c2244e669044b111a580c21ab87 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para hacer invisibles partes de un regulador de crescendo, se usa
 el método de dibujar un rectángulo blanco encima de la parte
index 4d3bcf286e523c57e470a91a2eee30d0efc0bf13..700914445065e4d2c72322998dd6faa5d121d2c0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 A veces se denota una «cesura» mediante una doble marca de respiración
 parecida a las vías del tren, con un calderón encima. Este fragmento
index c0d4f83ae76773c8ac66d2a9795889eee085711f..57bac048c590383666525d71caf013da91db0c7c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este ejemplo proporciona una función para tipografiar un regulador con
 texto por debajo, como @qq{molto} o @qq{poco}. El ejemplo ilustra
index b34518ee8921a7f5d31c0293c58ecf0e0c833914..b54d994e17273ac57649cb25601e233f213e68e7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, unfretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para hacer más pequeño el círculo de @code{\\flageolet} (armónico)
 utilice la siguiente función de Scheme.
index 9af0a04c6f14e8b245d8add71b61f4ac922358f0..0220b5513a5762451271e7ad76329fddcecb6186 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden modificar notas individuales de un acorde con la instrucción
 @code{\\tweak}, alterando la propiedad @code{font-size}.
index 3ae5f6bac60b8680ad7688be844754180359e85c..ae5677bf1e6e829a74131afac36a7ccb4b80e397 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se insertan automáticamente barras en ángulo cuando se detecta un
 intervalo muy grande entre las notas.  Se puede hacer un ajuste
index 929d030ad51e2cd5b6bbf54a17a1f1f9b9ea6f4e..a0a26f1019b2915ac026cf461986db73b429200b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede establecer el separador entre las distintas partes del
 nombre de un acorde para que sea cualquier elemento de marcado.
index fabf8b6a12df0e3f5484eb89a1e33b91c351f390..f414f6ec62ca1b654226c9e5bd54d9c4e8984e9e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Cambiar la forma de los silencios multicompás"
  texidoces = "
 Si hay diez compases de silencio o menos, se imprime en el pentagrama
index 3d016488e02d51a24cbe9dee33f190d0e927a526..8ecf9d4e240b2bfafba061abd6d5fa3253528a7d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "contexts-and-engravers, midi"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al producir una salida MIDI, el comportamiento predeterminado es
 que cada pentagrama representa un canal MIDI, con todas las voces
index 723f08f7c44a15d09b53c77caeba9190e385363a..96c66e1c29c9c1ffeb1d3946f5d22fa8777ec309 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al utilizar la posibilidad de combinación automática de partes, se
 puede modificar el texto que se imprime para las secciones de solo
index f47319d193eb4bf5b79736db15a0966b3759b5c1..34e8106465f50ba18081855505e0fb957e71ce61 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede modificar el texto empleado para los crescendos y
 decrescendos modificando las propiedades de contexto
index 15618f4166bff773acbc17d684cb085bfcf72be4..30e0407547c000c9121da90153bdbb85967a948f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede cambiar el aspecto de las ligaduras de expresión de
 continuas a punteadas o intermitentes.
index cc2166f0742d4fe17f69778ff2eb8a0cbb84fabf..5a433de8a0d6504592ea79f21c2fb4961ec2659e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El glifo de la marca de respiración se puede ajustar
 sobreescribiendo la propiedad de texto del objeto de presentación
index a95a9304306504bed3a87f9cce700e6c4bae493c..67108e5acf5b09cb9f4132e06ff05e53d957180f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La nomenclatura inglesa (predeterminada) para los acordes del cifrado
 americano se puede cambiar por la alemana (@code{\\germanChords}
index a34ad8aaa4612c1063bf58183c22d4150db7fcd3..fd117c83b730cda300fe1f0c9979f3a047e89e27 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las alteraciones y los signos «más» pueden aparecer antes o
 después de los números, según el valor de las propiedades
index 1458794515f100f4aed75ab17ef20be49bdcf9d5..1bfca1b7901b34d144dc1b11b423bd4ca3e33d56 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, midi"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para cambiar el tempo en la salida MIDI sin
 imprimir nada, hacemos invisible la indicación metronómica:
index 021187535ef8de95400f5b7a93f0fb822de2146d..c9d7b6940148ecc80e41fb4d76a9bc9e88a40524 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La instrucción @code{\\time} establece las propiedades
 @code{timeSignatureFraction}, @code{beatLength}, @code{beatGrouping} y
index 08ef47e29d959a0253740d3e9d9e7d8003209b86..4acc4fca35a8e632f688b271525f343dba35c3d8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Cambiar el número del grupo especial"
  texidoces = "
 
index b5174187fd133ab35fe1bd83d62b68840933253f..ef7a91ac34c172241074605d802c951dbb48da17 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La propiedad @code{measureLength}, junto con
 @code{measurePosition}, determina cuándo es necesario dibujar una
index ee77bf02bdf37a0901a6049aabac1f92078f08c7..1a7b59d4d222505124884fcde47d5368fb5f370b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, vocal-music, ancient-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este tipo de notación se utiliza para el canto de los Salmos, en
 que las estrofas no siempre tienen la misma longitud.
index 2a07ea063f7eba13bf53b971b57c56c3815bb397..e45c50117bb6f1b3cde7b408f84f27d04ab73281 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede usar la propiedad @code{chordNameExceptions} para
 almacenar una lista de notaciones espaciales para acordes
index 2718c62348320b26df81b73024337136b0c3dbac..1a1feef46d8ca7af684f19d709ddb91be7908ee2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La presentación del acorde de séptima mayor se
 puede ajustar mediante majorSevenSymbol.
index 268bc65f5c389060696963d8973f04bb129f8165..41f76e88647bcf1cce5deac54459b4a2211f8936 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede hacer que los diagramas de posiciones se muestren sólo
 cuando el acorde cambia o al comienzo de una nueva línea.
index 5eb4febaba2bc24990364a5586a863c290c80a3c..9da21ad970e6c07de0556df35e725b4952b73b32 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, chords, keyboards"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los «clusters» o racimos son un mecanismo para indicar la
 interpretación de un ámbito de notas al mismo tiempo.
index be14fa9db416ae7fd2dd2c62037a7d693ca265da..3217d6c7b5ed06153a7adef99c66ae3cf2739c39 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Ciertas indicaciones dinámicas pueden llevar textos (como @qq{più
 forte} o @qq{piano subito}). Se pueden producir usando un bloque
index 38e449a3dda39f1f3ad25a1777374ef44b19844e..438a287f09e8a758ddfae6e125cd70225b95550d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 La herramienta de combinación de partes ( instrucción
index 4417d7ff9a1823f79c41e064404763a366ec571a..f2954dd5086ff413b6ba5a2f1c0812cf50a7426e 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Indicaciones de compases compuestos"
  texidoces = "
 Las indicaciones de compás poco frecuentes como @qq{5/8} se pueden
index 51b617819a7fbd596263cf2d3fe9b5eb22d5e5fe..d84db5cc405b0c601a4e0138cfba3cad861500f5 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La agrupación de pulsos dentro de un compás está controlada por la
 agrupación predeterminada que se establece en @code{beamSettings}.
index 92bf30d465a9a0c5dcddc4bf08e93f9c2d806605..36adab57df3f5d266c446010f71ad23e0ff777f6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede tipografiar un gissando contemporáneo sin nota final
 utilizando una nota oculta y temporalización de cadenza.
index 73055ed5270fe083f290337a07c25434f50f1ad2..4d04cffd6909c2fa3a3c9d3206545d33fe179d93 100644 (file)
@@ -9,5 +9,6 @@ engravers-one-by-one.ly
 mensurstriche-layout-bar-lines-between-the-staves.ly
 nesting-staves.ly
 removing-bar-numbers-from-a-score.ly
+scheme-engraver-ambitus.ly
 use-square-bracket-at-the-start-of-a-staff-group.ly
 vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
index 938eb4e5002b0655586853333c28fa9176393219..47afa1e9fc04fefdfa946e3ecf64af65477c97a9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, chords, keyboards, fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede controlar con precisión la colocación de los números de
 digitación.  Para que se tenga en cuenta la orientación de las
index 1270f7bfc42f1ea3242ba82a51013412c965f4c6..c0734e4a8ac57e111d8d42d931c4867b37d4949f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El orden vertical que ocupan las inscripciones gráficas está
 controlado con la propiedad @code{'script-priority}. Cuanto más
index 321bfa66d1e24f3a47f7b5d511895327fe2e8eda..62e9951a20619581fb075baa8bfb741ebf8ef43f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 texidoces = "
 La creación de un grupeto circular de anticipación entre dos notas,
 donde la nota inferior del grupeto utiliza una alteración, requiere
index 4e690eade4719c1f72732972ec4f065c3e6c1b8f..2ebdfb780f5b832257d1152f80f62a0ec1b0c869 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 En una música que tenga muchas apariciones de la
 misma secuencia de notas a distintas alturas, podría ser de
index c187bc008ba682806b4e7d2556751158cbf6d0a5..9af6cdbf2f27efc4dddfd1fd10c40cfe29948c31 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede trazar un símbolo de arpegio entre notas de distintas
 voces que están sobre el mismo pentagrama si el grabador
index f09633e070a92bc026e4e819b899fdd44cbab64e..f72272a1d879583dcdab68d2f46e5840ddc96c4d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, editorial-annotations, contexts-and-engravers, paper-and-layout"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para crear pentagramas en blanco, genere compases vacíos y después
 elimine el grabador de números de compás @code{Bar_number_engraver}
index ff5c274bde2555b1812bd9e410664e5bcc1bfe45..2aafe5a16a3254cf083f7b902166849fa88139d2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Dentro de un @code{PianoStaff}, es posible hacer que un arpegio
 cruce entre los pentagramas ajustando la propiedad
index 572a2aa9242f7891b5c73d3a6d5a1d08f104a5db..f010e62df5311347aceeaa1fab691b0abccd0c1c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden crear arpegios que se cruzan entre pentagramas dentro de
 contextos distintos a @code{GrandStaff}, @code{PianoStaff} y
index 12c20c7dc3d1ecf2e037d165ef52ebbd8afcbf0e..b779a9ff2f68862ba4c98141a424d36e0bdd9483 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden crear indicaciones metronómicas nuevas en modo de
 marcado, pero no cambian el tempo en la salida MIDI.
index e68fbcdccfcca6efe555a475875b630931e1eeca..daaca20b70702421a7bdc5dc45d35627f6a020d1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Aunque la manera más fácil de añadir paréntesis a una indicación
 de dinámica es utilizar un bloque @code{\\markup}, este método
index aeabf0b5b4095da9476f963e5cc76418a424c8a4..c0323459fe2f579760c2ca540fa352fe76ea4647 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 A diferencia de las inscripciones de texto, las lestras de ensayo
 no se pueden apilar en un punto concreto de la partitura: sólo se
index 3d9d07df249a63ac69a39a46685b5c19c578ae27..e4e55e6a98d7de6d1d26aa721179c3418ef28d57 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, keyboards, unfretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 En determinadas situaciones es necesario crear ligaduras de
 expresión entre notas que están en voces distintas.
index 6649e699db97bcf1bb6d54c890eda630e1a5d983..8f8527a0c56108def6f24300216958acc0d15ae1 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, text, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las instrucciones @code{\\startTextSpan} y @code{\\stopTextSpan}
 permiten la creación de elementos de extensión textuales tan
index 3d7badf04ec90e7bab1788deaebb6f42e4298338..323b153451a395f6e1941837032626778dc41fa0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden tipografiar «custos» en diferentes estilos.
 
index 818037db89c5926cfef9f63ec37a7fadb4678a91..a8fcf5db66c7641955baec8a4798b7156e33af39 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones de acordes por medio de @code{'fret-diagram-details}.
index 6a76a872b85aa2750840b47bd628cdcbc7c9e56c..f032b5a4f0e9ed84f1df533a79c5ff621ff1041a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden establecer las propiedades de los diagramas de
 posiciones a través de @code{'fret-diagram-details}.  Para los
index c41e67bdc1d7c9a92b70faf3a00f025aa1f06451..f08f47c781c4592b7e26cea7fab79dc717e6709e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La dirección predeterminada de las plicas sobre la tercera línea
 del pentagrama está determinada por la propiedad
index d66fe7a03f7844b60be77517fc1cef542bc6e1ed..36f3c1760a55f518c37996e941329b614943d29b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Se pueden añadir diagramas de posiciones predefinidas para
index 3d332c9544a8d8bba04c00f3613ec852ab91407b..b8e5ef22e1726f5220fde807ba5623b696d52771 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Si hay un solo pentagrama en un de los tipos de sistema
 @code{ChoirStaff} o @code{StaffGroup}, el comportamiento
index 357c6dd31bcd464446ba8b180cd90ef45c36c41a..79d5b8ea00d41f980e590c0acec358bf2de8cabb 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Alteraciones de estilo dodecafónico para todas las notas incluidas las naturales"
   texidoces = "
 En las obras de principios del s.XX, empezando por Schoenberg, Berg y
index 8bef9f28377de5f4d94dfb5af0e68dd06ee9f9d4..f7d884778c1bf6aa24461de72cd9196250b59bf5 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede insertar códico PostScript directamente dentro de un
 bloque @code{\\markup}.
index 9585bf9d3a873036f7db689cf431f384a8895b38..cf62f5e61061ef030b464cee2d4153a9083f5026 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Del problema central de la notación, esto es, crear un determinado
 símbolo, se encargan los «plugins» o complementos añadidos.  Cada
index 11ff788d9fd39df6dd26de72b1e45ef4450e5c0d..879a4e8c6aa1208f6ad2973939522e77323960f6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Grabado manual de las ligaduras"
  texidoces = "
 Se pueden grabar a mano las ligaduras modificando la propiedad
index d7f36ada71943ff9e833d0f6d95d1ed3ddf9af74..147e3a4eb706289b7da55f3ed502cb8eeda8cd42 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Escribir varios grupos especiales usando una sola instrucción \\times"
  texidoces = "
 La propiedad @code{tupletSpannerDuration} establece cuánto debe durar
index 0214d4e7ce4d3d1c4205c7435338e715d3f8c479..42f9c0d62dac1b66d132017c6736f39fde34ebff 100644 (file)
@@ -101,7 +101,6 @@ extendOff = \bassFigureExtendersOff
     \new FiguredBass \figuremode {
       \set figuredBassAlterationDirection = #RIGHT
       \set figuredBassPlusDirection = #RIGHT
-      \override VerticalAxisGroup #'minimum-Y-extent = #'()
       \override BassFigureAlignment #'stacking-dir = #DOWN
       s8 |
       s4 <6>4 <_+>4 <6>4 |
index 69870f77d047dd8e686f7eba5cbb9dfa1811fc9b..209391776c6b9efaf8252c031ddc5a09ed92928e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 En este ejemplo se combinan las digitaciones de la mano izquierda,
 indicaciones del número de cuerda y digitaciones de la mano
index 0645de9db272ec57dad4144b0aa9080029ba3228..05483d61c3fdfb05320b6ffc0fed71ad54212065 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Son posibles tanto los corchetes rectos sobre notas sueltas como
 extremos de barra sueltos en figuras unidas, con una combinación de
index f9de6a359519debb4cf850d1df905c3afe94554a..3d344ab5f418ea5639d468e8f837b03e874f2e46 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "simultaneous-notes, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 
  doctitlees = "Forzar el desplazamiento horizontal de las notas"
 
index da0562f524d69027e7d1e77ce0740e4ce3c89c05..1294435e32d693a52dac08e63fb9fea6fd64db69 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este fragmento de código basado en Scheme genera
 24 notas aleatorias (o tantas como se necesiten), basándose en la
index e33cd7bec43b8f4d1185bcaee425f55d9147da1a..db6e47afc395bbe8c10997a0bb669d7e97198086 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede cambiar el aspecto de las líneas de rejilla
 sobreescribiendo algunas de sus propiedades.
index cea37905681a79b220b1daf1cfe1e45f176aba96..47526c69b54b4b3872f2ba1f035f32081c18f8bd 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden trazar líneas verticales normales entre pentagramas para
 mostrar la relación entre notas; sin embargo, en caso de música
index 7295de89551885226096b719027ac34aa2c16359..85417550e8a7375db7ac675e5a6a5f2118f048b6 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los patrones de barrado se pueden alterar con la propiedad
 @code{beatGrouping}:
index ce0d83a0f213cd88853838f10c1357d91b2a31fd..211dd77ba21123ad0f4446713442cb576ab76ed9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para la música de guitarra, es posible mostrar los ritmos de rasgueo,
 además de las notas de la melodía, acordes y diagramas de posiciones.
index 6771a0b3726777eb8367e61637d1c0945e6cccd5..7e4be26ad253e5543503720bf8802f173ae1ebfe 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los cambios de dinámica con estilo de texto (como cresc. y dim.)
 se imprimen con una línea intermitente que muestra su alcance.
index 74a3b799278cbd068e72e8117c37dbc8c52541c2..992a03ae798c8c0ddde2f24dfe220c3ec1019a53 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los «incipit» se pueden escribir utilizando el grob del nombre del
 instruemento, pero manteniendo independientes las definiciones del
@@ -172,7 +172,6 @@ tenorIncipit = <<
 
 tenorNotes = {
   \transpose c' c' {
-    \once \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 3)
     \clef "treble_8"
     R1 |
     R1 |
index 037f17bd43390dc39c85cb8980d566f4da09924c..51a897c8385f005f7c572859abec445291fadda2 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Un corchete de arpegio puede indicar que se tienen que tocadr con la
 misma mano notas que están en dos pentagramas distintos. Para hacerlo,
index 799a5579dc4307b71fc52574373d16738b123c51..517df9183eef3c6d3db69d1c4a99ab0a95a31ffa 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las marcas de cesura se pueden crear sobreescribiendo la propiedad
 @code{'text} del objeto @code{BreathingSign}.  También está disponible
index 246f68ec2c6181f624aeb6fbaafccb40e571f8aa..3f7b813d8d679cb07b428d0ffc1ea5a7960c82a6 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 También se pueden imprimir símbolos de porcentaje sueltos.  Esto se
 hace introduciendo un silencio multicompás con una función de
index a2ceb7e423e7bc391b61779403bf499971c11121..b88447433833b36005260594ad4ac6cfacfc8399 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards, percussion, fretted-strings, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Ésta es una plantilla bastante avanzada, para un conjunto de
 jazz. Observe que la notación de todos los instrumentos está en
index 65417cf35daa37a26ec1716f2e6dd26c489b4a8a..87c251a3d4d96879b5a787ca8817032183c8d83e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden aplicar puntas de flecha a los elementos de extensión de
 texto y de línea (como el Glissando).
index 4e5771a8366cac1673ee446a228aa17d0984c0f5..ef7f54eee1182f408f39555b6d5d47345fc78729 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La alineación horizontal de la letra se puede ajustar sobreescribiendo
 la propiedad @code{self-alignment-X} del objeto @code{LyricText}.
index 4f99c786fbc18782903caa82c0d581d0ab694e22..8ae7e93b1ca7891db14efc6c90775b05f5fcecea 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El «Makam» es un tipo de melodía de Turquía que
 utiliza alteraciones microtonales de 1/9 de tono.  Consulte el
index 6f63878cbe8d261e766e342abc4e76cfee5668dc..f2054a77bb537e29507aca2c5ee1533e4905c0bb 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Las ligaduras de expresión se pueden construir con patrones de
index 47265234b09acbf39040ccd135140c4bfa4ef069..cdd73be6c2567766dceb7d703e9d9e60e94c40af 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede engrosar una línea del pentagrama con fines pedagógicos
 (p.ej. la tercera línea o la de la clave de Sol).  Esto se puede
index 79c648edc63d87953428d33ab145eabcbdf902c9..3cf4bac109689f5a0bae6fee272be1a689326a66 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, staff-notation, editorial-annotations"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este fragmento de código proporciona una solución alternativa a la
 producción de contadores de compás utilizando repeticiones
index 3cec6a105c85daf2b81c610941ffb09f37a0392a..4df9a3eae4968eea10e38a74cfc887f810569a06 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, ancient-notation, contexts-and-engravers, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La disposición «mensurstriche» en que las líneas divisorias no
 están dibujadas sobre los pentagramas, sino entre ellos, se puede
index dd460da1f0517416d0df68bc2365eee78b4419be..f61a03fbe8e42f39004e174e2f732ebb1bbde613 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las abreviaturas se encuentran definidas dentro del archivo
 @code{ly/script-init.ly}, donde las variables @code{dashHat},
index 41fc17d8796ad7fdedf766a6d09968238c0030ce..9ecbcfbe89d3ff0f11b97f4ffa21cf115b5ea109 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 texidoces = "
 Los elementos de marcado aplicados a un silencio multicompás se
 centran encima o debajo de éste.  Los elementos de marcado extensos
index ecbb924f8730fa71d7c7066ed1c5e76aa9b2c26b..a3c5209e283ed4962ebfa44a9b8cf4e59fe508ef 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede utilizar la propiedad
 @code{systemStartDelimiterHierarchy} para crear grupos de
index 78403f7c4fe265e3d99e19d6307ac456f98a8381..9bcd3d9da20634791b241397178078f6ea05de67 100644 (file)
@@ -96,7 +96,6 @@ extendOff = \bassFigureExtendersOff
     \new FiguredBass \figuremode {
       \set figuredBassAlterationDirection = #RIGHT
       \set figuredBassPlusDirection = #RIGHT
-      \override VerticalAxisGroup #'minimum-Y-extent = #'()
       \override BassFigureAlignment #'stacking-dir = #DOWN
       s8 |
       s4 <6>4 <_+>4 <6>4 |
index 8e8c6ce418c05708933e3dae94ad3e14ddbc075f..24b86e6c6c0f72d062b4309d14917ced843ef6d9 100644 (file)
@@ -159,7 +159,6 @@ tenorIncipit = <<
 
 tenorNotes = {
   \transpose c' c' {
-    \once \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 3)
     \clef "treble_8"
     R1 |
     R1 |
diff --git a/Documentation/snippets/new/scheme-engraver-ambitus.ly b/Documentation/snippets/new/scheme-engraver-ambitus.ly
new file mode 100644 (file)
index 0000000..2a382e6
--- /dev/null
@@ -0,0 +1,223 @@
+\version "2.13.15"
+
+\header {
+
+  lsrtags = "contexts-and-engravers"
+  
+  
+  texidoc = "This example demonstrates how the ambitus engraver may be
+  defined on the user side, with a Scheme engraver.
+
+  This is basically a rewrite in Scheme of the code from
+  @file{lily/ambitus-engraver.cc}.
+"
+
+  doctitle = "Defining an engraver in Scheme: ambitus engraver"
+}
+
+#(use-modules (oop goops))
+
+%%%
+%%% Grob utilities
+%%%
+#(define (ly:event::in-event-class event class-name)
+   (memq class-name (ly:make-event-class (ly:event-property event 'class))))
+
+#(define (ly:separation-item::add-conditional-item grob grob-item)
+   (ly:pointer-group-interface::add-grob grob 'conditional-elements grob-item))
+
+#(define (ly:accidental-placement::accidental-pitch accidental-grob)
+   (ly:event-property (ly:grob-property (ly:grob-parent accidental-grob Y) 'cause)
+                      'pitch))
+
+#(define (ly:accidental-placement::add-accidental grob accidental-grob)
+   (let ((pitch (ly:accidental-placement::accidental-pitch accidental-grob)))
+     (set! (ly:grob-parent accidental-grob X) grob)
+     (set! (ly:grob-property accidental-grob 'X-offset)
+           ly:grob::x-parent-positioning)
+     (let* ((accidentals (ly:grob-object grob 'accidental-grobs))
+            (handle (assq (ly:pitch-notename pitch) accidentals))
+            (entry (if handle (cdr handle) '())))
+       (set! (ly:grob-object grob 'accidental-grobs)
+             (assq-set! accidentals (ly:pitch-notename pitch) (cons accidental-grob entry))))))
+
+%%%
+%%% Ambitus data structure
+%%%
+#(define-class <ambitus> ()
+   (ambitus-line #:accessor ambitus-line)
+   (ambitus-group #:accessor ambitus-group)
+   (ambitus-up-note #:getter ambitus-up-note
+                    #:init-form (make <ambitus-note>))
+   (ambitus-down-note #:getter ambitus-down-note
+                      #:init-form (make <ambitus-note>))
+   (is-typeset #:accessor ambitus-is-typeset
+               #:init-value #f)
+   (start-c0 #:accessor ambitus-start-c0
+             #:init-value #f)
+   (start-key-sig #:accessor ambitus-start-key-sig
+                  #:init-value '()))
+
+#(define-method (ambitus-note (ambitus <ambitus>) direction)
+   (if (= direction UP)
+       (ambitus-up-note ambitus)
+       (ambitus-down-note ambitus)))
+
+#(define-accessor ambitus-head)
+#(define-method (ambitus-head (ambitus <ambitus>) direction)
+   (ambitus-note-head (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-head) (ambitus <ambitus>) direction head)
+   (set! (ambitus-note-head (ambitus-note ambitus direction)) head))
+
+#(define-accessor ambitus-accidental)
+#(define-method (ambitus-accidental (ambitus <ambitus>) direction)
+   (ambitus-note-accidental (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-accidental) (ambitus <ambitus>) direction accidental)
+   (set! (ambitus-note-accidental (ambitus-note ambitus direction)) accidental))
+
+#(define-accessor ambitus-cause)
+#(define-method (ambitus-cause (ambitus <ambitus>) direction)
+   (ambitus-note-cause (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-cause) (ambitus <ambitus>) direction cause)
+   (set! (ambitus-note-cause (ambitus-note ambitus direction)) cause))
+
+#(define-accessor ambitus-pitch)
+#(define-method (ambitus-pitch (ambitus <ambitus>) direction)
+   (ambitus-note-pitch (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-pitch) (ambitus <ambitus>) direction pitch)
+   (set! (ambitus-note-pitch (ambitus-note ambitus direction)) pitch))
+
+#(define-class <ambitus-note> ()
+   (head #:accessor ambitus-note-head
+         #:init-value #f)
+   (accidental #:accessor ambitus-note-accidental
+               #:init-value #f)
+   (cause #:accessor ambitus-note-cause
+          #:init-value #f)
+   (pitch #:accessor ambitus-note-pitch
+          #:init-value #f))
+
+%%%
+%%% Ambitus engraving logics
+%%%
+#(define (make-ambitus translator)
+   (let ((ambitus (make <ambitus>)))
+     (set! (ambitus-line ambitus) (ly:engraver-make-grob translator 'AmbitusLine '()))
+     (set! (ambitus-group ambitus) (ly:engraver-make-grob translator 'Ambitus '()))
+     (for-each (lambda (direction)
+                 (let ((head (ly:engraver-make-grob translator 'AmbitusNoteHead '()))
+                       (accidental (ly:engraver-make-grob translator 'AmbitusAccidental '()))
+                       (group (ambitus-group ambitus)))
+                   (set! (ly:grob-parent accidental Y) head)
+                   (set! (ly:grob-object head 'accidental-grob) accidental)
+                   (ly:axis-group-interface::add-element group head)
+                   (ly:axis-group-interface::add-element group accidental)
+                   (set! (ambitus-head ambitus direction) head)
+                   (set! (ambitus-accidental ambitus direction) accidental)))
+               (list DOWN UP))
+     (set! (ly:grob-parent (ambitus-line ambitus) X) (ambitus-head ambitus DOWN))
+     (ly:axis-group-interface::add-element (ambitus-group ambitus) (ambitus-line ambitus))
+     (set! (ambitus-is-typeset ambitus) #f)
+     ambitus))
+
+#(define-method (typeset-ambitus (ambitus <ambitus>) translator)
+   (if (not (ambitus-is-typeset ambitus))
+       (begin
+         (set! (ambitus-start-c0 ambitus)
+               (ly:context-property (ly:translator-context translator)
+                                    'middleCPosition
+                                    0))
+         (set! (ambitus-start-key-sig ambitus)
+               (ly:context-property (ly:translator-context translator)
+                                                              'keySignature))
+         (set! (ambitus-is-typeset ambitus) #t))))
+
+#(define-method (update-ambitus-notes (ambitus <ambitus>) note-grob)
+   (let ((note-event (ly:grob-property note-grob 'cause)))
+     (if (ly:event::in-event-class note-event 'note-event)
+         (let ((pitch (ly:event-property note-event 'pitch)))
+           (if (or (not (ambitus-pitch ambitus DOWN))
+                   (ly:pitch<? pitch (ambitus-pitch ambitus DOWN)))
+               (begin ;; update down pitch
+                 (set! (ambitus-pitch ambitus DOWN) pitch)
+                 (set! (ambitus-cause ambitus DOWN) note-event)))
+           (if (or (not (ambitus-pitch ambitus UP))
+                   (ly:pitch<? (ambitus-pitch ambitus UP) pitch))
+               (begin ;; update up pitch
+                 (set! (ambitus-pitch ambitus UP) pitch)
+                 (set! (ambitus-cause ambitus UP) note-event)))))))
+
+#(define-method (finalize-ambitus (ambitus <ambitus>) translator)
+   (if (and (ambitus-pitch ambitus UP) (ambitus-pitch ambitus DOWN))
+       (let ((accidental-placement (ly:engraver-make-grob translator
+                                                          'AccidentalPlacement
+                                                          (ambitus-accidental ambitus DOWN))))
+         (for-each (lambda (direction)
+                     (let ((pitch (ambitus-pitch ambitus direction)))
+                       (set! (ly:grob-property (ambitus-head ambitus direction) 'cause)
+                             (ambitus-cause ambitus direction))
+                       (set! (ly:grob-property (ambitus-head ambitus direction) 'staff-position)
+                             (+ (ambitus-start-c0 ambitus)
+                                (ly:pitch-steps pitch)))
+                       (let* ((handle (or (assoc (cons (ly:pitch-octave pitch)
+                                                       (ly:pitch-notename pitch))
+                                                 (ambitus-start-key-sig ambitus))
+                                          (assoc (ly:pitch-notename pitch)
+                                                 (ambitus-start-key-sig ambitus))))
+                              (sig-alter (if handle (cdr handle) 0)))
+                         (cond ((= (ly:pitch-alteration pitch) sig-alter)
+                                (ly:grob-suicide! (ambitus-accidental ambitus direction))
+                                (set! (ly:grob-object (ambitus-head ambitus direction)
+                                                      'accidental-grob)
+                                      '()))
+                               (else
+                                (set! (ly:grob-property (ambitus-accidental ambitus direction)
+                                                        'alteration)
+                                      (ly:pitch-alteration pitch)))))
+                       (ly:separation-item::add-conditional-item (ambitus-head ambitus direction)
+                                                                 accidental-placement)
+                       (ly:accidental-placement::add-accidental accidental-placement
+                                                                (ambitus-accidental ambitus direction))
+                       (ly:pointer-group-interface::add-grob (ambitus-line ambitus)
+                                                             'note-heads
+                                                             (ambitus-head ambitus direction))))
+                   (list DOWN UP))
+         (ly:axis-group-interface::add-element (ambitus-group ambitus) accidental-placement))
+       (begin ;; no pitch ==> suicide all grobs
+         (for-each (lambda (direction)
+                     (ly:grob-suicide! (ambitus-accidental ambitus direction))
+                     (ly:grob-suicide! (ambitus-head ambitus direction)))
+                   (list DOWN UP))
+         (ly:grob-suicide! ambitus-line))))
+
+%%%
+%%% Ambitus engraver definition
+%%%
+#(define ambitus-engraver
+   (lambda (context)
+     (let ((ambitus #f))
+       `((process-music . ,(lambda (translator)
+                             (if (not ambitus)
+                                 (set! ambitus (make-ambitus translator)))))
+         (stop-translation-timestep . ,(lambda (translator)
+                                         (if ambitus
+                                             (typeset-ambitus ambitus translator))))
+         (acknowledgers
+          (note-head-interface . ,(lambda (engraver grob source-engraver)
+                                    (if ambitus
+                                        (update-ambitus-notes ambitus grob)))))
+         (finalize . ,(lambda (translator)
+                        (if ambitus
+                            (finalize-ambitus ambitus translator))))))))
+
+%%%
+%%% Example
+%%%
+
+\score {
+  \new StaffGroup <<
+    \new Staff { c'4 des' e' fis' gis' }
+    \new Staff { \clef "bass" c4 des ~ des ees b, }
+  >>
+  \layout { \context { \Staff \consists #ambitus-engraver } }
+}
index 201abbd9286b323f9d15959a51d51de6b60686d3..3236f7eeb17aa97d908b5a84a01d6709ea93d870 100644 (file)
   }
 }
 
-trillflat =
-\once \override TrillSpanner #'(bound-details left text) =
-#(markup #:translate-scaled '(-0.05 . -1)
-  #:concat (#:musicglyph "scripts.trill"
-    #:translate '(-0.5 . 1.9) #:fontsize -7 #:flat))
-
+trillFlat =
+\once \override TrillSpanner #'(bound-details left text) = \markup {
+  \concat {
+    \musicglyph #"scripts.trill"
+    \translate #'(-0.5 . 1.9)
+    \fontsize #-7
+    \with-dimensions #'(0 . 0) #'(0 . 0)
+    \flat
+  }
+}
 
 \new PianoStaff <<
 
@@ -95,7 +99,7 @@ trillflat =
       |
       \break
 
-      \trillflat
+      \trillFlat
       af''4. \startTrillSpan
       ~
       af''8.
@@ -151,7 +155,7 @@ trillflat =
       |
 
       d''8. \stopTrillSpan
-      \trillflat
+      \trillFlat
       d''4. \startTrillSpan
       ~
 
@@ -178,7 +182,7 @@ trillflat =
 
       |
 
-      \trillflat
+      \trillFlat
       d''4. \startTrillSpan
       ~
       d''8.
index dbc999cfa1c37eea64fca72301ebf6d58d85c2ed..540c37356a3b180e2bb5869c1b100a20b8814418 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 LilyPond también proporciona funciones de formato para imprimir
 números de grupo especial diferentes a la propia fracción, así
index db46a3c38ee2b9582e7a857e5bbd4eb0a263bacb..e73c728d7c7682ea803338f5c07f34da7abd9649 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Armaduras de tonalidad no tradicionales"
   texidoces = "
 
index fa5726e2a078b682ae3f06d5a24daf842009ef60..8d5d29f26634dd3bc47c0b6dc2b0647f4871ecda 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Esta plantilla muestra el uso de contextos @code{StaffGroup} y
index 3422e30c0e1f3e7062b729e61704f52f2b6a8fbe..d9c479413ba9ba60eeeb8195e73393a1a0a9fd33 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Internamente, @code{\\ottava} establece las propiedades
index f3bc28c43e2e93872720f235636ce408091e60f2..f27092f63495c6cf98cb360dc21a61cb8a317b44 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden mostrar los contadores de las repeticiones del tipo
 porcentaje a intervalos regulares mediante el establecimiento de
index 25bd6bcf669b8f6aff6c9fc9cbae1107a3cd7a95..dbd483547ff12fb2889c6c66cd85e05123d9535f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las repeticiones de compases completos mayores de dos repeticiones
 pueden llevar un contador si se activa la propiedad adecuada, como se
index f8879369c9cdbbf6e122063444031973758ca324..45c06f3bafacfb5a1a584c723b683b53aa72812b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Permitir saltos de línea dentro de grupos especiales con barra"
  texidoces = "
 Este ejemplo artificial muestra cómo se pueden permitir tanto los
index 27af99bf1cbe7901b4380acb36ebfebb3a43da3a..af214c349a2c3a299944a34ec2eccf8786880676 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "keyboards, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Presentamos a continuación una plantilla de piano sencilla con algunas
 notas.
index 0838759326ded030583a8176056e25c6ca1627b8..9385d7f391e9b57cb0da46567f0d1db979eef64d 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Muchas partituras de piano tienen las indicaciones dinámicas centradas
 entre los dos pentagramas.  El contexto @code{Dynamics}, si se sitúa
index 2e8702e18253e53e178a9938edeaa7fae1c1980c..9cefd72cd06ef49dcddd876b869e55b90e9fb9ad 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, keyboards, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 En lugar de tener un pentagrama dedicado a la melodía y la letra, ésta
 se puede centrar entre los pentagramas de un sistema de piano.
index 216199e6ad1e7bda5191a391094efc03a55e5ae9..cf2c02381675e1d5362b96c3b0bafc42237bd720 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, keyboards, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 He aquí el típico formato dde una canción: un pentagrama con la
 melodía y la letra, y el acompañamiento de piano por debajo.
index e95b7e644796d412beaf93b684370b4497265cf3..f2a8e56bd36926bc96c04ac08e6804a1b479a339 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Es posible ejercer un mayor control sobre la colocación de las
 digitaciones de la mano derecha estableciendo el valor de una
index 7afb90189a0d59a813c7cbd552d2a6cb616f4ab3..100c5980b229fe4cc10e09445dc5b476d42b6363 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "fretted-strings"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La polifonía se crea de la misma forma en un @code{TabStaff} que
 en una pauta normal.
index 7b3163911dcd8d8c3a199c433c1401b0766a7cdb..28969d15ea56034b2c8f3c17a86e8d0b5f5f2faf 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Al establecer la propiedad @code{'strict-grace-spacing} hacemos que
index 660e124321a1ff913e247afb6d385e9c75b4501f..943279d880d00a6066b253c1ffc0ecf2d431bf18 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Posicionar los silencios multicompás"
  texidoces = "
 A diferencia de los silencios normales, no existe una instrucción
index 61247faf2df6f4730426a9a8868f1712e4c47b04..afbd9bc8bee8c21fa0d54bdbc533bedb0c071e96 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Los elementos de marcado de texto deben tener la propiedad
index 7071656e2b1c8bf72ab9cedf4e76b00ed4268ef4..4f837d83954c3c0f884b09c673c1373491000516 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 doctitlees = "Evitar que se añadan becuadros adicionales automáticamente"
 
 texidoces = "
index 07bc9a4f12a447ba5bc96fd7c715d9f554c300d1..b8c47f4c8eda9fb84ae5c7f7402e6ddb00333275 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 doctitlees = "Evitar que se impriman becuadros cuando cambia la armadura"
 
 texidoces = "
index c9d88ddea7c4970d5f391e7f1429a38545cbebc6..994288e22d8c7510fbec20e60e698dd53ec2580d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede imprimir una línea divisoria de la forma @code{|:} al
 principio de la pieza, sobreescribiendo la propiedad correspondiente:
index 6eaa3db2eecf4a1af584ac20f8357ee399f190d1..04cd7a84401379595afc65335561d8a60843e52e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Se pueden imprimir los números de compás a intervalos regulares
index 7dd9bcac8facf368f0b244f90a0cc878a773df78..a867470c340f7789eefbf01ce31de5ce76129aae 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Los números de compás también se pueden imprimir dentro de rectángulos o de circunferencias.
index 796ebe2519bf6918d44d83945ccf17cde24dbe70..e3a38dd2183797a879ae0b530dec904754baaa1d 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden imprimir reguladores con un círculo en la punta (notación
 «al niente») estableciendo la propiedad @code{circled-tip} del objeto
index dadb15cb20896be7722a953f3ed1cb933757203b..e1efabf0bc5de8acae983e574f437fe8d1515a57 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Aunque normalmente las marcas de texto sólo se imprimen sobre el
 pentagrama superior, también se pueden imprimir en otro pentagrama
index e8213b55221b94ff3c4b8792c42457da80910ec2..d4fa342c2bd6f4513cda716302c02d2fc1096401 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, expressive-marks, staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 De forma predeterminada, las indicaciones metronómicas y las
 letras de ensayo se imprimen encima del pentagrama.  Para
index 7c2d3929b734c88b28d6784a88a64b22324adf72..b62272d9335da9c8919e338ec52cb8fcaca3e911 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 De forma predeterminada se suprime el número del primer compás de una
index 3442bc67d56fa33d33fc20091f9d49e8ba30cb25..80b55ebf2f32e1630c3f5156a8528e4c21a4fcc0 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los pasajes citados tienen en cuenta la transposición de la fuente
 tanto como la del destino.  En este ejemplo, todos los
index 779549afc27d6ab4ea2b3272535e4f0947bc0cbc..012da5c3e55d77d75937b5d6312808136bae6670 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 La propiedad @code{quotedEventTypes} determina los tipos de eventos
index e46be7fde9b8ef5c9f6bbb73dfb4f15277e76bde..de873d3df524288627c61067be65ac40ff4be741 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Los valores predeterminados para las notas de adorno están
index 441634bc95e372e3f49eedf28418ac6f597d21d2..c48d80c95e03ff41b784510b83ae9011352992c8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Se pueden eliminar completamente los números de compás quitando el
index db4c17fa92163635f547e84378305c01224e1bfc..6430dee88f58156df2f441df25f8c959356dd7da 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, tweaks-and-overrides, breaks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El primer pentagrama vacío también se puede suprimir de la
 partitura estableciendo la propiedad @code{remove-first} de
index a36991f2ea889e054f358fd63be76efd7e2c7617..77dd2e25f164ced35ea0f2e106d19848779059d4 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Estilos de silencios"
   texidoces = "
 Los silencios se pueden imprimir en distintos estilos.
index 24fe3f6b35fc02afd3e37e97516e3ce621cb2dc5..5509c186d642700a7453149f95a971af33a5dcae 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Para tipografiar las barras agrupadas en la forma @code{3-4-3-2}
 en 12/8, en primer lugar tenemos que sobreescribir los finales de
diff --git a/Documentation/snippets/scheme-engraver-ambitus.ly b/Documentation/snippets/scheme-engraver-ambitus.ly
new file mode 100644 (file)
index 0000000..a468321
--- /dev/null
@@ -0,0 +1,228 @@
+% Do not edit this file; it is automatically
+% generated from Documentation/snippets/new
+% This file is in the public domain.
+%% Note: this file works from version 2.13.15
+\version "2.13.15"
+
+\header {
+
+  lsrtags = "contexts-and-engravers"
+  
+  
+  texidoc = "This example demonstrates how the ambitus engraver may be
+  defined on the user side, with a Scheme engraver.
+
+  This is basically a rewrite in Scheme of the code from
+  @file{lily/ambitus-engraver.cc}.
+"
+
+  doctitle = "Defining an engraver in Scheme: ambitus engraver"
+} % begin verbatim
+
+
+#(use-modules (oop goops))
+
+%%%
+%%% Grob utilities
+%%%
+#(define (ly:event::in-event-class event class-name)
+   (memq class-name (ly:make-event-class (ly:event-property event 'class))))
+
+#(define (ly:separation-item::add-conditional-item grob grob-item)
+   (ly:pointer-group-interface::add-grob grob 'conditional-elements grob-item))
+
+#(define (ly:accidental-placement::accidental-pitch accidental-grob)
+   (ly:event-property (ly:grob-property (ly:grob-parent accidental-grob Y) 'cause)
+                      'pitch))
+
+#(define (ly:accidental-placement::add-accidental grob accidental-grob)
+   (let ((pitch (ly:accidental-placement::accidental-pitch accidental-grob)))
+     (set! (ly:grob-parent accidental-grob X) grob)
+     (set! (ly:grob-property accidental-grob 'X-offset)
+           ly:grob::x-parent-positioning)
+     (let* ((accidentals (ly:grob-object grob 'accidental-grobs))
+            (handle (assq (ly:pitch-notename pitch) accidentals))
+            (entry (if handle (cdr handle) '())))
+       (set! (ly:grob-object grob 'accidental-grobs)
+             (assq-set! accidentals (ly:pitch-notename pitch) (cons accidental-grob entry))))))
+
+%%%
+%%% Ambitus data structure
+%%%
+#(define-class <ambitus> ()
+   (ambitus-line #:accessor ambitus-line)
+   (ambitus-group #:accessor ambitus-group)
+   (ambitus-up-note #:getter ambitus-up-note
+                    #:init-form (make <ambitus-note>))
+   (ambitus-down-note #:getter ambitus-down-note
+                      #:init-form (make <ambitus-note>))
+   (is-typeset #:accessor ambitus-is-typeset
+               #:init-value #f)
+   (start-c0 #:accessor ambitus-start-c0
+             #:init-value #f)
+   (start-key-sig #:accessor ambitus-start-key-sig
+                  #:init-value '()))
+
+#(define-method (ambitus-note (ambitus <ambitus>) direction)
+   (if (= direction UP)
+       (ambitus-up-note ambitus)
+       (ambitus-down-note ambitus)))
+
+#(define-accessor ambitus-head)
+#(define-method (ambitus-head (ambitus <ambitus>) direction)
+   (ambitus-note-head (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-head) (ambitus <ambitus>) direction head)
+   (set! (ambitus-note-head (ambitus-note ambitus direction)) head))
+
+#(define-accessor ambitus-accidental)
+#(define-method (ambitus-accidental (ambitus <ambitus>) direction)
+   (ambitus-note-accidental (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-accidental) (ambitus <ambitus>) direction accidental)
+   (set! (ambitus-note-accidental (ambitus-note ambitus direction)) accidental))
+
+#(define-accessor ambitus-cause)
+#(define-method (ambitus-cause (ambitus <ambitus>) direction)
+   (ambitus-note-cause (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-cause) (ambitus <ambitus>) direction cause)
+   (set! (ambitus-note-cause (ambitus-note ambitus direction)) cause))
+
+#(define-accessor ambitus-pitch)
+#(define-method (ambitus-pitch (ambitus <ambitus>) direction)
+   (ambitus-note-pitch (ambitus-note ambitus direction)))
+#(define-method ((setter ambitus-pitch) (ambitus <ambitus>) direction pitch)
+   (set! (ambitus-note-pitch (ambitus-note ambitus direction)) pitch))
+
+#(define-class <ambitus-note> ()
+   (head #:accessor ambitus-note-head
+         #:init-value #f)
+   (accidental #:accessor ambitus-note-accidental
+               #:init-value #f)
+   (cause #:accessor ambitus-note-cause
+          #:init-value #f)
+   (pitch #:accessor ambitus-note-pitch
+          #:init-value #f))
+
+%%%
+%%% Ambitus engraving logics
+%%%
+#(define (make-ambitus translator)
+   (let ((ambitus (make <ambitus>)))
+     (set! (ambitus-line ambitus) (ly:engraver-make-grob translator 'AmbitusLine '()))
+     (set! (ambitus-group ambitus) (ly:engraver-make-grob translator 'Ambitus '()))
+     (for-each (lambda (direction)
+                 (let ((head (ly:engraver-make-grob translator 'AmbitusNoteHead '()))
+                       (accidental (ly:engraver-make-grob translator 'AmbitusAccidental '()))
+                       (group (ambitus-group ambitus)))
+                   (set! (ly:grob-parent accidental Y) head)
+                   (set! (ly:grob-object head 'accidental-grob) accidental)
+                   (ly:axis-group-interface::add-element group head)
+                   (ly:axis-group-interface::add-element group accidental)
+                   (set! (ambitus-head ambitus direction) head)
+                   (set! (ambitus-accidental ambitus direction) accidental)))
+               (list DOWN UP))
+     (set! (ly:grob-parent (ambitus-line ambitus) X) (ambitus-head ambitus DOWN))
+     (ly:axis-group-interface::add-element (ambitus-group ambitus) (ambitus-line ambitus))
+     (set! (ambitus-is-typeset ambitus) #f)
+     ambitus))
+
+#(define-method (typeset-ambitus (ambitus <ambitus>) translator)
+   (if (not (ambitus-is-typeset ambitus))
+       (begin
+         (set! (ambitus-start-c0 ambitus)
+               (ly:context-property (ly:translator-context translator)
+                                    'middleCPosition
+                                    0))
+         (set! (ambitus-start-key-sig ambitus)
+               (ly:context-property (ly:translator-context translator)
+                                                              'keySignature))
+         (set! (ambitus-is-typeset ambitus) #t))))
+
+#(define-method (update-ambitus-notes (ambitus <ambitus>) note-grob)
+   (let ((note-event (ly:grob-property note-grob 'cause)))
+     (if (ly:event::in-event-class note-event 'note-event)
+         (let ((pitch (ly:event-property note-event 'pitch)))
+           (if (or (not (ambitus-pitch ambitus DOWN))
+                   (ly:pitch<? pitch (ambitus-pitch ambitus DOWN)))
+               (begin ;; update down pitch
+                 (set! (ambitus-pitch ambitus DOWN) pitch)
+                 (set! (ambitus-cause ambitus DOWN) note-event)))
+           (if (or (not (ambitus-pitch ambitus UP))
+                   (ly:pitch<? (ambitus-pitch ambitus UP) pitch))
+               (begin ;; update up pitch
+                 (set! (ambitus-pitch ambitus UP) pitch)
+                 (set! (ambitus-cause ambitus UP) note-event)))))))
+
+#(define-method (finalize-ambitus (ambitus <ambitus>) translator)
+   (if (and (ambitus-pitch ambitus UP) (ambitus-pitch ambitus DOWN))
+       (let ((accidental-placement (ly:engraver-make-grob translator
+                                                          'AccidentalPlacement
+                                                          (ambitus-accidental ambitus DOWN))))
+         (for-each (lambda (direction)
+                     (let ((pitch (ambitus-pitch ambitus direction)))
+                       (set! (ly:grob-property (ambitus-head ambitus direction) 'cause)
+                             (ambitus-cause ambitus direction))
+                       (set! (ly:grob-property (ambitus-head ambitus direction) 'staff-position)
+                             (+ (ambitus-start-c0 ambitus)
+                                (ly:pitch-steps pitch)))
+                       (let* ((handle (or (assoc (cons (ly:pitch-octave pitch)
+                                                       (ly:pitch-notename pitch))
+                                                 (ambitus-start-key-sig ambitus))
+                                          (assoc (ly:pitch-notename pitch)
+                                                 (ambitus-start-key-sig ambitus))))
+                              (sig-alter (if handle (cdr handle) 0)))
+                         (cond ((= (ly:pitch-alteration pitch) sig-alter)
+                                (ly:grob-suicide! (ambitus-accidental ambitus direction))
+                                (set! (ly:grob-object (ambitus-head ambitus direction)
+                                                      'accidental-grob)
+                                      '()))
+                               (else
+                                (set! (ly:grob-property (ambitus-accidental ambitus direction)
+                                                        'alteration)
+                                      (ly:pitch-alteration pitch)))))
+                       (ly:separation-item::add-conditional-item (ambitus-head ambitus direction)
+                                                                 accidental-placement)
+                       (ly:accidental-placement::add-accidental accidental-placement
+                                                                (ambitus-accidental ambitus direction))
+                       (ly:pointer-group-interface::add-grob (ambitus-line ambitus)
+                                                             'note-heads
+                                                             (ambitus-head ambitus direction))))
+                   (list DOWN UP))
+         (ly:axis-group-interface::add-element (ambitus-group ambitus) accidental-placement))
+       (begin ;; no pitch ==> suicide all grobs
+         (for-each (lambda (direction)
+                     (ly:grob-suicide! (ambitus-accidental ambitus direction))
+                     (ly:grob-suicide! (ambitus-head ambitus direction)))
+                   (list DOWN UP))
+         (ly:grob-suicide! ambitus-line))))
+
+%%%
+%%% Ambitus engraver definition
+%%%
+#(define ambitus-engraver
+   (lambda (context)
+     (let ((ambitus #f))
+       `((process-music . ,(lambda (translator)
+                             (if (not ambitus)
+                                 (set! ambitus (make-ambitus translator)))))
+         (stop-translation-timestep . ,(lambda (translator)
+                                         (if ambitus
+                                             (typeset-ambitus ambitus translator))))
+         (acknowledgers
+          (note-head-interface . ,(lambda (engraver grob source-engraver)
+                                    (if ambitus
+                                        (update-ambitus-notes ambitus grob)))))
+         (finalize . ,(lambda (translator)
+                        (if ambitus
+                            (finalize-ambitus ambitus translator))))))))
+
+%%%
+%%% Example
+%%%
+
+\score {
+  \new StaffGroup <<
+    \new Staff { c'4 des' e' fis' gis' }
+    \new Staff { \clef "bass" c4 des ~ des ees b, }
+  >>
+  \layout { \context { \Staff \consists #ambitus-engraver } }
+}
index bcfc5f5acd56d4b3730ebfe115bf6fd849fb5fe7..e8669a4225e95a24100f03d82c080c91155c1995 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Si la nota que da fin a un regulador cae sobre la primera parte de
 un compás, el regulador se detiene en la línea divisoria
index 27565563b4d108af8a50d587a6e3ce51f4ff4ddd..b66569e3607f90bb6aff0b57cb5676f2edb1041c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Si los reguladores son demasiado cortos, se pueden alargar
 modificando la propiedad @code{minimum-length} del objeto
index f3f64b8a86c9c62753a91353ee931a88274209b8..882e26cc97fcdaaccace6c12d21c311ea84efcd7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 De forma predeterminada, los corchetes de primera y segunda vez se
 trazan encima de los finales alternativos completos, pero es posible
index be37c2ec7e7b2f834f4184bae40ab233c0108ff5..3a80d79baa3671aead32644e4c9157978e480102 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se pueden imprimir los acordes exclusivamente al comienzo de las
 líneas y cuando cambia el acorde.
index 7f34117e0c630533b2157fcf0e3a7191782dd99d..2aa4b7b40fab5a989e48ae3ad90320df239a4d4b 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Al juntar nombres de acorde en cifrado americano, melodía y letra,
 obtenemos una hoja guía de acordes o «lead sheet»:
index f64e03f713e4159f6249505a632007fe0c50b445..73eb43c7dd8bd1e25bb0b15a1ea8a184f4d031b7 100644 (file)
   }
 }
 
-trillflat =
-\once \override TrillSpanner #'(bound-details left text) =
-#(markup #:translate-scaled '(-0.05 . -1)
-  #:concat (#:musicglyph "scripts.trill"
-    #:translate '(-0.5 . 1.9) #:fontsize -7 #:flat))
-
+trillFlat =
+\once \override TrillSpanner #'(bound-details left text) = \markup {
+  \concat {
+    \musicglyph #"scripts.trill"
+    \translate #'(-0.5 . 1.9)
+    \fontsize #-7
+    \with-dimensions #'(0 . 0) #'(0 . 0)
+    \flat
+  }
+}
 
 \new PianoStaff <<
 
@@ -100,7 +104,7 @@ trillflat =
       |
       \break
 
-      \trillflat
+      \trillFlat
       af''4. \startTrillSpan
       ~
       af''8.
@@ -156,7 +160,7 @@ trillflat =
       |
 
       d''8. \stopTrillSpan
-      \trillflat
+      \trillFlat
       d''4. \startTrillSpan
       ~
 
@@ -183,7 +187,7 @@ trillflat =
 
       |
 
-      \trillflat
+      \trillFlat
       d''4. \startTrillSpan
       ~
       d''8.
index 208f954a0e490346e9d1749f486adcf5d7ae3578..0865e1b44bce0a3d5c33e981b4d7648b0d6d17f9 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, chords, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Esta plantilla facilita la preparación de una canción con melodía,
 letra y acordes.
index 8199cf238fc1e85411b7657396ced5be9151a050..938cc43ebbc6eeaa73ad9ff3f9b4e5d7d73333da 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, chords, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Presentamos a continuación un ejemplo de plantilla para una hoja
 guía de acordes con melodía, letra, acordes y diagramas de
index b3d17c9070878f593c974d5bdc8fdec052469077..6380ac7b97c0095d43c798708bcacb4a5d5f7844 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "chords, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 ¿Quiere preparar una hoja guía de acordes (o «lead sheet») con
 melodía y acordes?  ¡No busque más!
index c094c34aefe29998d6116a0d2c52b9182dd70156..d198d29ecb5b2a7c281bcad551242288816e0006 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Esta pequeña plantilla muestra una melodía sencilla con letra. Córtela
 y péguela, escriba las notas y luego la letra. Este ejemplo desactiva
index f43cdeefae5cec2eb996db680bd93b610a304296..25eead35ac748ac8ec66e37a0d3135b8283ee887 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Esta plantilla simple prepara un pentagrama con notas, adecuado para
 un instrumento solista o un fragmento melódico. Córtelo y péguelo en
index b23030e87ae9d8cc2d0bfdad74d02fe6d1fe770f..402425a77db13529db5efaf169f2c3667a9e9745 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Marca de pizzicato de chasquido (`pizzicato de Bartók')"
   texidoces = "
 El pizzicato de chasquido (también llamado @q{Pizzicato de Bartók}) es un
index 3499b5c02210921f7bcacac1f6333d3fc1257fee..b7b40086ca923daf6398a89c8d4bb67bf6e49d38 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Los textos independientes se pueden disponer en varias columnas
 utilizando instrucciones @code{\\markup}:
index 3a25ef847695d989ec8fee084ecddbe61ebe57de..fbf1cfa1b7dd4570e9eb892592ff367480048114 100644 (file)
@@ -5,7 +5,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 La dirección de las plicas se contola de la misma forma en la
 tablatura que en la notación tradicional. Las barras se pueden
index ccfc65d2f66c5e965b6a5f9125a265a0553576c9..ec6a1ea296dfee5ec96690c82d3c80c8d021d3bd 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "unfretted-strings, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Esta plantilla muestra un cuarteto de cuerda normal. También utiliza
 una sección @code{\\global} para el compás y la armadura
index fb7fc1ba7f36c10265f2764da827343b2d8717b4..3565e22dae5533b051327f7e41b07874dd38dd3c 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "unfretted-strings, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 El fragmento de código @qq{Plantilla de cuarteto de cuerda} produce un
 resultado satisfactorio para el cuarteto, pero ¿y si tenemos que
index 500ddf0856d9e0a01642eee8d5c395ef0539dc32..700c64eb6d56b8269d718f805d217b4111d51ccc 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las barras de semicorcheas (o notas más breves) seguidas no se
 subdividen de forma predeterminada.  Esto es: las tres (o más)
index 5d66afbdedb39dcde29df7a4050423d5bc775a41..7bd46df4752124ebf5bc82d6b64609db8a31d648 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "ancient-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 A modo de alternativa para obtener auténticos «incipit»
 independientes de la partitura principal, se incluyen como
index 5257ee8c6f6fdbc12fb925389361e79bcef04bc9..05222b1dd280be7891260d7c289ae2f0339e4d43 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
 doctitlees = "Transportar música con el menor número de alteraciones"
 texidoces = "
 Este ejemplo utiliza código de Scheme para forzar las
index 7f8f8bcd1bf6b8e97069fc5ba6ecf6b17b326ced..39ebbdd79a6debba3a83d81c013a96f5dfc1c6af 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "pitches, staff-notation, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   doctitlees = "Trucaje de las propiedades de clave"
   texidoces = "
 La instrucción @code{\\clef \"treble_8\"} equivale a un ajuste de
index 275fbc7d34f31953165f9d17580b0736cc6f096f..95170ff10ddd18ec97106f9c453795d662da273e 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms, tweaks-and-overrides"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 La disposición de las expresiones de adorno se puede cambiar a lo
index ba98690475b1a53825b868714b057f2a89c2fa36..25ebcff0f575cfb9aa166ef8600e45bc91a879b8 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "staff-notation, contexts-and-engravers"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Se puede usar el delimitador de comienzo de un sistema
 @code{SystemStartSquare} estableciéndolo explícitamente dentro de
index 00fc444a236b5073e365dafb37e823ba26fc2c4f..c805a2d6cf10d45642f21595fd39393b3b1b430f 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Algunos compositores escriben dos ligaduras cuando quieren acordes
 legato.  Esto se puede conseguir estableciendo @code{doubleSlurs}.
index 74cb0f3894cbf33b701e87fdca03952c82e21ef7..0e2149d9607c635dd319e2714db48b51e3522236 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Es posible aplicar la barrita que cruza la barra de las
index 15551779afe524560157f2f0157b657d5585ed86..bd464f9371c476125f0997ff6fae5945345f2567 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "rhythms"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
  doctitlees = "Uso de ligaduras en los arpegios"
  texidoces = "
 En ocasiones se usan ligaduras de unión para escribir los arpegios.
index 762164a054bac82f82d0d5c8a2d51b56ea4104bd..c02dace2a3ac0bcb170255dd3f694a32bb04eff7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "tweaks-and-overrides, spacing"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Mediante el establecimiento de la propiedad @code{'Y-extent} a un valor
 adecuado, todos los objetos @code{DynamicLineSpanner} (reguladores e
index 1c0c15816c4b6ee249c3cbd2ee169778b451afd3..0e4ef10e1c905083528cbb12f9604d4beaabb665 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "expressive-marks"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Las expresiones dinámicas que se comienzan, terminan o se producen
 en la misma nota se alinean verticalmente.  Para asegurar que las
index f1a4b4192f939a04653dbd146c85891a9d713ccb..4308f1d86681960420b8de6b1ea5e6c4342010f3 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, tweaks-and-overrides, spacing"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Este fragmento de código muestra el uso de las propiedades de
 contexto @code{alignBelowContext} y @code{alignAboveContext} para
index 516220463ad90f45f37c644bcc229dcb34f13cd4..4bc21fb6a3697b5246a465a242aa2206c1e201df 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, keyboards, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 
 Esta plantilla añade una reducción de piano automática a la partitura
index 4a9eb3dd60986b092bbbfe56c941aa6302750940..11fb72a3755806dcb7c7ad8ecb5bcde21c0b0e4a 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "text, vocal-music, contexts-and-engravers, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Esta plantilla es, básicamente, la misma que la sencilla plantilla
 @qq{Conjunto vocal}, excepto que aquí todas las líneas de letra se
index 0abde3472df64b79e52eccbacc13ac4324831bc4..8ef838855e78dfa27171ec47f63a968195a845fc 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "vocal-music, template"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 He aquí una partitura vocal estándar para cuatro voces SATB. Con
 grupos mayores, suele ser útil incluir una sección que aparezca en
index af38664a85f84a6fe6d014ac9379df9b52a2c963..40269e4131d961d2f535f592e23814a1ba79dda7 100644 (file)
@@ -6,7 +6,7 @@
 \header {
   lsrtags = "repeats, staff-notation, chords"
 
-%% Translation of GIT committish: 5cab62e8738ff02eead438042743116391f306f5
+%% Translation of GIT committish: 341940d3830b59f93a80131471d622c2818afddb
   texidoces = "
 Mediante la adición del grabador @code{Volta_engraver} al
 pentagrama pertinente, se pueden poner los corchetes de primera y
index 3d6854ad73b86e8c35239f015cf9583dba95a000..666953030d41d0c6fdee88311b639a57d29b1d80 100644 (file)
@@ -486,7 +486,7 @@ Some highlights:
 
 @item
 @emph{Affaire étrangère}, an opera by
-@uref{http://www.valentin.villenave.net/,Valentin Villenave}
+@uref{http://valentin.villenave.net/,Valentin Villenave}
 to a French libretto by
 @uref{http://en.wikipedia.org/wiki/Lewis_Trondheim, Lewis
 Trondheim}, premiered February 1, 2009 at
index cf549c91fc669cb64b566a2478cbc852f68125fa..a305b1eff57c5c0f577e1bdd94cb4ddf395e0c15 100644 (file)
@@ -9,6 +9,15 @@
 @c DO NOT WRITE BETWEEN THESE LINES
 @c DO NOT WRITE BETWEEN THESE LINES
 
+@newsItem
+@subsubheading LilyPond 2.13.15 released!  @emph{March 4, 2010}
+
+We are happy to announce the release of LilyPond 2.13.15.  This
+release is intended for developers only, and includes a few
+updates to the binary build process in addition to the usual round
+of bugfixes.
+@newsEnd
+
 @newsItem
 @subsubheading LilyPond Report #17.  @emph{March 1, 2010}
 
@@ -32,15 +41,4 @@ release is intended for developers only, and includes a large
 translation update in addition to the usual round of bugfixes.
 @newsEnd
 
-@newsItem
-@subsubheading LilyPond 2.13.13 released!  @emph{February 13, 2010}
-
-We are happy to announce the release of LilyPond 2.13.13.  This
-release is intended for developers only, and fixes various
-problems with documentation build system as well as adding an
-output-preview-framework for our SVG backend.  In addition, the
-binaries are now approximately 6 megabytes smaller.
-@newsEnd
-
-
 
index 396c31c0fc025e195de4c2fc0aa82bcd11f2e38a..f50cb2b2e5d378530fc83c70da98b2d1dcfd08ed 100644 (file)
@@ -27,6 +27,17 @@ NOTE:
 @end ignore
 
 
+@newsItem
+@subsubheading LilyPond 2.13.13 released!  @emph{February 13, 2010}
+
+We are happy to announce the release of LilyPond 2.13.13.  This
+release is intended for developers only, and fixes various
+problems with documentation build system as well as adding an
+output-preview-framework for our SVG backend.  In addition, the
+binaries are now approximately 6 megabytes smaller.
+@newsEnd
+
+
 @newsItem
 @subsubheading LilyPond 2.13.12 released!  @emph{February 2, 2010}
 
diff --git a/VERSION b/VERSION
index 04d6b993d120de74c8917a5659d3e1341671a636..b08e49481522408e604c936b4bc4b1af32668426 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=13
-PATCH_LEVEL=15
+PATCH_LEVEL=16
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.12.3
-VERSION_DEVEL=2.13.14
+VERSION_DEVEL=2.13.15
index 587ef751fd7da6e925ce8eeb4747623dc9f82942..42857141ae2df1b457808e299b7a7c0501e8e8cd 100644 (file)
@@ -4,7 +4,7 @@
 \header{
   texidoc="
 Accidentals work: the second note does not get a sharp. The third and
-fourth show forced and courtesy accidentals.
+fourth show forced and cautionary accidentals.
 "
 }
 
index dd43018272fe8a0bb048a7c4ef841553d74ecc51..be6efcaca68d19c3a15f6748ed26d2eb7ab1e8ae 100644 (file)
@@ -9,7 +9,7 @@
 \version "2.12.0"
 
 \relative c' {
-  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
+  \arpeggioParenthesis
 
   % Note: does not work for cross staff arpeggios.
   \override Arpeggio #'X-extent = #ly:grob::stencil-width
index 7012fe762f31d4b4b36668a81551759937194fb4..f0f2cd4da58e441c49c49fd8f99334927015d670 100644 (file)
@@ -2,7 +2,7 @@
 
 forcedLastBreak =  { \break }
 
-%% We want this to perfectly match the Baerenreiter spacing.
+%% We want this to perfectly match the Bärenreiter spacing.
 %% If we're not using 6 systems, there's definately a problem.
 #(define (assert-system-count smob n)
   (let ((systems (length (ly:spanner-broken-into
@@ -26,9 +26,9 @@ forcedLastBreak =  { \break }
   piece ="Sarabande"
   composer = "Johann Sebastian Bach (1685-1750)"
   editor = "August Wenzinger"
-  source= "B\\\"arenreiter Urtext"
+  source= "Bärenreiter Urtext"
 
-  texidoc = "The B\\\"arenreiter edition of the Cello Suites is the
+  texidoc = "The Bärenreiter edition of the Cello Suites is the
 most beautifully typeset piece of music in our collection of music (we
 both own one. It is also lovely on French Horn). This piece does not
 include articulation, but it does follows the same beaming and
@@ -39,11 +39,11 @@ As of lilypond 1.5.42, the spacing and beam quanting is almost
 identical.
 
 There are two tweaks in this file: a line-break was forced before
-measure 25, we get back the linebreaking of Baerenreiter.  The stem
+measure 25, we get back the linebreaking of Bärenreiter.  The stem
 direction is forced in measure 24. The last beam of that measure is up
-in Baerenreiter because of context. We don't detect that yet.
+in Bärenreiter because of context. We don't detect that yet.
 
-Note that the Barenreiter edition contains a few engraving
+Note that the Bärenreiter edition contains a few engraving
 mistakes. The second line begins with measure 6 (but prints 5). The |:
 half way in measure 13 has been forgotten.
  "
index 093f30d918dd1819072b10ff8be7997fb69b2d3c..f104b16ef13e7279b9eccb5fde200d81cfcbebc9 100644 (file)
@@ -6,7 +6,7 @@
   beam. If an up-beam has high notes on its center stems, then we call
   it concave.
 
-  If a beam is fails a test, the desired slope is printed next to it.
+  If a beam fails a test, the desired slope is printed next to it.
 
 " 
 }
index 7d81a696afaf4b7f401567ddcbad281c9dcfb538..5c128d1654069320671195ad608ba7649dbdcbb7 100644 (file)
@@ -132,6 +132,7 @@ stderr of this run."
 \test "" ##[ { c(  c)  c^(  c^)  c_(  c_)  } #]        % SlurEvent
 \test "" ##[ { c\<  c\!  c^\<  c^\!  c_\<  c_\!  } #]  % CrescendoEvent
 \test "" ##[ { c\>  c\!  c^\>  c^\!  c_\>  c_\!  } #]  % DecrescendoEvent
+\test "" ##[ { c\episemInitium  c\episemFinis  } #] % EpisemaEvent
 \test "" ##[ { c\(  c\)  c^\(  c^\)  c_\(  c_\)  } #]  % PhrasingSlurEvent
 \test "" ##[ { c\sustainOn  c\sustainOff  } #] % SustainEvent
 \test "" ##[ { c\sostenutoOn  c\sostenutoOff  } #] % SostenutoEvent
diff --git a/input/regression/episema.ly b/input/regression/episema.ly
new file mode 100644 (file)
index 0000000..44ccae2
--- /dev/null
@@ -0,0 +1,16 @@
+\version "2.13.15"
+
+\header {
+  texidoc = "An episema can be typeset over a single neume or a
+melisma.  Its position is quantized between staff lines."
+}
+
+#(set-global-staff-size 26)
+\include "gregorian.ly"
+
+\new VaticanaVoice {
+  \revert Score.SpacingSpanner #'packed-spacing
+  a\episemInitium\episemFinis
+  \[ a\episemInitium \pes b \flexa a\episemFinis \]
+  \[ a\episemInitium \pes b \flexa a b\episemFinis \flexa a \]
+}
diff --git a/input/regression/scheme-engraver-instance.ly b/input/regression/scheme-engraver-instance.ly
new file mode 100644 (file)
index 0000000..4393881
--- /dev/null
@@ -0,0 +1,36 @@
+\header {
+
+  texidoc = "Scheme engravers may be instantiated, with
+  instance-scoped slots, by defining a 1 argument procedure which
+  shall return the engraver definition as an alist, with the private
+  slots defined in a closure.  The argument procedure argument is the
+  context where the engraver is instantiated."
+
+}
+
+\version "2.13.15"
+
+\layout {
+  \context {
+    \Voice
+    \consists
+    #(let ((instance-counter 0))
+       (lambda (context)
+         (set! instance-counter (1+ instance-counter))
+         (let ((instance-id instance-counter)
+               (private-note-counter 0))
+           `((listeners
+              (note-event
+               . ,(lambda (engraver event)
+                    (set! private-note-counter (1+ private-note-counter))
+                    (let ((text (ly:engraver-make-grob engraver 'TextScript event)))
+                      (ly:grob-set-property! text 'text
+                                             (format "~a.~a" instance-id
+                                                     private-note-counter))))))))))
+  }
+}
+
+<<
+  \relative c'' { c4 d e f }
+  \\ \relative c' { c4 d e f }
+>>
\ No newline at end of file
index 3bba3e80c6f746cc3113859e2cac2ba578b8045a..37a7ed323888dcee3457248685f8c02ad0d9af60 100644 (file)
@@ -46,3 +46,13 @@ LY_DEFINE (ly_relative_group_extent, "ly:relative-group-extent",
   return ly_interval2scm (ext);
 }
 
+LY_DEFINE (ly_axis_group_interface__add_element, "ly:axis-group-interface::add-element",
+          2, 0, 0, (SCM grob, SCM grob_element),
+          "Set @var{grob} the parent of @var{grob-element} on all axes of"
+          "@var{grob}.")
+{
+  LY_ASSERT_SMOB (Grob, grob, 1);
+  LY_ASSERT_SMOB (Grob, grob_element, 2);
+  Axis_group_interface::add_element (unsmob_grob (grob), unsmob_grob (grob_element));
+  return SCM_UNSPECIFIED;
+}
index 4e0ea654337118d8e3a057310c24c046e5be7f61..38b43dc0980f1b00933796b730b62c4c596603ac 100644 (file)
@@ -191,7 +191,7 @@ unsmob_engraver (SCM eng)
 bool
 ly_is_grob_cause (SCM obj)
 {
-  return unsmob_grob (obj) || unsmob_stream_event (obj);
+  return unsmob_grob (obj) || unsmob_stream_event (obj) || (obj == SCM_EOL);
 }
 
 #include "translator.icc"
diff --git a/lily/episema-engraver.cc b/lily/episema-engraver.cc
new file mode 100644 (file)
index 0000000..a24640f
--- /dev/null
@@ -0,0 +1,179 @@
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 2010 Neil Puttock <n.puttock@gmail.com>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "engraver.hh"
+#include "international.hh"
+#include "note-column.hh"
+#include "pointer-group-interface.hh"
+#include "side-position-interface.hh"
+#include "spanner.hh"
+#include "stream-event.hh"
+
+#include "translator.icc"
+
+class Episema_engraver : public Engraver
+{
+public:
+  TRANSLATOR_DECLARATIONS (Episema_engraver);
+protected:
+  virtual void finalize ();
+  DECLARE_TRANSLATOR_LISTENER (episema);
+  DECLARE_ACKNOWLEDGER (note_column);
+  DECLARE_ACKNOWLEDGER (note_head);
+  void stop_translation_timestep ();
+  void process_music ();
+
+private:
+  Spanner *span_;
+  Spanner *finished_;
+  Stream_event *current_event_;
+  Drul_array<Stream_event *> event_drul_;
+  vector<Grob *> note_columns_;
+  void typeset_all ();
+};
+
+Episema_engraver::Episema_engraver ()
+{
+  finished_ = 0;
+  current_event_ = 0;
+  span_ = 0;
+  event_drul_.set (0, 0);
+}
+
+IMPLEMENT_TRANSLATOR_LISTENER (Episema_engraver, episema);
+void
+Episema_engraver::listen_episema (Stream_event *ev)
+{
+  Direction d = to_dir (ev->get_property ("span-direction"));
+  // Must not ASSIGN_EVENT_ONCE here, since episema
+  // can be typeset over a single neume
+  event_drul_[d] = ev;
+}
+
+void
+Episema_engraver::process_music ()
+{
+  if (event_drul_[START])
+    {
+      if (current_event_)
+       event_drul_[START]->origin ()->warning (_ ("already have an episema"));
+      else
+       {
+         current_event_ = event_drul_[START];
+         span_ = make_spanner ("Episema", event_drul_[START]->self_scm ());
+
+         event_drul_[START] = 0;
+       }
+    }
+  if (event_drul_[STOP])
+    {
+      if (!span_)
+       event_drul_[STOP]
+         ->origin ()->warning (_ ("cannot find start of episema"));
+      else
+       {
+         finished_ = span_;
+         announce_end_grob (finished_, SCM_EOL);
+         span_ = 0;
+         current_event_ = 0;
+         note_columns_.clear ();
+       }
+    }
+}
+
+void
+Episema_engraver::typeset_all ()
+{
+  if (finished_)
+    {
+      if (!finished_->get_bound (RIGHT))
+       {
+         Grob *col = (note_columns_.size ()
+                      ? note_columns_.back ()
+                      : unsmob_grob (get_property ("currentMusicalColumn")));
+         finished_->set_bound (RIGHT, col);
+       }
+      finished_ = 0;
+    }
+}
+
+void
+Episema_engraver::stop_translation_timestep ()
+{
+  if (span_ && !span_->get_bound (LEFT))
+    {
+      Grob *col = (note_columns_.size ()
+                  ? note_columns_.front ()
+                  : unsmob_grob (get_property ("currentMusicalColumn")));
+      span_->set_bound (LEFT, col);
+    }
+
+  typeset_all ();
+  event_drul_.set (0, 0);
+}
+
+void
+Episema_engraver::finalize ()
+{
+  typeset_all ();
+  if (span_)
+    {
+      current_event_->origin ()->warning (_ ("unterminated episema"));
+      span_->suicide ();
+      span_ = 0;
+    }
+}
+
+void
+Episema_engraver::acknowledge_note_column (Grob_info info)
+{
+  note_columns_.push_back (info.grob ());
+}
+
+void
+Episema_engraver::acknowledge_note_head (Grob_info info)
+{
+  if (span_)
+    {
+      Side_position_interface::add_support (span_, info.grob ());
+      add_bound_item (span_, info.grob ());
+    }
+  else if (finished_)
+    {
+      Side_position_interface::add_support (finished_, info.grob ());
+      add_bound_item (finished_, info.grob ());
+    }
+}
+
+ADD_ACKNOWLEDGER (Episema_engraver, note_column);
+ADD_ACKNOWLEDGER (Episema_engraver, note_head);
+
+ADD_TRANSLATOR (Episema_engraver,
+               /* doc */
+               "Create an @emph{Editio Vaticana}-style episema line.",
+
+               /* create */
+               "Episema ",
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );
index bfe79da7c0bdf43c563d8e9b45c9c2f2e05bfe79..199e6fb9b3410da8d6355aaea07782577f170223 100644 (file)
@@ -124,6 +124,18 @@ LY_DEFINE (ly_grob_object, "ly:grob-object",
 }
 
 
+LY_DEFINE (ly_grob_set_object_x, "ly:grob-set-object!",
+          3, 0, 0, (SCM grob, SCM sym, SCM val),
+          "Set @var{sym} in grob @var{grob} to value @var{val}.")
+{
+  Grob *sc = unsmob_grob (grob);
+  LY_ASSERT_SMOB (Grob, grob, 1);
+  LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
+
+  sc->set_object (sym, val);
+  return SCM_UNSPECIFIED;
+}
 
 /* TODO: make difference between scaled and unscalead variable in
    calling (i.e different funcs.) */
@@ -246,6 +258,22 @@ LY_DEFINE (ly_grob_parent, "ly:grob-parent",
   return par ? par->self_scm () : SCM_EOL;
 }
 
+LY_DEFINE (ly_grob_set_parent_x, "ly:grob-set-parent!",
+          3, 0, 0, (SCM grob, SCM axis, SCM parent_grob),
+          "Set @var{parent-grob} the parent of grob @var{grob} in axis @var{axis}.")
+{
+  Grob *gr = unsmob_grob (grob);
+  Grob *parent = unsmob_grob (parent_grob);
+
+  LY_ASSERT_SMOB (Grob, grob, 1);
+  LY_ASSERT_TYPE (is_axis, axis, 2);
+  LY_ASSERT_SMOB (Grob, parent_grob, 3);
+
+  Axis a = Axis (scm_to_int (axis));
+  gr->set_parent (parent, a);
+  return SCM_UNSPECIFIED;
+}
+
 LY_DEFINE (ly_grob_properties, "ly:grob-properties",
           1, 0, 0, (SCM grob),
           "Get the mutable properties of @var{grob}.")
diff --git a/lily/pointer-group-interface-scheme.cc b/lily/pointer-group-interface-scheme.cc
new file mode 100644 (file)
index 0000000..5dff2aa
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 2010 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 "pointer-group-interface.hh"
+#include "grob.hh"
+
+LY_DEFINE (ly_pointer_group_interface__add_grob, "ly:pointer-group-interface::add-grob",
+          3, 0, 0, (SCM grob, SCM sym, SCM grob_element),
+          "Add @var{grob-element} to @var{grob}'s @var{sym} grob array.")
+{
+  LY_ASSERT_TYPE (unsmob_grob, grob, 1);
+  LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
+  LY_ASSERT_TYPE (unsmob_grob, grob_element, 3);
+
+  Pointer_group_interface::add_grob (unsmob_grob (grob),
+                                    sym,
+                                    unsmob_grob (grob_element));
+  return SCM_UNSPECIFIED;
+}
+
index 44b4e1fe0a1742dbb1e2fb34eeada2589004c2cd..dc2b772428f681e935d6e089f7fbffe16610bb87 100644 (file)
@@ -167,6 +167,16 @@ Translator_group::create_child_translator (SCM sev)
          instance = type->clone ();
          dynamic_cast<Scheme_engraver*> (instance)->init_from_scheme (definition);
        }
+      else if (ly_is_procedure (definition))
+       {
+         // `definition' is a procedure, which takes the context as
+         // an argument and evaluates to an a-list scheme engraver
+         // definition.
+         SCM def = scm_call_1 (definition, cs);
+         type = get_translator (ly_symbol2scm ("Scheme_engraver"));
+         instance = type->clone ();
+         dynamic_cast<Scheme_engraver*> (instance)->init_from_scheme (def);
+       }
         
       if (!type)
        warning (_f ("cannot find: `%s'", ly_symbol2string (scm_car (s)).c_str ()));
index b4f023e50023ac010d13936bff7183fd01630f43..6d4b656dd7e0cb68a21d1a1f84e41cb84f77ce2c 100644 (file)
@@ -825,6 +825,8 @@ of Editio Vaticana."
   \remove "Stem_engraver"
   \remove "Ligature_bracket_engraver"
   \consists "Vaticana_ligature_engraver"
+  \remove "Text_spanner_engraver"
+  \consists "Episema_engraver"
 
   %% Set default head for notes outside of \[ \].
   \override NoteHead #'style = #'vaticana.punctum
@@ -835,15 +837,6 @@ of Editio Vaticana."
 
   %% There are no beams in Gregorian Chant notation.
   autoBeaming = ##f
-
-  %% Prepare TextSpanner for \episem{Initium|Finis} use.
-  %%
-  %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
-  %% required to force the articulation signs being placed vertically
-  %% tightly to the correpsonding note heads.
-  %%
-  \override TextSpanner #'style = #'line
-  \override TextSpanner #'padding = #-0.1
 }
 
 \context {
@@ -892,6 +885,7 @@ of Editio Vaticana."
   \Voice
   \name "GregorianTranscriptionVoice"
   \alias "Voice"
+  \consists "Episema_engraver"
 
   %% Removing ligature bracket engraver without replacing it by some
   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
@@ -906,18 +900,6 @@ of Editio Vaticana."
   %% There are no beams in Gregorian Chant notation.
   autoBeaming = ##f
 
-  %% Prepare TextSpanner for \episem{Initium|Finis} use.
-  %%
-  %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
-  %% always produce dashed lines, regardless of the style property.
-  %%
-  %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
-  %% required to force the articulation signs being placed vertically
-  %% tightly to the correpsonding note heads.
-  %%
-  \override TextSpanner #'dash-fraction = #'()
-  \override TextSpanner #'style = #'line
-  \override TextSpanner #'padding = #-0.1
 }
 
 \context {
index d8fc1aac7bb8638362b883589e236775692a585d..367dbbf16b62d8e323b3c50df749c95bf38e2a2d 100644 (file)
@@ -149,8 +149,6 @@ accentus = #(make-articulation "accentus")
 ictus = #(make-articulation "ictus")
 semicirculus = #(make-articulation "semicirculus")
 circulus = #(make-articulation "circulus")
-episemInitium = \startTextSpan
-episemFinis = \stopTextSpan
 
 %
 % \augmentum increases the dot-count value of all note heads to which
@@ -224,7 +222,7 @@ ligature = #(define-music-function
 \layout {
     indent = 0.0
 
-    %%% TODO: should raggedright be the default?
+    %%% TODO: should ragged-right be the default?
     %ragged-right = ##t
     ragged-last = ##t
 
index 7b26094e497fbbfdf81c6b5fe20cc271644344c0..afcfaf445f986d6fcced66c81d4bab8e5057be86 100644 (file)
@@ -18,6 +18,10 @@ startTrillSpan = #(make-span-event 'TrillSpanEvent START)
 stopTrillSpan = #(make-span-event 'TrillSpanEvent STOP)
 
 
+episemInitium = #(make-span-event 'EpisemaEvent START)
+episemFinis = #(make-span-event 'EpisemaEvent STOP)
+
+
 % STOP: junkme!
 cresc =  {
   #(ly:export (make-event-chord (list cr)))
index eb69eaf8e2deeb3c2cf664d0e078b845206e7ced..70387c8c26918ec7b55deaa7e74eb385b559b6e4 100644 (file)
@@ -41,7 +41,7 @@
     (part-combine-event . (solo-one-event solo-two-event unisono-event))
     (break-event . (line-break-event page-break-event page-turn-event))
     (dynamic-event . (absolute-dynamic-event))
-    (span-event . (span-dynamic-event beam-event ligature-event
+    (span-event . (span-dynamic-event beam-event episema-event ligature-event
                         pedal-event phrasing-slur-event slur-event staff-span-event
                         text-span-event trill-span-event tremolo-span-event 
                         tuplet-span-event))
index 96d3bd7d971d34235f1d638399a394f7c94a78ff..b73506790db88b41e6a0ba2f226506b7ef0a17de 100644 (file)
@@ -66,6 +66,11 @@ note)."
  "Dynamic text spanner."
  '(text))
 
+(ly:add-interface
+ 'episema-interface
+ "An episema line."
+ '())
+
 (ly:add-interface
  'finger-interface
  "A fingering instruction."
index b1cfb63becec318a08b5f48732e75e193c800f04..efd310c1daaf6bf985e2b7dae363fd6a1822cd6a 100644 (file)
                                text-interface))))))
 
 
+    (Episema
+     . (
+       (bound-details . ((left . ((Y . 0)
+                                  (padding . 0)
+                                  (attach-dir . ,LEFT)
+                                  ))
+                         (right . ((Y . 0)
+                                   (padding . 0)
+                                   (attach-dir . ,RIGHT)
+                                   ))
+                         ))
+       (direction . ,UP)
+       (left-bound-info . ,ly:line-spanner::calc-left-bound-info)
+       (quantize-position . #t)
+       (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
+       (side-axis . ,Y)
+       (stencil . ,ly:line-spanner::print)
+       (style . line)
+       (Y-offset . ,ly:side-position-interface::y-aligned-side)
+       (meta . ((class . Spanner)
+                (interfaces . (episema-interface
+                               font-interface
+                               line-interface
+                               line-spanner-interface
+                               side-position-interface))))))
+
+
     (Fingering
      . (
 
index 3254a90469b53788ab81f6ed0ca2b60fab9765d6..0434ce8e59e52c704fd147fcaf08e0b28ddb0205 100644 (file)
     'ArticulationEvent
     'BeamEvent
     'BeamForbidEvent
+    'BendAfterEvent
     'CrescendoEvent
     'DecrescendoEvent
+    'EpisemaEvent
     'ExtenderEvent
     'FingeringEvent
     'GlissandoEvent
 (define-post-event-display-method MultiMeasureTextEvent (event parser) #t
   (markup->lily-string (ly:music-property event 'text)))
 
+(define-post-event-display-method BendAfterEvent (event parser) #t
+  (format #f "\\bendAfter #~a" (ly:music-property event 'delta-step)))
+
 (define-post-event-display-method HarmonicEvent (event parser) #f "\\harmonic")
 (define-post-event-display-method GlissandoEvent (event parser) #t "\\glissando")
 (define-post-event-display-method ArpeggioEvent (event parser) #t "\\arpeggio")
 (define-span-event-display-method SlurEvent (event parser) #f "(" ")")
 (define-span-event-display-method CrescendoEvent (event parser) #f "\\<" "\\!")
 (define-span-event-display-method DecrescendoEvent (event parser) #f "\\>" "\\!")
+(define-span-event-display-method EpisemaEvent (event parser) #f "\\episemInitium" "\\episemFinis")
 (define-span-event-display-method PhrasingSlurEvent (event parser) #f "\\(" "\\)")
 (define-span-event-display-method SustainEvent (event parser) #f "\\sustainOn" "\\sustainOff")
 (define-span-event-display-method SostenutoEvent (event parser) #f "\\sostenutoOn" "\\sostenutoOff")
index 973e59a403872076ee125ec3505f82899d9c32ad..356ba898a98006489fb9ac367ba0b8074b6aa913 100644 (file)
@@ -177,6 +177,11 @@ An alternative syntax is @var{note}@code{\\decr} @dots{}
                  event))
        ))
 
+    (EpisemaEvent
+     . ((description . "Begin or end an episema.")
+       (types . (general-music span-event event episema-event))
+       ))
+
     (Event
      . ((description . "Atomic music event.")
        (types . (general-music event))
index b8a1af59a0b625993e0c795619b24038710cae0d..bb7ce8f608475cae15d92197f629d1be4d49fc13 100644 (file)
@@ -430,6 +430,7 @@ LilyPond safe mode.  The syntax is the same as `define*-public'."
        (,input-port? . "input port")
        (,integer? . "integer")
        (,list? . "list")
+       (,list-or-symbol? . "list or symbol")
        (,ly:context? . "context")
        (,ly:dimension? . "dimension, in staff space")
        (,ly:dir? . "direction")
@@ -457,9 +458,11 @@ LilyPond safe mode.  The syntax is the same as `define*-public'."
        (,output-port? . "output port")
        (,pair? . "pair")
        (,procedure? . "procedure")
+       (,real? . "real number")
        (,rhythmic-location? . "rhythmic location")
        (,scheme? . "any type")
        (,string? . "string")
+       (,string-or-pair? . "string or pair")
        (,symbol? . "symbol")
        (,vector? . "vector")))
 
index 900190786866757955107334648918b2a3d5d302..2db08bd4a1cf38f27c62f54bed76f3bf98a5e999 100644 (file)
   (make-procedure-with-setter ly:grob-property
                              ly:grob-set-property!))
 
+(define-public ly:grob-object
+  (make-procedure-with-setter ly:grob-object
+                             ly:grob-set-object!))
+
+(define-public ly:grob-parent
+  (make-procedure-with-setter ly:grob-parent
+                             ly:grob-set-parent!))
+
 (define-public ly:prob-property
   (make-procedure-with-setter ly:prob-property
                              ly:prob-set-property!))
index 3d5b408a56717af57052a8e1747047092eda7b52..3928c60775b753747249b3f4a65fa203a5d3c01a 100755 (executable)
@@ -92,16 +92,16 @@ rules = {
     ('([\w\)\]])(\+|-)([_A-Za-z\(])', '\\1 \\2 \\3'),
     ('([_\dA-Za-df-z\)\]])(\+|-)([\w\(])', '\\1 \\2 \\3'),
     # trailing operator
-    (' (::|&&|\|\||<=|>=|!=|\|=|==|\+=|-=|\*=|/=|\?|<|>|\+|-|=|/|:|&XXX|\||\*XXX)[ \t]*\n([ \t]*)',         '\n\\2\\1 '),
+    (' (::|&&|\|\||<=|>=|!=|\|=|==|\+=|-=|\*=|/=|\?|<|>|\+|-|=|/|:|&XXX|\||\*XXX)[ \t]*\n([ \t]*)', '\n\\2\\1 '),
     # pointer
     ##('(bool|char|const|delete|int|stream|unsigned|void|size_t|struct \w+|[A-Z]\w*|,|;|&&|<|[^-]>|\|\||-|\+)[ \t]*(\*|&)[ \t]*', '\\1 \\2'),
-    ('(bool|char|const|delete|int|stream|unsigned|void|size_t|struct \w+|[A-Z]\w*|,|;|:|=|\?\)|&&|<|[^-]>|\|\||-|\+)[ \t]*(\*|&)[ \t]*', '\\1 \\2'),
+    ('(bool|char|const|delete|int|stream|unsigned|void|vsize|size_t|struct \w+|[A-Z]\w*|,|;|:|=|\?\)|&&|<|[^-]>|\|\||-|\+)[ \t]*(\*|&)[ \t]*', '\\1 \\2'),
     #to#('(bool|char|const|delete|int|stream|unsigned|void|([A-Z]\w*)|[,])[ \n\t]*(\*|&)[ \t]*', '\\1 \\3'),
     # pointer with template
-    ('(( *((bool|char|const|delete|int|stream|unsigned|void|size_t|class[ \t]+\w*|[A-Z]\w*|\w+::\w+|[,])\*&],*)+)>) *(\*|&) *', '\\1 \\5'),
+    ('(( *((bool|char|const|delete|int|stream|unsigned|void|size_t|class[ \t]+\w*|[A-Z]\w*|\w+::\w+|[,])\s*[\*&],*)+)>) *(\*|&) *', '\\1 \\5'),
     #to#('(( *((bool|char|delete|int|stream|unsigned|void|(class[ \t]+\w*)|([A-Z]\w*)|[,])[ \*&],*)+)>)[ \t\n]*(\*|&) *', '\\1 \\7'),
     # unary pointer, minus, not
-    ('(return|=) (\*|&|-|!) ([\w\(])', '\\1 \\2\\3'),
+    ('(return|=|&&|\|\|) (\*|&|-|!) ([\w\(])', '\\1 \\2\\3'),
     # space after `operator'
     ('(\Woperator) *([^\w\s])', '\\1 \\2'),
     # dangling brace close
@@ -143,7 +143,7 @@ rules = {
     ('(typedef struct\s+([\w]*\s){([^}]|{[^}]*})*})\s*\n\s*(\w[\w\d]*;)', '\\1 \\4'),
     # delete spaces around template brackets
     #('(dynamic_cast|template|([A-Z]\w*))[ \t]*<[ \t]*(( *(bool|char|int|unsigned|void|(class[ \t]+\w*)|([A-Z]\w*)),?)+)[ \t]?(| [\*&])[ \t]*>', '\\1<\\3\\8>'),
-    ('(dynamic_cast|template|typedef|\w+::\w+|[A-Z]\w*)[ \t]*<[ \t]*(( *(bool|char|const|int|unsigned|void|size_t|class[ \t]+\w*|[A-Z]\w*)( *[\*&]?,|[\*&])*)+)[ \t]?(| [\*&])[ \t]*>', '\\1<\\2\\6>'),
+    ('(dynamic_cast|less|list|map|set|template|typedef|vector|\w+::\w+|[A-Z]\w*)[ \t]*<[ \t]*(( *(bool|char|const|string|int|unsigned|void|vsize|size_t|class[ \t]+\w*|[A-Z]\w*)( *[\*&]?,|[\*&])*)+)[ \t]?(| [\*&])[ \t]*>', '\\1<\\2\\6>'),
     ('(\w+::\w+|[A-Z]\w*) < ((\w+::\w+|[A-Z]\w*)<[A-Z]\w*>) >', '\\1<\\2 >'),
     ('((if|while)\s+\(([^\)]|\([^\)]*\))*\))\s*;', '\\1\n;'),
     ('(for\s+\(([^;]*;[^;]*;([^\)]|\([^\)]*\))*)\))\s*;', '\\1\n;'),
diff --git a/scripts/build/website_post.py b/scripts/build/website_post.py
new file mode 100644 (file)
index 0000000..8018f3a
--- /dev/null
@@ -0,0 +1,96 @@
+#!@PYTHON@
+#-*- coding: utf-8 -*-
+
+## This is web_post.py. This script deals with translations
+## in the "make website" target.
+
+import sys
+import os
+import glob
+
+lang_lookup = {
+  'fr': 'français',
+  'es': 'español',
+  '': 'english'
+}
+
+#indir, outdir = sys.argv[1:]
+
+# FIXME: looks dangerous!
+indir = sys.argv[1]
+outdir=indir
+
+html_files = glob.glob( os.path.join(indir, '*.html') )
+
+# messy way to get all languages
+langs_set = set()
+for file in html_files:
+       file_split = file.split('.')
+       if (len(file_split) == 2):
+               # it's English
+               lang = ''
+       else:
+               # it's a translation
+               lang = file_split[1]
+       langs_set.add(lang)
+langs = list(langs_set)
+langs.sort()
+
+def makeFooter(currentLang):
+       text = "<p id=\"languages\">\n"
+       text += "Other languages: "
+       for i in range(len(langs)):
+               l = langs[i]
+               if (l == currentLang):
+                       continue
+               text += "<a href=\"index"
+               if (not (l=='')):
+                       text += "." + l
+               text += ".html\">"
+               text += lang_lookup[l]
+               text += "</a>"
+               if (i < len(langs)-2):
+                       text += ", "
+               else:
+                       text += ".\n"
+       # TODO: add link to automatic language selection?
+       # still need to include this page in the new webpages somewhere
+       text += "</p>\n"
+       return text
+
+
+for file in html_files:
+       file_split = file.split('.')
+       # we want to strip the .html
+       out_filename = os.path.basename(file_split[0])
+       if (len(file_split) == 2):
+               # it's English
+               lang = ''
+       else:
+               # it's a translation
+               lang = file_split[1]
+       out_filename += '.'+lang
+
+# I can't get the previous name to work
+       out_filename = os.path.basename(file)
+
+       # translation links should point to translations
+       lines = open(file).readlines()
+       # ick
+       os.remove(file)
+
+       lang_footer = makeFooter(lang)
+       
+       outfile = open( os.path.join(outdir, out_filename), 'w')
+       for line in lines:
+               # avoid external links
+               if ((line.find("href") >= 0) and (line.find("http")==-1)):
+# eventually we want to do this, but I can't get it to work.
+# waiting for help with apache (?)
+#                      line = line.replace(".html", "."+lang)
+                       line = line.replace(".html", "."+lang+".html")
+               if (line.find("<!-- FOOTER -->") >= 0):
+                       outfile.write( lang_footer )
+               outfile.write(line)
+       outfile.close()
+
index 3170bc6f6a68afe8dfdf0b78db5d6b52f0e0b05e..465757862073fbb97a870d0bb0e585de2b816131 100644 (file)
@@ -27,7 +27,7 @@ endif
 
 ################################################################
 OUT=out-website
-WEB_LANGS=es fr
+WEB_LANGS=es
 
 
 TEXI2HTML=ONLY_WEB=1 TOP_SRC_DIR=$(top-src-dir) DEPTH=$(depth) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM)
@@ -36,6 +36,7 @@ EXTRACT_TEXI_FILENAMES=python $(script-dir)/extract_texi_filenames.py
 CREATE_VERSION=python $(script-dir)/create-version-itexi.py
 CREATE_WEBLINKS=python $(script-dir)/create-weblinks-itexi.py
 MASS_LINK=python $(script-dir)/mass-link.py
+WEB_POST=python $(script-dir)/website_post.py
 
 SERVER_FILES=$(top-src-dir)/Documentation/web/server/
 
@@ -104,8 +105,12 @@ website-examples:
        mkdir -p $(OUT)/website/ly-examples
        cp $(EXAMPLES)/* $(OUT)/website/ly-examples
 
-website: website-texinfo website-css website-pictures website-examples
+web-post:
+       $(WEB_POST) $(OUT)/website/
+
+website: website-texinfo website-css website-pictures website-examples web-post
        cp $(SERVER_FILES)/favicon.ico $(OUT)/website/
        cp $(SERVER_FILES)/lilypond.org.htaccess $(OUT)/website/.htaccess
        cp $(SERVER_FILES)/robots.txt $(OUT)/website/
 
+