From 8d0cad9613059c29d638f6d74b7d06ef7dddc90f Mon Sep 17 00:00:00 2001 From: Graham Percival Date: Thu, 7 Jun 2007 00:39:57 -0700 Subject: [PATCH] LSR: adding new files. --- .../connecting/automatic-beam-subdivisions.ly | 18 ++ ...beam-groups-when-frequently-using--time.ly | 36 +++ .../putting-parentheses-around-a-note.ly | 14 + .../white-text-on-black-background.ly | 11 + .../guitar/faking-a-hammer-in-tablatures.ly | 19 ++ input/lsr/other/all-headers.ly | 48 +++ input/lsr/other/engravers-one-by-one.ly | 278 ++++++++++++++++++ .../removing-time-signature-and-bar-lines.ly | 27 ++ .../combining-two-parts-on-the-same-staff.ly | 74 +++++ input/lsr/pitch/preventing-stem-extension.ly | 30 ++ input/lsr/pitch/rest-styles.ly | 39 +++ input/lsr/scheme/generating-random-notes.ly | 25 ++ input/lsr/staff/changing-the-staff-size.ly | 21 ++ input/lsr/staff/staff-containers.ly | 63 ++++ input/lsr/text/creating-text-spanners.ly | 42 +++ ...n-texts-with-different-vertical-extents.ly | 22 ++ input/lsr/vocal/aligning-lyrics.ly | 15 + input/test/engraver-contexts.ly | 30 -- 18 files changed, 782 insertions(+), 30 deletions(-) create mode 100644 input/lsr/connecting/automatic-beam-subdivisions.ly create mode 100644 input/lsr/connecting/how-to-improve-automatic-beam-groups-when-frequently-using--time.ly create mode 100644 input/lsr/education/putting-parentheses-around-a-note.ly create mode 100644 input/lsr/education/white-text-on-black-background.ly create mode 100644 input/lsr/guitar/faking-a-hammer-in-tablatures.ly create mode 100644 input/lsr/other/all-headers.ly create mode 100644 input/lsr/other/engravers-one-by-one.ly create mode 100644 input/lsr/other/removing-time-signature-and-bar-lines.ly create mode 100644 input/lsr/pitch/combining-two-parts-on-the-same-staff.ly create mode 100644 input/lsr/pitch/preventing-stem-extension.ly create mode 100644 input/lsr/pitch/rest-styles.ly create mode 100644 input/lsr/scheme/generating-random-notes.ly create mode 100644 input/lsr/staff/changing-the-staff-size.ly create mode 100644 input/lsr/staff/staff-containers.ly create mode 100644 input/lsr/text/creating-text-spanners.ly create mode 100644 input/lsr/text/how-to-bottom-align-texts-with-different-vertical-extents.ly create mode 100644 input/lsr/vocal/aligning-lyrics.ly delete mode 100644 input/test/engraver-contexts.ly diff --git a/input/lsr/connecting/automatic-beam-subdivisions.ly b/input/lsr/connecting/automatic-beam-subdivisions.ly new file mode 100644 index 0000000000..95e8c64699 --- /dev/null +++ b/input/lsr/connecting/automatic-beam-subdivisions.ly @@ -0,0 +1,18 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Lilypond can subdivide beams automatically. Set the property +subdivideBeams, and beams are subdivided at beat positions (as +specified in beat length) +" } + +\relative{ b'32^"default"[ a g f c' b a g f e d' c b a g f ] + \set subdivideBeams = ##t + b32^"subdivision enabled"[ a g f c' b a g f e d' c b a g f ] + \set Score.beatLength = #(ly:make-moment 1 8) + b32^"beatLength 1 8"[ a g f c' b a g f e d' c b a g f ] + \set Score.beatLength = #(ly:make-moment 1 16) + b32^"beatLength 1 16"[ a g f c' b a g f e d' c b a g f ] + } + diff --git a/input/lsr/connecting/how-to-improve-automatic-beam-groups-when-frequently-using--time.ly b/input/lsr/connecting/how-to-improve-automatic-beam-groups-when-frequently-using--time.ly new file mode 100644 index 0000000000..220a8a701a --- /dev/null +++ b/input/lsr/connecting/how-to-improve-automatic-beam-groups-when-frequently-using--time.ly @@ -0,0 +1,36 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Groups of beamed notes can be made by setting the subdivideBeams +property. However, if you have \"\time\"-statements inside your score, +you'll need to set the beatLength again after each \time-statement +(that has a denominator that is not 8). + +This happens because the \"\time\"-statements reset the +beatLength-value to the denominator of the time signature. So, if +you have many meter-changes, you can use the following function named +\"\timenb #X #Y\" instead of \"\time X/Y\". +" } + +% timenb sets TIMEesignature and measure length, but Not Beatlength +timenb = #(define-music-function (parser location x y ) (integer? integer?) #{ + \set Staff.timeSignatureFraction = #(cons $x $y) + \set Score.measureLength = #(ly:make-moment $x $y) +#}) + +\new Staff { + \relative c'' + { + \set Score.beatLength = #(ly:make-moment 1 8) + \set subdivideBeams = ##t + + \timenb #3 #8 c16.[ c32 c16. c32 c16. c32] | + \timenb #5 #8 d8[ d] d16.[ d32 d16. d32 d8] | + \timenb #3 #4 e8[ e16. e32] e16.[ e32 e16. e32] e16.[ f32 f8] | + \timenb #2 #4 + g16.[ g32 g16. g32] g16.[ g32 g16. g32] | + + } +} + diff --git a/input/lsr/education/putting-parentheses-around-a-note.ly b/input/lsr/education/putting-parentheses-around-a-note.ly new file mode 100644 index 0000000000..cdc3348e4c --- /dev/null +++ b/input/lsr/education/putting-parentheses-around-a-note.ly @@ -0,0 +1,14 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +As children do not always have hands large enough, say, to plays +octavas when studying piano, or anything else, it can be useful to add +parentheses around a low note for example. In this snippet, the +\"parenthesized\" note is made a bit smaller using the \tweak command +on the #'font-size property. +" } + +{ \clef bass +< f \parenthesize \tweak #'font-size #-1 f, >2 +} diff --git a/input/lsr/education/white-text-on-black-background.ly b/input/lsr/education/white-text-on-black-background.ly new file mode 100644 index 0000000000..af22af8b2a --- /dev/null +++ b/input/lsr/education/white-text-on-black-background.ly @@ -0,0 +1,11 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +If you want to print some white text on black background, here's the +trick: +" } + +{ + g1^\markup { \combine \filled-box #'(-.3 . 6.8) #'(-.3 . 1.8) #0 \with-color #white White} +} diff --git a/input/lsr/guitar/faking-a-hammer-in-tablatures.ly b/input/lsr/guitar/faking-a-hammer-in-tablatures.ly new file mode 100644 index 0000000000..70afad63a6 --- /dev/null +++ b/input/lsr/guitar/faking-a-hammer-in-tablatures.ly @@ -0,0 +1,19 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +A hammer in tablature can be faked with slurs. +" } + +\score{ +\context TabStaff + << + \relative c''{ + c(d) + d(d) + d(c) + } + >> +} + +%%some weird letters are displayed in the Staff; can't reproduce it at home... --vv diff --git a/input/lsr/other/all-headers.ly b/input/lsr/other/all-headers.ly new file mode 100644 index 0000000000..abfeee42c3 --- /dev/null +++ b/input/lsr/other/all-headers.ly @@ -0,0 +1,48 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +A demonstration of all headers. +" } + +\header { +copyright = "copyright" +title = "title" +subtitle = "subtitle" +composer = "composer" +arranger = "arranger" +instrument = "instrument" +metre = "metre" +opus = "opus" +piece = "piece" +poet = "poet" +texidoc = "All header fields with special meanings." + copyright = "public domain" + enteredby = "jcn" + source = "urtext" + +} + + +\score { + \relative c'' { c1 c1 c1 c1 } +} + +\score { + \relative c'' { c1 c1 c1 c1 } + + \header { + + title = "localtitle" + subtitle = "localsubtitle" + composer = "localcomposer" + arranger = "localarranger" + instrument = "localinstrument" + metre = "localmetre" + opus = "localopus" + piece = "localpiece" + poet = "localpoet" + copyright = "localcopyright" + } +} + diff --git a/input/lsr/other/engravers-one-by-one.ly b/input/lsr/other/engravers-one-by-one.ly new file mode 100644 index 0000000000..c950efe0ac --- /dev/null +++ b/input/lsr/other/engravers-one-by-one.ly @@ -0,0 +1,278 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The notation problem, creating a certain symbol, is handled by plugins. +Each plugin is called an Engraver. In this example, engravers are +switched on one by one, in the following order: + +- note heads + + +- staff symbol, + + +- clef, + + +- stem, + + +- beams, slurs, accents, + + +- accidentals, bar lines, time signature, and key signature. + + + +Engravers are grouped. For example, note heads, slurs, beams etc. form +a Voice context. Engravers for key, accidental, bar, etc. form a Staff +context. + + +You may only see the first example in this document; please download +this snippet and run it from your own computer. +" } + +%% sample music +topVoice = \relative c' { + \key d\major + es8([ g] a[ fis]) + b4 + b16[-. b-. b-. cis-.] + d4-> +} + +botVoice = \relative c' { + \key d\major + c8[( f] b[ a)] + es4 + es16[-. es-. es-. fis-.] + b4-> +} + +hoom = \relative c { + \key d \major + \clef bass + g8-. r + r4 + fis8-. + r8 + r4 + b'4-> +} + +pah = \relative c' { + r8 b-. + r4 + r8 g8-. + r16 g-. r8 + \clef treble + fis'4-> +} + +% +% setup for Request->Element conversion. Guru-only +% + +MyStaff =\context { + \type "Engraver_group" + \name Staff + + \description "Handles clefs, bar lines, keys, accidentals. It can contain +@code{Voice} contexts." + + + \consists "Output_property_engraver" + + \consists "Font_size_engraver" + + \consists "Volta_engraver" + \consists "Separating_line_group_engraver" + \consists "Dot_column_engraver" + + \consists "Ottava_spanner_engraver" + \consists "Rest_collision_engraver" + \consists "Piano_pedal_engraver" + \consists "Piano_pedal_align_engraver" + \consists "Instrument_name_engraver" + \consists "Grob_pq_engraver" + \consists "Forbid_line_break_engraver" + \consists "Axis_group_engraver" + + \consists "Pitch_squash_engraver" + + \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6) + extraVerticalExtent = ##f + verticalExtent = ##f + localKeySignature = #'() + + % explicitly set instrument, so we don't get + % weird effects when doing instrument names for + % piano staves + + instrumentName = #'() + shortInstrumentName = #'() + + \accepts "Voice" +} + + +MyVoice = \context { + \type "Engraver_group" + \name Voice + + \description " + Corresponds to a voice on a staff. This context handles the + conversion of dynamic signs, stems, beams, super- and subscripts, + slurs, ties, and rests. + + You have to instantiate this explicitly if you want to have + multiple voices on the same staff." + + localKeySignature = #'() + \consists "Font_size_engraver" + + % must come before all + \consists "Output_property_engraver" + \consists "Arpeggio_engraver" + \consists "Multi_measure_rest_engraver" + \consists "Text_spanner_engraver" + \consists "Grob_pq_engraver" + \consists "Note_head_line_engraver" + \consists "Glissando_engraver" + \consists "Ligature_bracket_engraver" + \consists "Breathing_sign_engraver" + % \consists "Rest_engraver" + \consists "Grace_beam_engraver" + \consists "New_fingering_engraver" + \consists "Chord_tremolo_engraver" + \consists "Percent_repeat_engraver" + \consists "Slash_repeat_engraver" + +%{ + Must come before text_engraver, but after note_column engraver. + +%} + \consists "Text_engraver" + \consists "Dynamic_engraver" + \consists "Fingering_engraver" + + \consists "Script_column_engraver" + \consists "Rhythmic_column_engraver" + \consists "Cluster_spanner_engraver" + \consists "Tie_engraver" + \consists "Tie_engraver" + \consists "Tuplet_engraver" + \consists "Note_heads_engraver" + \consists "Rest_engraver" + + \consists "Skip_event_swallow_translator" +} + + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + + +MyStaff = \context { + \MyStaff + \consists "Staff_symbol_engraver" +} + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyStaff = \context { + \MyStaff + \consists "Clef_engraver" + \remove "Pitch_squash_engraver" +} + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyVoice = \context { + \MyVoice + \consists "Stem_engraver" +} + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyVoice = \context { + \MyVoice + \consists "Beam_engraver" +} + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyVoice= \context { + \MyVoice + \consists "Phrasing_slur_engraver" + \consists "Slur_engraver" + \consists "Script_engraver" +} + + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyStaff = \context { + \MyStaff + \consists "Bar_engraver" + \consists "Time_signature_engraver" +} + +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + +MyStaff = \context { + \MyStaff + \consists "Accidental_engraver" + \consists "Key_engraver" +} +\score { + \topVoice + \layout { + \context { \MyStaff } + \context { \MyVoice } + } +} + diff --git a/input/lsr/other/removing-time-signature-and-bar-lines.ly b/input/lsr/other/removing-time-signature-and-bar-lines.ly new file mode 100644 index 0000000000..9d73b4012d --- /dev/null +++ b/input/lsr/other/removing-time-signature-and-bar-lines.ly @@ -0,0 +1,27 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Engravers can be removed one by one. Here, the time signature and bar +lines have been removed. + + +" } + +\score { + \relative c'' { + a b c d + d c b a + } + \layout { + raggedright = ##t + \context { + \Staff + whichBar = #"" + \remove "Time_signature_engraver" + } + } +} + + + diff --git a/input/lsr/pitch/combining-two-parts-on-the-same-staff.ly b/input/lsr/pitch/combining-two-parts-on-the-same-staff.ly new file mode 100644 index 0000000000..3569f3f5a5 --- /dev/null +++ b/input/lsr/pitch/combining-two-parts-on-the-same-staff.ly @@ -0,0 +1,74 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The part combiner tool ( \partcombine command ) allows you to combine +different parts on a same Staff. You can choose whether you want or +don't want to add texts such as \"solo\" or \"a2\", by defining the +printPartCombineTexts property. + +For vocal scores (hymns), there is no need to add solo/a2 texts, so +they should be switched off. However, you'd better not use it if there +are any solos, as they won't be indicated. In such cases, you may +simply wan't to use standard LilyPond polyphony. + +This snippet presents the three ways two parts can be printed on a same +staff : standard polyphony, \partcombine whitout texts, and +\partcombine with texts. + + +" } + +musicUp = { \time 4/4 + \relative c'' { + a4 c4.(g8) a4 | + g4 e' g,( a8 b) | + c b a2. + } +} + +musicDown = { + \relative c'' { + g4 e4.(d8) c4 | + r2 g'4( f8 e) | + d2 a + } +} +\score{ + \new Staff { + \set Staff.instrumentName = "Standard polyphony " + << \musicUp \\ \musicDown >> + } + \layout{ + indent = 6.0\cm + } +} + +\score{ + \context Staff { + \set Staff.instrumentName = "PartCombine without texts " + \partcombine \musicUp \musicDown + } + \layout{ + indent = 6.0\cm + \context { + \Voice + printPartCombineTexts = ##f + } + } +} + +\score{ + \context Staff { + \set Staff.instrumentName = "PartCombine with texts " + \partcombine \musicUp \musicDown + } + \layout{ + indent = 6.0\cm + \context { + \Voice + printPartCombineTexts = ##t + } + } +} + diff --git a/input/lsr/pitch/preventing-stem-extension.ly b/input/lsr/pitch/preventing-stem-extension.ly new file mode 100644 index 0000000000..731a76e0de --- /dev/null +++ b/input/lsr/pitch/preventing-stem-extension.ly @@ -0,0 +1,30 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Extending stems to the center line may be prevented using +@code{no-stem-extend}. + + +" } + +\score { + \context Voice \relative c { + \context Staff << + \new Voice { + f2 f8 g a b + \override Stem #'no-stem-extend = ##t + f2 f8 g a b + } + \new Voice { + c''2 c8 b a g + \override Stem #'no-stem-extend = ##t + c2 c8 b a g + } + >> + + } + +} + + diff --git a/input/lsr/pitch/rest-styles.ly b/input/lsr/pitch/rest-styles.ly new file mode 100644 index 0000000000..c14c92710f --- /dev/null +++ b/input/lsr/pitch/rest-styles.ly @@ -0,0 +1,39 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Rests may be used in various styles. + + + +" } + +\layout { + indent = 0.0 + raggedright = ##t +} + +\context Staff \relative c { + \set Score.timing = ##f + \override Staff.Rest #'style = #'mensural + r\maxima^\markup \typewriter { mensural } + r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 + \bar "" + + \override Staff.Rest #'style = #'neomensural + r\maxima^\markup \typewriter { neomensural } + r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 + \bar "" + + \override Staff.Rest #'style = #'classical + r\maxima^\markup \typewriter { classical } + r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 + \bar "" + + \override Staff.Rest #'style = #'default + r\maxima^\markup \typewriter { default } + r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 + +} + + diff --git a/input/lsr/scheme/generating-random-notes.ly b/input/lsr/scheme/generating-random-notes.ly new file mode 100644 index 0000000000..b51fc6c362 --- /dev/null +++ b/input/lsr/scheme/generating-random-notes.ly @@ -0,0 +1,25 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +This Scheme-based snippet allows you to generate 256 random notes based +on the current time (or any randomish number you might wish to specify +instead, so you can obtain the same random notes each time): i.e. to +get different random notes patterns, just change this number. +" } + +\score { +{ #(let ((random-state (seed->random-state (current-time)))) + (ly:export + (make-music 'SequentialMusic 'elements + (map (lambda x + (let ((idx (random 12 random-state))) + (make-music 'EventChord + 'elements (list (make-music 'NoteEvent + 'duration (ly:make-duration 2 0 1 1) + 'pitch (ly:make-pitch (quotient idx 7) + (remainder idx 7) + 0)))))) + (make-list 256))))) + } +} diff --git a/input/lsr/staff/changing-the-staff-size.ly b/input/lsr/staff/changing-the-staff-size.ly new file mode 100644 index 0000000000..4b4c32cb21 --- /dev/null +++ b/input/lsr/staff/changing-the-staff-size.ly @@ -0,0 +1,21 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +In order to change staff sizes, both @code{staff-space} and +@code{fontSize} must be scaled. +" } + +\relative c' << +% \new Staff \relative c'' { \dynamicDown c4 \ff c c c } + \new Staff \with { + fontSize = #-3 + \override StaffSymbol #'staff-space = #(magstep -3) + } { + \clef bass + c8 c c c c c c c + } +>> + + + diff --git a/input/lsr/staff/staff-containers.ly b/input/lsr/staff/staff-containers.ly new file mode 100644 index 0000000000..d97f091a00 --- /dev/null +++ b/input/lsr/staff/staff-containers.ly @@ -0,0 +1,63 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +In this preliminary test of a modern score, the staff lines are washed +out temporarily. This is done by making a tuned @code{StaffContainer}, +which @code{\skip}s some notes without printing lines either and +creates a @code{\new Staff} then in order to create the lines again. +(Be careful if you use this; it has been done by splitting the grouping +@code{Axis_group_engraver} and creating functionality into separate +contexts, but the clefs and time signatures may not do what you would +expect.) + + + +" } + +\score { + \relative c'' << + \new StaffContainer { + + %% need << >>, otherwise we descend to the voice inside SA + << \new Staff { c4 c4 } >> + \skip 4 % s4 would create staff. + + << \new Staff { b4 b4 } >> + } + \new StaffContainer { + \skip 4 + << \context Staff { e d f \bar ":|" } >> + \skip 4 + } + >> + + \layout { + \context { + \Score + \accepts StaffContainer + \denies Staff + } + \context { + \type Engraver_group + \consists Clef_engraver + \consists Time_signature_engraver + \consists Separating_line_group_engraver + \consists "Axis_group_engraver" + \accepts "Staff" + + \name StaffContainer + } + \context { + \Staff + \remove Axis_group_engraver + \remove Separating_line_group_engraver + \remove Clef_engraver + \remove Time_signature_engraver + } + raggedright=##t + } +} + + + diff --git a/input/lsr/text/creating-text-spanners.ly b/input/lsr/text/creating-text-spanners.ly new file mode 100644 index 0000000000..26fb9398f3 --- /dev/null +++ b/input/lsr/text/creating-text-spanners.ly @@ -0,0 +1,42 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The \startTextSpan and \stopTextSpan commands give you the ability to +create text spanners as easily as pedals indications or octavations. +Override some properties of the TextSpanner object to modify its +output. +" } + +\relative c''{ + \override TextSpanner #'edge-text = #'("bla" . "blu") + a \startTextSpan + b c + a \stopTextSpan + + \override TextSpanner #'dash-period = #2 + \override TextSpanner #'dash-fraction = #0.0 + a \startTextSpan + b c + a \stopTextSpan + + \revert TextSpanner #'style + \override TextSpanner #'style = #'dashed-lineNone \override TextSpanner #'bound-details #'left #'text = \markup { \draw-line #'(0 . 1) } +None \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'(0 . -2) } + + a \startTextSpan + b c + a \stopTextSpan + + + \set Staff.middleCPosition = #-13 + + \override TextSpanner #'dash-period = #10 + \override TextSpanner #'dash-fraction = #.5 + \override TextSpanner #'thickness = #10 + a \startTextSpan + b c + a \stopTextSpan + \set Staff.middleCPosition = #-6 +} + diff --git a/input/lsr/text/how-to-bottom-align-texts-with-different-vertical-extents.ly b/input/lsr/text/how-to-bottom-align-texts-with-different-vertical-extents.ly new file mode 100644 index 0000000000..541a5914f6 --- /dev/null +++ b/input/lsr/text/how-to-bottom-align-texts-with-different-vertical-extents.ly @@ -0,0 +1,22 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Some letters imply smaller vertical extents than the others; if you +have, below your staff, two markups with different vertical extents +(e.g. one text with letters \"t,h,l and/or UPPER CASE\" and one text +with \"a, c, e, n or m\"), LilyPond will align them to the top by +default, thus making it look a bit messy. Therefore, you need to add +invisible ascender letters using the \transparent command to make it +right. +" } + +\new Staff { + \override TextScript #'staff-padding = #4 + \override TextScript #'self-alignment-X = #center + \time 2/4 + c'4_\markup { \transparent "A" "WRONG" \transparent "A" } + c'4_\markup { "case" } + c'4_\markup { \transparent "A" "RIGHT" \transparent "A" } + c'4_\markup { \transparent "A" "case" \transparent "A" } +} diff --git a/input/lsr/vocal/aligning-lyrics.ly b/input/lsr/vocal/aligning-lyrics.ly new file mode 100644 index 0000000000..ab75df3f83 --- /dev/null +++ b/input/lsr/vocal/aligning-lyrics.ly @@ -0,0 +1,15 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +You can specify different horizontal alignment for your lyrics, by +overriding the #'self-alignment-X property of the LyricText object. #-1 +is left, #0 is center and #1 is right; however, you can use #LEFT, +#CENTER and #RIGHT as well. +" } + +\relative c'' { +c1 c c} +\addlyrics {\once \override LyricText #'self-alignment-X = #LEFT "This is left-aligned" +\once \override LyricText #'self-alignment-X = #CENTER "This is centered" +\once \override LyricText #'self-alignment-X = #1 "this is right-aligned" } diff --git a/input/test/engraver-contexts.ly b/input/test/engraver-contexts.ly deleted file mode 100644 index c65e0abd2a..0000000000 --- a/input/test/engraver-contexts.ly +++ /dev/null @@ -1,30 +0,0 @@ -\version "2.10.0" -\header { - -texidoc ="In polyphonic notation, many voices can share a staff: In -this situation, the accidentals and staff are shared, but the stems, -slurs, beams, etc. are private to each voice. Hence, engravers should -be grouped. The engravers for note head, stems, slurs, etc. go into a -group called ``Voice context'', while the engravers for key, -accidental, bar, etc. go into a group called ``Staff context''. In the -case of polyphony, a single Staff context contains more than one Voice -context. Similarly, more Staff contexts can be put into a single Score -context. " - -} - -\include "engraver-example.ily" - -\score { -\context Staff << \topVoice \\ \botVoice >> -} - - -\score { -<< \new Staff << \topVoice \\ \botVoice >> -\new Staff << \pah \\ \hoom >> - >> -} - - - -- 2.39.5