+++ /dev/null
-@c -*-texinfo-*-
-@ignore
-
-TODO
- * move some stuff to refman
- * merge some stuff with refman entries
-
- * add @ref{}s to lilypond-internals:
- @rgrob{Name} to grob
- @reng{Name} to engraver
-
- there's a very simple, very general noXXX mechanism; try
-
-noop \property Staff.VoltaBrace = #'()
-yes: \property Staff.VoltaBracket = #'((meta . ((interfaces . ()))))
-
-
- visibility?
- brew_molecule?
-@end ignore
-
-
-@node Features
-@chapter Features
-
-@menu
-* Arpeggio:: Arpeggio
-* Glissando:: Glissando
-* Manual beam settings:: Manual beam settings
-* Slur attachments:: Slur attachments
-* Text spanner:: Text spanner
-* Engraver hacking:: Engraver hacking
-* Part combiner:: Part combiner
-* Markup text:: Markup text
-* Apply hacking:: Apply hacking
-* Output property:: Output property
-* Embedded TeX:: Embedded TeX
-* Embedded PostScript:: Embedded PostScript
-@c * Index:: Checking Feature index
-@end menu
-
-
-@node Arpeggio
-@section Arpeggio
-@cindex argepeggio
-
-@cindex broken arpeggio
-
-You can specify an @rgrob{Arpeggio} sign on a chord by issuing an
-@c FIXME
-@c @code{\arpeggio}@indexcode{\arpeggio} request:
-@code{\arpeggio} request:
-
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context Voice <c'\arpeggio e g c>
-@end lilypond
-@end quotation
-
-Typesetting of simultanious chords with arpeggios can be controlled with
-the property @code{PianoStaff.connectArpeggios} @footnote{ FIXME:
-connectArpeggios. Can't find the English terms for two kinds of
-arpeggio (Dutch: gebroken arpeggio vs doorlopend arpeggio).} By
-default, LilyPond prints broken arpeggios; when set to true, one
-extended arpeggio sign is printed.
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context PianoStaff <
- \property PianoStaff.connectArpeggios = ##t
- \context Staff \context Voice <c''\arpeggio e g c>
- \context Staff=other \context Voice <c,\arpeggio e g>
- >
-@end lilypond
-@end quotation
-
-@node Glissando
-@section Glissando
-@cindex glissando
-
-A @rgrob{Glissando} line can be requested by issuing a
-@c FIXME
-@c @code{\glissando}@indexcode{\glissando} request:
-@code{\glissando} request:
-
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- c'' \glissando c'
-@end lilypond
-@end quotation
-
-Printing of the additional text @samp{gliss.} is currently not
-supported.
-
-
-@subsection Follow Thread
-@cindex follow thread
-@cindex staff switching
-@cindex cross staff
-
-@c Documented here because it looks like a glissando...
-A glissando-like line can be printed to connect notes whenever a thread
-switches to another staff. This is enabled if the property
-@code{PianoStaff.followThread}@indexcode{followThread} is set to true:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context PianoStaff <
- \property PianoStaff.followThread = ##t
- \context Staff \context Voice {
- c'1
- \translator Staff=two
- b2 a
- }
- \context Staff=two {\clef bass; \skip 1*2;}
- >
-@end lilypond
-@end quotation
-
-@node Manual beam settings
-@section Manual beam settings
-@cindex beams
-@cindex beam settings
-@cindex manual beams
-
-
-@c auto knees
-
-In some cases it may be necessary to override LilyPond's automatic
-beaming algorithm. For example, the auto beamer will not beam over
-rests, so if you want that, specify the begin and end point manually
-using @code{[}@indexcode{[} and @code{]}@indexcode{]}:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context Staff {
- r4 [r8 g'' a]
- }
-@end lilypond
-@end quotation
-
-Similarly, for beams over bar lines:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context Staff {
- a''8 r a2 r8 [a a]
- }
-@end lilypond
-@end quotation
-
-If you have specific wishes for the number of beams, you can fully
-control the number of beams through the properties
-@code{Voice.stemLeftBeamCount}@indexcode{stemLeftBeamCount};
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \context Staff {
- [f'8 r16 f g a]
- [f8 r16 \property Voice.stemLeftBeamCount = #1 f g a]
- }
-@end lilypond
-@end quotation
-
-and @code{Voice.stemRightBeamCount}@indexcode{stemRightBeamCount}:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- f'32 g a b b a g f
-
- \property Voice.autoBeamSettings
- \set #'(end * * * *) = #(make-moment 1 4)
- f32 g a b b a g f
-
- f32 g a
- \property Voice.stemRightBeamCount = #1 b
- \property Voice.stemLeftBeamCount = #1 b
- a g f
-@end lilypond
-@end quotation
-
-Conventionally, stems extend to the middle staff line, and thus so do
-beams. The extending of the stems can be controlled through
-@code{Voice.Stem}'s grob-property
-@code{no-stem-extend}@indexcode{no-stem-extend}:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \grace a'8 a4
- \property Voice.Stem \set #'no-stem-extend = ##t
- \grace g8 g4 [g8 g]
-@end lilypond
-@end quotation
-
-The beam symbol can be tweaked through @code{Voice.Beam}'s
-grob-properties @code{height-hs} and @code{y-position-hs}.
-
-Set @code{height-hs} to zero, to get horizontal beams:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \property Voice.Beam \set #'direction = #1
- \property Voice.Beam \set #'height-hs = #0
- [a''8 e' d c]
-@end lilypond
-@end quotation
-
-Both are in half spaces. Here's how you'd specify a weird looking beam
-that instead of beaing horizontal, falls two staff spaces (ie, four half
-spaces):
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \property Voice.Beam \set #'y-position-hs = #4
- \property Voice.Beam \set #'height-hs = #-4
- [c'8 c]
-@end lilypond
-@end quotation
-
-The direction of a perfectly centred beams can be
-controlled through @code{Voice.Beam}'s grob-property
-@code{default-neutral-direction}@indexcode{default-neutral-direction}
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- [b''8 b]
- \property Voice.Beam \set #'default-neutral-direction = #-1
- [b b]
-@end lilypond
-@end quotation
-
-There are several ways to calculate the direction of a beam.
-
-[Ross] states that the majority of the notes dictates the
-direction (and not the mean of "center distance")
-
-But is that because it really looks better, or because he wants
-to provide some real simple hands-on rules?
-
-We have our doubts, so we simply provide all sensible alternatives:
-
-@table @samp
-@item majority
-number count of up or down notes
-@item mean
-mean centre distance of all notes
-@item median
-mean centre distance weighted per note
-@end table
-
-You can spot the differences of these settings from these simple
-examples:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- [d''8 a]
- \property Voice.Beam \set #'dir-function = #beam-dir-mean
- [d a]
- \property Voice.Beam \set #'dir-function = #beam-dir-median
- [d a]
-@end lilypond
-@end quotation
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \time 3/8;
- [d''8 a a]
- \property Voice.Beam \set #'dir-function = #beam-dir-mean
- [d a a]
- \property Voice.Beam \set #'dir-function = #beam-dir-median
- [d a a]
-@end lilypond
-@end quotation
-
-These beam direction functions are defined in @file{scm/beam.scm}. If
-your favourite algorithm isn't one of these, you can hook up your own.
-
-
-
-@node Slur attachments
-@section Slur attachments
-
-The ending of a slur should whenever possible be attached to a note
-head. Only in some instances where beams are involved, LilyPond may
-attach a slur to a stem end. In some cases, you may want to override
-LilyPond's decision, eg to attach the slur to the stem end. This can be
-done through @code{Voice.Slur}'s grob-property @code{attachment}:
-@c FIXME: make @ref{} to backend doco
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \property Voice.Slur \set #'direction = #1
- \property Voice.Stem \set #'length = #5.5
- g''8(g)g4
- g4(g8)g
- \property Voice.Slur \set #'attachment = #'(stem . stem)
- g8(g)g4
- g4(g8)g
-@end lilypond
-@end quotation
-
-Trying Before | After example...
-@c Fix rolled into 4.0a prerelease
-@c is this nice?
-
-@multitable @columnfractions .40 .40
-@item
-@noindent
-@lilypond[fragment,relative,verbatim]
-\property Voice.Slur
- \set #'direction = #1
-g''8(g)g4
-g4(g8)g
-@end lilypond
-@tab
-@lilypond[fragment,relative,verbatim]
-\property Voice.Slur
- \set #'direction = #1
-\property Voice.Stem
- \set #'length = #5.5
-\property Voice.Slur
- \set #'attachment = #'(stem . stem)
-g''8(g)g4
-g4(g8)g
-@end lilypond
-@end multitable
-
-
-Similarly, slurs can be attached to note heads even when beams are
-involved (aka Ophee slurs):
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \property Voice.Slur \set #'direction = #1
- \property Voice.Slur \set #'attachment = #'(head . head)
- g''16()g()g()g()d'()d()d()d
-@end lilypond
-@end quotation
-
-If a slur would strike through a stem or beam, LilyPond will move the
-slur away vertically (upward or downward). In some cases, this may
-cause ugly slurs that you may want to correct:
-
-@quotation
-@lilypond[fragment,relative,verbatim]
- \property Voice.Stem \set #'direction = #1
- \property Voice.Slur \set #'direction = #1
- d'32( d'4 )d8..
- \property Voice.Slur \set #'attachment = #'(stem . stem)
- d,32( d'4 )d8..
-@end lilypond
-@end quotation
-
-LilyPond will increase the curvature of a slur trying to stay free of
-note heads and stems. However, if the curvature would increase too much,
-the slur will be reverted to its default shape. This decision is based
-on @code{Voice.Slur}'s grob-property @code{beautiful} value. In some
-cases, you may find ugly slurs beautiful, and tell LilyPond so by
-increasing the @code{beautiful} value:
-
-@quotation
-@lilypond[verbatim]
-\score {
- \notes \context PianoStaff <
- \time 6/4;
- \context Staff=up { s1 * 6/4 }
- \context Staff=down <
- \clef bass;
- \autochange Staff \context Voice
- \notes \relative c {
- d,8( a' d f a d f d a f d )a
- }
- >
- >
- \paper {
- linewidth = -1.;
- \translator {
- \VoiceContext
- Slur \override #'beautiful = #5.0
- Slur \override #'direction = #1
- Stem \override #'direction = #-1
- autoBeamSettings \override #'(end * * * *)
- = #(make-moment 1 2)
- }
- \translator {
- \PianoStaffContext
- VerticalAlignment \override #'threshold = #'(5 . 5)
- }
- }
-}
-@end lilypond
-@end quotation
-
-
-@node Text spanner
-@section Text spanner
-
-
-
-Have crescendo set a text spanner iso hairpin
-
-
-@lilypond[fragment,relative,verbatim]
- \context Voice {
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = #'dashed-line
- a''2\mf\< a a \!a
- }
-@end lilypond
-
-@subsection Ottava
-
-@lilypond[fragment,relative,verbatim]
- a'''' b c a
- \property Voice.TextSpanner \set #'type = #'dotted-line
- \property Voice.TextSpanner \set #'edge-height = #'(0 . 1.5)
- \property Voice.TextSpanner \set #'edge-text = #'("8va " . "")
- \property Staff.centralCPosition = #-13
- a\spanrequest \start "text" b c a \spanrequest \stop "text"
-@end lilypond
-
-
-
-@node Engraver hacking
-@section Engraver hacking
-
-No time signature, no barlines...
-@lilypond[verbatim]
-\score {
- \notes \relative c'' {
- a b c d
- d c b a
- }
- \paper {
- linewidth = -1.;
- \translator {
- \StaffContext
- whichBar = #""
- \remove "Time_signature_engraver";
- }
- }
-}
-@end lilypond
-
-No staff, no clef, squash pitches
-@lilypond[verbatim]
-\score {
- \notes { c4 c4 c8 c8 }
- \paper {
- linewidth = -1.;
- \translator {
- \StaffContext
- \remove Staff_symbol_engraver;
- \consists Pitch_squash_engraver;
- \remove Clef_engraver;
- }
- }
-}
-@end lilypond
-
-
-@node Part combiner
-@section Part combiner
-
-@lilypond[verbatim]
-\score{
- \context Staff = flauti <
- \time 4/4;
- \context Voice=one \partcombine Voice
- \context Thread=one \notes\relative c'' {
- c4 d e f | b,4 d c d | r2 e4 f | c4 d e f |
- c4 r e f | c4 r e f | c4 r a r | a a r a |
- a2 \property Voice.soloADue = ##f a |
- }
- \context Thread=two \notes\relative c'' {
- g4 b d f | r2 c4 d | a c c d | a4. b8 c4 d
- c r e r | r2 s2 | a,4 r a r | a r r a |
- a2 \property Voice.soloADue = ##f a |
- }
- >
- \paper{
- linewidth = 80 * \staffspace;
- \translator{
- \ThreadContext
- \consists Rest_engraver;
- }
- \translator{
- \VoiceContext
- \remove Rest_engraver;
- }
- }
-}
-@end lilypond
-
-
-
-
-@node Markup text
-@section Markup text
-
-Metrome hack...
-
-
-
-@lilypond[verbatim]
-#(define note '(rows (music "noteheads-2" ((kern . -0.1) "flags-stem"))))
-#(define eight-note `(rows ,note ((kern . -0.1) (music ((raise . 3.5) "flags-u3")))))
-#(define dotted-eight-note `(rows ,eight-note (music "dots-dot")))
-
-\score {
- \notes\relative c'' {
- a1^#`(rows ,dotted-eight-note " = 64")
- }
- \paper {
- linewidth = -1.;
- \translator{
- \ScoreContext
- TextScript \override #'font-shape = #'upright
- }
- }
-}
-@end lilypond
-
-
-@node Output property
-@section Output property
-
-@lilypond[fragment,relative,verbatim]
- \outputproperty #(make-type-checker 'note-head-interface)
- #'extra-offset = #'(2 . 3)
- c''2 c
-@end lilypond
-
-Don't move the finger 2, only text "m.d." ...
-@lilypond[verbatim]
-#(define (make-text-checker text)
- (lambda (grob) (equal? text (ly-get-elt-property grob 'text))))
-
-\score {
- \notes\relative c''' {
- \property Voice.Stem \set #'direction = #1
- \outputproperty #(make-text-checker "m.d.")
- #'extra-offset = #'(-3.5 . -4.5)
- a^2^"m.d."
- }
- \paper { linewidth = -1.; }
-}
-@end lilypond
-
-
-@c equalizer
-
-
-@node Apply hacking
-@section Apply hacking
-
-@lilypond[verbatim]
-music = \notes { c'4 d'4( e'4 f'4 }
-
-#(define (reverse-music music)
- (let* ((elements (ly-get-mus-property music 'elements))
- (reversed (reverse elements))
- (span-dir (ly-get-mus-property music 'span-direction)))
-
- (ly-set-mus-property music 'elements reversed)
-
- (if (dir? span-dir)
- (ly-set-mus-property music 'span-direction (- span-dir)))
-
- (map reverse-music reversed)
-
- music))
-
-\score {
- \context Voice {
- \music
- \apply #reverse-music \music
- }
- \paper { linewidth = -1.; }
-}
-@end lilypond
-
-@example
- Here's a copy of my feature request :
-@quotation
- Your task, if you accept it is to implement a \smarttranspose
- command> that would translate such oddities into more natural
- notations. Double accidentals should be removed, as well as #E
- (-> F), bC (-> B), bF (-> E), #B (-> C).
-@end quotation
-
-You mean like this. (Sorry 'bout the nuked indentation.)
-@end example
-
-
-@lilypond[verbatim]
-#(define (unhair-pitch p)
- (let* ((o (pitch-octave p))
- (a (pitch-alteration p))
- (n (pitch-notename p)))
-
- (cond
- ((and (> a 0) (or (eq? n 6) (eq? n 2)))
- (set! a (- a 1)) (set! n (+ n 1)))
- ((and (< a 0) (or (eq? n 0) (eq? n 3)))
- (set! a (+ a 1)) (set! n (- n 1))))
-
- (cond
- ((eq? a 2) (set! a 0) (set! n (+ n 1)))
- ((eq? a -2) (set! a 0) (set! n (- n 1))))
-
- (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
- (if (> n 7) (begin (set! o (+ o 1)) (set! n (- n 7))))
-
- (make-pitch o n a)))
-
-#(define (smart-transpose music pitch)
- (let* ((es (ly-get-mus-property music 'elements))
- (e (ly-get-mus-property music 'element))
- (p (ly-get-mus-property music 'pitch))
- (body (ly-get-mus-property music 'body))
- (alts (ly-get-mus-property music 'alternatives)))
-
- (if (pair? es)
- (ly-set-mus-property
- music 'elements
- (map (lambda (x) (smart-transpose x pitch)) es)))
-
- (if (music? alts)
- (ly-set-mus-property
- music 'alternatives
- (smart-transpose alts pitch)))
-
- (if (music? body)
- (ly-set-mus-property
- music 'body
- (smart-transpose body pitch)))
-
- (if (music? e)
- (ly-set-mus-property
- music 'element
- (smart-transpose e pitch)))
-
- (if (pitch? p)
- (begin
- (set! p (unhair-pitch (Pitch::transpose p pitch)))
- (ly-set-mus-property music 'pitch p)))
-
- music))
-
-
-music = \notes \relative c' { c4 d e f g a b c }
-
-\score {
- \notes \context Staff {
- \transpose ais' \music
- \apply #(lambda (x) (smart-transpose x (make-pitch 0 5 1)))
- \music
- }
- \paper { linewidth = -1.; }
-}
-@end lilypond
-
-
-@node Embedded TeX
-@section Embedded TeX
-@lilypond[fragment,relative,verbatim]
- a''^"3 $\\times$ \\`a deux"
-@end lilypond
-
-@node Embedded PostScript
-@section Embedded PostScript
-
-Arbitrary lines and curves not supported...
-
-[TODO:] Make a direct postscript command?
-
-@lilypond[verbatim]
-\score {
- \notes \relative c'' {
- a-#"\\embeddedps{3 4 moveto 5 3 rlineto stroke}"
- -#"\\embeddedps{ [ 0 1 ] 0 setdash 3 5 moveto 5 -3 rlineto stroke}"
- b-#"\\embeddedps{3 4 moveto 0 0 1 2 8 4 20 3.5 rcurveto stroke}"
- s2
- a'1
- }
- \paper { linewidth = 70 * \staffspace; }
-}
-@end lilypond
-
-@ignore
-@node Index
-@section Checking Feature index
-
-@printindex cp
-
-
-@bye
-@end ignore
-
-
+++ /dev/null
-@c -*-texinfo-*-
-
-@node midi2ly
-@section midi2ly
-
-Midi2ly translates a MIDI input file to a LilyPond source file.
-Midi2ly is part of the GNU LilyPond music typesetting package.
-
-@subsection Invoking midi2ly
-
- midi2ly [options] midi-file
-
-
-@table @samp
-@item -b, --no-quantify,
- Write exact durations, e.g.: `a4*385/384'.
-@item -D, --debug,
- Print lots of debugging stuff.
-@item -h, --help,
- Show a summary of usage.
-@item -I, --include=@file{DIR},
- Add DIR to search path.
-@item -k, --key=ACC[:MINOR],
- Set default key. ACC > 0 sets number of sharps; ACC < 0 sets number
- of flats. A minor key is indicated by ":1".
-@item -n, --no-silly,
- Assume no plets or double dots, assume smallest (reciprocal) duration 16.
-@item -o, --output=@file{FILE},
- Set @file{FILE} as default output.
-@item -p, --no-plets,
- Assume no plets.
-@item -q, --quiet,
- Be quiet.
-@item -s, --smallest=N,
- Assume no shorter (reciprocal) durations than N.
-@item -v, --verbose,
- Be verbose.
-@item -w, --warranty,
- Show the warranty with which midi2ly comes. (It comes with @strong{NO WARRANTY}!)
-@item -x, --no-double-dots,
- Assume no double dotted notes.
-@end table
+++ /dev/null
-\header{
-texidoc="
-Hara kiri staffs kill themselves if they are empty. This example really
-contains two staffs, but the second contains only spaces, and is
-therefore removed. Also, any staff brackets and braces are removed.
-";
-}
-
-\version "1.3.117";
-zager = \context Staff = zager \notes \relative c'' {
- \clef treble;
- c1
-}
-
-zoger = \context Staff = zoger \notes \relative c'' {
- \clef treble;
- \skip 1* 1;
-}
-
-zagers = \context GrandStaff <
- \zager
- \zoger
->
-
-\score{
- <
- \context StaffGroup = zagers <
- \zagers
- >
- >
- \paper{
- linewidth = 80.0\mm;
-
- \translator { \HaraKiriStaffContext }
-%uh?
-
- }
-}
-
-
+++ /dev/null
-\header{
-texidoc="
-A sharp sign after a double sharp sign, as well as a flat sign
-after a double flat sign is automatically prepended with a
-natural sign.
-";
-}
-\version "1.3.117";
-
-
-thenotes = \notes \relative cis' { \time 4/4;
-gisis'4 gis gisis ges |
-geses ges geses gis |
-gisis g geses g |
-gis g ges g |
-\key a \major;
-gisis4 gis gisis ges |
-geses ges geses gis |
-gisis g geses g |
-gis g ges g |
-}
-
-\score { < \context Staff \thenotes
- \context NoteNames {
- \property NoteNames.basicNoteNameProperties \override #'no-spacing-rods = ##f
- \thenotes
- }
- >
-}
+++ /dev/null
-\header{
-texidoc="
-Accidentals work: the second note does not get a sharp. The third and
-fourth show forced and courtesy accidentals.
-";
-}
-
-foo = \notes\relative c'' { \key as \major; dis4 dis dis! dis? }
-
-\score {
-
- < \foo
- \context NoteNames \foo
- >
-}
+++ /dev/null
-\header{
-texidoc="
-Arpeggios are supported, both cross-staff and broken single staff.
-";
-}
-
-\version "1.3.117";
-
-\score{
- \context PianoStaff <
- \context Staff=one \notes\relative c''{
- \context Voice < fis,-\arpeggio d a >
- %%\property PianoStaff.SpanArpeggio \override #'connect = ##t
- \property PianoStaff.connectArpeggios = ##t
- <fis,\arpeggio a c>
- }
- \context Staff=two \notes\relative c{
- \clef bass;
- \context Voice < g b d-\arpeggio >
- <g\arpeggio b d>
- }
- >
-}
+++ /dev/null
-\header{
-texidoc="
-The first two a8 notes should not be beamed.
-Also, no automatic beaming accross bar lines.
-";
-}
-
-\score{
-\notes \notes\relative c'' {
-\time 2/8;
-a8 a
-\time 6/8;
-a16 cis d a bes g fis4 g8
-%a4. fis4 g8
-a16 g a bes c d % ees8 d c
-}
-\paper{
- linewidth=-1.;
-}
-}
\ No newline at end of file
+++ /dev/null
-\header{
-texidoc="
-Auto change piano staff switches voices between up and down staffs
-automatically; rests are switched along with the coming note.
-";
-}
-
-\score {
- \notes \context PianoStaff <
- \context Staff = "up" {
- \autochange Staff \context Voice = VA < \relative c' { g4 a b c d r4 a g } >
- }
- \context Staff = "down" {
- \clef bass;
- s1*2
- }
-
- >
-
-}
+++ /dev/null
-\header{
-texidoc="Two automatic knees";
-}
-
-\score {
- \notes \context PianoStaff <
- \context Staff = "up" \notes\relative c''{
- [ b8 \translator Staff="down" d,, ]
- [ c \translator Staff="up" c'' ]
- [ b, \translator Staff="down" d ]
- }
- \context Staff = "down" {
- \clef bass;
- s2.
- }
- >
- \paper{
- linewidth = 40*\staffspace;
-% Now by default
-% \translator{
-% \VoiceContext
-% Beam \override #'auto-knee-gap = #7
-% }
- }
-}
+++ /dev/null
-\header{
-texidoc="One automatic knee";
-}
-
-\score {
- \context Staff \notes\relative c''{
- [c'8 c,,] [c8 e']
- }
- \paper{
- linewidth = 40*\staffspace;
-% Now by default
-% \translator {
-% \VoiceContext
-% Beam \override #'auto-knee-gap = #7
-% }
- }
-}
+++ /dev/null
- \score { \notes {
-
- c1 c1 c1 c1\break
- c1 c1 c1 c1\break
- \property Score.currentBarNumber = 25
- c1 c1 c1 c1
-}
- \paper{ \translator {\BarNumberingStaffContext }}}
+++ /dev/null
-\header{
-texidoc="
-Markings that are attached to (invisible) barlines are
-delicate: the are attached to the rest of the score without the score
-knowing it. Consequently, they fall over often.
-";
-}
-
-\version "1.3.117";
-
-onestaff = \context Staff = foo\notes {
- \property Staff.instr = instr
- \property Staff.instrument = instrument \mark "B";
- c1 \mark "A"; \break c2 c2 \break
-}
-
-grstaff = \notes \context GrandStaff <
- \context Staff = bar {
-
- \property Staff.instr = instr
-
- \mark "B"; \break c1 \mark "A"; c2 }
- \context Staff = bufl { c1 c2 }
->
-
-scpaper = \paper {\translator {\OrchestralScoreContext}}
-stpaper = \paper{ \translator {\BarNumberingStaffContext }}
-
-scscore = \score { \grstaff \paper {
-\scpaper
-}}
-
-
-stscore = \score { \onestaff \paper {
- \stpaper
-}}
-
-%\score {\stscore}
-\score {\scscore
-\header { title = "bar scripts"; }
-}
+++ /dev/null
-\header{
-texidoc="
-Beams can be typeset over fixed distance aligned staffs, beam
-beautification doesn't really work, but knees do. Beams should be
-behave well, wherever the switching point is.
-";
-}
-\score{
- \context PianoStaff <
- \context Staff=one \notes\relative c'{
- \stemUp [c8 c \translator Staff=two \stemUp c c]
- [c c c c]
- \translator Staff=one
- \stemDown [c8 c \translator Staff=two \stemUp c c]
- r2
- \stemDown [c8 c \translator Staff=one \stemDown c c]
- r2
- \translator Staff=two
- \stemUp [c8 c \translator Staff=one \stemDown c c]
- r2
- }
- \context Staff=two \notes\relative c'{
- \clef bass;
- s1
- s1
- s1
- s1
- }
- >
-}
-
-\version "1.3.117";
+++ /dev/null
-\header{
-texidoc="
-There are several ways to calculate the direction of a beam
-
-@table @samp
-@item majority
-number count of up or down notes
-@item mean
-mean centre distance of all notes
-@item median
-mean centre distance weighted per note
-@end table
-
-We should see:
-
- up down down
-
- up up down
-";
-}
-
-\score {
- \notes \relative c'' {
- % the default
- %\property Voice.Beam \set #'dir-function = #beam-dir-majority
- [d8 a]
- \property Voice.Beam \set #'dir-function = #beam-dir-mean
- [d a]
- \property Voice.Beam \set #'dir-function = #beam-dir-median
- [d a]
-
- \property Voice.Beam \set #'dir-function = #beam-dir-majority
- \time 3/8;
- [d8 a a]
- \property Voice.Beam \set #'dir-function = #beam-dir-mean
- [d a a]
- \property Voice.Beam \set #'dir-function = #beam-dir-median
- [d a a]
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Beams should behave reasonably well, even under extreme circumstances.
-Stems may be short, but noteheads should never touch the beam.
-";
-}
-\version "1.3.117";
-\score{
- \notes\relative c''{
- [g8 c c,]
- [c16 c'' a f]
- \stemUp
- [c,,32 c'' a f]
-
- }
- \paper{
- linewidth=-1.;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-beams should look the same
-";
-}
-
-\score {
- \context Voice \notes\relative c {
-
- [d''8 d d] [d g d]
- c c
-
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Beams should always reach the middle staff line. The second beam
-counting from the note head side, should never be lower than the
-second staff line. This does not hold for grace note beams.
-Override with @code{noStemExtend}.
-";
-}
-\version "1.3.117";
-
-\score {
- \context Voice \notes\relative c {
- [f8 f] [f64 f] \grace { [f8 e8] }
- \property Grace.Stem \override #'no-stem-extend = ##t
- [f8 f]
-
- }
- \paper {
- linewidth=-1.0;
- }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-Beams over rests.
-";
-}
-
-\score{
- \context Staff=one \notes\relative c''{
- r4 [r8 g a]
- [bes8 r16 f g a]
- [bes8 r16 \property Voice.stemLeftBeamCount = #1 f g a]
-
- }
- \paper{
- linewidth =-1;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Beaming is generated automatically. Beams may cross bar lines. In that
-case, line breaks are forbidden. Yet clef and key signatures are
-hidden just as with breakable bar lines.
-";
-}
-
-\score { \context Staff \notes \relative c'' {
- [c8. c16]
- [c8. c16 c8. c16]
- [c16 c8.] |
- [c8. c16 c16 c8.]
- [c8. c32 c32]
- [c8 c8] |
- [c16 c16]
- [c32 c32]
- [c64 c64]
- c32
- [c8 c,4 c'8] % should warn here!
- [c8 c c] c8 % over barline
- [c16 c8 c16]
- [c32 c16 c16 c16 c32]
- [c32 c16 c8 c32] % hmm ?
-
- }}
-
+++ /dev/null
-\header{
-texidoc="
-The same mechanism can be used to force pagebreaks.
-";
-}
-
-
-% In reality, you'd use #"\\newpage" instead of "(pagebreak)", of course.
-
-\score {
-\notes { c1
-
- \context Score \outputproperty #(make-type-checker 'paper-column-interface)
- #'between-system-string = #"(pagebreak)\n\n"
- \break
-
-c1 }
-
-}
+++ /dev/null
-\header{
-texidoc="
-Breaks can be encouraged and discouraged using @code{\break} and
-@code{\noBreak}. They are abbrevs for @code{\penalty} commands.
-";
-}
-
-
-\score{
- \notes\context Voice{
- \emptyText
- c1 c1^"no break after 2nd note" \noBreak c1 c1
-
- c1^"break after this" \break c1 c1
- }
- \paper { linewidth = 4.0\cm;}
-}
+++ /dev/null
-\header{
-texidoc="
-Breathing signs, also used for phrasing, do normally not influence
-global spacing -- only if space gets tight, notes are shifted to make
-room for the breathing sign. Breathing signs break beams running
-through their voice. In the following example, the notes in the first
-two measures all have the same distance from each other:
-";
-}
-
-
-\version "1.3.117";
-
-\score {
- \notes \relative c' {
- \key es \major; \time 3/4;
- < \context Voice = two { \stemDown es4 bes es }
- \context Voice = one { \stemUp g4 as g }
- > |
- < \context Voice = two { \stemDown es4 \breathe bes es }
- \context Voice = one { \stemUp g4 as g }
- > |
- es8 d es f g4 \breathe |
- es8 d \breathe es f g f |
- es2 r4 \bar "||";
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Chord names are generated from a list pitches, and are customisable
-from guile. For some unlogical names, guile customisation is used
-by default.
-";
-}
-\version "1.3.117"
-chord = \notes\transpose c''\chords{
- c1
- c:m
- c:m5-
- c:m5-.7-
- c:7+
- c:m5-.7
- c:5-.7+
- c:m7
- c:7
- d
- d/a
- d/+gis
-}
-
-\score{
- <
- \context ChordNames \chord
- \context Staff \chord
- >
- \paper{
-
- \translator {
- \ChordNamesContext
- ChordName \override #'word-space = #1
- }
- }
-}
-
+++ /dev/null
-\header{
-texidoc="
-Chord tremolos look like beams, but are a kind of repeat symbol.
-To avoid confusion, chord tremolo beams do not reach the stems, but
-leave a gap. Chord tremolo beams on half notes are not ambiguous,
-as half notes cannot appear in a regular beam, and should reach the
-stems.
-";
-}
-
-\score {
- \context Voice \notes\relative c {
- \repeat "tremolo" 8 { c16 d16 }
- \repeat "tremolo" 4 { c16 d16 }
- }
- \paper {
- linewidth=-1.0;
- }
- \midi { }
-}
+++ /dev/null
-
-\header{
-texidoc="
-The transparent clef should not occupy any space and with style
-@code{fullSizeChanges}, the changing clef should be typeset in full
-size. For octaviated clefs, the ``8'' should appear closely above or
-below the clef respectively. The ``8'' is processed in a convoluted
-way, so this is fragile as well.
-";
-}
-
-\version "1.3.117";
-
-\score {
- \notes{
-
- \clef "treble"; c'1^"{treble}" \bar "||";
- \clef "french";c'1^"{french}" \bar "||";
- \clef "soprano";c'1^"{soprano}" \bar "||";
- \clef "mezzosoprano";c'1^"{mezzosoprano}" \bar "||";
- \clef "alto";c'1^"{alto}" \bar "||";
- \clef "tenor";c'1^"{tenor}" \bar "||";
- \clef "baritone";c'1^"{baritone}" \bar "||";
- \clef "varbaritone";c'1^"{varbaritone}" \bar "||";
- \clef "G_8";c'1^"{sub 8?}" c'1 \bar "||";
- \clef "G^8";c'1^"{sup 8?}" c'1 \bar "||";
- \clef "bass";c'1^"{bass}" \bar "||";
- \clef "subbass";c'1^"{subbass}" \bar "||";
- \property Staff.clefStyle="transparent"
- \clef "treble"; c'1^"clefStyle=\"transparent\"" \bar "||";
- \property Staff.clefStyle="fullSizeChanges"
- \clef "treble"; c'1^"clefStyle=\"fullSizeChanges\"" \bar "|.";
- }
- \paper{
- }
-}
-
+++ /dev/null
-\header{
-texidoc="
-Normal collisions. We have support for polyphony, where the
-middle voices are horizontally shifted.
-";
-filename = "collisions.ly";
-description = "random counterpoint to test collisions";
-enteredby = "HWN,JCN";
-copyright = "public domain";
-Tested = "test the Collision resolution ";
-}
-\version "1.3.117";
-
-twovoice = \context Staff \notes <
- \context Voice=i { \stemDown c4 d e f g2~ g4 a [c8 d e f] c2| }
- \context Voice=ii { \stemUp g4 f e g ~ g2 g2 c4 g4 g2 }
->
-
-twovoicesteminvert = \context Staff \notes <
- % the f and g on 4th beat are exceptionally ugh.
- \context Voice=i { \stemUp c4 d e f g2 g4 a | }
- \context Voice=ii { \stemDown g4 f e g g2 g2 }
->
-
-threevoice = \context Staff \notes <
- \context Voice=i { \stemUp g4 f e f g a g2 }
- \context Voice=ii { \stemUp \property Voice.NoteColumn \override #'horizontal-shift = #1
- e2 e2 e2 e2 }
- \context Voice=iii { \stemDown c4 d e d c d es }
->
-
-chordstest = \context Staff \notes <
- \context Voice = i \relative c {
- \stemUp e4 dis c f g f a b b
- }
- \context Voice = ii \relative c {
- \stemDown <a4 c> <a4 c> <a4 e'> <a4 c> <e' a> <e a> <e a> <a c> <a d>
- }
->
-
-hairyChord = \context Staff \notes\relative c' <
- \context Voice=one {
- \property Voice.NoteColumn \override #'horizontal-shift = #0
- \stemUp
- e4
- }
-
- \context Voice=two {
- \stemUp
- \property Voice.NoteColumn \override #'horizontal-shift = #1
- cis
- }
-
- \context Voice=three {
- \property Voice.NoteColumn \override #'horizontal-shift = #2
-
- \stemUp
- ais
- }
-
- \context Voice=four {
- \stemDown
- \property Voice.NoteColumn \override #'horizontal-shift = #1
-
- fis
- }
->
-
-
-\score{
- \notes \transpose c'' { \twovoice
- \twovoicesteminvert
- \threevoice \break
- \chordstest
- \hairyChord
- }
-
-% \midi { \tempo 4:80 }
-}
+++ /dev/null
-\header{
-texidoc="
-Noteheads can have dots, and rests can too. Augmentation dots should
-never be printed on a staff line, but rather be shifted vertically. They
-should go up, but in case of multiple parts, the down stems have down
-shifted dots. (Wanske p. 186) In case of chords, all dots should be in
-a column. The dots go along as rests are shifted to avoid collisions.
-";
-}
-
-
-\version "1.3.117";
-\score {
- \context Voice \notes\relative c'' {
- \time 6/8;
- d4. g,,
- <b''4. c d e> <f g a b>
- <g b d> <c, g' d' a'>
-
-
- \context Staff <
- \context Voice = VA { \stemUp f'' <b c> r4. }
- \context Voice = VB { \stemDown b, <a b> r4. }
- >
-
-
- }
- \paper { }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-Dynamics appear below or above the staff. If multiple dynamics are
-linked with (de)crescendi, they should be on the same line.
-";
-}
-\score{
-\notes\relative c''{
-a1\fff\> \!c,,\pp a'' a\p
-
-
-% We need this to test if we get two Dynamic line spanners
-a
-
-% because do_removal_processing ()
-% doesn't seem to post_process elements
-d\f
-
-a
-
-}
-\paper{
-}
-\midi{
-\tempo 1 = 60;
-}
-}
+++ /dev/null
-\header{
-texidoc="
-Theads can be traced automagically when they switch staffs by setting
-property @code{followThread}.
-";
-}
-% followThread: connect note heads with line when thread switches staff
-
-\score{
- \context PianoStaff <
- \context Staff=one \notes\relative c''{
- \context Thread
- d,
- \translator Staff=two
- c
-%{
- b
- \translator Staff=one
- a'
-
- [c,8
- \translator Staff=two
- c]
- s2.
-%}
- }
- \context Staff=two { \clef bass; \skip 1*2; }
- >
- \paper{
- linewidth = 90.\mm;
- \translator {
- \ScoreContext
- followThread = ##t
- }
- }
-}
+++ /dev/null
-\header{
-texidoc="
-As a last resort, the placement of grobs can be adjusted manually, by
-setting the @code{extra-offset} of a grob.
-";
-}
-
-\score{
- \notes\relative c''{
- \outputproperty #(make-type-checker 'note-head-interface)
- #'extra-offset = #'(2 . 3)
- c2
- c
- \context Score {
- \outputproperty #(make-type-checker 'mark-interface)
- #'extra-offset = #'(-1 . 4)
- }
- \mark A;
- d1
- \mark;
- e
-}
-\paper{
- linewidth=-1.0;
-}
-}
+++ /dev/null
-\header{
-texidoc="
-More specific settings take precendence over less specific settings. The
-second slur has slurDirection set to down, overriding the stemup setting.
-";
-}
-\version "1.3.117";
-
-\score {
- \notes \relative c'' \context Voice {
- \stemUp
- c'4 () c4
- \slurDown
- c4 ( )c4
- }
- \paper { linewidth = -1.0; }
-}
+++ /dev/null
-\header{
-
-texidoc=" Simple glissando lines between notes are supported.
-The first two glissandi are not consecutive.
-
-The engraver does no time-keeping, so it involves some trickery to get
-< @{ s8 s8 s4 @} @{ c4 \\gliss d4 @} > working correctly.
-
-";
-}
-
-\score{
- \context Staff=one \notes\relative c''{
- % gliss non gliss and
- c4 \glissando d e \glissando f \glissando \break
- % consecutive
- c \glissando d \glissando e
- < { \stemUp e8 \glissando g8 }
- \context Voice = VB {\stemDown \repeat unfold 4 d16 } >
-
- }
- \paper{
- linewidth = 70.\mm;
- \translator{
- \StaffContext
- % makes for handier debugging
- % \remove Clef_engraver;
- }
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Grace notes are typeset as an encapsulated piece of music. You can
-have beams, notes, chords, stems etc. within a @code{\grace} section.
-Slurs that start within a grace section, but aren't ended are attached
-to the next normal note. Grace notes have zero duration. If there
-are tuplets, the grace notes won't be under the brace. Grace notes
-can have accidentals, but they are (currently) spaced at a fixed
-distance. Grace notes (of course) come before the accidentals of the
-main note. Grace notes can also be positioned after the main note.
-
-Grace notes without beams should have a slash, if @code{flagStyle} is
-not set. Main note scripts don't end up on the grace note.
-
-";
-}
-
-\score {\notes \context Voice = VA \relative c'' {
- \grace b8 c4-\fermata
- \grace { [c32 cis32] } gis4
- \grace { [cis32 dis32] } e4
- \grace { [c32 d] }\times 2/3 { [c8 c c] }
- \grace { [b32 ( c32] } ) c4
- \grace <c16 d16> [c8 c8]
-% \grace c16 [c8 c8]
- \grace { \property Grace.graceAlignPosition = \right c16} c4
-}
-\paper {linewidth = -1.;}
-\midi{ }
-}
+++ /dev/null
-\header{
-texidoc="
-Hara kiri staffs kill themselves if they are empty. This example really
-contains two staffs, but the second contains only spaces, and is
-therefore removed. Also, any staff brackets and braces are removed.
-";
-}
-
-\version "1.3.117";
-zager = \context Staff = zager \notes \relative c'' {
- \clef treble;
- c1
-}
-
-zoger = \context Staff = zoger \notes \relative c'' {
- \clef treble;
- \skip 1* 1;
-}
-
-zagers = \context GrandStaff <
- \zager
- \zoger
->
-
-\score{
- <
- \context StaffGroup = zagers <
- \zagers
- >
- >
- \paper{
- linewidth = 80.0\mm;
-
- \translator { \HaraKiriStaffContext }
-%uh?
-
- }
-}
-
-
+++ /dev/null
-\header{
-texidoc="
-Key signatures appear on key changes. They may also
-appear without barlines. The restoration accidentals are not printed at
-the start of the line. If @code{createKeyOnClefChange} is set, they're
-also created on a clef change.
-";
-}
-
-\version "1.3.117";
-
-\score {
- \notes \relative c''
- {
- \property Staff. createKeyOnClefChange = ##t
- \key bes \major; c2
-% \key c \major; % \minor;
- \key es \major; % \minor;
- c2
- \break
- \key bes \major; % \major;
- c2 \clef alto; c2 \key d \major; \clef treble; c2
- \property Staff. keySignature = #'((2 . -1) (6 . -1) (4 . -1))
- e2
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Lyrics can be set to a melody automatically. Excess lyrics will be
-dumped. Lyrics will not be set over rests. You can have melismata
-either by setting a property melismaBusy, or by setting
-automaticMelismas (which will set melismas during slurs and ties). If
-you want a different order than first Music, then Lyrics, you must
-precook a chord of staffs/lyrics and label those. Of course
-@code{\rhythm} ignores any other rhythms in the piece. Hyphens and
-extenders do not assume anything about lyric lengths, so they continue
-to work.
-";
-
-
-filename = "twinkle-pop.ly";
-xtitle = "Ah, vous dirais-je, maman ";
-description = "twinkle twinkle in pop-song-settings";
-composer = "traditional";
-enteredby = "HWN, chords by Johan Vromans";
-copyright = "public domain";
-}
-
-\version "1.3.117";
-
-m = \notes \relative c'' {
- \property Staff.automaticMelismata = ##t
- \autoBeamOff
- g4 r8 \times 2/3 { g'8( f )e } r8 \grace { [d16 c b] } e4
- \emptyText
- d8.^"melisma" \melisma c16
- \melismaEnd
- b }
-
-noisebeat = \notes \relative c'' {g16 g g g }
-noise = { \noisebeat \noisebeat \noisebeat \noisebeat \noisebeat \noisebeat }
-textI = \lyrics { la2 __ la -- la __ la la la la la }
-textII = \lyrics { da -- da __ da -- da da da da da }
-
-\score {
- \notes < \context Staff = SA \m
- \context Lyrics = LA { s1 }
- \context Staff = SB { s1 }
- \context Lyrics = LB { s1 }
- \context Staff = SC \noise
-
- \addlyrics
- \context Staff = SB \m
- < \context Lyrics = LA \textI
- \context Lyrics = LB \textII
- >
-
- >
-}
-
+++ /dev/null
-\header{
-texidoc="
-Adding a @code{Bar_engraver} to the LyricsVoice context makes sure that
-lyrics don't collide with barlines.
-";
-}
-
-\score {
- \context StaffGroup <
- \notes \context Staff {
- b1 b1 \bar "|.";
- }
- \lyrics\context Lyrics <
- \context LyricsVoiceWithBars {
-% thisContextHasSpanBarEngraver1 added
- ThisContextCertainlyHasSpanBarEngraverAddedButTheresSomethingFunny1. Here.
- }
- \context LyricsVoice {
- this4 one has no SpanBarEngraverAddedToContext1
- }
- >
- \notes \context Staff = SB { b1 b1 }
- >
- \paper {
- linewidth = -1.0\cm;
- \translator {
- \LyricsContext
- \consists "Span_bar_engraver";
- \accepts "LyricsVoiceWithBars";
- }
- \translator {
- \LyricsVoiceContext
- \name "LyricsVoiceWithBars";
- }
- \translator {
- \LyricsVoiceContext
- }
- }
-}
+++ /dev/null
-
-\version "1.3.117";
-\include "english.ly"
-
-\header{
-texidoc="
-Multiple stanzas
-
- Tests a number of features:
- * Lyric_phrasing_engraver
- * Stanza_number_engraver
- * Automatic melismata on beamed notes
-
-";
-
- title = "Crowned with Honour";
- composer = "Oliver Holden (1765-1844)";
- poet = "Thomas Kelly (1769-1855)";
-}
-
-allup = \notes{
- \stemUp
- \slurUp
- \tieUp
- \property Voice.DynamicLineSpanner \override #'direction = #1
- \autoBeamOff
-}
-
-alldown = \notes{
- \stemDown
- \slurDown
- \tieDown
- \property Voice.DynamicLineSpanner \override #'direction = #-1
- \autoBeamOff
-}
-
-Global = \notes{
- \key g \major;
- \time 4/4;
- \partial 4;
-}
-
-Soprano = \notes \relative c' {
- \allup
- d4 | g g b b a g a b a g b a g( a )g % modified to test melisma align right
-
- [a8 b] | b4 % modified to test melisma align left
- a g b [d16 d c8] [b a] b4 % modified to test beam melisma
-% a4 | b a g b [d8 \melisma c] \melismaEnd [b \melisma a] \melismaEnd b4
-
- d d2 d e d4( cs8 ~ )cs d2.
-
- b4 | d b g b [a8 g] [a b] a4
-% b4 | d b g b [a8 \melisma g] \melismaEnd [a \melisma b] \melismaEnd a4
-
- g d'2 c b4.( c8 )a4 a g2.
-}
-Alto = \notes \relative c'{
- \alldown
- d4 | d d g g fs g fs g fs e g fs d2.
- d4 | g d b g' [b8 a] [g fs] g4 fs g2 a g fs4( e8 )g fs2.
- d4 | g g d g [fs8 e] [fs g] fs4 g f2 e d4.( d8 )d4 fs4 d2.
-}
-Tenor = \notes \relative c{
- \allup
- d4 | b' b d d c b c d c b d c b2.
- a4 | b a g b [d8 c] [b a] b4 a b2 c b a a2.
- g4 | b d b d [c8 b] [c d] c4 b g2 g g4.( a8 [fs )a] c4 b2.
-}
-Bass = \notes \relative c{
- \alldown
- d4 | g g g g d d d g d e d d g,2.
- d'4 | g d b g' [b8 a] [g fs] g4 d g2 fs e a d,2.
- g4 | g g g g d d d e b2 c d2. d4 g,2.
-}
-
-TheLyrics = \lyrics <
- {
- \context LyricsVoice = "Soprano-1"
- \property LyricsVoice .stanza = "1:"
- \property LyricsVoice .stz = "(1)"
- The4 head that once was crowned with thorns
- Is crowned with glo -- ry now;
- A roy -- al di -- a -- dem a -- dorns
- The might -- y Vic -- tor's brow.
- A roy -- al di -- a -- dem a -- dorns
- The might -- y Vic -- tor's brow.
- }
- {
- \context LyricsVoice = "Soprano-2"
- \property LyricsVoice .stanza = "2:"
- \property LyricsVoice .stz = "(2)"
- The4 high -- est place that heav'n af -- fords
- Is His by sov -- 'reign right;
- The King of kings, the Lord of lords,
- He reigns in glo -- ry bright,
- The King of kings, the Lord of lords,
- He reigns in glo -- ry bright.
- }
- {
- \context LyricsVoice = "Soprano-3"
- \property LyricsVoice .stanza = "3:"
- \property LyricsVoice .stz = "(3)"
- The joy of all who dwell a -- bove,
- The joy of saints be -- low,
- To4 whom He man -- i -- fests His love,
- And grants His name to know,
- To4 whom He man -- i -- fests His love,
- And grants His name to4 know.
- }
->
-
-
-\score{
- \context ChoirStaff
- \notes
- <
- \property Score.barNumberScriptPadding = #10.0
- \context Staff = "treblestaff"{
- <
- \context Voice = "Soprano" { }
- \context Voice = "Alto" { }
- >
- }
- \context Lyrics = mainlyrics { }
- \context Staff = "treblestaff"{
- <
- \Global
- \addlyrics { \context Voice = "Soprano" \Soprano }
- { \context Lyrics = mainlyrics \TheLyrics }
- \context Voice = "Alto" \Alto
- >
- \bar "|.";
- }
- \context Staff = "bassstaff"{
- \clef "bass";
- <
- \context Voice = "Tenor" { \Tenor }
- \context Voice = "Bass" { \Bass }
- >
- \bar "|.";
- }
- >
-
- \paper {
- \translator{
- \VoiceContext
- automaticMelismata = ##t;
- noAutoBeaming = ##t;
- \remove "Auto_beam_engraver";
- }
-
- }
-}
+++ /dev/null
-
-\version "1.3.117";
-
-% Test scm markup text and kerning
-
-% Warning
-%
-% This is not a feature, it is a hack. If you change anything,
-% it will probably break (that's because scm markup text is a
-% bit broken and needs fixing). Chances are, it's already
-% broken by the time you read this. Don't complain.
-%
-% FIXME: put in an item, and typeset by an engraver.
-
-#(define note '(rows (music "noteheads-2" ((kern . -0.1) "flags-stem"))))
-#(define eight-note `(rows ,note ((kern . -0.1) (music ((raise . 3.5) "flags-u3")))))
-#(define dotted-eight-note `(rows ,eight-note (music "dots-dot")))
-
-
-\score{
- \notes\relative c''{
- a1-#`(rows ,dotted-eight-note " = 64")
- }
- \paper{
- linewidth = -1.\mm;
- \translator{
- \ScoreContext
- TextScript \override #'font-shape = #'upright
- TextScript \override #'direction = #1
- }
- }
-}
+++ /dev/null
-\header{
-texidoc="
-If @code{Score.skipBars} is set,
-the signs for four, two, and one measure rest are combined to
-produce the graphical representation of rests for up to 10 bars.
-The number of bars will be written above the sign.
-";
-}
-
-thenotes = \notes \relative cis' {
-\property Score. skipBars = ##t
-\time 4/4;
-R1 |
-R1*1 |
-R1*2 |
-R1*3 |
-R1*4 |
-R1*5 |
-R1*6 |
-R1*7 |
-R1*8 |
-R1*9 |
-R1*10 |
-R1*11 |
-}
-
-\score { < \context Staff \thenotes
-
- >
-}
+++ /dev/null
-
-\header { texidoc=" You can write molecule callbacks in Scheme, thus
-providing custom glyphs for notation elements. A simple example is
-adding parentheses to existing molecule callbacks.
-
-The parenthesized beam is less successful due to implementation of the
-Beam. The note head is also rather naive, since the extent of the
-parens are also not seen by accidentals.
-";
-
- }
-
-#(define (parenthesize-callback callback)
- "Construct a function that will do CALLBACK and add parentheses.
-Example usage:
-
- \property Voice.NoteHead \\override #'molecule-callback
- =
- #(parenthesize-callback Note_head::brew_molecule)
-
-"
-
-
- (define (parenthesize-molecule grob)
- "This function adds parentheses to the original callback for
-GROB. The dimensions of the molecule is not affected.
-"
-
- (let* (
- (fn (ly-get-default-font grob))
- (pclose (ly-find-glyph-by-name fn "accidentals-)"))
- (popen (ly-find-glyph-by-name fn "accidentals-("))
- (subject (callback grob))
-
- ;; remember old size
- (subject-dims (ly-get-molecule-extent subject 0))
- )
-
- ;; add parens
- (set! subject
- (ly-combine-molecule-at-edge
- (ly-combine-molecule-at-edge subject 0 1 pclose 0.2)
- 0 -1 popen 0.2))
-
- ;; revert old size.
- (ly-set-molecule-extent! subject 0 subject-dims)
- subject
- )
- )
- parenthesize-molecule
- )
-
-
-
-\score {
- \notes \relative c' { c4 e
-
- \property Voice.NoteHead \override #'molecule-callback
- =
- #(parenthesize-callback Note_head::brew_molecule)
- g bes
- \property Voice.NoteHead \revert #'molecule-callback
- \property Voice.Beam \override #'molecule-callback
- =
- #(parenthesize-callback Beam::brew_molecule)
-
- a8 gis8 a2.
-
- }
-
- \paper { linewidth = -1.; }
- }
-
+++ /dev/null
-\header{
-texidoc="
-Multiple measure rests do not collide with barlines and clefs. They
-are not expanded when you set @code{Score.skipBars}. Although the
-multi-measure-rest is a Spanner, minimum distances are set to keep it
-colliding from barlines.
-";
-}
-\version "1.3.117";
-
-\score { \notes { \time 3/4; \key cis \major;
- R2.*15 R2. R2.*7 }
- \paper {
- \translator {
- \ScoreContext
- skipBars = ##t
- }
- linewidth = -1.;
- }
-}
+++ /dev/null
-\header {
-texidoc="
-Simple customised music apply.
-";
-}
-
-music = \notes { c'4 d'4( e'4 f'4 }
-
-#(define (reverse-music music)
- (let* ((elements (ly-get-mus-property music 'elements))
- (reversed (reverse elements))
- (span-dir (ly-get-mus-property music 'span-direction)))
-
- (ly-set-mus-property music 'elements reversed)
-
- (if (dir? span-dir)
- (ly-set-mus-property music 'span-direction (- span-dir)))
-
- (map reverse-music reversed)
-
- music))
-
-\score {
- \context Voice {
- \music
- \apply #reverse-music \music
- }
- \paper {
- linewidth = -1.;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Text is set with empty horizontal dimensions. The boolean property
-textNonEmpty is used to respect the horizontal size of text.
-";
-}
-\score { \notes {
-\property Voice.TextScript \override #'no-spacing-rods = ##f
-c4_"very wide and long text" c4
-}
-
-\paper {
- linewidth = -1.0;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Note head shapes are settable. The stem endings should be adjusted
-per note head. If you want different note head styles on one stem,
-you must create a special context called Thread.
-
-Harmonic notes have a different shape and different
-dimensions. Nevertheless, noteheads in both styles can be combined, on
-either up or down stems.
-";
-}
-
-\version "1.3.117";
-
-
-\score { \notes \relative c{
-% anyone wanna pop?
-c''4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \override #'style = #'diamond
-c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \override #'style = #'transparent
-c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \override #'style = #'cross
-c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \override #'style = #'mensural
-c4 c2 c8 c16 c16 c1 c\breve c\longa
-\property Voice.NoteHead \override #'style = #'harmonic
-c4 c2 c8 c16 c16 c1 c\breve
-\property Voice.NoteHead \override #'style = #'baroque
-c4 c2 c8 c16 c16 c1 c\breve c\longa
-
-
- \context Voice <
- \context Thread = TA
- {
- \property Thread.NoteHead \override #'style = #'cross
- \property Voice.Stem \override #'direction = #1
- c16
- }
- \context Thread = TB
- { \property Thread.NoteHead \override #'style = #'default a16 }
-
- \context Thread = TC
- { \property Thread.NoteHead \override #'style = #'mensural d16 }
-
- >
-
-
- \context Voice <\context Thread = TA {
- \property Thread.NoteHead \override #'style = #'default
- c4 c4 }
-\context Thread = TB {
- \property Thread.NoteHead \override #'style = #'mensural
- c'4 \stemDown c
-} >
-
-}
-
- \paper {
-
-
-}
-}
+++ /dev/null
-\header{
-
-texidoc=" The number of stafflines of a staff can be set. Ledger
-lines both on note heads and rests are adjusted. Barlines also are
-adjusted. ";
-
-}
-
-\score {
-\context Voice \notes\relative c {
- c' c c c | g' g g g
- }
- \paper {
-
-\translator { \StaffContext
-StaffSymbol \override #'line-count = #3
-} }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-Slurs can be forced to always attach to note heads.
-";
-}
-
-
-\score{
- \notes \relative c''{
- \property Voice.VerticalDirection = #1
- \property Voice.slurBeginAttachment = #'head
- \property Voice.slurEndAttachment = #'head
- g16()g()g()g()d'()d()d()d
- }
- \paper{
- indent = 0.0;
- linewidth = 60.0\mm;
- }
-}
+++ /dev/null
-
-\version "1.3.117";
-
-\score{
- \notes\relative c'''{
- \property Voice.TextSpanner \revert #'type
- \property Voice.TextSpanner \override #'type = #'dotted-line
- \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
- \property Voice.TextSpanner \override #'edge-text = #'("8va " . "")
- \property Staff.centralCPosition = #-13
-
- a\spanrequest \start "text" b c a \spanrequest \stop "text"
-
- \property Staff.centralCPosition = #-6
- a b c a
-
- \property Staff.centralCPosition = #1
- \property Voice.TextSpanner \override #'edge-text = #'("8bass " . "")
- \property Voice.TextSpanner \override #'direction = #-1
- a\spanrequest \start "text" b c a \spanrequest \stop "text"
- }
-}
+++ /dev/null
-\header{
-texidoc="
-In orchestral scores and hymns, voices are traditionally combined onto
-one staff. LilyPond has a part combiner, that combines or separates two
-voices according to actual rhythm and pitch. User-defined texts such as
-``solo'' and ``@`a2'' are typeset automagically, as appropriate.
-";
-}
-
-\score{
- \context Staff = flauti <
- \time 4/4;
-
- \context Voice=one \partcombine Voice
- \context Thread=one \notes\relative c''
- {
- c4 d e f
- b,4 d c d
- r2 e4 f
- c4 d e f
- c4 r e f
- c4 r e f
- c4 r a r
- a a r a
- a2 \property Voice.soloADue = ##f a
- }
- \context Thread=two \notes\relative c''
- {
- g4 b d f
- r2 c4 d
- a c c d
- a4. b8 c4 d
- c r e r
- r2 s2
- a,4 r a r
- a r r a
- a2 \property Voice.soloADue = ##f a
- }
- >
- \paper{
- linewidth = 140.\mm;
- \translator{
- \ThreadContext
- \consists Rest_engraver;
- }
- \translator{
- \VoiceContext
- \remove Rest_engraver;
- }
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Folded. This doesn't make sense without alternatives, but it works.
-";
-}
-
-\score { \notes\context Staff\relative c'' {
-\repeat fold 3 { c^"3$\\times$ 0alt" d }
-% less alts than body
-\repeat fold 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
-% more alts than body
-\repeat fold 2 { c^"2$\\times$ 3alt" d } \alternative { e f g }
-}}
-
+++ /dev/null
-\header{
-texidoc="
-Across linebreaks, the left edge of a first and second alternative
-bracket should be equal
-";
-}
-
-\score {
-\notes
-\context Staff\relative c'' {
- \repeat "volta" 2 { c1 \break } \alternative { d e }
- c1
- \repeat "volta" 2 { c1 } \alternative { { d \break} e }
-
-}
-}
+++ /dev/null
-\header{
-texidoc="
-LilyPond has three modes for repeats: folded, unfolded and
-semi-unfolded. Unfolded repeats are fully written out. Semi unfolded
-repeats have the body written and all alternatives sequentially.
-Folded repeats have the body written and all alternatives
-simultaneo.ly. If the number of alternatives is larger than the
-repeat count, the excess alternatives are ignored. If the number of
-alternatives is smaller, the first alternative is multiplied to get to
-the number of repeats.
-
-Unfolded behavior:
-";
-}
-
-\score {
-
- \context Voice \notes\relative c'' {
-\repeat unfold 3 { c^"3x 0a" d }
-% less alts than body
-\repeat unfold 4 { c^"4x 0a" d } \alternative { e f }
-% more alts than body
-\repeat unfold 2 { c^"2x 3a" d } \alternative { e f g }
-}}
-
+++ /dev/null
-\header{
-texidoc="
-Volta (Semi folded) behavior. Voltas can start on non-barline moments.
-If they don't barlines should still be shown.
-";
-}
-
-% no alts.
-\score { \notes
- \relative c'' {
-% repeat non aligning with barlines.
-e
-\repeat volta 3 { c^"3$\\times$ 0alt" d e }
-% less alts than body
-\repeat volta 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
-
-% more alts than body
-\repeat volta 2 { c^"2$\\times$ 3alt" d } \alternative { e f g }
-}
-
- \midi{}
- \paper{}
-
-}
-
+++ /dev/null
-\header{
-texidoc="
-Rests should not collide with beams, stems and noteheads. Rests may
-be under beams. Rests should be move by integral number of spaces
-inside the staff, and by half spaces outside. Notice that the half
-and whole rests just outside the staff get ledger lines in different
-cases.
-";
-}
-
-scale = \notes \relative c' {
- c8 d e f g a b c c d e f g a b c
-
-}
-rests = \notes {
- r r r r r r r r r r r r r r r r
-}
-different = < \context Voice = one {
- \stemUp
- \notes \relative c'' {
- r8 a e4 a e
- }
- }
- \context Voice = two {
- \stemDown
- \notes \relative c'' {
- r1
- }} >
-
-scales = \context Staff \notes <
- \context Voice=i { \stemUp r1 r2 r2 \scale c''1 c'2 a'2 \rests }
- \context Voice = ii { \stemDown a'1 a'2 d'2 \rests r1 r2 r2 \scale }
->
-
-restsII = \context Staff \notes {
- r4 r8
- \context Staff < { \stemUp r8 } { \stemDown r8} >
- \context Staff < {\stemUp r8} r8 { \stemDown r8} >
- \context Staff < {\stemUp r8} r8 r8 { \stemDown r8} >
- \context Staff < {\stemUp r} { \stemDown r} >
- \context Staff < {\stemUp r} r { \stemDown r} >
- \stemUp
- \transpose c'' { [c''8 r8 c''8 c''8]
- [c8 r8 c8 c8]
- [c8 r8 r8 c'''8]
- \stemDown
- [c8 r8 c8 c8]
- [c''8 r8 c''8 c''8]
- [c'8 r8 r8 c'''8]
- \different
- }
-}
-
-\score{
- \notes {
- \scales
- \restsII
- }
-}
-
-\version "1.3.117";
+++ /dev/null
-\header{
-texidoc="
-Rests. Note that the dot of 8th, 16th and 32nd rests rest should be
-next to the top of the rest. All rests except the whole rest are
-centered on the middle staff line.
-";
-}
-
-
- \score { \notes {
- \time 4/4;
-r \longa * 1/4 r\breve * 1/2
-r1 r2 r4 r8 r16 r32 r64 r128 r128
-\time 6/4;
-r1. r2. r4. r8. r16. r32. r64. r128. r128.
-}}
+++ /dev/null
-\header{
-texidoc="
-Fonts are available in a default set of sizes: 11, 13, 16, 20, 23 and
-26pt staffheight. Sizes of the text fonts and symbol fonts are made
-to match the staff dimensions.
-";
-}
-
-\include "paper11.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\include "paper13.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\include "paper16.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\include "paper20.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\include "paper23.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\include "paper26.ly"
-\include "allfontstyle.ly";
+++ /dev/null
-\header{
-texidoc="
-In some cases, you may want to set slur attachments by hand.
-";
-}
-
-\score{
- \notes \relative c''{
- \property Voice.Stem \set #'length = #5.5
- \property Voice.Slur \set #'direction = #1
- \property Voice.Slur \set #'attachment = #'(stem . stem)
- g8(g)g4
- g4(g8)g
- }
- \paper{
- indent = 0.0;
- linewidth = 60.\mm;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Slurs should be attached to note heads, except when they would collide
-with beams. Also see: ophee-slurs.
-";
-}
-\score{
- \notes \relative c''{
- \property Voice.Slur \set #'direction = #1
- a8( a )a4
- a4( a8 )a
- a8 a()a4
- a4() a8 a
- }
- \paper{
- indent = 0.0;
- linewidth = 100.\mm;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Across line breaks, slurs behave nicely. On the left, they extend to
-just after the preferatory matter, and on the right to the end of the
-staff. A slur should follow the same vertical direction it would have
-in unbroken state.
-";
-}
-\score{
- \notes \relative c''{
- e1( \break) a,
- \time 2/4;
- e'2( \break) a,(\break
- a2\break
- )e'2
- }
- \paper {
- linewidth=40.\mm;
- indent=0.;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-The same goes for slurs. They behave decently when broken across
-linebreak.
-";
-}
-
-
-\score{
- \context PianoStaff <
- \context Staff=one \notes\relative c'{
- \stemUp \slurUp
- c4( c \translator Staff=two c )c |
- \translator Staff=one
- \stemUp \slurUp
- c4( c \translator Staff=two c )c |
- \stemUp \slurUp
- c4( c \translator Staff=one c )c |
- \translator Staff=two
- \stemUp \slurUp
- c4( c \translator Staff=one c )c |
- \translator Staff=two
- \stemUp \slurUp
- c4( \translator Staff=one c c )c |
- r2
- \translator Staff=two
- \stemUp \slurUp
- c4( \translator Staff=one c
- \break
- c )c
- r2
-% \stemDown \slurDown
-% c4( \translator Staff=two c c \translator Staff=one )c
- \stemDown \slurDown
- d4( \translator Staff=two c c \translator Staff=one )d
- \translator Staff=two
- \stemUp \slurUp
- c4( \translator Staff=one c c \translator Staff=two )c
- r1
- }
- \context Staff=two \notes\relative c'{
- \clef bass;
- s1 s1 s1 s1 s1 s1 s1 s1 s1 s1
- }
- >
-}
-
-\version "1.3.117";
+++ /dev/null
-\header{
-texidoc="
-Slurs should look nice and symmetric. The curvature may increase
-only to avoid noteheads, and as little as possible. Slurs never
-run through noteheads or stems.
-";
-}
-\version "1.3.117";
-\score{
- \notes\relative c''{
- \time 3/4;
- \slurUp
- \stemBoth a ( \stemDown a \stemBoth ) a a( c )a a( e' )a, a( g' )a,
- \stemUp a( e' )a,
- \break
- \slurDown
- \stemBoth c ( \stemUp c \stemBoth ) c c ( a ) c c( d, )c' c( f, )c'
- \stemDown c( f, )c'
- }
- \paper{
- linewidth = 120.\mm;
- }
-}
+++ /dev/null
-\score{
- \notes\relative c''<
- \time 4/4;
- \context Staff{
- f8(f f)f f(g g)f f(a a)f f(b b)f
- }
- \context Staff=x{
- e,(e e)e e(d d)e e(c c)e e(b b)e
- }
- >
- \paper{
- linewidth=-1.;
- }
-}
+++ /dev/null
-\score{
- \notes\relative c'<
- \time 6/8;
- \context Staff{
- e8(e)e e(d)e e(c)e e(b)e
- }
- \context Staff=x{
- f'8(f)f f(g)f f(a)f f(b)f
- }
- >
- \paper{
- linewidth=-1.;
- }
-}
+++ /dev/null
-\header {
-texidoc="You can get ugly slurs, if you want.
-";
-}
-
-baseWalk = \notes \relative c {
- d,8( a' d f a d f d a f d )a
-}
-
-\score {
- \notes \context PianoStaff <
- \time 6/4;
- \context Staff=up { s1 * 6/4 }
- \context Staff=down <
- \clef bass;
- \autochange Staff \context Voice \baseWalk
- >
- >
- \paper {
- linewidth = -1.;
- \translator {
- \VoiceContext
- Slur \override #'beautiful = #5.0
- Slur \override #'direction = #1
- Stem \override #'direction = #-1
- autoBeamSettings \override #'(end * * * *)
- = #(make-moment 1 2)
- }
- \translator {
- \PianoStaffContext
- VerticalAlignment \override #'threshold = #'(5 . 5)
- }
- }
-}
-
+++ /dev/null
-\header {
-texidoc="LilyPond 1.3 is more flexible than some users realise. Han-Wen could be very rich.
-";
-}
-
-% Btw, I've leant an el-neato trick for formatting code in email messages,
-% using inderect buffers.
-%
-% M-x make-indirect-buffer RET RET foo RET C-x b foo RET
-% Select region and then narrow: C-x n n
-% Set mode, eg: M-x sch TAB RET
-%
-
-%{
- I've just entered a request on cosource.com :
-
- http://www.cosource.com/cgi-bin/cos.pl/wish/info/387
-
- Here's a copy of my feature request :
-
- Your task, if you accept it is to implement a \smarttranspose
- command> that would translate such oddities into more natural
- notations. Double accidentals should be removed, as well as #E
- (-> F), bC (-> B), bF (-> E), #B (-> C).
-
-You mean like this. (Sorry 'bout the nuked indentation.)
-
-Add IMPLEMENT_TYPE_P(Music, "music?"); to music.cc, and presto, done.
-
-That's an easy $ 100; if I'd make $ 200/hour for every hour I worked
-on Lily, I'd be very rich :)
-
-%}
-
-#(define (unhair-pitch p)
- (let* ((o (pitch-octave p))
- (a (pitch-alteration p))
- (n (pitch-notename p)))
-
- (cond
- ((and (> a 0) (or (eq? n 6) (eq? n 2)))
- (set! a (- a 1)) (set! n (+ n 1)))
- ((and (< a 0) (or (eq? n 0) (eq? n 3)))
- (set! a (+ a 1)) (set! n (- n 1))))
-
- (cond
- ((eq? a 2) (set! a 0) (set! n (+ n 1)))
- ((eq? a -2) (set! a 0) (set! n (- n 1))))
-
- (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
- (if (> n 7) (begin (set! o (+ o 1)) (set! n (- n 7))))
-
- (make-pitch o n a)))
-
-#(define (smart-transpose music pitch)
- (let* ((es (ly-get-mus-property music 'elements))
- (e (ly-get-mus-property music 'element))
- (p (ly-get-mus-property music 'pitch))
- (body (ly-get-mus-property music 'body))
- (alts (ly-get-mus-property music 'alternatives)))
-
- (if (pair? es)
- (ly-set-mus-property
- music 'elements
- (map (lambda (x) (smart-transpose x pitch)) es)))
-
- (if (music? alts)
- (ly-set-mus-property
- music 'alternatives
- (smart-transpose alts pitch)))
-
- (if (music? body)
- (ly-set-mus-property
- music 'body
- (smart-transpose body pitch)))
-
- (if (music? e)
- (ly-set-mus-property
- music 'element
- (smart-transpose e pitch)))
-
- (if (pitch? p)
- (begin
- (set! p (unhair-pitch (Pitch::transpose p pitch)))
- (ly-set-mus-property music 'pitch p)))
-
- music))
-
-
-music = \notes \relative c' { c4 d e f g a b c }
-
-\score {
- \notes \context Staff {
- \transpose ais' \music
- \apply #(lambda (x) (smart-transpose x (make-pitch 0 5 1)))
- \music
- }
- \paper { linewidth = -1.; }
-}
+++ /dev/null
-\header{
-texidoc="
-Loose:
-";
-}
-\score {
- \notes { \time 2/2; c'2 c'2 \time 2/2; }
- \paper { linewidth = 5.0\cm;
- indent = 0.0;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Natural:
-";
-}
-
-\score {
- \notes { \time 2/2; c'2 c'2 \time 2/2; }
- \paper { linewidth = -1.0 \cm;
- indent = 0.0;
- }
-}
-
+++ /dev/null
-\header{
-texidoc="
-If there are accidentals in the music, we add space, but the space
-between note and accidentals is less than between the notes with the
-same value. Clef changes also get extra space, but not as much as
-barlines.
-
-Even if a line is very tightly spaced, there will still be room
-between prefatory matter and the following notes. The space after the
-prefatory is very rigid. In contrast, the space before the barline
-must stretch like the space within the measure.
-
-Tight:
-";
-}
-\score {
- \notes { \time 2/2; f''2 c'2 \time 2/2; }
- \paper { linewidth = 2.5 \cm;
- indent = 0.0;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-The staccato dot (and all scripts with follow-into-staff set), must
-not be on staff lines.
-";
-}
-\score {
- \context Voice \notes\relative c {
-
- e''4-. f-. d-.
- c,-. b-. c'''-. d-.
-
- }
- \paper {
- linewidth=-1.0;
- }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-Staff margins are also markings attached to barlines. They should be
-left of the staff, and be centered vertically wrt the staff. They may
-be on normal staffs, but also on compound staffs, like the PianoStaff
-";
-}
-
-
-\version "1.3.117";
-
-\score {
-
- \notes \context PianoStaff <
- \context Staff = treble {
- \property PianoStaff.instrument = "Piano "
- \property Staff.instrument = "Right " { c''4 }}
- \context Staff = bass { \property Staff.instrument = "Left " \clef bass; c4 }>
-
-\paper {
-linewidth=-1.0;
-\translator { \ScoreContext
-
- }
-\translator { \StaffContext \consists "Instrument_name_engraver"; }
-\translator { \PianoStaffContext \consists "Instrument_name_engraver"; }
-}}
-
+++ /dev/null
-\header{
-texidoc="
-@c FIXME
-Similarly, if @code{stem_default_neutral_direction} is set to @code{-1}.
-";
-}
-
-\score{
- \notes\relative c{
- b''4 ~ b8()b8 e4 e,
- }
- \paper{
- stem_default_neutral_direction=-1.0;
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Beams, stems and noteheads often have communication troubles, since
-the two systems for y dimensions (1 unit = staffspace, 1 unit = 1
-point) are mixed.
-
-Stems, beams, ties and slurs should behave similarly, when placed
-on the middle staff line. Of course stem-direction is down for high
-notes, and up for low notes.
-";
-}
-
-
-\score {
- \context Voice \notes\relative c {
- b''4 ~ b8()b8 e4 e,
-
- }
- \paper {
- linewidth=-1.0;
- }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-In a limited number of cases, LilyPond corrects for optical spacing
-effects. In this example, space for opposite pointed stems is adjuste
-";
-}
-\score {
- \context Voice \notes\relative c {
-
- \time 12/4; c''4 c c c a f' f, a
-
- }
- \paper {
- linewidth=-1.0;
- }
- \midi { }
-}
+++ /dev/null
-\header{
-texidoc="
-Stem tremolos or rolls are tremolo signs that look like beam segments
-crossing stems. If the stem is in a beam, the tremolo must be parallel
-to the beam. If the stem is invisible (eg. on a whole note), the
-tremolo must be centered on the note.
-";
-}
-
-\version "1.3.117";
-\score{
- \context Voice\notes \relative c''{
- \property Voice.Text \set #'direction = #1
- \property Voice.TextScript \set #'padding = #5
- a1:4^":4" a:8^":8" c:16^":16" a:32^":32" a^"x" a:^":"
- a4:4 c:8 a:16 c:32 a a: a2:
- \break
- \stemUp
- a4:32 a'4:64
- \stemDown
- c,4:32 c,4:64
- \stemBoth
- c'8:16 c c c
- a': a a: a
- c,16:32 c: c c a16:32 a: a a
- c8:16 g: d: a:
- c8:32 f: b: e:
- }
-}
+++ /dev/null
-\header{
-texidoc="
-When tieing notes with accidentals across a bar boundary, the accidental
-must not be drawn on the note in the new bar. Instead, the next note of
-the same pitch in this bar should always show the accidental (even if
-it's natural). Slurring a accidentaled note to a natural one across bar
-boundaries should be explicit.
-
-Pitches can be verified by printing them with the @code{NoteNames} context.
-";
-}
-
-thenotes = \notes \relative cis' { \time 4/4;
-g'2 g ~ |
-g g4 gis |
-gis2 gis ~ |
-gis4 gis8 ~ gis g4 gis |
-g2 gis ~ |
-gis g4 gis |
-g2 gis( |
-)g! gis4 gis |
-\break
-\key a \major;
-gis2 gis ~ |
-gis4 gis8 ~ gis g4 gis |
-gis2 g ~ |
-g4 gis8 ~ gis g4 gis |
-g2 gis ~ |
-gis g4 gis |
-g2 gis( |
-)g! gis4 gis |
-}
-
-\score { < \context Staff \thenotes
- \context NoteNames \thenotes
- >
-}
+++ /dev/null
-\header{
-texidoc="
-When tieing chords, the outer slurs point outwards, the inner slurs
-point away from the center of the staff. Override with
-@code{tieVerticalDirection}.
-";
-}
-\version "1.3.117";
-
-t = \notes \relative c' { <c e g> ~ <c e g> }
-
- \score {
-\notes \context Voice {
- \t
- \transpose g' \t
-
- \property Voice.TieColumn \override #'direction = #-1
- \t
-
- }
-}
+++ /dev/null
-\header{
-texidoc="
-Ties are strictly horizontal. They are placed in between note heads.
-The horizontal middle should not overlap with a staffline.
-";
-}
-\score{
- \notes\relative c''{
- %b2~b4~b8~b16~b32~b64 r64\break
- %a2~a4~a8~a16~a32~a64 r64
- \time 8/4;
- d1 ~ d2~d4~d8~d16~d32~d64 r64\break
- a1~ a2~a4~a8~a16~a32~a64 r64
- %c2~c4~c8~c16~c32~c64 r64
- }
- \paper{
- linewidth=0.;
- }
-}
+++ /dev/null
-\header {
-texidoc="Simple beams. This broke somewhere < 1.3.110
-";
- title = "Gammes Chromatiques";
- composer = "";
- filename = "gammes_chromatiques.ly";
-}
-
-linebreak = \penalty -1000;
-
-$ex8 = \notes \relative c' {
- \repeat "volta" 2 {
- \times 2/3 {c8( cis d} \times 2/3 {dis e f}
- \times 2/3 {fis g gis} \times 2/3 {a bes b} |
- \property Voice.TupletBracket \override #'tuplet-number-visibility = ##f
- \property Voice.TupletBracket \override #'tuplet-bracket-visibility = ##f
- \times 2/3 {c8 cis d} \times 2/3 {dis e f}
- \times 2/3 {fis g gis} \times 2/3 {a bes b} |
- \times 2/3 {c b bes} \times 2/3 {a aes g}
- \times 2/3 {fis f e} \times 2/3 {ees d des} |
- \times 2/3 {c b bes} \times 2/3 {a aes g}
- \times 2/3 {fis f e} \times 2/3 {ees d )des}
- }
- c1 || \linebreak
-}
-
-\score { \context Staff { \notes { \$ex8 } } }
+++ /dev/null
-\header{
-texidoc="
-Tuplets are indicated by a bracket with a number. There should be no
-bracket if there is one beam that matches the length of the tuplet.
-The bracket does not interfere with the stafflines, and the number is
-centered in the gap in the bracket.
-";
-}
-\score{
- \notes \context Voice \relative c'' {
- \times 2/3 { \times 2/3 { a8 b c} c }
- \times 3/4 { c4 c4 c4 c4 }
- \time 6/8;
- \times 6/9 { c8 c c c c c c c c }
-
- }
-}
-
-\version "1.3.117";