From: Graham Percival Date: Mon, 30 Apr 2007 08:04:23 +0000 (-0700) Subject: First phase of input/test/ -> LSR change. X-Git-Tag: release/2.11.23-1~1^2~11 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=388c4eb3ef80afdde4b2d8fc77c847ffd014b615;p=lilypond.git First phase of input/test/ -> LSR change. --- diff --git a/input/lsr/ancient/ancient-fonts.ly b/input/lsr/ancient/ancient-fonts.ly new file mode 100644 index 0000000000..5347e731cc --- /dev/null +++ b/input/lsr/ancient/ancient-fonts.ly @@ -0,0 +1,295 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Here are shown many (all?) of the symbols that are included in +LilyPond's support of ancient notation. + + +" } + +upperStaff = \context GregorianStaff = "upperStaff" << + \context GregorianVoice << + \set Score.timing = ##f +% \set Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property? + + \override Staff.StaffSymbol #'line-count = #4 + + \transpose c c { + \override Staff.KeySignature #'style = #'vaticana + \override Staff.Accidental #'style = #'vaticana + \override NoteHead #'style = #'vaticana.punctum + \key es \major + \clef "vaticana-fa2" + c!1 des! e! f! ges! + + \override NoteHead #'style = #'vaticana.inclinatum + a! b! ces' + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break % 1 (8*1) + + \override NoteHead #'style = #'vaticana.quilisma + b! des'! ges! fes! + \breathe + \clef "vaticana-fa1" + \override NoteHead #'style = #'vaticana.plica + es d + \override NoteHead #'style = #'vaticana.reverse-plica + c d + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break %2 (8*1) + + \override NoteHead #'style = #'vaticana.punctum-cavum + es f + \override NoteHead #'style = #'vaticana.lpes + g as + \override NoteHead #'style = #'vaticana.upes + bes as + \override NoteHead #'style = #'vaticana.vupes + g f + \override NoteHead #'style = #'vaticana.linea-punctum + \override Staff.BarLine #'bar-size = #2.0 \bar "|" +% \break % 3 (8*1) + + es d + \override NoteHead #'style = #'vaticana.epiphonus + c d + \override NoteHead #'style = #'vaticana.cephalicus + es f + + \override Staff.KeySignature #'style = #'medicaea + \override Staff.Accidental #'style = #'medicaea + \override Staff.Custos #'style = #'medicaea + \override NoteHead #'style = #'medicaea.punctum + \clef "medicaea-fa2" + ces! des! + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break % 4 (8*1) + + e! f! ges! + \clef "medicaea-do2" + \override NoteHead #'style = #'medicaea.inclinatum + a! b! ces'! + \override NoteHead #'style = #'medicaea.virga + b! a! + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break % 5 (8*1) + + ges! fes! + \clef "medicaea-fa1" + \override NoteHead #'style = #'medicaea.rvirga + e! des! ces! + + \override Staff.KeySignature #'style = #'hufnagel + \override Staff.Accidental #'style = #'hufnagel + \override Staff.Custos #'style = #'hufnagel + \override NoteHead #'style = #'hufnagel.punctum + \clef "hufnagel-fa2" + ces! des! es! + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break % 6 (8*1) + + fes! ges! + \clef "hufnagel-do2" + \override NoteHead #'style = #'hufnagel.lpes + as! bes! ces'! + \override NoteHead #'style = #'hufnagel.virga + bes! as! + \override Staff.BarLine #'bar-size = #3.0 \bar "|" +% \break % 7 (8*1) + + ges! fes! + \clef "hufnagel-do-fa" + \override NoteHead #'style = #'hufnagel.punctum + es! des! ces! des! es! fes! + \bar "||" +% \break % 8 (8*1) + + s32*1 +% \break % 12 (32*1) + } + >> +>> + +lowerStaff = \context MensuralStaff = "lowerStaff" << + \context MensuralVoice << + + % this is broken until further notice -- see refman + % \override Staff.StaffSymbol #'line-count = #5 + \applyOutput #'Staff #(outputproperty-compatibility (make-type-checker 'staff-symbol-interface) 'line-count 5) + + \transpose c c { + \set autoBeaming = ##f + \override NoteHead #'style = #'neomensural + \override Rest #'style = #'neomensural + \key a \major + +% FIXME: lily crashes on some (invalid?) ligatures with: +% ERROR: In procedure gh_scm2int: +% ERROR: Wrong type argument in position 1: () + +% FIXME: lily emits "Programming error: Infinity or NaN encountered" +% on many ligatures such as BB. + + cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \] + \set Staff.forceClef = ##t + \clef "neomensural-c2" + cis1 + \bar "|" +% \break % 2 (16*1) + + \[ g\breve dis''\longa \] + b\breve \[ a\longa d\longa \] + \clef "petrucci-c2" +% \break % 4 (16*1) + + fis1 ces1 + \clef "petrucci-c2" + r\longa + \set Staff.forceClef = ##t + \clef "mensural-c2" + r\breve + \bar "|" +% \break % 5 (8*1) + + r2 + \clef "mensural-g" + r4 r8 r16 r16 + \override NoteHead #'style = #'mensural + \override Stem #'flag-style = #'mensural + \override Stem #'thickness = #1.0 + \override Rest #'style = #'mensural + \clef "petrucci-f" + c8 b, c16 b, c32 b, c64 b, c64 b, + d8 e d16 e d32 e d64 e d64 e + r\longa + \set Staff.forceClef = ##t + \clef "petrucci-f" + r\breve + \bar "|" +% \break % 6 (8*1) + + r\breve + \clef "mensural-f" + % FIXME: must set Stem flag-style to #'neomensural to avoid + % segmentation fault on r8/r16/r32. (Strange: what has + % Stem flag-style to do with mensural rests?) + \override Stem #'flag-style = #'neomensural + % FIXME: produces warnings about "flag `neomensurald4' (or 3) not found". + r2 r4 r8 r16 r16 + \override Stem #'flag-style = #'mensural + \set Staff.forceClef = ##t + \clef "mensural-f" + e\breve f g a1 + \clef "mensural-g" +% \break % 7 (8*1) + + \[ bes'!\longa a'!\longa c''!\longa \] + e'1 d' c' d' \bar "|" + \bar "|" +% \break % 9 (16*1) + + bes'!\longa fis'!1 as'!1 ges'!\longa % lig + \set Staff.forceClef = ##t + \clef "mensural-g" + e'2 d' c' \bar "|" +% \break % 11 (16*1) + + \set Staff.forceClef = ##t + \clef "petrucci-g" + c'2 d' e' f' + \clef "petrucci-g" + g' as'! bes'! cis''! + bes'! as'! gis'! fis'! + \set Staff.forceClef = ##t + \clef "mensural-g" + es'! des'! cis'!1 \bar "||" +% \break % 12 (8*1) + } + >> +>> + +\paper { + line-thickness = #(/ staff-space 5.0) +} + +\score { + \context Score << + \upperStaff + \lowerStaff + >> + \layout { +% do we want to keep these settings? -gp + line-width = 17.25\cm + textheight = 26.0\cm + indent = 0.0 + \context { + \Score + \accepts MensuralStaff + \accepts GregorianStaff +% timing = ##f %%%%%%%% FIXME: this has no effect + } + \context { + \Voice + \name MensuralVoice + \alias Voice + \remove Ligature_bracket_engraver + \consists Mensural_ligature_engraver + \override NoteHead #'style = #'mensural +% \override Stem #'flag-style = #'mensural %%%%%%%% FIXME: this core dumps + \override Stem #'thickness = #1.0 + \override Rest #'style = #'mensural + autoBeaming = ##f + } + \context { + \Voice + \name GregorianVoice + \alias Voice + \remove Ligature_bracket_engraver +% \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented + \override NoteHead #'style = #'vaticana.punctum + autoBeaming = ##f + } + \context { + \Staff + \name MensuralStaff + \alias Staff + \accepts MensuralVoice + \consists Custos_engraver + \override TimeSignature #'style = #'mensural + \override KeySignature #'style = #'mensural + \override Accidental #'style = #'mensural + \override Custos #'style = #'mensural + \override Custos #'neutral-position = #3 + \override Custos #'neutral-direction = #-1 + clefGlyph = #"clefs.petrucci-c2" + clefPosition = #-2 + clefOctavation = #0 + } + \context { + \Staff + \name GregorianStaff + \alias Staff + \accepts GregorianVoice + \consists Custos_engraver + \remove Time_signature_engraver + \override StaffSymbol #'thickness = #2.0 + \override StaffSymbol #'line-count = #4 + \override KeySignature #'style = #'vaticana + \override Accidental #'style = #'vaticana + \override Custos #'style = #'vaticana + \override Custos #'neutral-position = #4 + \override Custos #'neutral-direction = #-1 + clefGlyph = #"clefs.vaticana-do" + clefPosition = #1 + clefOctavation = #0 + } + \context { + \RemoveEmptyStaffContext + \accepts MensuralVoice + \accepts GregorianVoice + } + } +} + + diff --git a/input/lsr/ancient/mensural-ligatures.ly b/input/lsr/ancient/mensural-ligatures.ly new file mode 100644 index 0000000000..6b8d634ea1 --- /dev/null +++ b/input/lsr/ancient/mensural-ligatures.ly @@ -0,0 +1,85 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +In mensural ligatures, notes with ancient durations are printed in a +tight manner. +" } + +% Note that the horizontal alignment of the fermatas is related to the +% graphical width of the ligatures rather than the musical moment in time. +% This is intended behaviour. + +voice = \transpose c c' { + \set Score.timing = ##f + \set Score.defaultBarType = "empty" + g\longa c\breve a\breve f\breve d'\longa^\fermata + \bar "|" + \[ + g\longa c\breve a\breve f\breve d'\longa^\fermata + \] + \bar "|" + e1 f1 a\breve g\longa^\fermata + \bar "|" + \[ + e1 f1 a\breve g\longa^\fermata + \] + \bar "|" + e1 f1 a\breve g\longa^\fermata + \bar "||" +} + +\paper { + line-thickness = \staff-space / 5.0 +} +\score { + \context ChoirStaff << + \new MensuralStaff << + \context MensuralVoice << + \voice + >> + >> + \new Staff << + \context Voice << + \voice + >> + >> + >> + \layout { + \context { + \Voice + \name MensuralVoice + \alias Voice + \remove Ligature_bracket_engraver + \consists Mensural_ligature_engraver + \override NoteHead #'style = #'mensural + } + \context { + \Staff + \name MensuralStaff + \alias Staff + \accepts MensuralVoice + \consists Custos_engraver + \override TimeSignature #'style = #'mensural + \override KeySignature #'style = #'mensural + \override Accidental #'style = #'mensural + \override Custos #'style = #'mensural + \override Custos #'neutral-position = #3 + \override Custos #'neutral-direction = #-1 + clefGlyph = #"clefs.petrucci-g" + clefPosition = #-2 + clefOctavation = #-0 + } + \context { + \RemoveEmptyStaffContext + \accepts MensuralVoice + } + \context { + \Score + \accepts MensuralStaff + } + } +} + + + diff --git a/input/lsr/ancient/mensural-note-heads.ly b/input/lsr/ancient/mensural-note-heads.ly new file mode 100644 index 0000000000..03403fa43a --- /dev/null +++ b/input/lsr/ancient/mensural-note-heads.ly @@ -0,0 +1,18 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Mensural notes may also have note heads. +" } + +\score { + { + \relative c'' { + \override NoteHead #'style = #'mensural + c\maxima*1/8 + c\longa*1/4 c\breve*1/2 c1 c2 c4 c8 + } + } +} + + diff --git a/input/lsr/connecting/altering-the-number-of-stems-in-a-beam.ly b/input/lsr/connecting/altering-the-number-of-stems-in-a-beam.ly new file mode 100644 index 0000000000..f50e78a766 --- /dev/null +++ b/input/lsr/connecting/altering-the-number-of-stems-in-a-beam.ly @@ -0,0 +1,21 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can alter the number of stems in a beam. In this example, two sets +of four 32nds are joined, as if they were 8th notes. + + + +" } + +\relative { + #(override-auto-beam-setting '(end * * * *) 1 4) + f32 g a b b a g f + + f32 g a + \set stemRightBeamCount = #1 b + \set stemLeftBeamCount = #1 b + a g f +} + diff --git a/input/lsr/connecting/alternating-beam-directions.ly b/input/lsr/connecting/alternating-beam-directions.ly new file mode 100644 index 0000000000..be6c4dc44c --- /dev/null +++ b/input/lsr/connecting/alternating-beam-directions.ly @@ -0,0 +1,32 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +The eighth notes may be seemingly attached to different + beams, and the corresponding notes connected by ties. + Such a situation may occur, for example, in the cello suites. +" } + +wipeNote = { + \once \override NoteHead #'transparent = ##t + \once \override Stem #'transparent = ##t +} +\layout { raggedright = ##t } + + +\relative c''<< { + c8[~ + \wipeNote + c8 + c8~ + \wipeNote + c + c]~ + \wipeNote + c\noBeam +}\\ + { s8 c8 [ s c s c] } + + +>> + diff --git a/input/lsr/connecting/controlling-manually-beam-positions.ly b/input/lsr/connecting/controlling-manually-beam-positions.ly new file mode 100644 index 0000000000..39bae6c00c --- /dev/null +++ b/input/lsr/connecting/controlling-manually-beam-positions.ly @@ -0,0 +1,25 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Beam positions may be controlled manually, by overriding the +@code{positions} setting of the @code{Beam} grob. + + + +" } + +\score { + \context Voice \relative c { + %% from upper staffline (position 4) to centre (position 0) + \override Beam #'positions = #'(2 . 0) + c'8[ c] + + %% from center to one above centre (position 2) + \override Beam #'positions = #'(0 . 1) + c[ c] + } + +} + + diff --git a/input/lsr/connecting/overriding-the-automatic-beamer.ly b/input/lsr/connecting/overriding-the-automatic-beamer.ly new file mode 100644 index 0000000000..3b8ab790c5 --- /dev/null +++ b/input/lsr/connecting/overriding-the-automatic-beamer.ly @@ -0,0 +1,47 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +The auto-beamer, which can be overridden, will only engrave beams that +end before encountering of + + +* a rest, + +* another, manually entered beam, or + +* a bar line. + + + +The @code{autoBeaming} can also be turned off. + + + +" } + +\score{ + \relative c''{ + #(override-auto-beam-setting '(end * * * *) 1 2) + \time 2/4 + % one beam per measure + c8 c c c + c16 c c c c c c c + % from here on consider ending beam every 1/4 note + #(override-auto-beam-setting '(end * * * *) 1 4) + + c8 c c c + % manually override autobeam with weird beaming + c8 c[ c] c + c8 c c r + c8 c c4 + r8 c c c + % no autobeaming + \set autoBeaming = ##f + c8 c c c + } + +} + + + diff --git a/input/lsr/expressive/setting-the-control-points-of-a-slur-manually.ly b/input/lsr/expressive/setting-the-control-points-of-a-slur-manually.ly new file mode 100644 index 0000000000..677f392b10 --- /dev/null +++ b/input/lsr/expressive/setting-the-control-points-of-a-slur-manually.ly @@ -0,0 +1,44 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +In extreme cases, you can resort to setting the + @code{control-points} of a slur manually, althout it involves + a lot of trial and error. Be sure to force line breaks at both sides, +since + different horizontal spacing will require rearrangement of the + slur. +" } + +\score { + \new PianoStaff + << + \context Staff = "up" { + \clef bass + s1 * 4 + } + \context Staff = "down" \relative c << + s1*4 + { + \clef bass + r4 r8 + \once\override Slur #'extra-offset = #'(0 . 6) + \once\override Slur #'control-points = + #'((0 . -4) (2 . 0) (60 . 0) (63 . 4)) + c8( as' f c' as + + % line breaks will mess up this example + \noBreak + f c as' f + \change Staff = up + \clef treble + c' as f' c + \noBreak + as' f c' as + f' c as' f c'4) + }>> + >> + \layout { } +} + + diff --git a/input/lsr/expressive/setting-the-minimum-length-of-a-slur-to-separate-notes.ly b/input/lsr/expressive/setting-the-minimum-length-of-a-slur-to-separate-notes.ly new file mode 100644 index 0000000000..55469b8b52 --- /dev/null +++ b/input/lsr/expressive/setting-the-minimum-length-of-a-slur-to-separate-notes.ly @@ -0,0 +1,17 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +By setting the minimum length of a slur, notes are more separated. +" } + +\score{ + \relative c''{ + \time 2/4 + \override Slur #'minimum-length = #40 + c(c) + c~c\break + } +} + + diff --git a/input/lsr/guitar/fret-diagrams.ly b/input/lsr/guitar/fret-diagrams.ly new file mode 100644 index 0000000000..63cdd24814 --- /dev/null +++ b/input/lsr/guitar/fret-diagrams.ly @@ -0,0 +1,54 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Frets are supported as markup commands. +" } + +\score { + << + \chords {d2 d d s fis fis fis s c c c} + + + \context Voice = "mel" { +% simple D chord + + d'2 ^\markup \fret-diagram-verbose #'((mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 2)) + d' ^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;" + d' ^\markup \fret-diagram-terse #"x;x;o;2;3;2;" + r +% fis major chord, 3/4 size, fingering labeled below string + + fis' ^\markup \override #'(size . 0.75) {\override #'(finger-code . below-string){\fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2) (place-fret 5 4 3) (place-fret 4 4 4) (place-fret 3 3 2) (place-fret 2 2 1) (place-fret 1 2 1))}} + fis' ^\markup \override #'(finger-code . below-string) {\fret-diagram #"s:0.75;c:6-1-2;6-2-1;5-4-3;4-4-4;3-3-2;2-2-1;1-2-1;"} + fis' ^\markup \override #'(size . 0.75) {\override #'(finger-code . below-string){\fret-diagram-terse #"2-1-(;4-3;4-4;3-2;2-1;2-1-);"}} + r + +% c major barre chord, fingering labeled on frets + c' ^\markup \override #'(dot-color . white) { + \override #'(finger-code . in-dot) + \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) } + c' ^\markup \override #'(barre-type . straight) \fret-diagram #"f:1;c:5-1-3;6-x;5-3-1;4-5-2;3-5-3;2-5-4;1-3-1;" + c' ^\markup \override #'(dot-radius . 0.35) { + \override #'(finger-code . in-dot) { + \override #'(dot-color . white) { + \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"}}} + r + +% c major scale using open strings + c' ^\markup \fret-diagram-verbose #'((mute 6) (place-fret 5 3) (open 4) (place-fret 4 2) (place-fret 4 3) (open 3) (place-fret 3 2) (open 2) (place-fret 2 1) (mute 1)) + c' ^\markup \fret-diagram #'"6-x;5-3;4-o;4-2;4-3;3-o;3-2;2-o;2-1;1-x;" + c' ^\markup \fret-diagram-terse #'"x;3;2 3;o 2;o 1;x;" + +% c major scale using no open strings + c' ^\markup \fret-diagram-verbose #'((mute 6) (place-fret 5 3) (place-fret 5 5) (place-fret 4 2) (place-fret 4 3) (place-fret 4 5) (place-fret 3 2) (place-fret 3 4) (place-fret 3 5) (mute 2) (mute 1)) + c' ^\markup \fret-diagram #'"6-x;5-3;5-5;4-2;4-3;4-5;3-2;3-4;3-5;2-x;1-x;" + c' ^\markup \fret-diagram-terse #'"x;3 5;2 3 5;2 4 5;x;x;" + + +% g major scale, no open strings, two octaves on six strings, white dots + g' ^\markup \override #'(dot-color . white) {\fret-diagram-terse #'"3 5;2 3 5;2 4 5;2 4 5;3 5;2 3;" } + r r r} + >> + +} diff --git a/input/lsr/scheme/adding-extra-fingering-with-scheme.ly b/input/lsr/scheme/adding-extra-fingering-with-scheme.ly new file mode 100644 index 0000000000..f091efc931 --- /dev/null +++ b/input/lsr/scheme/adding-extra-fingering-with-scheme.ly @@ -0,0 +1,42 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can add various stuff to notes using @code{make-music}. In this +example, an extra fingering is attached to a note. + + +In general, first do a @code{display} of the music you want to create, +then write a function that will structure the music for you. + + +" } + +#(define (make-text-script x) + (make-music 'TextScriptEvent + 'direction DOWN + 'text (make-simple-markup x))) + +#(define (add-text-script m x) + (if (equal? (ly:music-property m 'name) 'EventChord) + (set! (ly:music-property m 'elements) + (cons (make-text-script x) + (ly:music-property m 'elements))) + (let ((es (ly:music-property m 'elements)) + (e (ly:music-property m 'element))) + (map (lambda (y) (add-text-script y x)) es) + (if (ly:music? e) + (add-text-script e x)))) + m) + +addScript = +#(define-music-function (parser location script music ) + ( string? ly:music? ) + (add-text-script music script)) + +\score { + { + \addScript "6" { c'4-3 } + } +} + diff --git a/input/lsr/scheme/adding-staccato-dots.ly b/input/lsr/scheme/adding-staccato-dots.ly new file mode 100644 index 0000000000..cd671027d2 --- /dev/null +++ b/input/lsr/scheme/adding-staccato-dots.ly @@ -0,0 +1,38 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Using @code{make-music}, you can add various stuff to notes. In this +example staccato dots are added to the notes. For this simple case, it +is not necessary to use scm constructs. + + +" } + +#(define (make-script x) + (make-music 'ArticulationEvent + 'articulation-type x)) + +#(define (add-script m x) + (if + (equal? (ly:music-property m 'name) 'EventChord) + (set! (ly:music-property m 'elements) + (cons (make-script x) + (ly:music-property m 'elements)))) + m) + +#(define (add-staccato m) + (add-script m "staccato")) + +addStacc = +#(define-music-function (parser location music) + (ly:music?) + (music-map add-staccato music)) + +\score { + \relative c'' { + a b \addStacc { c c } + } + \layout{ ragged-right = ##t } +} + diff --git a/input/lsr/scheme/drawing-boxes-around-grobs.ly b/input/lsr/scheme/drawing-boxes-around-grobs.ly new file mode 100644 index 0000000000..ebd73c521a --- /dev/null +++ b/input/lsr/scheme/drawing-boxes-around-grobs.ly @@ -0,0 +1,28 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +The @code{print-function} can be overridden to draw a box around an +arbitrary grob. +" } + +\relative c'' { + + \override TextScript #'stencil = + #(make-stencil-boxer 0.1 0.3 ly:text-interface::print) + + c'4^"foo" + + \override Stem #'stencil = + #(make-stencil-boxer 0.05 0.25 ly:stem::print) + + \override Score.RehearsalMark #'stencil = + #(make-stencil-boxer 0.15 0.3 ly:text-interface::print) + b8 + \revert Stem #'stencil + + + c4. c4 \mark "F" c1 +} + + diff --git a/input/lsr/scheme/engraving-music-using-scheme-expressions.ly b/input/lsr/scheme/engraving-music-using-scheme-expressions.ly new file mode 100644 index 0000000000..13502207f8 --- /dev/null +++ b/input/lsr/scheme/engraving-music-using-scheme-expressions.ly @@ -0,0 +1,30 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can engrave music using just Scheme expressions. Although those +expressions reflect the inner mechanism of LilyPond, they are rather +clumsy to use, so avoid them, if possible. +" } + +#(define (make-note-req p d) + (make-music 'NoteEvent + 'duration d + 'pitch p)) + +#(define (make-note elts) + (make-music 'EventChord + 'elements elts)) + +#(define (seq-music-list elts) + (make-music 'SequentialMusic + 'elements elts)) + +fooMusic = #(seq-music-list + (list (make-note (list (make-note-req (ly:make-pitch 1 0 0) (ly:make-duration 2 0)))) + (make-note (list (make-note-req (ly:make-pitch 1 1 0) (ly:make-duration 2 0)))))) + +\score { \fooMusic +} + + diff --git a/input/lsr/scheme/engraving-symmetric-or-palindromical-music.ly b/input/lsr/scheme/engraving-symmetric-or-palindromical-music.ly new file mode 100644 index 0000000000..bec3fa78f1 --- /dev/null +++ b/input/lsr/scheme/engraving-symmetric-or-palindromical-music.ly @@ -0,0 +1,47 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +Symmetric, or palindromical music can be produced, first, by printing +some music, and second, by printing the same music applying a Scheme +function to reverse the syntax. + + +" } + +#(define (reverse-music music) + (let* ((elements (ly:music-property music 'elements)) + (reversed (reverse elements)) + (e (ly:music-property music 'element)) + (span-dir (ly:music-property music 'span-direction))) + + (ly:music-set-property! music 'elements reversed) + + (if (ly:music? e) + (ly:music-set-property! + music 'element + (reverse-music e))) + + (if (ly:dir? span-dir) + (ly:music-set-property! music 'span-direction (- span-dir))) + + (map reverse-music reversed) + + music)) + +reverseMusic = +#(define-music-function (parser location m) (ly:music?) + (reverse-music m) + ) + +music = \relative c'' { c4 d4( e4 f4 } + +\score { +\context Voice { + \music + \reverseMusic \music + } + \layout { ragged-right = ##t} +} + + diff --git a/input/lsr/staff/adding-an-extra-staff.ly b/input/lsr/staff/adding-an-extra-staff.ly new file mode 100644 index 0000000000..38d41f1391 --- /dev/null +++ b/input/lsr/staff/adding-an-extra-staff.ly @@ -0,0 +1,31 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can add (possibly temporarily) an extra staff after the beginning +of a piece. +" } + +\score { + << + \new Staff \relative c''{ c1 c c c c } + \new StaffGroup \relative c''{ + \new Staff + c1 c + << c1 \new Staff { c1 } >> + c + } + >> + \layout { + + \context{ + \Score + + } + } +} + + + + + diff --git a/input/lsr/staff/changing-the-number-of-lines-in-a-staff.ly b/input/lsr/staff/changing-the-number-of-lines-in-a-staff.ly new file mode 100644 index 0000000000..416e87d2fc --- /dev/null +++ b/input/lsr/staff/changing-the-number-of-lines-in-a-staff.ly @@ -0,0 +1,32 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +The number of lines in a staff may changed by overriding +@code{line-count} in the properties of @code{StaffSymbol}. + + +" } + +upper = \relative c'' { + c1 d e f +} + +lower = \relative c { + c1 b a g +} + +\score { + \context PianoStaff << + \new Staff << + \upper + >> + \new Staff { + \override Staff.StaffSymbol #'line-count = #4 + \clef bass + \lower + } + >> + +} + diff --git a/input/lsr/staff/displaying-bar-numbers-on-all-measures.ly b/input/lsr/staff/displaying-bar-numbers-on-all-measures.ly new file mode 100644 index 0000000000..430cdd4284 --- /dev/null +++ b/input/lsr/staff/displaying-bar-numbers-on-all-measures.ly @@ -0,0 +1,24 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +By default, bar numbers are printed only in the first measure. This +setting can be overridden, so that bar numbers appear on start of every +measure. + + +" } + +\score{ + \relative c'{ + c1 c c + \override Score.BarNumber + #'break-visibility = #end-of-line-invisible + \break + c c c + } + \layout{ raggedright = ##t } +} + + + diff --git a/input/lsr/staff/inserting-bar-lines-everywhere.ly b/input/lsr/staff/inserting-bar-lines-everywhere.ly new file mode 100644 index 0000000000..a23e297235 --- /dev/null +++ b/input/lsr/staff/inserting-bar-lines-everywhere.ly @@ -0,0 +1,17 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +By setting @code{barAlways} and @code{defaultBarType}, barlines may be +inserted automatically everywhere. +" } + +\score { + \relative c''{ + \set Score.barAlways = ##t + \set Score.defaultBarType = ":|:" + c4 c4 c4 c4 } + \layout{raggedright = ##t} +} + + diff --git a/input/lsr/staff/making-bar-numbers-appear-at-regular-intervals.ly b/input/lsr/staff/making-bar-numbers-appear-at-regular-intervals.ly new file mode 100644 index 0000000000..f870af2df6 --- /dev/null +++ b/input/lsr/staff/making-bar-numbers-appear-at-regular-intervals.ly @@ -0,0 +1,31 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +If you would like the bar numbers to appear at regular intervals, but +not starting from measure zero, you can use a context function, +@code{set-bar-number-visibility}, to set automatically +@code{barNumberVisibility}, so that the bar numbers appear at regular +intervals, starting from the measure in which +@code{set-bar-number-visibility} is set using @code{\applycontext}. + + +" } + +resetBarnum = \context Score \applyContext + #(set-bar-number-visibility 4) +\score { + << + \transpose c c'' { + \override Score.BarNumber #'break-visibility =#end-of-line-invisible + \override Score.RehearsalMark #'padding = #2.5 + \mark "A" \resetBarnum + \repeat unfold 10 c1 + \mark \default \resetBarnum + \repeat unfold 8 c + \bar "|." + } + >> +\layout{ragged-right = ##t} +} + diff --git a/input/lsr/staff/naming-a-whole-grandstaff.ly b/input/lsr/staff/naming-a-whole-grandstaff.ly new file mode 100644 index 0000000000..2cfc0b9cba --- /dev/null +++ b/input/lsr/staff/naming-a-whole-grandstaff.ly @@ -0,0 +1,22 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can have a name for the whole @code{GrandStaff} in addition to +individual @code{Staff}s. +" } + +\score { + + \context GrandStaff << + \context Staff = "treble" { + \set GrandStaff.instrument = "Violini " + \set Staff.instrument = " vn I" { c''4 }} + \context Staff = "bass" { \set Staff.instrument = " vn II" c''4 }>> + + +\layout { +\context { \GrandStaff \consists "Instrument_name_engraver" } +}} + + diff --git a/input/lsr/staff/removing-the-key-signature-at-the-end-of-a-line.ly b/input/lsr/staff/removing-the-key-signature-at-the-end-of-a-line.ly new file mode 100644 index 0000000000..7688dc6210 --- /dev/null +++ b/input/lsr/staff/removing-the-key-signature-at-the-end-of-a-line.ly @@ -0,0 +1,21 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +According to normal typesetting conventions, LilyPond typesets key +changes at the end of the line, when the change appears at a line +break. This example shows how to change this default to only print the +new key signature at the beginning of the next line. + + +" } + +\score { + \relative c' { + \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible + c d e f | g a b c | \break + \key d \major + d cis b a | g fis e d | + } +} + diff --git a/input/lsr/text/embedding-postscript.ly b/input/lsr/text/embedding-postscript.ly new file mode 100644 index 0000000000..7afcecc0b6 --- /dev/null +++ b/input/lsr/text/embedding-postscript.ly @@ -0,0 +1,24 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +By inserting the markup command @code{\postscript}, you can insert +PostScript directly into the output. + + + +" } + +\score { + \relative c'' { + a-\markup { \postscript #"3 4 moveto 5 3 rlineto stroke" } + -\markup { \postscript #"[ 0 1 ] 0 setdash 3 5 moveto 5 -3 rlineto stroke " } + + b-\markup { \postscript #"3 4 moveto 0 0 1 2 8 4 20 3.5 rcurveto stroke" } + s2 + a'1 + } + \layout { linewidth = 70 * 5 \pt } +} + + diff --git a/input/lsr/vocal/displaying-bar-lines-on-lyrics.ly b/input/lsr/vocal/displaying-bar-lines-on-lyrics.ly new file mode 100644 index 0000000000..ee926180f6 --- /dev/null +++ b/input/lsr/vocal/displaying-bar-lines-on-lyrics.ly @@ -0,0 +1,41 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.10.12" + +\header { texidoc = " +You can move @code{Bar_engraver} and @code{Span_bar_engraver} to a +different engraving context, if you want, for example, bar lines on +lyrics. +" } + +\score { + \relative c' \context ChoirStaff << + \new Staff { c1 c1 c1} + \lyricmode << + \new Lyrics { bla1 die bla } + >> + \new Staff { c1 c1 c1} + >> + + + \layout { + raggedright = ##t + \context { + \Lyrics + \consists Bar_engraver + + + %% need procedure, since lyrics doesn't have a staff_sym engraver. + \override BarLine #'bar-size-procedure = #(lambda (x) 3.0) + } + \context{ + \ChoirStaff + \remove "Span_bar_engraver" + } + \context { + \Staff + \remove "Bar_engraver" + } + } +} + +