--- /dev/null
+%% 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 ]
+ }
+
--- /dev/null
+%% 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] |
+
+ }
+}
+
--- /dev/null
+%% 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
+}
--- /dev/null
+%% 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}
+}
--- /dev/null
+%% 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
--- /dev/null
+%% 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"
+ }
+}
+
--- /dev/null
+%% 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 }
+ }
+}
+
--- /dev/null
+%% 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"
+ }
+ }
+}
+
+
+
--- /dev/null
+%% 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
+ }
+ }
+}
+
--- /dev/null
+%% 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
+ }
+ >>
+
+ }
+
+}
+
+
--- /dev/null
+%% 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
+
+}
+
+
--- /dev/null
+%% 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)))))
+ }
+}
--- /dev/null
+%% 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
+ }
+>>
+
+
+
--- /dev/null
+%% 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
+ }
+}
+
+
+
--- /dev/null
+%% 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
+}
+
--- /dev/null
+%% 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" }
+}
--- /dev/null
+%% 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" }
+++ /dev/null
-\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 >>
- >>
-}
-
-
-