From: hanwen Date: Wed, 11 Feb 2004 12:01:42 +0000 (+0000) Subject: * lily/tuplet-engraver.cc: remove tupletInvisible X-Git-Tag: start~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a825147d6376e590fd2eb836d0c15007d38342fb;p=lilypond.git * lily/tuplet-engraver.cc: remove tupletInvisible * scm/define-translator-properties.scm: cleanup, separate in internal and user props. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): change LyricsVoice -> Lyrics * lily/new-part-combine-iterator.cc (process): only print warning for symbols. --- diff --git a/ChangeLog b/ChangeLog index ae906684b2..95abcacd98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-02-11 Han-Wen Nienhuys + + * lily/tuplet-engraver.cc: remove tupletInvisible + + * scm/define-translator-properties.scm: cleanup, separate in + internal and user props. + + * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): change + LyricsVoice -> Lyrics + + * lily/new-part-combine-iterator.cc (process): only print warning + for symbols. + 2004-02-11 Jan Nieuwenhuizen * scm/part-combiner.scm: Add proper header. diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index b471deaf2e..79124a0347 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -64,6 +64,7 @@ $(outdir)/lilypond/lilypond.html: $(outdir)/lilypond.texi mkdir -p $(dir $@) $(MAKEINFO) -I$(outdir) --output=$(outdir)/lilypond --html $< $(MAKEINFO) -I$(outdir) --output=$@ --html --no-split --no-headers $< + rm -f $(outdir)/lilypond/*.png $(outdir)/lilypond/*.ly -ln -f $(outdir)/*.png $(outdir)/*.ly $(outdir)/lilypond/ $(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi @@ -133,6 +134,7 @@ ifneq ($(CROSS),yes) $(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: $(builddir)/lily/$(outconfbase)/lilypond-bin cd $(outdir) && $(builddir)/lily/$(outconfbase)/lilypond-bin --verbose $(abs-srcdir)/ly/generate-documentation + rm -f $(outdir)/lilypond-internals.nexi -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 4cf6d11816..7fcb4c0991 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -1696,19 +1696,32 @@ used. Each rule consists of @var{context} is @internalsref{Score} then all staves share accidentals, and if @var{context} is @internalsref{Staff} then all voices in the same staff share accidentals, but staves do not. + @item octavation: Whether the accidental changes all octaves or only the current - octave. -@item lazyness: - Over how many barlines the accidental lasts. - If @var{lazyness} is @code{-1} then the accidental is forget - immediately, and if @var{lazyness} is @code{#t} then the accidental - lasts forever. - -@c [TODO: should use +infinity for this case?] - + octave. Valid choices are + + @table @samp + @item same-octave: + This is the default algorithm. Accidentals are typeset if the note changes + the accidental of that note in that octave. Accidentals lasts to the end of the measure + and then as many measures as specified in the value. I.e. 1 means to the end + of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever. + @item any-octave: + Accidentals are typeset if the note is different from + the previous note on the same pitch in any octave. The value has same meaning as in + same-octave. + @end table + +@item lazyness + + Over how many barlines the accidental lasts. + If @var{lazyness} is @code{-1} then the accidental is forget + immediately, and if @var{lazyness} is @code{#t} then the accidental + lasts forever. @end table + @refcommands @cindex @code{\defaultAccidentals} @@ -2841,7 +2854,7 @@ mus = \drums { cymc cyms cymr hh | hhc hho hhho hhp | \break cb hc Stem \set #'Y-extent-callback = ##f minimumVerticalExtent = #'(-4.0 . 5.0) } \mus - \context LyricsVoice \nam + \context Lyrics \nam >> \paper { %% need to do this, because of indented @itemize @@ -2874,7 +2887,7 @@ mus = \drums { timh ssh timl ssl cb s16 } minimumVerticalExtent = #'(-3.0 . 4.0) drumStyleTable = #timbales-style } \mus - \context LyricsVoice \nam + \context Lyrics \nam >> } @end lilypond @@ -2897,7 +2910,7 @@ mus = \drums { cgh cgho cghm ssh cgl cglo cglm ssl s16 } Stem \set #'transparent = ##t Stem \set #'Y-extent-callback = ##f } \mus - \context LyricsVoice \nam + \context Lyrics \nam >> } @end lilypond @@ -2920,7 +2933,7 @@ mus = \drums { boh boho bohm ssh bol bolo bolm ssl s16 } Stem \set #'transparent = ##t Stem \set #'Y-extent-callback = ##f } \mus - \context LyricsVoice \nam + \context Lyrics \nam >> } @end lilypond @@ -2940,7 +2953,7 @@ mus = \drums { tri trio trim gui guis guil cb cl tamb cab mar hc s16 } Stem \set #'transparent = ##t Stem \set #'Y-extent-callback = ##f } \mus - \context LyricsVoice \nam + \context Lyrics \nam >> } @end lilypond @@ -3362,9 +3375,9 @@ The definition of lyrics mode is too complex. @node The Lyrics context @subsection The Lyrics context -Lyrics are printed by interpreting them in a @internalsref{LyricsVoice} context: +Lyrics are printed by interpreting them in a @internalsref{Lyrics} context: @example - \context LyricsVoice \lyrics @dots{} + \context Lyrics \lyrics @dots{} @end example @cindex automatic syllable durations @@ -3377,7 +3390,7 @@ automatically. In this case, it is no longer necessary to enter the correct duration for each syllable. This is achieved by combining the melody and the lyrics with the @code{\lyricsto} expression: @example -\lyricsto @var{name} \new LyricsVoice @dots{} +\lyricsto @var{name} \new Lyrics @dots{} @end example This aligns the lyrics to the @@ -3390,15 +3403,15 @@ For different or more complex orderings, the best way is to setup the hierarchy of staves and lyrics first, e.g. @example \context ChoirStaff \notes << - \context LyricsVoice = sopranoLyrics @{ s1 @} + \context Lyrics = sopranoLyrics @{ s1 @} \context Voice = soprano @{ @emph{music} @} - \context LyricsVoice = tenor @{ s1 @} + \context Lyrics = tenor @{ s1 @} \context Voice = tenorLyrics @{ @emph{music} @} >> @end example and then combine the appropriate melodies and lyric lines: @example - \lyricsto "soprano" \new LyricsVoice @emph{the lyrics} + \lyricsto "soprano" \new Lyrics @emph{the lyrics} @end example @noindent @@ -3426,7 +3439,7 @@ an unslurred group of notes to be a melisma, then insert f e f \melismaEnd e2 } - \lyricsto "lala" \new LyricsVoice \lyrics { + \lyricsto "lala" \new Lyrics \lyrics { la di __ daah } >> @end lilypond @@ -3440,7 +3453,7 @@ can be tuned with the property @code{melismaBusyProperties}. See When multiple stanzas are put on the same melody, it can happen that two stanzas have melismata in different locations. This can be remedied by switching off melismata for one -@internalsref{LyricsVoice}. This is achieved by setting +@internalsref{Lyrics}. This is achieved by setting the @code{ignoreMelismata} property to @code{#t}. An example is shown in @inputfileref{input/regression,lyric-combine-new.ly}. @@ -3460,7 +3473,7 @@ A complete example of a SATB score setup is in the file @seealso Internals: Music expressions: @internalsref{LyricCombineMusic}, -Contexts: @internalsref{LyricsVoice}, @internalsref{Melisma_engraver}. +Contexts: @internalsref{Lyrics}, @internalsref{Melisma_engraver}. Examples: @inputfileref{input/template,satb.ly}, @inputfileref{input/regression,lyric-combine-new.ly}. @@ -3472,7 +3485,7 @@ inserted by hand. For proper processing of extender lines, the -@internalsref{LyricsVoice} and @internalsref{Voice} should be +@internalsref{Lyrics} and @internalsref{Voice} should be linked. This can be achieved either by using @code{\lyricsto} or by setting corresponding names for both contexts. The latter is explained in @ref{More stanzas}. @@ -3495,14 +3508,14 @@ To this end, give the @internalsref{Voice} context an identity: g2 e4 a2 f4 g2. @} @end example -Then set the @internalsref{LyricsVoice} contexts to names starting with +Then set the @internalsref{Lyrics} contexts to names starting with that identity followed by a dash. In the preceding example, the @internalsref{Voice} identity is @code{duet}, so the identities of the -@internalsref{LyricsVoice}s are marked @code{duet-1} and @code{duet-2}: +@internalsref{Lyrics}s are marked @code{duet-1} and @code{duet-2}: @example - \context LyricsVoice = "duet-1" @{ + \context Lyrics = "duet-1" @{ Hi, my name is bert. @} - \context LyricsVoice = "duet-2" @{ + \context Lyrics = "duet-2" @{ Ooooo, ch\'e -- ri, je t'aime. @} @end example @@ -3511,11 +3524,11 @@ The complete example is shown here: \score { << \notes \relative c'' \context Voice = duet { \time 3/4 g2 e4 a2 f4 g2. } - \lyrics << \lyricsto "duet" \new LyricsVoice { - \property LyricsVoice . stanza = "1" + \lyrics << \lyricsto "duet" \new Lyrics { + \property Lyrics . stanza = "1" Hi, my name is bert. } - \lyricsto "duet" \new LyricsVoice { - \property LyricsVoice . stanza = "2" + \lyricsto "duet" \new Lyrics { + \property Lyrics . stanza = "2" Ooooo, ch\'e -- ri, je t'aime. } >> >> } @@ -3525,20 +3538,20 @@ The complete example is shown here: @cindex singer's names @cindex name of singer -Stanza numbers can be added by setting @code{LyricsVoice.stanza}, e.g. +Stanza numbers can be added by setting @code{Lyrics.stanza}, e.g. @example - \property LyricsVoice . stanza = "Bert" + \property Lyrics . stanza = "Bert" @dots{} - \property LyricsVoice . stanza = "Ernie" + \property Lyrics . stanza = "Ernie" @end example Notice how dots are surrounded with spaces in @code{\lyrics} mode, to -prevent @code{LyricsVoice.stanza} being interpreted as a single +prevent @code{Lyrics.stanza} being interpreted as a single string. -Names of the singers should be added using @code{LyricsVoice -. vocalName} and @code{LyricsVoice . vocNam}, analogous to instrument +Names of the singers should be added using @code{Lyrics +. vocalName} and @code{Lyrics . vocNam}, analogous to instrument annotations for staves. To make empty spaces in lyrics, use @code{\skip}. @@ -4514,7 +4527,7 @@ measure. In orchestral scores, staff lines that only have rests are usually removed. This saves some space. This style is called `French Score'. -For @internalsref{Lyrics}, @internalsref{LyricsVoice}, +For @internalsref{Lyrics}, @internalsref{Lyrics}, @internalsref{ChordNames} and @internalsref{FiguredBass}, this is switched on by default. When these line of these contexts turn out empty after the line-breaking process, they are removed. @@ -7302,7 +7315,7 @@ entering the chant, as the following short excerpt demonstrates: \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima } } - \lyricsto "cantus" \new LyricsVoice \lyrics { + \lyricsto "cantus" \new Lyrics \lyrics { San- ctus, San- ctus, San- ctus } >> @@ -7428,7 +7441,7 @@ The following are supported _\verylongfermata r } - \context LyricsVoice \lyrics { + \context Lyrics \lyrics { "shortfermata" "fermata" "longfermata" "verylongfermata" } >> } diff --git a/TODO b/TODO index 684f4e8f65..af6c6de53f 100644 --- a/TODO +++ b/TODO @@ -16,16 +16,14 @@ nearby future ** staff-padding / padding. - * Code ** \set / \override syntax -** lyricsvoice -> lyrics. - - * Documentation +** split refman + ** Prune internals documentation. ** Move Markup doc to docstrings. diff --git a/input/ascii-art/r-as.ly b/input/ascii-art/r-as.ly index 9d6a122ec0..74c603c693 100644 --- a/input/ascii-art/r-as.ly +++ b/input/ascii-art/r-as.ly @@ -1,5 +1,5 @@ #(ly:set-option 'old-relative) -\version "2.1.19" +\version "2.1.21" % ASCII Art output % % Process as: @@ -16,7 +16,7 @@ \repeat "volta" 2 { g a b c } \alternative { { c b a g } { f e d c } } } - \context LyricsVoice \lyrics { + \context Lyrics \lyrics { De eer- ste << { maat } { moet } >> \repeat fold 2 { } \alternative { diff --git a/input/ascii-art/twinkle-as5.ly b/input/ascii-art/twinkle-as5.ly index 346796b403..2571f5cf83 100644 --- a/input/ascii-art/twinkle-as5.ly +++ b/input/ascii-art/twinkle-as5.ly @@ -1,5 +1,5 @@ #(ly:set-option 'old-relative) -\version "2.1.19" +\version "2.1.21" % ASCII Art output % % Process as: @@ -65,11 +65,11 @@ text = \lyrics{ \context GrandStaff << \addlyrics \context Staff=upper \melody - \context LyricsVoice=between \text + \context Lyrics=between \text \context Staff=lower \accompany >> \paper{ - \translator { \GrandStaffContext \accepts "LyricsVoice" } + \translator { \GrandStaffContext \accepts "Lyrics" } indent=4.0\char linewidth=78.0\char } diff --git a/input/mutopia/F.Schubert/morgenlied.ly b/input/mutopia/F.Schubert/morgenlied.ly index a8e1f08550..8d008ce4b9 100644 --- a/input/mutopia/F.Schubert/morgenlied.ly +++ b/input/mutopia/F.Schubert/morgenlied.ly @@ -26,7 +26,7 @@ } -\version "2.1.19" +\version "2.1.21" manuscriptBreak = { \break } @@ -73,12 +73,12 @@ melody = \notes \relative c'' \repeat volta 2 \context Voice = singer { } -ignoreMelisma = \property LyricsVoice . ignoreMelismata = ##t -ignoreMelismaOff = \property LyricsVoice . ignoreMelismata \unset +ignoreMelisma = \property Lyrics . ignoreMelismata = ##t +ignoreMelismaOff = \property Lyrics . ignoreMelismata \unset firstVerse = \lyrics { - \property LyricsVoice . stanza = "1." + \property Lyrics . stanza = "1." Sü -- ßes Licht! Aus \ignoreMelisma @@ -93,7 +93,7 @@ firstVerse = \lyrics { } secondVerse = \lyrics { - \property LyricsVoice . stanza = "2." + \property Lyrics . stanza = "2." Ach, der Lie -- be sanf -- tes We -- hen schwellt mir | das be -- weg -- te __ Herz, sanft, wie ein ge -- lieb -- ter Schmerz. __ Dürft ich | @@ -152,8 +152,8 @@ pianoLH = \notes \relative c'' \repeat volta 2 { \new Staff << \context Staff \modernAccidentals \melody >> - \lyricsto "singer" \new LyricsVoice \firstVerse - \lyricsto "singer" \new LyricsVoice \secondVerse + \lyricsto "singer" \new Lyrics \firstVerse + \lyricsto "singer" \new Lyrics \secondVerse \new PianoStaff << \property PianoStaff.instrument = \markup { \bold @@ -165,7 +165,7 @@ pianoLH = \notes \relative c'' \repeat volta 2 { \paper { \translator { - \LyricsVoiceContext + \LyricsContext minimumVerticalExtent = #'(-1.0 . 0) } \translator { diff --git a/input/mutopia/F.Schubert/standchen.ly b/input/mutopia/F.Schubert/standchen.ly index b61b62ffae..f0d45209b4 100644 --- a/input/mutopia/F.Schubert/standchen.ly +++ b/input/mutopia/F.Schubert/standchen.ly @@ -42,7 +42,7 @@ instrument = "Piano" footer = "Mutopia-2001/04/27-xx" } -\version "2.1.19" +\version "2.1.21" dynamicUp = \property Voice.DynamicLineSpanner \override #'direction = #1 dynamicRevert = \property Voice.DynamicLineSpanner \revert #'direction @@ -382,7 +382,7 @@ global = \notes{ allLyrics = { % maybe should be bigger by default, in grob-description.scm ? - \lyricsto "leise" \new LyricsVoice { + \lyricsto "leise" \new Lyrics { \lyricVerseOne \lyricVerseTwo \lyricThrough diff --git a/input/no-notation/denneboom.ly b/input/no-notation/denneboom.ly index 41c8a79c51..e3d5f91b34 100644 --- a/input/no-notation/denneboom.ly +++ b/input/no-notation/denneboom.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header{ filename = "denneboom.ly" enteredby = "jcn" @@ -66,7 +66,7 @@ verseOne = \notes{ \oden } -verseOneStaff = \context LyricsVoice = one +verseOneStaff = \context Lyrics = one \verseOne @@ -77,7 +77,7 @@ verseTwo = \notes{ \oden } -verseTwoStaff = \context LyricsVoice = two +verseTwoStaff = \context Lyrics = two \verseTwo @@ -108,7 +108,7 @@ denneboomShape = \paper{ \score{ \addlyrics \context Staff { \time 3/4 \melody } - \context LyricsVoice \verseOne + \context Lyrics \verseOne \paper{ \denneboomShape } diff --git a/input/no-notation/midi-lyric-barcheck.ly b/input/no-notation/midi-lyric-barcheck.ly index 8bfa01d234..d3c90e4036 100644 --- a/input/no-notation/midi-lyric-barcheck.ly +++ b/input/no-notation/midi-lyric-barcheck.ly @@ -1,8 +1,8 @@ +\version "2.1.20" \header { texidoc = "Lyrics in MIDI are aligned to ties and beams: this examples causes no bar checks in MIDI. -TODO: slurs. " @@ -12,8 +12,12 @@ TODO: slurs. <<\notes\relative c'' \context Voice = A { \autoBeamOff c8[ c] c2. - c1~c4 c2. c1 } - \lyricsto "A" \lyrics\new LyricsVoice { bla bla | bla bla | bla } + c1~c4 c2. + c4 ( d e) d + c1 + + } + \lyricsto "A" \lyrics\new Lyrics { bla bla | bla bla | bla bla | bla } >> \paper {} \midi {} diff --git a/input/puer-fragment.ly b/input/puer-fragment.ly index 8e1d68c777..c41f00d66c 100644 --- a/input/puer-fragment.ly +++ b/input/puer-fragment.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { title = "Puer natus est nobis (excerptum)" subtitle = "Antiphona ad introitum VII" @@ -75,7 +75,7 @@ cantus = \context VaticanaVoice = "cantus" \notes { \divisioMaxima } -verba = \context LyricsVoice = "verba" \lyrics { +verba = \context Lyrics = "verba" \lyrics { Pu- er na- tus est no- bis, et fi- li- us da- tus est no- bis: } diff --git a/input/regression/+.ly b/input/regression/+.ly index 76ec951968..ba5ad519e2 100644 --- a/input/regression/+.ly +++ b/input/regression/+.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" %% +.ly: Be the first .ly file for lys-to-tely.py. %% Better to make lys-to-tely.py include "introduction.texi" or %% other .texi documents too? @@ -21,5 +21,5 @@ Smaller and neater tests. } -\score { \context LyricsVoice \lyrics { " " }} +\score { \context Lyrics \lyrics { " " }} diff --git a/input/regression/lyric-combine-new.ly b/input/regression/lyric-combine-new.ly index b2edba2b51..52519e010d 100644 --- a/input/regression/lyric-combine-new.ly +++ b/input/regression/lyric-combine-new.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = "With the @code{\\lyricsto} mechanism, individual lyric @@ -13,21 +13,21 @@ \autoBeamOff c2( d4) e8[ c b c] f4 } - \lyricsto "bla" \lyrics \new LyricsVoice { bla ab blob blob } - \lyricsto "bla" \lyrics \new LyricsVoice { + \lyricsto "bla" \lyrics \new Lyrics { bla ab blob blob } + \lyricsto "bla" \lyrics \new Lyrics { bla - \property LyricsVoice . ignoreMelismata = ##t + \property Lyrics . ignoreMelismata = ##t blob %% note: effect of ignoreMelismata delayed one time step. - \property LyricsVoice . ignoreMelismata \unset + \property Lyrics . ignoreMelismata \unset blob blob } - \lyricsto "bla" \lyrics \new LyricsVoice { nes ted lyrics voice with more words than no tes } >> + \lyricsto "bla" \lyrics \new Lyrics { nes ted lyrics voice with more words than no tes } >> } diff --git a/input/regression/lyric-combine-polyphonic.ly b/input/regression/lyric-combine-polyphonic.ly index c495f9cc8a..ec9d670966 100644 --- a/input/regression/lyric-combine-polyphonic.ly +++ b/input/regression/lyric-combine-polyphonic.ly @@ -1,4 +1,4 @@ -\version "2.1.10" +\version "2.1.21" \header { texidoc ="Polyphonic rhythms and rests don't disturb @@ -21,10 +21,10 @@ texidoc ="Polyphonic rhythms and rests don't disturb \voiceTwo ees'8 r8 r8 r8 ees' r8 r8 r8 } - \lyricsto "two" \lyrics \new LyricsVoice { + \lyricsto "two" \lyrics \new Lyrics { Do na } - \lyrics \lyricsto "one" \new LyricsVoice + \lyrics \lyricsto "one" \new Lyrics { Do mi nus ex } diff --git a/input/regression/lyric-combine.ly b/input/regression/lyric-combine.ly index 5d794793b8..068fbad770 100644 --- a/input/regression/lyric-combine.ly +++ b/input/regression/lyric-combine.ly @@ -1,12 +1,12 @@ -\version "2.1.19" +\version "2.1.21" \header{ -texidoc= "LyricsVoice can be set to a melody automatically. Excess lyrics will be -discarded. LyricsVoice will not be set over rests. You can have melismata +texidoc= "Lyrics can be set to a melody automatically. Excess lyrics will be +discarded. Lyrics will not be set over rests. You can have melismata either by setting a property melismaBusy, or by setting automaticMelismas (which will set melismas during slurs and ties). If -you want a different order than first Music, then LyricsVoice, you must +you want a different order than first Music, then Lyrics, you must precook a chord of staves/lyrics and label those. Of course @code{\rhythm} ignores any other rhythms in the piece. Hyphens and extenders do not assume anything about lyric lengths, so they continue @@ -27,20 +27,20 @@ m = \notes \relative c'' { noise = \repeat unfold 6 \notes \relative c'' { g16 g g g } - textI = \context LyricsVoice = "middle-1" \lyrics { la2 __ la -- la __ la la la la la } -textII = \context LyricsVoice = "middle-1" \lyrics { da -- da __ da -- da da da da da } + textI = \context Lyrics = "middle-1" \lyrics { la2 __ la -- la __ la la la la la } +textII = \context Lyrics = "middle-1" \lyrics { da -- da __ da -- da da da da da } \score { \notes << \context Staff = SA \noise - \context LyricsVoice = LA { s1 } + \context Lyrics = LA { s1 } \context Staff = SB { s1 } - \context LyricsVoice = LB { s1 } + \context Lyrics = LB { s1 } \context Staff = SC \noise \addlyrics \context Staff = SB \context Voice="middle" \m - << \context LyricsVoice = LA \textI - \context LyricsVoice = LB \textII + << \context Lyrics = LA \textI + \context Lyrics = LB \textII >> >> diff --git a/input/regression/lyric-extender-broken.ly b/input/regression/lyric-extender-broken.ly index e9ec0cd28d..a07af0590b 100644 --- a/input/regression/lyric-extender-broken.ly +++ b/input/regression/lyric-extender-broken.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { @@ -15,7 +15,7 @@ of the melisma." a) a2( b) \break a2 } - \lyricsto A \context LyricsVoice \lyrics { a __ a __ ha } + \lyricsto A \context Lyrics \lyrics { a __ a __ ha } >> \paper { raggedright = ##t diff --git a/input/regression/lyric-extender.ly b/input/regression/lyric-extender.ly index 40413310ca..7e3b3400a7 100644 --- a/input/regression/lyric-extender.ly +++ b/input/regression/lyric-extender.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc= "Tests lyric extenders. "} @@ -8,7 +8,7 @@ \context Staff { c8[ ( d] ) r4 f4 } - \context LyricsVoice \lyrics { xxx __ \skip 4 x } + \context Lyrics \lyrics { xxx __ \skip 4 x } >> } diff --git a/input/regression/lyric-hyphen-break.ly b/input/regression/lyric-hyphen-break.ly index 98de34330f..2abcbe5d85 100644 --- a/input/regression/lyric-hyphen-break.ly +++ b/input/regression/lyric-hyphen-break.ly @@ -1,4 +1,4 @@ - +\version "2.1.20" \header { diff --git a/input/regression/lyric-hyphen.ly b/input/regression/lyric-hyphen.ly index 67b3c01e39..a6d00e81e2 100644 --- a/input/regression/lyric-hyphen.ly +++ b/input/regression/lyric-hyphen.ly @@ -1,9 +1,9 @@ -\version "2.1.19" +\version "2.1.21" \header {texidoc="Tests lyric hyphens. "} \score{ << \context Staff \notes { c' (c') (c') c' } - \context LyricsVoice \lyrics { bla -- alb xxx -- yyy } + \context Lyrics \lyrics { bla -- alb xxx -- yyy } >> } diff --git a/input/regression/lyric-phrasing-new.ly b/input/regression/lyric-phrasing-new.ly index 9863f2b25c..b9143f69e1 100644 --- a/input/regression/lyric-phrasing-new.ly +++ b/input/regression/lyric-phrasing-new.ly @@ -1,4 +1,4 @@ -\version "2.1.10" +\version "2.1.21" \header { texidoc = "Lyric phrasing: @@ -17,7 +17,7 @@ texidoc = "Lyric phrasing: d16[ e f g] } - \lyrics \lyricsto "bla" \context LyricsVoice { + \lyrics \lyricsto "bla" \context Lyrics { al tijd izzz } >> diff --git a/input/regression/lyric-phrasing.ly b/input/regression/lyric-phrasing.ly index 649387c46d..f9b64b985f 100644 --- a/input/regression/lyric-phrasing.ly +++ b/input/regression/lyric-phrasing.ly @@ -1,5 +1,5 @@ -\version "2.1.19" +\version "2.1.21" \header{ texidoc="Lyric phrasing @@ -30,12 +30,12 @@ a a a8 ( a) a4 } << - \new LyricsVoice \lyricsto "v" \lyrics { - \property LyricsVoice . stanza = "1:" + \new Lyrics \lyricsto "v" \lyrics { + \property Lyrics . stanza = "1:" Start sentence melisma end. } - \new LyricsVoice \lyricsto "v" \lyrics { - \property LyricsVoice . stanza = "2:" + \new Lyrics \lyricsto "v" \lyrics { + \property Lyrics . stanza = "2:" x x x __ x. } >> diff --git a/input/regression/lyrics-bar.ly b/input/regression/lyrics-bar.ly index e530c0f790..ba619808fb 100644 --- a/input/regression/lyrics-bar.ly +++ b/input/regression/lyrics-bar.ly @@ -1,8 +1,8 @@ -\version "2.1.19" +\version "2.1.21" \header{ texidoc=" -Adding a @code{Bar_engraver} to the LyricsVoice context makes sure that +Adding a @code{Bar_engraver} to the Lyrics context makes sure that lyrics don't collide with barlines. " } @@ -13,11 +13,11 @@ lyrics don't collide with barlines. b1 \bar "|:" b1 \bar ":|" } \lyrics << - \context LyricsVoiceWithBars { + \context LyricsWithBars { % thisContextHasBarEngraver1 added ThisContextCertainlyHasBarEngraverAddedButThereHasBeenSomethingFunnyBefore1. Here. } - \context LyricsVoice { + \context Lyrics { this4 one has no BarEngraverAddedToContext1 } >> @@ -27,12 +27,12 @@ lyrics don't collide with barlines. raggedright = ##t \translator { \ScoreContext - \accepts "LyricsVoiceWithBars" + \accepts "LyricsWithBars" } \translator { - \LyricsVoiceContext + \LyricsContext \consists "Bar_engraver" - \name "LyricsVoiceWithBars" + \name "LyricsWithBars" } } } diff --git a/input/regression/lyrics-melisma-beam.ly b/input/regression/lyrics-melisma-beam.ly index 5c0ecccb73..52f48053c3 100644 --- a/input/regression/lyrics-melisma-beam.ly +++ b/input/regression/lyrics-melisma-beam.ly @@ -1,4 +1,4 @@ -\version "2.1.10" +\version "2.1.21" \header { texidoc = "Melismata are triggered by manual beams." @@ -12,7 +12,7 @@ \property Staff.autoBeaming = ##f c8 c8[ c8 c8] c8 } - \lyricsto "" \new LyricsVoice \lyrics { bla bla bla } + \lyricsto "" \new Lyrics \lyrics { bla bla bla } >> \paper { raggedright = ##t } } diff --git a/input/regression/span-bar.ly b/input/regression/span-bar.ly index ddb484f526..560a7b2839 100644 --- a/input/regression/span-bar.ly +++ b/input/regression/span-bar.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = "Span bars draw only in between staff bar lines, so setting those to transparent shows bar lines between systems only. " @@ -7,7 +7,7 @@ texidoc = "Span bars draw only in between staff bar lines, so setting those to t \score { \notes \relative c' \new StaffGroup << \new Staff { a1 a1 a1} - \new LyricsVoice \lyrics << + \new Lyrics \lyrics << { bla1 die bla } { foo bar foo } >> diff --git a/input/regression/stanza-number.ly b/input/regression/stanza-number.ly index 3e3743fc61..dc92b0ab06 100644 --- a/input/regression/stanza-number.ly +++ b/input/regression/stanza-number.ly @@ -1,4 +1,4 @@ -\version "2.1.7" +\version "2.1.21" \header { texidoc = "Stanza numbers are put left of their lyric." @@ -7,10 +7,10 @@ texidoc = "Stanza numbers are put left of their lyric." \score { << \notes { r4 r4 c4 c4 } - \context LyricsVoice + \context Lyrics \lyrics { \skip 2 - \property LyricsVoice . stanza = "1." + \property Lyrics . stanza = "1." Foo8 Bar8 } >> diff --git a/input/template/melody-lyrics-chords.ly b/input/template/melody-lyrics-chords.ly index 4da7f5c5d4..cb0d3e6ee2 100644 --- a/input/template/melody-lyrics-chords.ly +++ b/input/template/melody-lyrics-chords.ly @@ -1,4 +1,4 @@ -\version "2.1.10" +\version "2.1.21" \header { texidoc = "Popsong format: chords, melody and lyrics." @@ -24,7 +24,7 @@ accompaniment = \chords { \autoBeamOff \melody } - \lyricsto "one" \new LyricsVoice \text + \lyricsto "one" \new Lyrics \text >> \paper { } \midi { } diff --git a/input/template/melody-lyrics.ly b/input/template/melody-lyrics.ly index 065f62986b..7ace19b345 100644 --- a/input/template/melody-lyrics.ly +++ b/input/template/melody-lyrics.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = "Melody and lyrics." @@ -18,7 +18,7 @@ text = \lyrics { \property Staff.autoBeaming = ##f \melody } - \lyricsto "one" \new LyricsVoice \text + \lyricsto "one" \new Lyrics \text >> \paper { } \midi { } diff --git a/input/template/piano-lyrics.ly b/input/template/piano-lyrics.ly index 48c105b2f5..b34297ebaa 100644 --- a/input/template/piano-lyrics.ly +++ b/input/template/piano-lyrics.ly @@ -1,7 +1,7 @@ -\version "2.1.19" +\version "2.1.21" \header { - texidoc ="LyricsVoice between two staffs." + texidoc ="Lyrics between two staffs." } upper = \notes\relative c'' { @@ -21,7 +21,7 @@ text = \lyrics { \context Staff = upper { \context Voice = singer \upper } - \lyricsto "singer" \new LyricsVoice \text + \lyricsto "singer" \new Lyrics \text \context Staff = lower << \clef bass \lower @@ -30,11 +30,11 @@ text = \lyrics { \paper { \translator { \GrandStaffContext - \accepts "LyricsVoice" + \accepts "Lyrics" } \translator { - %\LyricsVoiceContext - \LyricsVoiceContext + %\LyricsContext + \LyricsContext \consists "Bar_engraver" } } diff --git a/input/template/piano-melody-lyrics.ly b/input/template/piano-melody-lyrics.ly index bec4d77afd..0e8cbefa76 100644 --- a/input/template/piano-melody-lyrics.ly +++ b/input/template/piano-melody-lyrics.ly @@ -1,4 +1,5 @@ +\version "2.1.20" \header { texidoc ="Classical song format: one staff with melody and lyrics, and piano accompaniment." diff --git a/input/template/satb.ly b/input/template/satb.ly index 10364e754e..bd116bfd8c 100644 --- a/input/template/satb.ly +++ b/input/template/satb.ly @@ -1,4 +1,4 @@ -\version "2.1.10" +\version "2.1.21" \header { texidoc = " @@ -20,25 +20,25 @@ bassWords = \lyrics { ho4 ho ho ho } \score { \notes \context StaffGroup << - \context LyricsVoice = sopranos { s1 } + \context Lyrics = sopranos { s1 } \context Staff = women << \context Voice = sopranos { \voiceOne \sopMusic } \context Voice = altos { \voiceTwo \altoMusic } >> - \context LyricsVoice = altos { s1 } - \context LyricsVoice = tenors { s1 } + \context Lyrics = altos { s1 } + \context Lyrics = tenors { s1 } \context Staff = men << \clef bass \context Voice = tenors { \voiceOne \tenorMusic } \context Voice = basses { \voiceTwo \bassMusic } >> - \context LyricsVoice = basses { s1 } + \context Lyrics = basses { s1 } - \context LyricsVoice = sopranos \lyricsto sopranos \sopWords - \context LyricsVoice = altos \lyricsto altos \altoWords - \context LyricsVoice = tenors \lyricsto tenors \tenorWords - \context LyricsVoice = basses \lyricsto basses \bassWords + \context Lyrics = sopranos \lyricsto sopranos \sopWords + \context Lyrics = altos \lyricsto altos \altoWords + \context Lyrics = tenors \lyricsto tenors \tenorWords + \context Lyrics = basses \lyricsto basses \bassWords >> \paper { diff --git a/input/test/+.ly b/input/test/+.ly index bc0109c65f..29cef29fd3 100644 --- a/input/test/+.ly +++ b/input/test/+.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" %% +.ly: Be the first .ly file for lys-to-tely.py. %% Better to make lys-to-tely.py include "introduction.texi" or %% other .texi documents too? @@ -16,4 +16,4 @@ This document is for LilyPond version } -\score { \context LyricsVoice \lyrics { " " } } +\score { \context Lyrics \lyrics { " " } } diff --git a/input/test/bar-lines-lyric-only.ly b/input/test/bar-lines-lyric-only.ly index dd5c409760..2bfdbdadeb 100644 --- a/input/test/bar-lines-lyric-only.ly +++ b/input/test/bar-lines-lyric-only.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = "@cindex Bar line lyric only You can move around @code{Bar_engraver} and @code{Span_bar_engraver} if you want bar lines on lyrics. " @@ -7,7 +7,7 @@ You can move around @code{Bar_engraver} and \score { \notes \relative c' \context ChoirStaff << \new Staff { c1 c1 c1} - \context LyricsVoice \lyrics << + \context Lyrics \lyrics << { bla1 die bla } { foo bar foo } { foo bar foo } @@ -19,13 +19,13 @@ You can move around @code{Bar_engraver} and \paper { raggedright = ##t \translator { - \LyricsVoiceContext + \LyricsContext \consists Bar_engraver % need procedure, since lyrics doesn't have a staff_sym engraver. BarLine \override #'bar-size-procedure = #(lambda (x) 3.0) } \translator { - \LyricsVoiceContext + \LyricsContext \consists "Span_bar_engraver" } \translator{ diff --git a/input/test/caps.ly b/input/test/caps.ly index 261be428b9..193fea589b 100644 --- a/input/test/caps.ly +++ b/input/test/caps.ly @@ -1,16 +1,16 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = "@cindex Capital Letters You can set the font to use small caps. " } -shapeSC = \property LyricsVoice.LyricText \override #'font-shape = #'caps -shapeNorm = \property LyricsVoice.LyricText \revert #'font-shape +shapeSC = \property Lyrics.LyricText \override #'font-shape = #'caps +shapeNorm = \property Lyrics.LyricText \revert #'font-shape \score { << \notes \relative c'' { c4 c4 c8 c8 c8 } - \lyrics \context LyricsVoice { + \lyrics \context Lyrics { what4 is4 \shapeSC The8 Ma -- trix? } >> \paper { raggedright = ##t} diff --git a/input/test/divisiones.ly b/input/test/divisiones.ly index 3fe27a8b96..84cb0cadd6 100644 --- a/input/test/divisiones.ly +++ b/input/test/divisiones.ly @@ -7,7 +7,7 @@ Choices are @code{divisioMinima}, @code{divisioMaior} @code{caesura}. " } -\version "2.1.10" +\version "2.1.21" \include "gregorian-init.ly" @@ -40,7 +40,7 @@ Choices are @code{divisioMinima}, @code{divisioMaior} \caesura g4( a) g e( f) e } - \lyricsto "" \new LyricsVoice \lyrics { + \lyricsto "" \new Lyrics \lyrics { Blah blub, blah blam. Blah blub, blah blam. Blah blub, blah blam. diff --git a/input/test/lyric-hyphen-retain.ly b/input/test/lyric-hyphen-retain.ly index 28a42df033..e7273df41d 100644 --- a/input/test/lyric-hyphen-retain.ly +++ b/input/test/lyric-hyphen-retain.ly @@ -1,4 +1,5 @@ +\version "2.1.20" \header { diff --git a/input/test/lyrics-skip-notes.ly b/input/test/lyrics-skip-notes.ly index 4673ea52b6..48a0110e60 100644 --- a/input/test/lyrics-skip-notes.ly +++ b/input/test/lyrics-skip-notes.ly @@ -12,12 +12,12 @@ By inserting @code{\\skip} statements into lyric lines, one can put less lyric s % shorthand for Skip Lyric sl = \notes { \skip 4 } -\version "2.1.16" +\version "2.1.21" \score { << \context Voice = "A" \notes {c4 c c c} - \lyricsto "A" \context LyricsVoice=A \lyrics { foo __ \sl \sl bar } - \lyricsto "A" \context LyricsVoice=B \lyrics { foo -- \sl baz bar } - \lyricsto "A" \context LyricsVoice=C \lyrics { foo -- baz -- baaz bar } + \lyricsto "A" \context Lyrics=A \lyrics { foo __ \sl \sl bar } + \lyricsto "A" \context Lyrics=B \lyrics { foo -- \sl baz bar } + \lyricsto "A" \context Lyrics=C \lyrics { foo -- baz -- baaz bar } >> } diff --git a/input/test/preset-extent.ly b/input/test/preset-extent.ly index fa38b386fd..99ef19171e 100644 --- a/input/test/preset-extent.ly +++ b/input/test/preset-extent.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc = " @cindex Preset Extent @@ -15,10 +15,10 @@ spaced so widely. } \score { - \context LyricsVoice \lyrics { + \context Lyrics \lyrics { foo -- - \property LyricsVoice . LyricText \set #'X-extent-callback = #Grob::preset_extent - \property LyricsVoice . LyricText \set #'X-extent = #'(-10.0 . 10.0) + \property Lyrics . LyricText \set #'X-extent-callback = #Grob::preset_extent + \property Lyrics . LyricText \set #'X-extent = #'(-10.0 . 10.0) bar baz } \paper { raggedright = ##t} diff --git a/input/test/repeat-shorter-bracket.ly b/input/test/repeat-shorter-bracket.ly index ec21ecda57..18dd3d4954 100644 --- a/input/test/repeat-shorter-bracket.ly +++ b/input/test/repeat-shorter-bracket.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header{ texidoc=" @@ -22,7 +22,7 @@ can be shortened. \alternative { { e e e e f f f f } { g g g g } } } - \context LyricsVoice \lyrics{ + \context Lyrics \lyrics{ intro1 \repeat fold 5 { } \alternative { diff --git a/input/test/repeat.ly b/input/test/repeat.ly index 227e6d92ff..363b5db926 100644 --- a/input/test/repeat.ly +++ b/input/test/repeat.ly @@ -1,8 +1,8 @@ -\version "2.1.19" +\version "2.1.21" % possible rename to lyric-repeat or repeat-lyric. -\header{ texidoc = "@cindex Repeat LyricsVoice +\header{ texidoc = "@cindex Repeat Lyrics You can use alternate lyrics as well as alternate notes for repeats. " } @@ -13,7 +13,7 @@ You can use alternate lyrics as well as alternate notes for repeats. " \repeat "volta" 2 { g a b c } \alternative { { c b a g } { f e d c } } } - \context LyricsVoice \lyrics { + \context Lyrics \lyrics { De eer- ste << { maat } { moet } >> \repeat fold 2 { } \alternative { diff --git a/input/test/script-chart.ly b/input/test/script-chart.ly index c5ff34fdea..5d9d21ce86 100644 --- a/input/test/script-chart.ly +++ b/input/test/script-chart.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" % this chart is used in the manual too. @@ -32,7 +32,7 @@ A chart showing all feta scripts. c''\longfermata c''\verylongfermata c''\segno c''\coda c''\varcoda } - \context LyricsVoice \lyrics { + \context Lyrics \lyrics { accent__ marcato__ staccatissimo__ staccato__ tenuto__ portato__ upbow__ downbow__ flageolet__ diff --git a/input/test/trills.ly b/input/test/trills.ly index fe0656c49f..100ead5932 100644 --- a/input/test/trills.ly +++ b/input/test/trills.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { texidoc="@cindex Trills @@ -59,7 +59,7 @@ visible = \property Voice.NoteHead \revert #'transparent \time 3/4 d2^\prallup e4 } - \new LyricsVoice \lyrics { + \new Lyrics \lyrics { "Tremblement"4 "Tremblement"4. "Cadence" @@ -80,7 +80,7 @@ visible = \property Voice.NoteHead \revert #'transparent %} } - \new LyricsVoice \lyrics { + \new Lyrics \lyrics { "simple"4 "appuy\\'e"4. %{ \skip 1*3 diff --git a/input/test/vaticana.ly b/input/test/vaticana.ly index 79c78a0f4f..bf63efe2fe 100644 --- a/input/test/vaticana.ly +++ b/input/test/vaticana.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" % possible rename to ancient-something. \header { texidoc = "Ancient Vaticana @@ -17,7 +17,7 @@ cantus = \context VaticanaVoice = "cantus" \notes { \[ e\melisma \flexa d\melismaEnd \] } -verba = \context LyricsVoice = "verba" \lyrics { +verba = \context Lyrics = "verba" \lyrics { Al- le- lu- ia. } diff --git a/input/test/version-output.ly b/input/test/version-output.ly index 18f5a2f3a0..8bd28c91c6 100644 --- a/input/test/version-output.ly +++ b/input/test/version-output.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" \header { @@ -13,7 +13,7 @@ } -\score { \context LyricsVoice \notes { +\score { \context Lyrics \notes { \property Score.RehearsalMark \set #'self-alignment-X = #LEFT \mark #(ly:export (string-append "Processed with LilyPond version " (lilypond-version))) s2 diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index a7f32ece26..e740217980 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -1,5 +1,5 @@ #(ly:set-option 'old-relative) -\version "2.1.19" +\version "2.1.21" \header{ filename = "twinkle-pop.ly" xtitle = "Ah, vous dirais-je, maman " @@ -34,7 +34,7 @@ acc = \chords { } text = \lyrics{ - \property LyricsVoice . LyricText \set #'font-shape = #'italic + \property Lyrics . LyricText \set #'font-shape = #'italic Ah!4 vous dir -- ai -- je ma man2 Ce4 qui cau -- se mon tour -- ment2 @@ -49,7 +49,7 @@ text = \lyrics{ << \context ChordNames \acc \context Staff=melody \melodie - \context LyricsVoice \text + \context Lyrics \text >> \header{ title = "Ah, vous dirais-je, maman " @@ -61,7 +61,7 @@ text = \lyrics{ << \chords \context ChordNames \transpose c d\acc \notes \context Staff=melody \transpose c d\melodie - \lyrics \context LyricsVoice \text + \lyrics \context Lyrics \text >> \header{ piece = "clarinet in B$\flat$" diff --git a/lily/lyric-phrasing-engraver.cc b/lily/lyric-phrasing-engraver.cc index 2787980474..1ad79cdf56 100644 --- a/lily/lyric-phrasing-engraver.cc +++ b/lily/lyric-phrasing-engraver.cc @@ -122,7 +122,7 @@ void Lyric_phrasing_engraver::add_lyric_extender (Grob_info inf) { Translator_group * tr = inf.origin_trans_->daddy_trans_; - while (tr && !tr->is_alias (ly_symbol2scm ("LyricsVoice"))) + while (tr && !tr->is_alias (ly_symbol2scm ("Lyrics"))) tr = tr->daddy_trans_; if (!tr) @@ -137,7 +137,7 @@ void Lyric_phrasing_engraver::add_stanza_number (Grob_info inf) { Translator_group * tr = inf.origin_trans_->daddy_trans_; - while (tr && !tr->is_alias (ly_symbol2scm ("LyricsVoice"))) + while (tr && !tr->is_alias (ly_symbol2scm ("Lyrics"))) tr = tr->daddy_trans_; if (!tr) @@ -166,7 +166,7 @@ void Lyric_phrasing_engraver::add_lyric_phrasing (Grob_info inf) { Translator_group * tr = inf.origin_trans_->daddy_trans_; - while (tr && !tr->is_alias (ly_symbol2scm ("LyricsVoice"))) + while (tr && !tr->is_alias (ly_symbol2scm ("Lyrics"))) tr = tr->daddy_trans_; if (!tr) diff --git a/lily/new-lyric-combine-music-iterator.cc b/lily/new-lyric-combine-music-iterator.cc index b54c02da8d..43660044ad 100644 --- a/lily/new-lyric-combine-music-iterator.cc +++ b/lily/new-lyric-combine-music-iterator.cc @@ -170,10 +170,10 @@ New_lyric_combine_music_iterator::construct_children () if (lyric_iter_) lyrics_context_ = find_context_below (lyric_iter_->get_outlet (), - "LyricsVoice", ""); + "Lyrics", ""); /* - We do not create a LyricsVoice context, because the user might + We do not create a Lyrics context, because the user might create one with a different name, and then we will not find that one. */ diff --git a/lily/new-part-combine-iterator.cc b/lily/new-part-combine-iterator.cc index 68c4b3434b..05fc2fa6b0 100644 --- a/lily/new-part-combine-iterator.cc +++ b/lily/new-part-combine-iterator.cc @@ -359,7 +359,7 @@ New_pc_iterator::process (Moment m) solo1 (); else if (tag == ly_symbol2scm ("solo2")) solo2 (); - else + else if (gh_symbol_p (tag)) { String s = "Unknown split directive: " + (gh_symbol_p (tag) ? ly_symbol2string (tag) : String ("not a symbol")); diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 2745f3461e..0db8d88ef2 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -65,10 +65,6 @@ Tuplet_engraver::try_music (Music *c) void Tuplet_engraver::process_acknowledged_grobs () { - SCM v = get_property ("tupletInvisible"); - if (to_boolean (v)) - return; - for (int i= 0; i < time_scaled_musics_.size (); i++) { if (i < started_spanners_.size () && started_spanners_[i]) @@ -161,5 +157,5 @@ ENTER_DESCRIPTION(Tuplet_engraver, /* creats*/ "TupletBracket", /* accepts */ "time-scaled-music", /* acks */ "note-column-interface", -/* reads */ "tupletNumberFormatFunction tupletSpannerDuration tupletInvisible", +/* reads */ "tupletNumberFormatFunction tupletSpannerDuration", /* write */ ""); diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 5fae4568eb..854228ced0 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -103,7 +103,7 @@ \accepts "RhythmicStaff" \accepts "GrandStaff" \accepts "PianoStaff" - \accepts "LyricsVoice" + \accepts "Lyrics" \accepts "ChordNames" } @@ -302,7 +302,7 @@ \accepts "GrandStaff" \accepts "PianoStaff" \accepts "TabStaff" - \accepts "LyricsVoice" + \accepts "Lyrics" \accepts "ChordNames" } @@ -333,7 +333,7 @@ connected vertically. " \description " Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics. " - \name LyricsVoice + \name Lyrics \consists "Separating_line_group_engraver" \consists "Lyric_engraver" \consists "Extender_engraver" @@ -440,7 +440,7 @@ AncientRemoveEmptyStaffContext = \translator { \accepts "StaffGroup" \accepts "RhythmicStaff" \accepts "DrumStaff" - \accepts "LyricsVoice" + \accepts "Lyrics" \accepts "ChordNames" \accepts "GrandStaff" \accepts "ChoirStaff" diff --git a/ly/performer-init.ly b/ly/performer-init.ly index a356de3602..279f1e0861 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -1,4 +1,4 @@ -\version "2.1.19" +\version "2.1.21" % % setup for Request->Element conversion. Guru-only @@ -41,6 +41,7 @@ \name Voice \consists "Note_performer" \consists "Beam_performer" + \consists "Slur_performer" \consists "Melisma_performer" } @@ -100,7 +101,7 @@ \accepts RhythmicStaff \accepts ChordNames \accepts FiguredBass - \accepts LyricsVoice + \accepts Lyrics \alias "Timing" \consists "Timing_translator" \consists "Swallow_performer" @@ -114,7 +115,7 @@ \translator { \type "Staff_performer" % Performer_group_performer ? \consists "Lyric_performer" - \name LyricsVoice + \name Lyrics \consists "Time_signature_performer" \consists "Tempo_performer" } diff --git a/scm/define-translator-properties.scm b/scm/define-translator-properties.scm index dee660ada4..060d40599f 100644 --- a/scm/define-translator-properties.scm +++ b/scm/define-translator-properties.scm @@ -18,114 +18,56 @@ (set-object-property! symbol 'translation-type? type?) (set-object-property! symbol 'translation-doc description) (set! all-translation-properties (cons symbol all-translation-properties)) + symbol ) - - -(translator-property-description 'acceptHashTable vector? "Internal -variable: store table with MusicName to Engraver entries.") -(translator-property-description 'acknowledgeHashTable vector? -"Internal variable: store interface to engraver smob table for current -context. Don't mess with this.") -(translator-property-description 'aDueText string? "text for begin of a due") -(translator-property-description 'alignBassFigureAccidentals boolean? +(define all-user-translation-properties + (map + (lambda (x) + (apply translator-property-description x)) + `( + (aDueText ,string? "text for begin of a due") + (alignBassFigureAccidentals ,boolean? "If true, then the accidentals are aligned in bass figure context.") -(translator-property-description 'allowBeamBreak boolean? - "If true allow line breaks during beams.") -(translator-property-description 'associatedVoice string? "Name of the -Voice that has the melody for this LyricsVoice.") -(translator-property-description 'associatedVoiceContext ly:context? "The context object of the Voice that has the melody for this LyricsVoice.") -(translator-property-description 'autoBeamSettings list? "Specifies -when automatically generated beams should begin and end. The elements -have the format: - -@example - - function shortest-duration-in-beam time-signature - -where - - function = begin or end - shortest-duration-in-beam = numerator denominator; eg: 1 16 - time-signature = numerator denominator, eg: 4 4 - -unspecified or wildcard entries for duration or time-signature -are given by * * - -The user can override beam begin or end time by pushing a wildcard entries -'(begin * * * *) or '(end * * * *) resp., eg: - - property Voice.autoBeamSettings push #'(end * * * *) = #(ly:make-moment 1 4) - -The head of the list: - '( -((end * * 3 2) . ,(ly:make-moment 1 2)) -((end 1 16 3 2) . ,(ly:make-moment 1 4)) -((end 1 32 3 2) . ,(ly:make-moment 1 8)) - ... - ) - -@end example") - -;; " - -(translator-property-description 'autoAccidentals list? "List of -different ways to typeset an accidental. All algorithms in the list -are tried, and the one returning the most accidentals is used. -Each entry is either a symbol containg a context name or a name-value -pair containing an algorithm-description. -The list must begin with a symbol (context name). -The symbols denote in which context THE FOLLOWING algorithms (until next symbol) -will be interpreted. All notes in the interpretation context will share accidentals. -The contexts must be stated in order, innermost first. -The algorithms are: -@table @samp -@item same-octave: -This is the default algorithm. Accidentals are typeset if the note changes -the accidental of that note in that octave. Accidentals lasts to the end of the measure -and then as many measures as specified in the value. I.e. 1 means to the end -of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever. -@item any-octave: -Accidentals are typeset if the note is different from -the previous note on the same pitch in any octave. The value has same meaning as in -same-octave. -@end table -") -(translator-property-description 'autoBeaming boolean? "If set to true + (allowBeamBreak ,boolean? "If true allow line breaks during beams.") + (associatedVoice ,string? "Name of the +Voice that has the melody for this Lyrics.") + (autoBeamSettings ,list? "Specifies +when automatically generated beams should begin and end. +See the notation manual for more information. ") + (autoAccidentals ,list? "List of +different ways to typeset an accidental. See the notation manual for more information on setting this.") + (autoBeaming ,boolean? "If set to true then beams are generated automatically.") -(translator-property-description 'autoCautionaries list? "List similar to + (autoCautionaries ,list? "List similar to autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset. ") -(translator-property-description 'automaticBars boolean? " If set to true then bar lines will not be printed - automatically; they must be explicitly created with @code{bar} - keywords. Unlike with the @code{cadenza} keyword, measures are - still counted. Bar generation will resume according to that - count if this property is set to zero. + (automaticBars ,boolean? " If set to true then bar lines will not be +printed automatically; they must be explicitly created with +@code{\\bar} command. Unlike the @code{\\cadenza} keyword, measures +are still counted. Bar generation will resume according to that count +if this property is unset. ") -(translator-property-description 'barAlways boolean? "If set to true a bar line is drawn after each note. -") -(translator-property-description 'barCheckLastFail ly:moment? "Where in the measurze did the last barcheck fail?") + (barAlways ,boolean? "If set to true a bar line is drawn after each +note.") -(translator-property-description 'barCheckSynchronize boolean? "If -true then reset measurePosition when finding a barcheck. Turn off when -using barchecks in polyphonic music.") -(translator-property-description 'barNumberVisibility procedure? "Procedure that takes an int and returns whether the corresponding bar number should be printed") -(translator-property-description 'bassFigureFormatFunction procedure? "DOCME") -(translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is present.") -(translator-property-description 'beatLength ly:moment? "The length of one beat in this time signature.") -(translator-property-description 'beatGrouping list? - "List of beatgroups. Eg. in 5/8 time #(list 2 3).") + (barCheckSynchronize ,boolean? "If true then reset measurePosition +when finding a barcheck.") + (barNumberVisibility ,procedure? "Procedure that takes an int and +returns whether the corresponding bar number should be printed") + (bassFigureFormatFunction ,procedure? "DOCME") + (beatLength ,ly:moment? "The length of one beat in this time signature.") + (beatGrouping ,list? + "List of beatgroups. Eg. in 5/8 time #(list 2 3).") -(translator-property-description 'breakableSeparationItem ly:grob? -"The breakable items in this time step, for this staff.") -(translator-property-description 'breakAlignOrder list? "Defines the order in which + (breakAlignOrder ,list? "Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines: @@ -140,228 +82,179 @@ key signatures after the bar lines: ) @end example ") -(translator-property-description 'busyGrobs list? " -a queue of (END-MOMENT . GROB) conses. This is for internal (C++) use only. -Use at your own risk. This property contains the grobs for which END-MOMENT >= NOW. -") -(translator-property-description 'centralCPosition number? "Place of -the central C, measured in half staffspaces. Usually determined by -looking at clefPosition and clefGlyph.") - -(translator-property-description - 'chordNameFunction procedure? - "The function that converts lists of pitches to chord names.") -(translator-property-description - 'chordNoteNamer procedure? - "Function that converts from a pitch object to a text markup. Used for single pitches.") -(translator-property-description - 'chordRootNamer procedure? - "Function that converts from a pitch object to a text markup. Used for chords.") -(translator-property-description - 'chordNameExceptions list? - "Alist of chord exceptions. Contains (CHORD . MARKUP) entries.") -(translator-property-description - 'chordNameExceptionsFull list? - "Alist of chord exceptions. Contains (CHORD . (MARKUP)) entries.") -(translator-property-description - 'chordNameExceptionsPartial list? - "Alist of partial chord exceptions. Contains (CHORD . (PREFIX-MARKUP SUFFIX-MARKUP)) entries.") -(translator-property-description - 'chordNameSeparator markup? - "The markup object used to separate parts of a chord name.") - -(translator-property-description 'chordChanges boolean? "Only show changes in chords scheme?") -(translator-property-description 'clefGlyph string? "Name of the symbol within the music font") -(translator-property-description 'clefOctavation integer? "Add + (centralCPosition ,number? "Place of the central C, measured in half +staffspaces. Usually determined by looking at clefPosition and +clefGlyph.") + + (chordNameFunction ,procedure? + "The function that converts lists of pitches to chord names.") + (chordNoteNamer ,procedure? + "Function that converts from a pitch object to a text markup. Used for single pitches.") + (chordRootNamer ,procedure? + "Function that converts from a pitch object to a text markup. Used for chords.") + (chordNameExceptions ,list? + "Alist of chord exceptions. Contains (CHORD . MARKUP) entries.") + (chordNameExceptionsFull ,list? + "Alist of chord exceptions. Contains (CHORD . (MARKUP)) entries.") + (chordNameExceptionsPartial ,list? + "Alist of partial chord exceptions. Contains (CHORD . (PREFIX-MARKUP SUFFIX-MARKUP)) entries.") + (chordNameSeparator ,markup? + "The markup object used to separate parts of a chord name.") + + (chordChanges ,boolean? "Only show changes in chords scheme?") + (clefGlyph ,string? "Name of the symbol within the music font") + (clefOctavation ,integer? "Add this much extra octavation. Values of 7 and -7 are common.") -(translator-property-description 'clefPosition number? "Where should -the center of the clef symbol go? On systems with an odd number of -stafflines, the value 0 puts the clef on the middle staffline; a -positive value shifts it up, a negative value shifts it down. The -unit of this distance is the half staff space.") + (clefPosition ,number? "Where should the center of the clef symbol go? +The unit of this distance is the half staff space, and 0 represents the vertical center.") -(translator-property-description 'connectArpeggios boolean? " If -set, connect all arpeggios that are found. In this way, you can make -arpeggios that cross staves. -") -(translator-property-description 'createKeyOnClefChange boolean? "Print a key signature whenever the clef is changed.") -(translator-property-description 'crescendoText markup? "Text to print at start of non-hairpin crecscendo, ie: @samp{cresc.}") -(translator-property-description 'crescendoSpanner symbol? "Type of spanner to be used for crescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}. If unset, hairpin type is used.") -(translator-property-description 'decrescendoText markup? "Text to print at start of non-hairpin decrecscendo, ie: @samp{dim.}") -(translator-property-description 'drumPitchTable hash-table? - "A table mapping percussion + (connectArpeggios ,boolean? " If set, connect all arpeggios that are +found. In this way, you can make arpeggios that cross staves. ") + (createKeyOnClefChange ,boolean? "Print a key signature whenever the clef is changed.") + (crescendoText ,markup? "Text to print at start of non-hairpin crecscendo, ie: @samp{cresc.}") + (crescendoSpanner ,symbol? "Type of spanner to be used for crescendi. +One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, +@samp{dotted-line}. If unset, hairpin type is used.") + (decrescendoText ,markup? "Text to print at start of non-hairpin decrecscendo, ie: @samp{dim.}") + + (drumPitchTable ,hash-table? "A table mapping percussion instruments (symbols) to pitches.") -(translator-property-description 'drumStyleTable hash-table? - "A hash table containing mapping drums to layout settings. -Predefined values: @code{drums-style}, @code{timbales-style}, @code{congas-style}, @code{bongos-style} -and @code{percussion-style}. + (drumStyleTable ,hash-table? "A hash table containing mapping +drums to layout settings. Predefined values: @code{drums-style}, +@code{timbales-style}, @code{congas-style}, @code{bongos-style} and +@code{percussion-style}. -The layout style is a hash table, containing the drum-pitches (eg. the symbol @code{hihat}) as key, -and a list (@var{notehead-style} @var{script} @var{vertical-position}) as values. +The layout style is a hash table, containing the drum-pitches (eg. the +symbol @code{hihat}) as key, and a list (@var{notehead-style} +@var{script} @var{vertical-position}) as values. ") -(translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at + (currentBarNumber ,integer? "Contains the current barnumber. This property is incremented at every barline. ") -(translator-property-description 'currentCommandColumn ly:grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.") -(translator-property-description 'currentMusicalColumn ly:grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).") -(translator-property-description 'defaultBarType string? "Sets the default type of bar line. Available bar types: [FIXME]; - -This variable is typically read at Score level, so overriding -Staff.defaultBarType will have no effect. + (defaultBarType ,string? "Sets the default type of bar line. +Available bar types: [FIXME]; +This variable is typically read by Timing_engraver at Score level, so +overriding Staff.defaultBarType will have no effect. ") -(translator-property-description 'decrescendoSpanner symbol? "Type of spanner to be used for decrescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}. If unset, hairpin type is used.") + (decrescendoSpanner ,symbol? "Type of spanner to be used for +decrescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, +@samp{dotted-line}. If unset, hairpin type is used.") -(translator-property-description 'dynamicAbsoluteVolumeFunction procedure? " -[DOCUMENT-ME] -") -(translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.") + (explicitClefVisibility ,procedure? "visibility-lambda function for clef changes.") -(translator-property-description 'explicitKeySignatureVisibility -procedure? "visibility-lambda function for explicit Key changes; -\\override of #'break-visibility will set the visibility for normal -(ie. at the start of the line) key signatures.") + (explicitKeySignatureVisibility ,procedure? "visibility-lambda +function for explicit Key changes; \\override of #'break-visibility +will set the visibility for normal (ie. at the start of the line) key +signatures.") -(translator-property-description 'extraNatural boolean? "Whether to typeset an + (extraNatural ,boolean? "Whether to typeset an extra natural sign before accidentals changing from a non-natural to -another non-natural. -") +another non-natural.") -(translator-property-description 'extraVerticalExtent number-pair? -"extra vertical extent, same format as MinimumVerticalExtent") + (extraVerticalExtent ,number-pair? + "extra vertical extent, same format as MinimumVerticalExtent") -(translator-property-description 'finalizations list? "List of expressions to evaluate before proceeding to next time step. Internal variable.") -(translator-property-description 'followVoice boolean? - "if set, note heads are tracked across staff switches by a thin line") -(translator-property-description 'fontSize number? - "Used to set the relative size of all grobs -in a context. This is done using the @code{Font_size_engraver}.") + (followVoice ,boolean? "if set, note heads are tracked across staff +switches by a thin line") -(translator-property-description - 'fingeringOrientations list? - "List of symbols, containing left, right, up and/or down. This list determines where fingerings are put wrt. to the chord being fingered.") + (fontSize ,number? + "The relative size of all grobs in a context. This is +done using the @code{Font_size_engraver}.") -(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed. Only active for the first clef after the property is set, not for the full staff.") + (fingeringOrientations ,list? + "List of symbols, containing left, right, up and/or down. This list +determines where fingerings are put relative to the chord being +fingered.") -(translator-property-description 'graceSettings vector? - "Overrides for grace notes. This -property should be manipulated through the @code{add-grace-property} -function.") + (forceClef ,boolean? "Show clef symbol, even if it hasn't +changed. Only active for the first clef after the property is set, not +for the full staff.") -(translator-property-description 'highStringOne boolean? "Whether the -1st string is the string with highest pitch on the instrument (used by -the automatic string selector).") - -(translator-property-description 'ignoreMelismata boolean? - "Ignore melismata for this @ref{LyricsVoice}.") -(translator-property-description 'instr markup? "see @code{instrument}") -(translator-property-description 'instrument markup? " If @code{Instrument_name_engraver} -@cindex Instrument_name_engraver - is - added to the Staff translator, then the @code{instrument} property - is used to label the first line of the staff and the @code{instr} - property is used to label subsequent lines. If the - @code{midiInstrument} property is not set, then @code{instrument} - is used to determine the instrument for MIDI output.") - -(translator-property-description 'instrumentEqualizer procedure? "[DOCUMENT-ME]") -(translator-property-description 'instrumentSupport list? " -list of grobs to attach instrument name to. -") -(translator-property-description 'keyAccidentalOrder list? " + (highStringOne ,boolean? "Whether the 1st string is the string with +highest pitch on the instrument. This used by the automatic string +selector for tab notation.") + + (ignoreMelismata ,boolean? "Ignore melismata for this @ref{Lyrics}.") + (instr ,markup? "see @code{instrument}") + + (instrument ,markup? "The name to print left of a staff. The +@code{instrument} property labels the staff in the first system, and +the @code{instr} property labels following lines.") + (instrumentEqualizer ,procedure? "[DOCUMENT-ME]") + + (instrumentSupport ,list? "list of grobs to attach instrument name +to.") + (keyAccidentalOrder ,list? " Alist that defines in what order alterations should be printed. The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1. ") -(translator-property-description 'keySignature list? "The current key signature. This is an alist containing (NAME . ALTER) or ((OCTAVE . NAME) . ALTER) or ((OCTAVE . NAME) . (ALTER . BARNUMBER)) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2. The optional barnumber contains the number of the measure of the accidental. FIXME: describe broken tie entries.") - -(translator-property-description 'lastKeySignature list? "Last key -signature before a key signature change.") -(translator-property-description 'localKeySignature list? "the key -signature at this point in the measure. The format is the same as for keySignature. Is reset at every bar line." -) -(translator-property-description 'localKeySignatureChanges list? "Experimental. - [DOCME]") + (keySignature ,list? "The current key signature. This is an alist +containing (NAME . ALTER) or ((OCTAVE . NAME) . ALTER). + where NAME is from 0.. 6 and +ALTER from -4 (double flat) to 4 (double sharp). +") -(translator-property-description 'majorSevenSymbol markup? "How should + (majorSevenSymbol ,markup? "How should the major7 be formatted in a chord name?") -(translator-property-description 'markFormatter procedure? "Procedure + (markFormatter ,procedure? "Procedure taking as arguments context and rehearsal mark. It should return the formatted mark as a markup object.") -(translator-property-description 'measureLength ly:moment? "Length of one + (measureLength ,ly:moment? "Length of one measure in the current time signature last?") -(translator-property-description 'measurePosition ly:moment? "How much -of the current measure (measured in whole notes) have we had. This -can be set manually to create incomplete measures (anacrusis, upbeat), -the start of the music. -") -(translator-property-description 'melismaBusy boolean? "Signifies -whether a melisma is active. This can be used to signal melismas on -top of those automatically detected. ") -(translator-property-description 'melismaBusyProperties list? - "List of properties (symbols) to + + (measurePosition ,ly:moment? "How much of the current measure +have we had. This can be set manually to create incomplete +measures.") + + (melismaBusyProperties ,list? "List of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to -@code{#'(melismaBusy beamMelismaBusy)}, only manual melismata -(i.e. setting @code{melismaBusy} to @code{#t}) and manual beams are -considered. Possible values include @code{melismaBusy}, -@code{slurMelismaBusy}, @code{tieMelismaBusy}, and +@code{#'(melismaBusy beamMelismaBusy)}, only manual melismata and +manual beams are considered. Possible values include +@code{melismaBusy}, @code{slurMelismaBusy}, @code{tieMelismaBusy}, and @code{beamMelismaBusy}") -(translator-property-description 'metronomeMarkFormatter procedure? - "How to produce a metronome markup. -Called with 2 arguments, event and context.") -(translator-property-description 'midiInstrument string? "Name of the -MIDI instrument to use ") -(translator-property-description 'midiMinimumVolume number? "[DOCUMENT-ME]") -(translator-property-description 'midiMaximumVolume number? "[DOCUMENT-ME]") -(translator-property-description 'minimumFret number? "The tablature -auto string-selecting mechanism selects the highest string with a fret -not less than minimumFret") -(translator-property-description 'minimumVerticalExtent number-pair? -"minimum vertical extent, same format as VerticalExtent") -(translator-property-description 'recordEventSequence procedure? - "Upon termination of this context, + (metronomeMarkFormatter ,procedure? "How to produce a metronome +markup. Called with 2 arguments, event and context.") + (midiInstrument ,string? "Name of the MIDI instrument to use ") + (midiMinimumVolume ,number? "[DOCUMENT-ME]") + (midiMaximumVolume ,number? "[DOCUMENT-ME]") + (minimumFret ,number? "The tablature auto string-selecting mechanism +selects the highest string with a fret not less than minimumFret") + (minimumVerticalExtent ,number-pair? "minimum vertical extent, same +format as VerticalExtent") + (recordEventSequence ,procedure? "Upon termination of this context, this function is called with current context and a list of music objects. The list of contains entries with start times, music objects and whether they're processed in this context.") - -(translator-property-description - 'originalCentralCPosition integer? - "Used for temporary overriding central C in octavation brackets. ") -(translator-property-description 'othersolo boolean? "FIXME") -(translator-property-description 'ottavation string? "If set, the text -for an 8va spanner. Changing this implies a new text spanner. ") -(translator-property-description 'pedalSustainStrings list? "List of string to print for sustain-pedal. Format is - (UP UPDOWN DOWN), where each of the three is the string to print when -this is done with the pedal.") -(translator-property-description 'pedalUnaCordaStrings list? "see pedalSustainStrings.") -(translator-property-description 'pedalSostenutoStrings list? "see pedalSustainStrings.") -(translator-property-description 'pedalSustainStyle symbol? "A symbol -that indicates how to print sustain pedals: text, bracket or mixed -(both).") -(translator-property-description 'pedalUnaCordaStyle symbol? "see pedalSustainStyle.") -(translator-property-description 'pedalSostenutoStyle symbol? "see pedalSustainStyle.") - -(translator-property-description 'rehearsalMark integer? "The -last rehearsal mark printed.") -(translator-property-description 'repeatCommands list? "This property is read to find any command of the form (volta . X), where X is a string or #f") -(translator-property-description 'scriptDefinitions list? " -Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information -") - -(translator-property-description 'restNumberThreshold number? - "If a multimeasure rest takes less + (ottavation ,string? "If set, the text for an 8va spanner. Changing +this implies a new text spanner. ") + (pedalSustainStrings ,list? "List of string to print for +sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is +the string to print when this is done with the pedal.") + (pedalUnaCordaStrings ,list? "see pedalSustainStrings.") + (pedalSostenutoStrings ,list? "see pedalSustainStrings.") + (pedalSustainStyle ,symbol? "A symbol that indicates how to print +sustain pedals: text, bracket or mixed (both).") + (pedalUnaCordaStyle ,symbol? "see pedalSustainStyle.") + (pedalSostenutoStyle ,symbol? "see pedalSustainStyle.") + (rehearsalMark ,integer? "The last rehearsal mark printed.") + (repeatCommands ,list? "This property is read to find any command of the form (volta . X), where X is a string or #f") + + (restNumberThreshold ,number? + "If a multimeasure rest takes less than this number of measures, no number is printed. ") -(translator-property-description 'skipBars boolean? "If set to true, then + (skipBars ,boolean? "If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, @@ -374,63 +267,63 @@ with other voices is preserved. r1 r1*3 R1*3 \\\\property Score.skipBars= ##t r1*3 R1*3 @@end lilypond @end example - ") -(translator-property-description 'skipTypesetting boolean? - "When true, all no typesetting is done at + (skipTypesetting ,boolean? + "When true, all no typesetting is done at this moment, causing the interpretation phase to go a lot faster. This can help with debugging large scores.") -(translator-property-description 'slurMelismaBusy boolean? "Signal if a slur is present.") -(translator-property-description 'solo boolean? "set if solo is detected by the part combiner.") -(translator-property-description 'soloADue boolean? "set Solo/A due texts in the part combiner?") -(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two'' when part-combining.") -(translator-property-description 'soloText string? "text for begin of solo when part-combining.") -(translator-property-description 'sparseTies boolean? "only create one tie per chord.") -(translator-property-description 'squashedPosition integer? " Vertical position of + (soloADue ,boolean? "set Solo/A due texts in the part combiner?") + (soloIIText ,string? "text for begin of solo for voice ``two'' when part-combining.") + (soloText ,string? "text for begin of solo when part-combining.") + (sparseTies ,boolean? "only create one tie per chord.") + (squashedPosition ,integer? " Vertical position of squashing for Pitch_squash_engraver.") -(translator-property-description 'stringOneTopmost boolean? "Whether the 1st string is printed on the + + (stringOneTopmost ,boolean? "Whether the 1st string is printed on the top line of the tablature.") -(translator-property-description 'stavesFound list? "list of all staff-symbols found.") -(translator-property-description 'stanza markup? "Stanza `number' to -print before the start of a verse. Use in LyricsVoice context.") -(translator-property-description 'stemLeftBeamCount integer? " -Specify the number of beams to draw on the left side of the next note. -Overrides automatic beaming. The value is only used once, and then it -is erased. -.") -(translator-property-description 'stemRightBeamCount integer? "idem, for the right side.") -(translator-property-description 'stringTunings list? "The tablature strings tuning. Must be a list of the different semitons pitch of each string (starting by the lower one).") -(translator-property-description 'subdivideBeams boolean? "If set, multiple beams will be subdivided at beat -positions - by only drawing one beam over the beat.") -(translator-property-description 'systemStartDelimiter symbol? "Which grob to make for the start of the system/staff? Set to @code{SystemStartBrace}, @code{SystemStartBracket} or @code{SystemStartBar}.") -(translator-property-description 'tablatureFormat procedure? - "Function formatting a tab notehead; it takes -a string number, a list of string tunings and Pitch object. It returns the text as a string.") - -(translator-property-description 'tieMelismaBusy boolean? "Signal whether a tie is present.") -(translator-property-description 'timeSignatureFraction number-pair? -"pair of numbers, signifying the time signature. For example #'(4 . 4) + + (stanza ,markup? "Stanza `number' to print before the start of a +verse. Use in Lyrics context.") + + (stemLeftBeamCount ,integer? " Specify the number of beams to draw on +the left side of the next note. Overrides automatic beaming. The +value is only used once, and then it is erased. [JUNKME.]") + + (stemRightBeamCount ,integer? "idem, for the right side. [JUNKME]") + + (stringTunings ,list? "The tablature strings tuning. Must be a list of +the different semitons pitch of each string (starting by the lower +one).") + + (subdivideBeams ,boolean? "If set, multiple beams will be subdivided +at beat positions - by only drawing one beam over the beat.") + + (systemStartDelimiter ,symbol? "Which grob to make for the start of +the system/staff? Set to @code{SystemStartBrace}, +@code{SystemStartBracket} or @code{SystemStartBar}.") + + (tablatureFormat ,procedure? "Function formatting a tab notehead; it +takes a string number, a list of string tunings and Pitch object. It +returns the text as a string.") + + (timeSignatureFraction ,number-pair? + "pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4 time signature.") -(translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc? + (timing ,boolean? " Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.") -(translator-property-description 'tonic ly:pitch? - "The tonic of the current scale") -(translator-property-description 'transposing integer? "Transpose the MIDI output. Set this property to the number of half-steps to transpose by.") -(translator-property-description 'tremoloFlags integer? "Number of tremolo flags to add if none is specified.") -(translator-property-description 'tupletNumberFormatFunction procedure? - "Function taking a music as input, producing a string. This function is called to determine the text to print on a tuplet bracket.") - - -;; remove this? -(translator-property-description 'tupletInvisible boolean? " - If set to true, tuplet bracket creation is switched off -entirely. This has the same effect as setting both -@code{tupletNumberVisibility} and @code{tupletBracketVisibility} to -@code{#f}, but as this does not even create any grobs, this setting -uses less memory and time.") - -(translator-property-description 'tupletSpannerDuration ly:moment? " + (tonic ,ly:pitch? + "The tonic of the current scale") + (transposing ,integer? "Transpose the MIDI output. Set this property to the number of half-steps to transpose by.") + + (tremoloFlags ,integer? "Number of tremolo flags to add if none is specified.") + + (tupletNumberFormatFunction + ,procedure? + "Function taking a music as input, producing a string. This function +is called to determine the text to print on a tuplet bracket.") + + (tupletSpannerDuration ,ly:moment? " Normally a tuplet bracket is as wide as the @code{\\times} expression that gave rise to it. By setting this property, you can make brackets last shorter. Example @@ -444,48 +337,37 @@ context Voice \\times 2/3 @{ @@end lilypond @end example .") -(translator-property-description 'verticalAlignmentChildCallback -procedure? "what callback to add to children of a vertical alignment. + (verticalAlignmentChildCallback ,procedure? "what callback to add to children of a vertical alignment. It determines what alignment procedure is used on the alignment itself. .") -(translator-property-description 'verticalExtent number-pair? "hard -coded vertical extent. The format is a pair of dimensions, for -example, this sets the sizes of a staff to 10 (5+5) staffspaces high. + (verticalExtent ,number-pair? "hard coded vertical extent. The format +is a pair of dimensions, for example, this sets the sizes of a staff +to 10 (5+5) staffspaces high. @example property Staff.verticalExtent = #'(-5.0 . 5.0) @end example -VerticalExtent, MinimumVerticalExtent and ExtraVerticalExtent are -predefined in all relevant contexts to @code{#f}, so they will not -inherit values. -Note that these VerticalExtents can only operate on vertical groups, -and therefore only work in contexts which contain an -@code{Axis_group_engraver}. -") +This does not work for Voice or any other context that doesn't form a +vertical group.") -(translator-property-description 'vocalName markup? - "Name of a vocal line.") -(translator-property-description 'vocNam markup? - "Name of a vocal line, short version.") + (vocalName ,markup? "Name of a vocal line.") + (vocNam ,markup? "Name of a vocal line, short version.") -(translator-property-description 'voltaOnThisStaff boolean? - "Normally, volta brackets are put only on the topmost staff. Setting + (voltaOnThisStaff ,boolean? + "Normally, volta brackets are put only on the topmost staff. Setting this variable to true, will force a bracket to be on this staff as well.") -(translator-property-description 'voltaSpannerDuration ly:moment? "maximum duration of the volta bracket. + (voltaSpannerDuration ,ly:moment? "This specifies the maximum duration +to use for the brackets printed for @code{\\alternative}. This can be +used to shrink the length of brackets in the situation where one +alternative is very large.") - Set to a duration to control the size of the brackets printed by -@code{\\alternative}. It specifies the number of whole notes duration -to use for the brackets. This can be used to shrink the length of -brackets in the situation where one alternative is very large. It may -have odd effects if the specified duration is longer than the music -given in an @code{\\alternative}. -.") -(translator-property-description 'whichBar string? - "This property is read to determine what type of barline to create. + (whichBar + ,string? + "This property is read to determine what type of barline to create. Example: @example @@ -493,14 +375,77 @@ Example: @end example This will create a start-repeat bar in this staff only. +Valid values are described in @ref{bar-line-interface}. +") + ))) -If not set explicitly (by property or @code{\\bar}), this is set -according to values of @code{defaultBarType}, @code{barAlways}, -@code{barNonAuto} and @code{measurePosition}. +(define all-internal-translation-properties + (map + (lambda (x) + (set-object-property! (car x) 'internal-translation #t) + (apply translator-property-description x) -Valid values are described in @ref{bar-line-interface}. + ) + + `( + + (slurMelismaBusy ,boolean? "Signal if a slur is present.") + (originalCentralCPosition + ,integer? + "Used for temporary overriding central C in octavation brackets. ") + (melismaBusy ,boolean? "Signifies +whether a melisma is active. This can be used to signal melismas on +top of those automatically detected. ") + (graceSettings ,vector? + "Overrides for grace notes. This +property should be manipulated through the @code{add-grace-property} +function.") + (currentCommandColumn ,ly:grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.") + (currentMusicalColumn ,ly:grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).") + (breakableSeparationItem ,ly:grob? + "The breakable items in this time step, for this staff.") + + (localKeySignature ,list? "the key signature at this point in the +measure. The format is the same as for keySignature, but can also contain +((OCTAVE . NAME) . (ALTER . BARNUMBER)) pairs. It is reset at every +bar line. +" ) + + + (localKeySignatureChanges ,list? "Experimental. + [DOCME]") + + (finalizations ,list? "List of expressions to evaluate before proceeding to next time step. Internal variable.") + (busyGrobs ,list? " +a queue of (END-MOMENT . GROB) conses. This is for internal (C++) use only. +This property contains the grobs which are still busy (eg. noteheads, spanners, etc.) +") + (barCheckLastFail ,ly:moment? "Where in the measurze did the last barcheck fail?") + (associatedVoiceContext ,ly:context? "The context object of the Voice that has the melody for this Lyrics.") + (acceptHashTable ,vector? "Internal +variable: store table with MusicName to Engraver entries.") + (acknowledgeHashTable ,vector? + "Internal variable: store interface to engraver smob table for current +context.") + + (beamMelismaBusy ,boolean? "Signal if a beam is present.") +(dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME] ") +(lastKeySignature ,list? "Last key +signature before a key signature change.") + +(scriptDefinitions ,list? " +Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information +") +(stavesFound ,grob-list? "list of all staff-symbols found.") +(tieMelismaBusy ,boolean? "Signal whether a tie is present.") + ) + )) + +(define all-translation-properties + (append all-user-translation-properties + all-internal-translation-properties)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/scm/describe-context.scm b/scm/describe-context.scm deleted file mode 100644 index 9c110a5797..0000000000 --- a/scm/describe-context.scm +++ /dev/null @@ -1,37 +0,0 @@ - -;; todo: move this to engraver-init.ly - -(define-public context-description-alist - '( - (LyricsVoice . ) - (Thread . ) - (Voice . ) - - - (ChordNames . " - Can contain @code{ChordNamesVoice} - contexts.") - - (Lyrics . " -") - (Staff . - - (RhythmicStaff . - (GrandStaff . - (PianoStaff . - - - (StaffGroup . - - (ChoirStaff . " -") - (Score . - -") - - (TabStaff . - ) - ) - -(set! context-description-alist - (sort context-description-alist alist print-function, brew_molecule -> print +brew-new-markup-molecule -> Text_item::print +LyricsVoice -> Lyrics +tupletInvisible -> TupletBracket \set #'transparent """ ))