From 4311a6488800130567ebc7847105156122ba0c76 Mon Sep 17 00:00:00 2001 From: Neil Puttock Date: Fri, 13 Jun 2008 20:56:19 +0100 Subject: [PATCH] LSR: Update. --- ...adding-bar-lines-to-chordnames-context.ly} | 6 +- input/lsr/adding-drum-parts.ly | 2 +- .../lsr/adding-the-current-date-to-a-score.ly | 20 +- .../additional-voices-to-avoid-collisions.ly | 42 ++++ .../lsr/adjusting-lyrics-vertical-spacing.ly | 21 +- ...aligning-and-centering-instrument-names.ly | 44 ++-- input/lsr/alignment-vertical-spacing.ly | 20 +- input/lsr/ancient-notation.snippet-list | 8 +- input/lsr/bar-counter.ly | 29 --- input/lsr/breaks.snippet-list | 2 +- input/lsr/caesura-railtracks-with-fermata.ly | 9 +- input/lsr/changing-chord-separator.ly | 20 ++ ...ng-midi-output-to-one-channel-per-voice.ly | 59 +++++ ...hanging-properties-for-individual-grobs.ly | 41 +--- input/lsr/chords.snippet-list | 13 +- input/lsr/contexts-and-engravers.snippet-list | 7 +- input/lsr/demonstrating-all-headers.ly | 8 +- input/lsr/editorial-annotations.snippet-list | 8 +- input/lsr/expressive-marks.snippet-list | 4 +- .../lsr/forcing-horizontal-shift-of-notes.ly | 25 ++ input/lsr/measure-counter.ly | 30 +++ input/lsr/midi.snippet-list | 1 + input/lsr/proportional-strict-notespacing.ly | 20 +- input/lsr/repeats.snippet-list | 8 +- input/lsr/rhythms.snippet-list | 8 +- input/lsr/score-for-diatonic-accordion.ly | 228 ++---------------- input/lsr/simultaneous-notes.snippet-list | 2 + input/lsr/spacing.snippet-list | 2 +- input/lsr/staff-notation.snippet-list | 10 +- input/lsr/template.snippet-list | 14 +- input/lsr/text.snippet-list | 2 +- input/lsr/time-signature-in-parentheses.ly | 3 +- input/lsr/tweaks-and-overrides.snippet-list | 11 +- input/lsr/unfretted-strings.snippet-list | 2 +- ...cally-aligned-dynamics-and-textscripts.ly} | 11 +- .../vertically-aligning-ossias-and-lyrics.ly | 31 ++- input/lsr/vocal-music.snippet-list | 12 +- 37 files changed, 359 insertions(+), 424 deletions(-) rename input/lsr/{adding-bars-to-chordnames.ly => adding-bar-lines-to-chordnames-context.ly} (69%) create mode 100644 input/lsr/additional-voices-to-avoid-collisions.ly delete mode 100644 input/lsr/bar-counter.ly create mode 100644 input/lsr/changing-chord-separator.ly create mode 100644 input/lsr/changing-midi-output-to-one-channel-per-voice.ly create mode 100644 input/lsr/forcing-horizontal-shift-of-notes.ly create mode 100644 input/lsr/measure-counter.ly rename input/lsr/{vertically-centered-dynamics-and-textscripts.ly => vertically-aligned-dynamics-and-textscripts.ly} (64%) diff --git a/input/lsr/adding-bars-to-chordnames.ly b/input/lsr/adding-bar-lines-to-chordnames-context.ly similarity index 69% rename from input/lsr/adding-bars-to-chordnames.ly rename to input/lsr/adding-bar-lines-to-chordnames-context.ly index eb303fa72e..955215e2e3 100644 --- a/input/lsr/adding-bars-to-chordnames.ly +++ b/input/lsr/adding-bar-lines-to-chordnames-context.ly @@ -6,11 +6,11 @@ lsrtags = "chords" texidoc = " -To add bar indications in the @@code@{ChordNames@} context, add -@@code@{Bar_engraver@}. +To add bar line indications in the @code{ChordNames} context, add the +@code{Bar_engraver}. " - doctitle = "Adding bars to ChordNames" + doctitle = "Adding bar lines to ChordNames context" } % begin verbatim \new ChordNames \with { \override BarLine #'bar-size = #4 diff --git a/input/lsr/adding-drum-parts.ly b/input/lsr/adding-drum-parts.ly index 149bb31e31..15ddb79608 100644 --- a/input/lsr/adding-drum-parts.ly +++ b/input/lsr/adding-drum-parts.ly @@ -36,7 +36,7 @@ timb = \drummode { timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb } \new DrumVoice { \stemDown \drl } >> >> - \layout {} + \layout { } \midi { \context { \Score diff --git a/input/lsr/adding-the-current-date-to-a-score.ly b/input/lsr/adding-the-current-date-to-a-score.ly index c60ad80efa..c4df909431 100644 --- a/input/lsr/adding-the-current-date-to-a-score.ly +++ b/input/lsr/adding-the-current-date-to-a-score.ly @@ -6,28 +6,12 @@ lsrtags = "titles" texidoc = " -I often find it useful to include a date on printed music, so that I -can see if I'm using the latest version, or tell someone else that he -should only use the version after a certain date. A simple solution is -to enter the date manually to the @code{.ly} file. But that's very -error prone. It's easy to forget updating the date. So i thought it -would be useful if you can add the date on which the PDF file is -generated automatically. I did't figure it out myself, but I asked on -lilypond-user mailing list. And guess what? Someone came with an -excellent solution! So thank you very much Toine Schreurs for sending -this solution to the user mailing list. I post it here for future -reference. - -The solution is to use two scheme functions called @code{strftime} and -@code{localtime}, as shown in the snippet. It is a very flexible -solution, you can format the date just as you like it by adapting the -@code{\"%d-%m-%Y\"} string. See the Guile documentation for more -details on this format string: Formatting Calendar Time. +With a little Scheme code, the current date can easily be added to a +score. " doctitle = "Adding the current date to a score" } % begin verbatim -\version "2.11.48" % first, define a variable to hold the formatted date: date = #(strftime "%d-%m-%Y" (localtime (current-time))) diff --git a/input/lsr/additional-voices-to-avoid-collisions.ly b/input/lsr/additional-voices-to-avoid-collisions.ly new file mode 100644 index 0000000000..330055123c --- /dev/null +++ b/input/lsr/additional-voices-to-avoid-collisions.ly @@ -0,0 +1,42 @@ +%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it +%% This file is in the public domain. +\version "2.11.48" + +\header { + lsrtags = "simultaneous-notes" + + texidoc = " +In some instances of complex polyphonic music, additional voices are +necessary to avoid collisions between notes. Additional voices are +added by defining a variable using the Scheme function +@code{context-spec-music}. + +" + doctitle = "Additional voices to avoid collisions" +} % begin verbatim +voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) +\relative c'' { + \time 3/4 \key d \minor \partial 2 + << + { \voiceOne + a4. a8 + e'4 e4. e8 + f4 d4. c8 + } \\ { + \voiceThree + f,2 + bes4 a2 + a4 s2 + } \\ { + \voiceFive + s2 + g4 g2 + f4 f2 + } \\ { + \voiceTwo + d2 + d4 cis2 + d4 bes2 + } + >> +} diff --git a/input/lsr/adjusting-lyrics-vertical-spacing.ly b/input/lsr/adjusting-lyrics-vertical-spacing.ly index 8920e6b8fb..cf93efd452 100644 --- a/input/lsr/adjusting-lyrics-vertical-spacing.ly +++ b/input/lsr/adjusting-lyrics-vertical-spacing.ly @@ -6,22 +6,31 @@ lsrtags = "text, vocal-music, spacing" texidoc = " -This snippet shows you how to bring the lyrics line closer to the -staff. +This snippet shows how to bring the lyrics line closer to the staff. " doctitle = "Adjusting lyrics vertical spacing" } % begin verbatim % Default layout: << - \new Staff \new Voice = melody \relative c '{ c4 d e f g f e d c1 } + \new Staff \new Voice = melody \relative c' { + c4 d e f + g4 f e d + c1 + } \new Lyrics \lyricsto melody { aa aa aa aa aa aa aa aa aa } % Reducing the minimum space below the staff and above the lyrics: \new Staff \with { - \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 4) } - \new Voice = melody \relative c' { c4 d e f g f e d c1 } + \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 4) + } + \new Voice = melody \relative c' { + c4 d e f + g4 f e d + c1 + } \new Lyrics \with { - \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 1) } + \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 1) + } \lyricsto melody { aa aa aa aa aa aa aa aa aa } >> diff --git a/input/lsr/aligning-and-centering-instrument-names.ly b/input/lsr/aligning-and-centering-instrument-names.ly index 86e931e16e..3593b47fdf 100644 --- a/input/lsr/aligning-and-centering-instrument-names.ly +++ b/input/lsr/aligning-and-centering-instrument-names.ly @@ -6,22 +6,22 @@ lsrtags = "text, paper-and-layout, titles" texidoc = " -Instrument names are generally printed at the left side of the staves. -To align the names of several different intruments, you can put them in -a @code{\\markup} block and use one of the following possibilites: +Instrument names are generally printed to the left of the staves. To +align the names of several different intruments, put them in a +@code{\\markup} block and use one of the following possibilites: * Right-aligned instrument names: this is the default behavior * - Center-aligned instrument names: with the @code{\\hcenter-in #n} -command, you - can place the instrument names inside a padded box (@code{n} being the -width - of the box) + Center-aligned instrument names: using the @code{\\hcenter-in #n} +command + places the instrument names inside a padded box, with @code{n} being +the width + of the box * - Left-aligned instrument names: you have to print the names on top of an + Left-aligned instrument names: the names are printed on top of an empty box, using the @code{\\combine} command with an @code{\\hspace #n} object. @@ -36,21 +36,21 @@ width line-width = #160 } -\new StaffGroup \relative << +\new StaffGroup \relative c' << \new Staff { - \set Staff.instrumentName = "Piccolo" - c1^"default" c \break - \set Staff.instrumentName = \markup { \hcenter-in #10 "Piccolo" } - c1^"centered" c \break - \set Staff.instrumentName = \markup { \combine \hspace #8 "Piccolo" } - c1^"left-aligned" c + \set Staff.instrumentName = #"Piccolo" + c1^"default" | c \break + \set Staff.instrumentName = \markup { \hcenter-in #10 Piccolo } + c1^"centered" | c \break + \set Staff.instrumentName = \markup { \combine \hspace #8 Piccolo } + c1^"left-aligned" | c } \new Staff { - \set Staff.instrumentName = "Flute" - c1 c \break - \set Staff.instrumentName = \markup { \hcenter-in #10 "Flute" } - c1 c \break - \set Staff.instrumentName = \markup { \combine \hspace #8 "Flute" } - c1 c + \set Staff.instrumentName = #"Flute" + c1 | c \break + \set Staff.instrumentName = \markup { \hcenter-in #10 Flute } + c1 | c \break + \set Staff.instrumentName = \markup { \combine \hspace #8 Flute } + c1 | c } >> diff --git a/input/lsr/alignment-vertical-spacing.ly b/input/lsr/alignment-vertical-spacing.ly index 7012989087..0ba6757cdd 100644 --- a/input/lsr/alignment-vertical-spacing.ly +++ b/input/lsr/alignment-vertical-spacing.ly @@ -7,7 +7,7 @@ texidoc = " By setting properties in @code{NonMusicalPaperColumn}, vertical spacing -of alignments can be adjusted per system. +can be adjusted per system. By setting @code{alignment-extra-space} or @@ -15,8 +15,8 @@ By setting @code{alignment-extra-space} or stretched vertically. -For technical reasons, @code{\\overrideProperty} has to be used for -setting properties on individual objects. @code{\\override} in a +For technical reasons, @code{\\overrideProperty} must be used for +changing these properties within a staff; @code{\\override} in a @code{\\context} block may still be used for global overrides. " @@ -27,12 +27,12 @@ setting properties on individual objects. @code{\\override} in a \relative c'' \new StaffGroup << \new Staff { - c1\break - c\break - c\break + c1 \break + c1 \break + c1 \break } - \new Staff { - c1 c c + \new Staff { + c1 | c | c } \new PianoStaff << \new Voice { @@ -52,8 +52,6 @@ setting properties on individual objects. @code{\\override} in a #'((alignment-extra-space . 15)) c_"aligment-extra-space" } - { c1 c c } + { c1 | c | c } >> >> - - diff --git a/input/lsr/ancient-notation.snippet-list b/input/lsr/ancient-notation.snippet-list index 5cc01498c3..87c0c5ba9c 100644 --- a/input/lsr/ancient-notation.snippet-list +++ b/input/lsr/ancient-notation.snippet-list @@ -1,11 +1,11 @@ -ancient-fonts.ly -chant-or-psalms-notation.ly +transcription-of-ancient-music-with-incipit.ly +mensurstriche-layout-bar-lines-between-the-staves.ly adding-a-figured-bass-above-or-below-the-notes.ly incipit.ly +chant-or-psalms-notation.ly ancient-notation-template----modern-transcription-of-mensural-music.ly -transcription-of-ancient-music-with-incipit.ly +ancient-fonts.ly ancient-time-signatures.ly custodes.ly -mensurstriche-layout-bar-lines-between-the-staves.ly ancient-notation-template----modern-transcription-of-gregorian-music.ly rest-styles.ly diff --git a/input/lsr/bar-counter.ly b/input/lsr/bar-counter.ly deleted file mode 100644 index dead05b4fc..0000000000 --- a/input/lsr/bar-counter.ly +++ /dev/null @@ -1,29 +0,0 @@ -%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it -%% This file is in the public domain. -\version "2.11.48" - -\header { - lsrtags = "repeats, staff-notation, editorial-annotations" - - texidoc = " -This snippet provides an example how to emit bar counters which -LilyPond doesn't provide currently. - -" - doctitle = "Bar counter" -} % begin verbatim - -<< - \context Voice = "foo" { - \clef bass - c4 r g r | - c4 r g r | - c4 r g r | - c4 r g r | - } - \context Voice = "foo" { - \set countPercentRepeats = ##t - \override PercentRepeat #'transparent = ##t - \repeat percent 4 { s1 } - } ->> diff --git a/input/lsr/breaks.snippet-list b/input/lsr/breaks.snippet-list index 3d1579ba3c..7a61860912 100644 --- a/input/lsr/breaks.snippet-list +++ b/input/lsr/breaks.snippet-list @@ -1,4 +1,4 @@ -positioning-segno-and-coda-with-line-break.ly removing-the-first-empty-line.ly +positioning-segno-and-coda-with-line-break.ly beams-across-line-breaks.ly adding-an-extra-staff-at-a-line-break.ly diff --git a/input/lsr/caesura-railtracks-with-fermata.ly b/input/lsr/caesura-railtracks-with-fermata.ly index bd677ab75a..232fbd12f1 100644 --- a/input/lsr/caesura-railtracks-with-fermata.ly +++ b/input/lsr/caesura-railtracks-with-fermata.ly @@ -7,9 +7,8 @@ texidoc = " A caesura is sometimes denoted with a double \"railtracks\" breath mark -with a fermata sign positioned over the top of the railtracks. This -snippet should present an optically pleasing combination of railtracks -and a fermata. +with a fermata sign positioned above. This snippet should present an +optically pleasing combination of railtracks and a fermata. " doctitle = "Caesura (\"railtracks\") with fermata" @@ -19,7 +18,9 @@ and a fermata. % construct the symbol \override BreathingSign #'text = \markup { \line { - \musicglyph #"scripts.caesura.curved" \translate #'(-1.75 . 1.6) \musicglyph #"scripts.ufermata" + \musicglyph #"scripts.caesura.curved" + \translate #'(-1.75 . 1.6) + \musicglyph #"scripts.ufermata" } } \breathe c''4 diff --git a/input/lsr/changing-chord-separator.ly b/input/lsr/changing-chord-separator.ly new file mode 100644 index 0000000000..878cb704dd --- /dev/null +++ b/input/lsr/changing-chord-separator.ly @@ -0,0 +1,20 @@ +%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it +%% This file is in the public domain. +\version "2.11.48" + +\header { + lsrtags = "chords" + + texidoc = " +The separator between different parts of a chord name can be set to any +markup. + +" + doctitle = "Changing chord separator" +} % begin verbatim +\chords { + c:7sus4 + \set chordNameSeparator + = \markup { \typewriter | } + c:7sus4 +} diff --git a/input/lsr/changing-midi-output-to-one-channel-per-voice.ly b/input/lsr/changing-midi-output-to-one-channel-per-voice.ly new file mode 100644 index 0000000000..09d24b3b1a --- /dev/null +++ b/input/lsr/changing-midi-output-to-one-channel-per-voice.ly @@ -0,0 +1,59 @@ +%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it +%% This file is in the public domain. +\version "2.11.48" + +\header { + lsrtags = "contexts-and-engravers, midi" + + texidoc = " +When outputting MIDI, the default behavior is for each staff to +represent one MIDI channel, with all the voices on a staff amalgamated. +This minimizes the risk of running out of MIDI channels, since there +are only 16 available per track. + +However, by moving the @code{Staff_performer} to the @code{Voice} +context, each voice on a staff can have its own MIDI channel, as is +demonstrated by the following example: despite being on the same staff, +two MIDI channels are created, each with a different +@code{midiInstrument}. + +" + doctitle = "Changing MIDI output to one channel per voice" +} % begin verbatim +\score { + \new Staff << + \new Voice \relative c''' { + \set midiInstrument = #"flute" + \voiceOne + \key g \major + \time 2/2 + r2 g-"Flute" ~ + g fis ~ + fis4 g8 fis e2 ~ + e4 d8 cis d2 + } + \new Voice \relative c'' { + \set midiInstrument = #"clarinet" + \voiceTwo + b1-"Clarinet" + a2. b8 a + g2. fis8 e + fis2 r + } + >> + \layout { } + \midi { + \context { + \Staff + \remove "Staff_performer" + } + \context { + \Voice + \consists "Staff_performer" + } + \context { + \Score + tempoWholesPerMinute = #(ly:make-moment 72 2) + } + } +} diff --git a/input/lsr/changing-properties-for-individual-grobs.ly b/input/lsr/changing-properties-for-individual-grobs.ly index 250e003e1d..c357e46ce8 100644 --- a/input/lsr/changing-properties-for-individual-grobs.ly +++ b/input/lsr/changing-properties-for-individual-grobs.ly @@ -6,34 +6,28 @@ lsrtags = "tweaks-and-overrides" texidoc = " -The @code{\\applyOutput} command gives you the ability to tune any -layout object, in any context. It requires a Scheme function with three -arguments; advanced users can write it quite easily, whereas new users -may want to use pre-defined functions such as this snippet, or the -example in the manual. +The @code{\\applyOutput} command allows the tuning of any layout +object, in any context. It requires a Scheme function with three +arguments. " doctitle = "Changing properties for individual grobs" } % begin verbatim -% **************************************************************** -% ly snippet: -% **************************************************************** - \layout { ragged-right = ##t } -#(define (mc-squared gr org cur) +#(define (mc-squared grob grob-origin context) (let* ( - (ifs (ly:grob-interfaces gr)) - (sp (ly:grob-property gr 'staff-position)) + (ifs (ly:grob-interfaces grob)) + (sp (ly:grob-property grob 'staff-position)) ) (if (memq 'note-head-interface ifs) (begin - (ly:grob-set-property! gr 'stencil ly:text-interface::print) - (ly:grob-set-property! gr 'font-family 'roman) - (ly:grob-set-property! gr 'text + (ly:grob-set-property! grob 'stencil ly:text-interface::print) + (ly:grob-set-property! grob 'font-family 'roman) + (ly:grob-set-property! grob 'text (make-raise-markup -0.5 (case sp ((-5) (make-simple-markup "m")) @@ -43,17 +37,8 @@ example in the manual. )))) ))) -\context Voice \relative c' { - \stemUp - \set autoBeaming = ##f - - { 8 - - \applyOutput #'Voice #mc-squared - - } +\relative c' { + 2 + \applyOutput #'Voice #mc-squared + } - -% **************************************************************** -% end ly snippet -% **************************************************************** diff --git a/input/lsr/chords.snippet-list b/input/lsr/chords.snippet-list index 0742ed134c..07612456a6 100644 --- a/input/lsr/chords.snippet-list +++ b/input/lsr/chords.snippet-list @@ -1,13 +1,14 @@ changing-the-positions-of-figured-bass-alterations.ly -changing-the-chord-names-to-german-or-semi-german-notation.ly +clusters.ly adding-a-figured-bass-above-or-below-the-notes.ly single-staff-template-with-notes,-lyrics,-chords-and-frets.ly +changing-chord-separator.ly +volta-below-chords.ly showing-chords-at-changes.ly -single-staff-template-with-notes-and-chords.ly +chord-name-exceptions.ly controlling-the-placement-of-chord-fingerings.ly -clusters.ly +changing-the-chord-names-to-german-or-semi-german-notation.ly single-staff-template-with-notes,-lyrics,-and-chords.ly -adding-bars-to-chordnames.ly -chord-name-exceptions.ly -volta-below-chords.ly +single-staff-template-with-notes-and-chords.ly +adding-bar-lines-to-chordnames-context.ly simple-lead-sheet.ly diff --git a/input/lsr/contexts-and-engravers.snippet-list b/input/lsr/contexts-and-engravers.snippet-list index 85119e8576..0e75806eaa 100644 --- a/input/lsr/contexts-and-engravers.snippet-list +++ b/input/lsr/contexts-and-engravers.snippet-list @@ -1,11 +1,12 @@ creating-blank-staves.ly -vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly +chant-or-psalms-notation.ly changing-time-signatures-inside-a-polymetric-section-using-scaledurations.ly adding-a-figured-bass-above-or-below-the-notes.ly adding-an-extra-staff-at-a-line-break.ly adding-an-extra-staff.ly -chant-or-psalms-notation.ly -use-square-bracket-at-the-start-of-a-staff-group.ly mensurstriche-layout-bar-lines-between-the-staves.ly +changing-midi-output-to-one-channel-per-voice.ly engravers-one-by-one.ly +use-square-bracket-at-the-start-of-a-staff-group.ly +vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly nesting-staves.ly diff --git a/input/lsr/demonstrating-all-headers.ly b/input/lsr/demonstrating-all-headers.ly index 69c968a186..bdb8a7186c 100644 --- a/input/lsr/demonstrating-all-headers.ly +++ b/input/lsr/demonstrating-all-headers.ly @@ -28,12 +28,16 @@ A demonstration of all headers. source = "urtext" } +\layout { + ragged-right = ##f +} + \score { - \relative c'' { c1 c c c } + \relative c'' { c1 | c | c | c } } \score { - \relative c'' { c1 c c c } + \relative c'' { c1 | c | c | c } \header { title = "localtitle" subtitle = "localsubtitle" diff --git a/input/lsr/editorial-annotations.snippet-list b/input/lsr/editorial-annotations.snippet-list index 050ea6c42d..880ada097f 100644 --- a/input/lsr/editorial-annotations.snippet-list +++ b/input/lsr/editorial-annotations.snippet-list @@ -1,13 +1,13 @@ +measure-counter.ly creating-blank-staves.ly +controlling-the-placement-of-chord-fingerings.ly making-some-staff-lines-thicker-than-the-others.ly applying-note-head-styles-depending-on-the-step-of-the-scale.ly embedding-native-postscript-in-a--markup-block.ly changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly -default-direction-of-stems-on-the-center-line-of-the-staff.ly -changing-a-single-notes-size-in-a-chord.ly grid-lines--emphasizing-rhythms-and-notes-synchronization.ly +changing-a-single-notes-size-in-a-chord.ly grid-lines--changing-their-appearance.ly -controlling-the-placement-of-chord-fingerings.ly +default-direction-of-stems-on-the-center-line-of-the-staff.ly allowing-fingerings-to-be-printed-inside-the-staff.ly blanking-staff-lines-using-the--whiteout-command.ly -bar-counter.ly diff --git a/input/lsr/expressive-marks.snippet-list b/input/lsr/expressive-marks.snippet-list index afde7a40a1..dd13fa7fbd 100644 --- a/input/lsr/expressive-marks.snippet-list +++ b/input/lsr/expressive-marks.snippet-list @@ -22,10 +22,10 @@ broken-crescendo-hairpin.ly combining-dynamics-with-markup-texts.ly creating-slurs-across-voices.ly caesura-railtracks-with-fermata.ly -adjusting-the-shape-of-falls-and-doits.ly +changing-the-breath-mark-symbol.ly creating-simultaneous-rehearsal-marks.ly suppressing-compiler-warnings-when-two-glissandos-intersect.ly setting-hairpin-behavior-at-bar-lines.ly changing--flageolet-mark-size.ly piano-template-with-centered-dynamics.ly -changing-the-breath-mark-symbol.ly +adjusting-the-shape-of-falls-and-doits.ly diff --git a/input/lsr/forcing-horizontal-shift-of-notes.ly b/input/lsr/forcing-horizontal-shift-of-notes.ly new file mode 100644 index 0000000000..da7d3ce027 --- /dev/null +++ b/input/lsr/forcing-horizontal-shift-of-notes.ly @@ -0,0 +1,25 @@ +%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it +%% This file is in the public domain. +\version "2.11.48" + +\header { + lsrtags = "simultaneous-notes, tweaks-and-overrides" + + texidoc = " +When the typesetting engine cannot cope, the @code{force-hshift} +property of the @code{NoteColumn} object can be used to override +typesetting decisions. The measure units used here are staff spaces. + +" + doctitle = "Forcing horizontal shift of notes" +} % begin verbatim +\relative c' << + { + 2 + } + \\ + { 2 + \once \override NoteColumn #'force-hshift = #1.7 + 2 + } +>> diff --git a/input/lsr/measure-counter.ly b/input/lsr/measure-counter.ly new file mode 100644 index 0000000000..a5b7fc8f25 --- /dev/null +++ b/input/lsr/measure-counter.ly @@ -0,0 +1,30 @@ +%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it +%% This file is in the public domain. +\version "2.11.48" + +\header { + lsrtags = "repeats, staff-notation, editorial-annotations" + + texidoc = " +This snippet provides an workaround for emitting measure counters using +transparent percent repeats. + +" + doctitle = "Measure counter" +} % begin verbatim + +<< + \context Voice = "foo" { + \clef bass + c4 r g r + c4 r g r + c4 r g r + c4 r g r + } + \context Voice = "foo" { + \set countPercentRepeats = ##t + \override PercentRepeat #'transparent = ##t + \override PercentRepeatCounter #'staff-padding = #1 + \repeat percent 4 { s1 } + } +>> diff --git a/input/lsr/midi.snippet-list b/input/lsr/midi.snippet-list index 8eab597a2a..34b23248e5 100644 --- a/input/lsr/midi.snippet-list +++ b/input/lsr/midi.snippet-list @@ -1 +1,2 @@ +changing-midi-output-to-one-channel-per-voice.ly demo-midiinstruments.ly diff --git a/input/lsr/proportional-strict-notespacing.ly b/input/lsr/proportional-strict-notespacing.ly index 6d6746ca32..dff19e4099 100644 --- a/input/lsr/proportional-strict-notespacing.ly +++ b/input/lsr/proportional-strict-notespacing.ly @@ -7,33 +7,25 @@ texidoc = " If @code{strict-note-spacing} is set spacing of notes is not influenced -by bars or clefs part way along the system. Rather, they are put just -before the note that occurs at the same time. This may cause -collisions. +by bars or clefs within a system. Rather, they are placed just before +the note that occurs at the same time. This may cause collisions. " doctitle = "Proportional strict notespacing" } % begin verbatim \paper { ragged-right = ##t - indent = 0 -} -\layout { - \context { - \Score - } } \relative c'' << \override Score.SpacingSpanner #'strict-note-spacing = ##t \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) \new Staff { - c8[ c \clef alto c c \grace { d16 } c8 c] c4 c2 - \grace { c16[ c16] } - c2 } + c8[ c \clef alto c c \grace { d16 } c8 c] c4 + c2 \grace { c16[ c16] } c2 + } \new Staff { - c2 \times 2/3 { c8 \clef bass cis,, c } - c4 + c2 \times 2/3 { c8 \clef bass cis,, c } c4 c1 } >> diff --git a/input/lsr/repeats.snippet-list b/input/lsr/repeats.snippet-list index 01c31d2f09..7c2159b0ff 100644 --- a/input/lsr/repeats.snippet-list +++ b/input/lsr/repeats.snippet-list @@ -1,7 +1,7 @@ +measure-counter.ly positioning-segno-and-coda-with-line-break.ly -volta-below-chords.ly -adding-volta-brackets-to-additional-staves.ly +shortening-volta-brackets.ly volta-multi-staff.ly -bar-counter.ly +volta-below-chords.ly volta-text-markup-using-repeatcommands.ly -shortening-volta-brackets.ly +adding-volta-brackets-to-additional-staves.ly diff --git a/input/lsr/rhythms.snippet-list b/input/lsr/rhythms.snippet-list index d0697943fa..3e1218d371 100644 --- a/input/lsr/rhythms.snippet-list +++ b/input/lsr/rhythms.snippet-list @@ -16,7 +16,7 @@ changing-time-signatures-inside-a-polymetric-section-using-scaledurations.ly modifying-tuplet-bracket-length.ly printing-metronome-and-rehearsal-marks-below-the-staff.ly making-an-object-invisible-with-the-transparent-property.ly -merging-multi-measure-rests-in-a-polyphonic-part.ly +permitting-line-breaks-within-beamed-tuplets.ly automatic-beam-subdivisions.ly changing-the-tuplet-number.ly entering-several-tuplets-using-only-one--times-command.ly @@ -26,7 +26,7 @@ changing-form-of-multi--measure-rests.ly rhythmic-slashes.ly automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly three-sided-box.ly -permitting-line-breaks-within-beamed-tuplets.ly -skips-in-lyric-mode.ly -engraving-ties-manually.ly +merging-multi-measure-rests-in-a-polyphonic-part.ly printing-music-with-different-time-signatures.ly +engraving-ties-manually.ly +skips-in-lyric-mode.ly diff --git a/input/lsr/score-for-diatonic-accordion.ly b/input/lsr/score-for-diatonic-accordion.ly index bd49c1cb31..9e89aafc4c 100644 --- a/input/lsr/score-for-diatonic-accordion.ly +++ b/input/lsr/score-for-diatonic-accordion.ly @@ -55,23 +55,28 @@ editor. " doctitle = "Score for diatonic accordion" } % begin verbatim -% Created on Sat Aug 17 2007 by ak -verse= \lyricmode { Wie gross bist du! Wie gross bist du! } +verse = \lyricmode { Wie gross bist du! Wie gross bist du! } -harmonies = \new ChordNames \chordmode { - \germanChords \set chordChanges = ##t - bes8 bes8 bes8 es2 f bes1 +harmonies = \new ChordNames \chordmode { + \germanChords + \set chordChanges = ##t + bes8 bes8 bes8 + es2 f + bes1 } NoStem = \override Stem #'transparent = ##t -NoNoteHead= \override NoteHead #'transparent = ##t +NoNoteHead = \override NoteHead #'transparent = ##t ZeroBeam = \override Beam #'positions = #'(0 . 0) -staffTabLine = \new Staff \with { \remove "Time_signature_engraver" \remove "Clef_engraver" } { - \override Staff.StaffSymbol #'line-positions = #'( 0 ) +staffTabLine = \new Staff \with { + \remove "Time_signature_engraver" + \remove "Clef_engraver" +} { + \override Staff.StaffSymbol #'line-positions = #'(0) % Shows one horizontal line. The vertical line (simulating a bar-line) is simulated with a gridline - \set Staff.midiInstrument="choir aahs" + \set Staff.midiInstrument = #"choir aahs" \key c \major \relative c'' { @@ -98,16 +103,11 @@ staffTabLine = \new Staff \with { \remove "Time_signature_engraver" \remove "Cl % 10. re-enable the line \NoNoteHead \autoBeamOff \ZeroBeam - s8 s s | e[ c c c c c c e] | s s s s s + s8 s s e[ c c c c c c e] | s s s s s } } %{ -notePush= { e f fis g a c' c' d' ees' e' f' fis' g' a' bes' c'' c'' d'' ees'' e'' f'' fis'' g'' a'' c''' c''' ees''' e''' f''' g''' a''' } -tabPush= { g f e b a d' c' bisis disis' f' e' aisis' a' g' fisis' b' c'' eisis'' cisis'' e'' d'' gisis'' g'' f'' a'' b'' bisis'' d''' c''' f''' e''' } - -notePull= { g aes bes b c' cis' d' ees' e' f' fis' g' aes' a' bes' b' c'' cis'' d'' ees'' e'' f'' g'' aes'' a'' bes'' b'' c''' cis''' d''' e''' } -tabPull= { g e f b a disis' d' bisis c' f' fisis' e' aisis' a' g' c'' b' cisis'' e'' eisis'' d'' g'' f'' gisis'' b'' a'' d''' f''' bisis'' c''' e''' } %} % Accordion melody in tabulator score @@ -118,7 +118,7 @@ tabPull= { g e f b a disis' d' bisis c' f' fisis' e' aisis' a' g' c'' b' cisis' % Tips: % - In jEdit Search & Replace mark the Option 'Keep Dialog' -AccordionTabTwoCBesDur= { +AccordionTabTwoCBesDur = { % pull 1 %8 8 8 | 8 8 8 | @@ -230,200 +230,4 @@ staffBassRhytm = \new Staff=staffbass \with { \remove "Clef_engraver" } { \staffBassRhytm \context Lyrics = "lBassRhytmAboveI" \with {alignAboveContext=staffbass} \lyricsto VoiceBassRhytm \LyricBassRhythmI >> - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% APPENDIX % -% macro 'macro_conv2diaton_push.bsh' for jedit editor % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%{ -// original saved in 'Handorg_Adria_Diaton_III.xls' -// Save this buffer, to the other recorded macros in the jedit editor -// and the macro should appear in the -// Macros menu. - -// /ak 17.8.07 This macro from converts lilypond piano notation into -// lilypond tabulator notation for the push-part (at the bottom the pull-part) of a diatonic accordion -// It replaces the piano notes of the line where the cursor is by the accordion notation - - - -// Known issues: 1) A note at the end of line is not replaced - -textArea.goToEndOfWhiteSpace(false); -textArea.goToStartOfWhiteSpace(true); - - -String firstName, lastName; - -int ReplaceTextInSelection(String sfind, String sreplace) -{ -//MsgConcat = new StringBuffer(512); -//MsgConcat.append("Ha"); - -//Macros.message(view, "On that line replace \"" + sfind + "\" by \"" + sreplace+ "\""); -SearchAndReplace.setSearchString(sfind.toString()); -SearchAndReplace.setReplaceString(sreplace.toString()); -SearchAndReplace.setBeanShellReplace(false); -SearchAndReplace.setIgnoreCase(true); -SearchAndReplace.replace(view); -SearchAndReplace.setRegexp(true); -return 1; -} - - -String smainfind; -String smainrepl; - - -// Push-part tmp -smainfind="(\\s|^|<|\\{)(c,)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e,)([^\'^is^es])"; smainrepl="$1tmpg$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g,)([^\'^is^es])"; smainrepl="$1tmpb$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a,)([^\'^is^es])"; smainrepl="$1tmpa$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e)([^\'^is^es])"; smainrepl="$1tmpf\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f)([^\'^is^es])"; smainrepl="$1tmpe\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g)([^\'^is^es])"; smainrepl="$1tmpa\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b)([^\'^is^es])"; smainrepl="$1tmpr$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c\')([^\'^is^es])"; smainrepl="$1tmpb\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e\')([^\'^is^es])"; smainrepl="$1tmpe\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f\')([^\'^is^es])"; smainrepl="$1tmpd\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g\')([^\'^is^es])"; smainrepl="$1tmpg\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(as\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a\')([^\'^is^es])"; smainrepl="$1tmpf\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e\'\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f\'\')([^\'^is^es])"; smainrepl="$1tmpc\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a\'\')([^\'^is^es])"; smainrepl="$1tmpe\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); - -smainfind="(\\s|^|<|\\{)(tmp)()"; smainrepl="$1$3"; ReplaceTextInSelection( smainfind, smainrepl ); -*/ - -/* -// Pull-part tmp -smainfind="(\\s|^|<|\\{)(c,)([^\'^is^es])"; smainrepl="$1tmpa-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d,)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e,)([^\'^is^es])"; smainrepl="$1tmpc\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f,)([^\'^is^es])"; smainrepl="$1tmpf\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g,)([^\'^is^es])"; smainrepl="$1tmpg$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b,)([^\'^is^es])"; smainrepl="$1tmpb$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c)([^\'^is^es])"; smainrepl="$1tmpa$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d)([^\'^is^es])"; smainrepl="$1tmpd\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e)([^\'^is^es])"; smainrepl="$1tmpc\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f)([^\'^is^es])"; smainrepl="$1tmpf\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g)([^\'^is^es])"; smainrepl="$1tmpe\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a)([^\'^is^es])"; smainrepl="$1tmpa\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b)([^\'^is^es])"; smainrepl="$1tmpc\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c\')([^\'^is^es])"; smainrepl="$1tmpb\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d\')([^\'^is^es])"; smainrepl="$1tmpe\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e\')([^\'^is^es])"; smainrepl="$1tmpd\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f\')([^\'^is^es])"; smainrepl="$1tmpg\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g\')([^\'^is^es])"; smainrepl="$1tmpf\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a\')([^\'^is^es])"; smainrepl="$1tmpb\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(c\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(cis\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(des\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(d\'\')([^\'^is^es])"; smainrepl="$1tmpc\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(dis\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ees\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(e\'\')([^\'^is^es])"; smainrepl="$1tmpe\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(f\'\')([^\'^is^es])"; smainrepl="$1tmpg\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(fis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ges\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(g\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(gis\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(aes\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(a\'\')([^\'^is^es])"; smainrepl="$1tmpb\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(ais\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(bes\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl ); -smainfind="(\\s|^|<|\\{)(b\'\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl ); - -smainfind="(\\s|^|<|\\{)(tmp)()"; smainrepl="$1$3"; ReplaceTextInSelection( smainfind, smainrepl ); -*/ - - %} - diff --git a/input/lsr/simultaneous-notes.snippet-list b/input/lsr/simultaneous-notes.snippet-list index b52edebe6b..1eecf7f98b 100644 --- a/input/lsr/simultaneous-notes.snippet-list +++ b/input/lsr/simultaneous-notes.snippet-list @@ -1,3 +1,5 @@ +forcing-horizontal-shift-of-notes.ly clusters.ly +additional-voices-to-avoid-collisions.ly changing-a-single-notes-size-in-a-chord.ly combining-two-parts-on-the-same-staff.ly diff --git a/input/lsr/spacing.snippet-list b/input/lsr/spacing.snippet-list index 682482ccac..b5c62998fa 100644 --- a/input/lsr/spacing.snippet-list +++ b/input/lsr/spacing.snippet-list @@ -1,4 +1,4 @@ -vertically-centered-dynamics-and-textscripts.ly +vertically-aligned-dynamics-and-textscripts.ly proportional-strict-notespacing.ly vertically-aligning-ossias-and-lyrics.ly allowing-fingerings-to-be-printed-inside-the-staff.ly diff --git a/input/lsr/staff-notation.snippet-list b/input/lsr/staff-notation.snippet-list index 4bc85e9b9b..680bc199c4 100644 --- a/input/lsr/staff-notation.snippet-list +++ b/input/lsr/staff-notation.snippet-list @@ -1,20 +1,20 @@ -removing-the-first-empty-line.ly +creating-blank-staves.ly mensurstriche-layout-bar-lines-between-the-staves.ly changing-the-number-of-lines-in-a-staff.ly incipit.ly display-bracket-with-only-one-staff-in-a-system.ly -time-signature-in-parentheses.ly +adding-an-extra-staff.ly printing-metronome-and-rehearsal-marks-below-the-staff.ly tweaking-clef-properties.ly +removing-the-first-empty-line.ly quoting-another-voice.ly volta-multi-staff.ly -bar-counter.ly non-traditional-key-signatures.ly -creating-blank-staves.ly +measure-counter.ly adding-ambitus-per-voice.ly making-some-staff-lines-thicker-than-the-others.ly adding-an-extra-staff-at-a-line-break.ly -adding-an-extra-staff.ly +time-signature-in-parentheses.ly changing-the-staff-size.ly use-square-bracket-at-the-start-of-a-staff-group.ly quoting-another-voice-with-transposition.ly diff --git a/input/lsr/template.snippet-list b/input/lsr/template.snippet-list index a1604d79fe..0c20366e0f 100644 --- a/input/lsr/template.snippet-list +++ b/input/lsr/template.snippet-list @@ -1,18 +1,18 @@ vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly -single-staff-template-with-notes-and-lyrics.ly +vocal-ensemble-template-with-automatic-piano-reduction.ly single-staff-template-with-notes,-lyrics,-chords-and-frets.ly single-staff-template-with-only-notes.ly piano-template-with-centered-lyrics.ly -vocal-ensemble-template-with-automatic-piano-reduction.ly +score-for-diatonic-accordion.ly piano-template-simple.ly ancient-notation-template----modern-transcription-of-mensural-music.ly -ancient-notation-template----modern-transcription-of-gregorian-music.ly vocal-ensemble-template.ly piano-template-with-melody-and-lyrics.ly -string-quartet-template-with-separate-parts.ly -single-staff-template-with-notes,-lyrics,-and-chords.ly string-quartet-template-simple.ly +single-staff-template-with-notes-and-lyrics.ly +single-staff-template-with-notes,-lyrics,-and-chords.ly single-staff-template-with-notes-and-chords.ly -piano-template-with-centered-dynamics.ly +string-quartet-template-with-separate-parts.ly jazz-combo-template.ly -score-for-diatonic-accordion.ly +ancient-notation-template----modern-transcription-of-gregorian-music.ly +piano-template-with-centered-dynamics.ly diff --git a/input/lsr/text.snippet-list b/input/lsr/text.snippet-list index 86aa0a24d5..3b0f61d4c0 100644 --- a/input/lsr/text.snippet-list +++ b/input/lsr/text.snippet-list @@ -14,8 +14,8 @@ creating-text-spanners.ly creating-real-parenthesized-dynamics.ly center-text-below-hairpin-dynamics.ly demonstrating-all-headers.ly -how-to-put-ties-between-syllables-in-lyrics.ly combining-two-parts-on-the-same-staff.ly +how-to-put-ties-between-syllables-in-lyrics.ly combining-dynamics-with-markup-texts.ly aligning-marks-with-various-notation-objects.ly piano-template-with-centered-lyrics.ly diff --git a/input/lsr/time-signature-in-parentheses.ly b/input/lsr/time-signature-in-parentheses.ly index e79f93f666..24d5bc4653 100644 --- a/input/lsr/time-signature-in-parentheses.ly +++ b/input/lsr/time-signature-in-parentheses.ly @@ -12,7 +12,8 @@ The time signature can be enclosed within parentheses. doctitle = "Time signature in parentheses" } % begin verbatim tsMarkup = \markup { - \override #'(baseline-skip . 2) \number { + \override #'(baseline-skip . 0) + \number { \bracket \column { 2 4 } } } diff --git a/input/lsr/tweaks-and-overrides.snippet-list b/input/lsr/tweaks-and-overrides.snippet-list index 20bcff63c3..abfcade347 100644 --- a/input/lsr/tweaks-and-overrides.snippet-list +++ b/input/lsr/tweaks-and-overrides.snippet-list @@ -1,10 +1,12 @@ +forcing-horizontal-shift-of-notes.ly display-bracket-with-only-one-staff-in-a-system.ly -time-signature-in-parentheses.ly +rhythmic-slashes.ly changing-the-default-text-font-family.ly drawing-boxes-around-grobs.ly manually-controlling-beam-positions.ly custodes.ly move-specific-text.ly +creating-text-spanners.ly rest-styles.ly using-the--tweak-command-to-tweak-individual-grobs.ly controlling-tuplet-bracket-visibility.ly @@ -14,20 +16,19 @@ changing-text-and-spanner-styles-for-text-dynamics.ly controlling-the-vertical-ordering-of-scripts.ly vertically-aligning-ossias-and-lyrics.ly changing-properties-for-individual-grobs.ly -removing-the-first-empty-line.ly +vertically-aligned-dynamics-and-textscripts.ly mensurstriche-layout-bar-lines-between-the-staves.ly printing-metronome-and-rehearsal-marks-below-the-staff.ly tweaking-clef-properties.ly -vertically-centered-dynamics-and-textscripts.ly proportional-strict-notespacing.ly making-an-object-invisible-with-the-transparent-property.ly transcription-of-ancient-music-with-incipit.ly alignment-vertical-spacing.ly drawing-circles-around-various-objects.ly -creating-text-spanners.ly +removing-the-first-empty-line.ly caesura-railtracks-with-fermata.ly changing-form-of-multi--measure-rests.ly -rhythmic-slashes.ly +time-signature-in-parentheses.ly changing-a-single-notes-size-in-a-chord.ly creating-simultaneous-rehearsal-marks.ly nesting-staves.ly diff --git a/input/lsr/unfretted-strings.snippet-list b/input/lsr/unfretted-strings.snippet-list index 4afa6824c0..5ee803315f 100644 --- a/input/lsr/unfretted-strings.snippet-list +++ b/input/lsr/unfretted-strings.snippet-list @@ -1,5 +1,5 @@ string-quartet-template-with-separate-parts.ly +string-quartet-template-simple.ly changing--flageolet-mark-size.ly creating-slurs-across-voices.ly -string-quartet-template-simple.ly demo-midiinstruments.ly diff --git a/input/lsr/vertically-centered-dynamics-and-textscripts.ly b/input/lsr/vertically-aligned-dynamics-and-textscripts.ly similarity index 64% rename from input/lsr/vertically-centered-dynamics-and-textscripts.ly rename to input/lsr/vertically-aligned-dynamics-and-textscripts.ly index a4f4fab4f4..905b36fab1 100644 --- a/input/lsr/vertically-centered-dynamics-and-textscripts.ly +++ b/input/lsr/vertically-aligned-dynamics-and-textscripts.ly @@ -6,17 +6,16 @@ lsrtags = "tweaks-and-overrides, spacing" texidoc = " -By setting the @code{Y-extent} property to a fixed value, all -@code{DynamicLineSpanner} objects (hairpins and dynamic texts) are +By setting the @code{Y-extent} property to a suitable value, all +@code{DynamicLineSpanner} objects (hairpins and dynamic texts) can be aligned to a common reference point, regardless of their actual extent. -This way, every element will be vertically centered, for a nicer output -(you can compare the first and the second line in this example; the -trick is only applied on the second line). +This way, every element will be vertically aligned, thus producing a +more pleasing output. The same idea is used to align the text scripts along their baseline. " - doctitle = "Vertically centered dynamics and textscripts" + doctitle = "Vertically aligned dynamics and textscripts" } % begin verbatim music = \relative c'' { c2\p^\markup { gorgeous } c\f^\markup { fantastic } diff --git a/input/lsr/vertically-aligning-ossias-and-lyrics.ly b/input/lsr/vertically-aligning-ossias-and-lyrics.ly index db2261c836..384cb442a1 100644 --- a/input/lsr/vertically-aligning-ossias-and-lyrics.ly +++ b/input/lsr/vertically-aligning-ossias-and-lyrics.ly @@ -6,9 +6,9 @@ lsrtags = "vocal-music, tweaks-and-overrides, spacing" texidoc = " -This snippet demonstrates the use of the @code{alignBelowContext} and -@code{alignAboveContext} properties to control the positioning of -lyrics and ossias. +This snippet demonstrates the use of the context properties +@code{alignBelowContext} and @code{alignAboveContext} to control the +positioning of lyrics and ossias. " doctitle = "Vertically aligning ossias and lyrics" @@ -17,22 +17,27 @@ lyrics and ossias. ragged-right = ##t } -\relative << +\relative c' << \new Staff = "1" { c4 c s2 } \new Staff = "2" { c4 c s2 } \new Staff = "3" { c4 c s2 } { \skip 2 << \lyrics { - \set alignBelowContext = #"1" - below8 first staff + \set alignBelowContext = #"1" + lyrics4 below } - \new Staff { - \set Staff.alignAboveContext = #"3" - \times 4/6 { - \override TextScript #'padding = #3 - c8^"this" d_"staff" e^"above" d_"last" e^"staff" f - } + \new Staff \with { + alignAboveContext = #"3" + fontSize = #-2 + \override StaffSymbol #'staff-space = #(magstep -2) + \remove "Time_signature_engraver" + } { + \times 4/6 { + \override TextScript #'padding = #3 + c8^"ossia above" d e d e f + } } - >> } + >> + } >> diff --git a/input/lsr/vocal-music.snippet-list b/input/lsr/vocal-music.snippet-list index 14754e6d08..3933610301 100644 --- a/input/lsr/vocal-music.snippet-list +++ b/input/lsr/vocal-music.snippet-list @@ -1,18 +1,18 @@ -vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly +chant-or-psalms-notation.ly single-staff-template-with-notes-and-lyrics.ly adding-ambitus-per-voice.ly single-staff-template-with-notes,-lyrics,-chords-and-frets.ly skips-in-lyric-mode-2.ly -skips-in-lyric-mode.ly vocal-ensemble-template-with-automatic-piano-reduction.ly ambitus-with-multiple-voices.ly +aligning-lyrics.ly how-to-put-ties-between-syllables-in-lyrics.ly -vertically-aligning-ossias-and-lyrics.ly +piano-template-with-melody-and-lyrics.ly +vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly single-staff-template-with-notes,-lyrics,-and-chords.ly formatting-lyrics-syllables.ly -piano-template-with-melody-and-lyrics.ly +vertically-aligning-ossias-and-lyrics.ly demo-midiinstruments.ly -chant-or-psalms-notation.ly vocal-ensemble-template.ly adjusting-lyrics-vertical-spacing.ly -aligning-lyrics.ly +skips-in-lyric-mode.ly -- 2.39.2