-1.5.5.jcn1
+1.5.5.jcn2
==========
-* Updated input/bugs.
+* input/bugs:
+ - Autogenerate bugs document from all .ly's.
+ - Add texidoc to lots of examples.
+ - Junk or move fixed examples to regression test.
+ - Move examples that crash lilypond to input/no-notation.
+ - Update examples.
1.5.5
=====
@c Jan's site?
@itemize @bullet
-@item @uref{../out-www/regression-test.html,regression-test}
-A large document that tests all kinds of features (in
+@item @uref{../out-www/regression-test.html,Regression Test}
+A large document that tests all kinds of features (also as
@uref{../out-www/regression-test.ps.gz,Postscript}).
+@item @uref{../../input/bugs/out-www/bugs.html,Bugs}
+A document that shows bugs (also as
+@uref{../../input/bugs/out-www/bugs.ps.gz,Postscript}).
@item
@uref{http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=lilypond">Translations,lilypond
textual domain
@section Introduction
-This document tries give a brief overview of LilyPond features. When
-the text correspond with the shown notation, we consider LilyPond
-Officially BugFree (tm). This document is intended for finding bugs,
-and documenting bugfixes.
+This document presents a brief overview of LilyPond features. When the
+text correspond with the shown notation, we consider LilyPond Officially
+BugFree (tm). This document is intended for finding bugs, and
+documenting bugfixes.
@section Notes and rests
MAJOR_VERSION=1
MINOR_VERSION=5
PATCH_LEVEL=5
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=jcn2
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
--- /dev/null
+#!@PYTHON@
+
+import sys
+import os
+import string
+import getopt
+
+program_name = 'lys-to-tely'
+
+def help ():
+ sys.stdout.write (r"""Usage: lys-to-tely [OPTION]... LY-FILE...
+Construct tely doc from LY-FILEs.
+
+Options:
+ -h, --help print this help
+ -o,output=NAME write tely doc to NAME
+ -t,title=TITLE set tely tely doc title TITLE
+""")
+ sys.exit (0)
+
+(options, files) = getopt.getopt(sys.argv[1:], 'hn:t:', [
+ 'help', 'name=', 'title='])
+
+name="ly-doc"
+title="Ly Doc"
+for opt in options:
+ o = opt[0]
+ a = opt[1]
+ if o == '-h' or o == '--help':
+ help ()
+ elif o == '-n' or o == '--name':
+ name = a
+ elif o == '-t' or o == '--title':
+ title = a
+ else:
+ raise 'unknown opt ', o
+
+def strip_extension (f, ext):
+ (p, e) = os.path.splitext (f)
+ if e == ext:
+ e = ''
+ return p + e
+
+if files:
+ dir = os.path.dirname (name)
+ if not dir:
+ dir = "."
+ name = strip_extension (os.path.basename (name), ".tely")
+
+ s = '''\input texinfo
+@setfilename %s.info
+@settitle %s
+
+@c fool ls-latex
+@ignore
+@author Han-Wen Nienhuys and Jan Nieuwenhuizen
+@title %s
+@end ignore
+
+@node Top, , , (dir)
+''' % (name, title, title)
+
+ def name2line (n):
+ # UGR
+ if string.find (n, '+') >= 0:
+ s = "@lilypondfile{%s}" % n
+ else:
+ s = "@lilypondfile[printfilename]{%s}" % n
+ return s
+
+ s = s + string.join (map (lambda x: name2line (x), files), "\n")
+ s = s + '\n@bye\n'
+ f = "%s/%s.tely" % (dir, name)
+ sys.stderr.write ("%s: writing %s..." % (program_name, f))
+ h = open (f, "w")
+ h.write (s)
+ h.close ()
+ sys.stderr.write ('\n')
+
-\version "1.3.148"
-
-\score {\notes \relative c'' <
-\context Staff = SA { \times 6/7 { [c8 c c c c c c] } }
-\context Staff = SB { \times 6/6 { [c c c c c c] } }
->
-
-\paper { linewidth = -1. }
-}
-# input/bugs/Makefile
-
depth = ../..
-LOCALSTEPMAKE_TEMPLATES=ly mutopia
-include $(depth)/make/stepmake.make
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+EXTRA_DIST_FILES=README
+include $(depth)/make/stepmake.make
+TITLE=Assorted Possible Bugs
--- /dev/null
+This directory holds a collection of examples that show all simple
+notation bugs known to exist in LilyPond.
+
+Bugs that make lilypond crash, or don't generate notation should go in
+
+ input/no-notation
+
-\version "1.3.148"
-
-
-% Generated by mudela-book.py options are
-\include "paper16.ly"
-\paper { linewidth = 390.000000 \pt }
-
-\score {
- \notes \relative c'' {
- a\longa a\breve
- a1 a2 a4 a8 a16 a32 a64 a64
- }
- \paper {
- \translator {
- \StaffContext
- \remove "Clef_engraver"
- \remove "Staff_symbol_engraver"
- }
- }
-}
-\version "1.3.148"
-% accidentals clash
-\score {
- \context Staff \notes\relative c' <
- % koord: c1 e g bes dis
- bes'1 dis
- >
-}
\ No newline at end of file
-\version "1.3.148"
-\score {
- \context Staff \notes\relative c''<
- \context Voice=one {
- \voiceOne
- e2->
- }
- \context Voice=two {
- \voiceTwo
- f,2->
- }
- >
-}
\ No newline at end of file
-%The sharp is printet too far to the left.
-
-
-\version "1.4.0"
-\score {
-\notes \context Staff <
- \context Voice = up {\stemUp gis''4}
- \context Voice = dwn {\stemDown <ces' d'>}
->
-}
-\version "1.3.148"
-
-
-
-\include "paper16.ly"
-\score {
- \notes {
- \relative c'' \context Voice \sequential {
- <dis ais e>
- }
- }
- \paper{
- linewidth = 5.0\cm
- }
-}
-\version "1.3.148"
-\header {
-texidoc="setting staff symbol properties the normal way is broken"
- title = "ancient font test"
- date = "2000"
-}
-
-
-
-\include "paper26.ly"
-
-global = \notes {
- \property Score.timing = ##f
-% \property Staff.TimeSignature \override #'style = #'old
-}
-
-upperVoice = \context Staff = upperVoice <
- \global
- \property Staff.StaffSymbol \override #'line-count = #4
- \notes \transpose c' {
- \property Voice.NoteHead \override #'style = #'mensural
- \property Voice.Stem \override #'stem-centered = ##t
- \property Staff.Custos \override #'style = #'vaticana
- \clef "vaticana_fa2"
- c2 d e f g
-
-% \property Staff.clefGlyph = #"clefs-vaticana_do"
-% \property Staff.clefPosition = #1
-% \property Staff.clefOctavation = #0
- \clef "vaticana_do2"
-
- a b c'
- b a g f
- \clef "vaticana_fa1"
- e d c1 \bar "|"
-
- \property Staff.Custos \override #'style = #'medicaea
- \clef "medicaea_fa2"
- c2 d e f g
- \clef "medicaea_do2"
- a b c'
- b a g f
- \clef "medicaea_fa1"
- e d c1 \bar "|"
-
- \property Staff.Custos \override #'style = #'hufnagel
- \clef "hufnagel_fa2"
- c2 d e f g
- \clef "hufnagel_do2"
- a b c'
- b a g f
- \clef "hufnagel_fa1"
- e d c1 \bar "||"
- }
->
-
-lowerVoice = \context Staff = lowerNotes <
- \global
- \property Staff.StaffSymbol \override #'line-count = #5
- \notes \transpose c' {
- \property Voice.NoteHead \override #'style = #'mensural
- \property Voice.Stem \override #'stem-centered = ##t
- \property Staff.Custos \override #'style = #'mensural
- \clef "mensural1_c2"
- c2 d e f g
- \property Staff.forceClef = ##t
- \clef "mensural1_c2"
- a b c'
- b a g f
- \clef "mensural2_c2"
- e d c1 \bar "|"
-
- \clef "mensural2_c2"
- c2 d e f g
- \property Staff.forceClef = ##t
- \clef "mensural3_c2"
- a b c'
- b a g f
- \clef "mensural3_c2"
- e d c1 \bar "|"
-
- \clef "mensural1_f"
- c2 d e f g
- \property Staff.forceClef = ##t
- \clef "mensural1_f"
- a b c'
- b a g f
- \clef "mensural2_f"
- e d c1 \bar "|"
-
- \property Staff.forceClef = ##t
- \clef "mensural2_f"
- c2 d e f g
- \clef "mensural_g"
- a' b' c''
- b' a' g' f'
- \property Staff.forceClef = ##t
- \clef "mensural_g"
- e' d' c'1 \bar "|"
-
- \property Staff.forceClef = ##t
- \clef "mensural_g"
- c'2 d' e' f' g'
- \clef "hufnagel_do_fa"
- a b c'
- b a g f
- \property Staff.forceClef = ##t
- \clef "hufnagel_do_fa"
- e d c1 \bar "||"
- }
->
-
-\score {
- \context ChoirStaff <
- \upperVoice
- \lowerVoice
- >
- \paper {
-% \paperTwentysix
- linewidth = 17.25\cm
- textheight = 26.0\cm
- indent = 0.0
- \translator {
- \StaffContext
- \consists Custos_engraver
-% Custos \override #'style = #'mensural
- \remove Time_signature_engraver
-% StaffSymbol \override #'line-count = #4
- }
- }
-}
-
-\version "1.3.148"
-
-\header { texidoc = "tuplet-spanner should not put visible brackets on
-beams even if they're auto generated." }
-
-\score { \notes \relative c' {
- \property Voice.tupletSpannerDuration = #(make-moment 1 4)
- \property Voice.TupletBracket \override #'tuplet-bracket-visibility = #'if-no-beam
- \times 2/3 {
- [f8 f f ][f8 f f ] f f f f f f
- }
-}}
-\version "1.3.148"
-
-\header {
-texidoc = "Auto beam can not be put on the final notes of a score "
-}
-
-\score { \notes {
- c8 c8
-}}
-\version "1.3.148"
-
-\header {
-texidoc = "Staves that end half way a system should end at the bar line."
-}
-
-melody = \notes \relative c' {
- \partial 8
- g8 |
- \bar "|."\clef bass
-}
-
-
-
-accompaniment = \chords \sequential {
- r8
- r2 r2
-}
-
-\score {
- \simultaneous {
- \context ChordNames \accompaniment
- \context Staff {
- \melody }
- }
- \paper { }
-}
-\version "1.3.148"
-\header {
- texidoc="beam-stem attachment test"
-}
-
-\score {
- \context RhythmicStaff \notes {
- \stemUp [c8 c]
- \stemDown [c8 c]
- \stemUp [c8. c16]
- }
- \paper {
- linewidth = -1.0
- magnification = 64
- }
-}
\ No newline at end of file
-\version "1.3.148"
-
-\header{
-texidoc = "Beam thinks that first two notes should be stem down. Can be fixed by uncommenting \stemUp"
-}
-
-\score{
- \notes\relative c'{
- %\stemUp
- \clef alto
- \time 3/4
- r8 <d ( bes > ) bes' d <e-> g, c, c,> r |
- }
-}
-\version "1.3.148"
-
-\score { \notes {
-
- [\times 2/3 {c16 c c} c8]
- [\times 2/3 {c16 c c} c8]}}
-\version "1.3.148"
-% this bug apparently caused by dvips + mf rounding.
-
-
-\header {
-texidoc = "Run this through ly2dvi to show differerent brace sizes"
-}
-
-\include "paper11.ly"
-\paper { linewidth = -1.0 }
-
-\score {
- \context GrandStaff <
- \context Staff = a \notes c''1
- \context Staff = b \notes c''1
- >
-}
-
-
-\include "paper13.ly"
-\paper { linewidth = -1.0 }
-
-\score {
- \context GrandStaff <
- \context Staff = a \notes c''1
- \context Staff = b \notes c''1
- >
- \paper {
- \translator {
- \GrandStaffContext
- SystemStartDelimiter \override #'weird = #-5
- }
- }
-}
-
-
-\include "paper16.ly"
-\paper { linewidth = -1.0 }
-
-\score {
- \context GrandStaff <
- \context Staff = a \notes c''1
- \context Staff = b \notes c''1
- >
- \paper {
- \translator {
- \GrandStaffContext
- SystemStartDelimiter \override #'weird = #5
- }
- }
-}
-
-
-\include "paper20.ly"
-\paper { linewidth = -1.0 }
-
-\score {
- \context GrandStaff <
- \context Staff = a \notes c''1
- \context Staff = b \notes c''1
- >
- \paper {
- \translator {
- \GrandStaffContext
- SystemStartDelimiter \override #'weird = #-7
- }
- }
-}
-
-
-\include "paper26.ly"
-\paper { linewidth = -1.0 }
-
-\score {
- \context GrandStaff <
- \context Staff = a \notes c''1
- \context Staff = b \notes c''1
- \context Staff = c \notes c''1
- \context Staff = d \notes c''1
- >
-}
-\version "1.3.148"
-
-\header {
-
-texidoc = "tuplet bracket doesn't behave properly at line break. Not a real problem."
-}
-
-\score{
- \notes\relative c''<
- { % broken cresc dumps core
- c2 c4*2/3 \times 2/3 { c( c c }
- c4 c c c
- } >
- \paper{
- indent = 0.
- linewidth=30.\mm
- }
-}
-\version "1.3.148"
-\header {
-texidoc = "context level weirdness. after some commands, explicit
- \context Voice commands must be inserted otherwise subsequent property
- settings fail silently"
-}
-
-% from les-nereides.ly
-
- #(define (make-text-checker text)
- (lambda (elt) (equal? text (ly-get-grob-property elt 'text))))
-
-\score {
- \context PianoStaff <
- \context Staff=upper \notes\relative c' {
- \property Score.timing = ##f
-
- output = property #(make-text-checker "foe") #'extra-offset = #'(-2 . 4)
- c-"foe"
-
- \translator Staff=lower
-
- % staff switch moves us
- % implicitely to staff level: text-checker won't see "foe"
- output = property #(make-text-checker "foe") #'extra-offset = #'(-2 . 4)
- c-"foe"
-
- % get back to Voice level: it works again
- \context Voice
- output = property #(make-text-checker "foe") #'extra-offset = #'(-2 . 4)
- c-"foe"
-
- \clef treble
-
- % clef change moves us
- % implicitely to staff level: text-checker won't see "foe"
- output = property #(make-text-checker "foe") #'extra-offset = #'(-2 . 4)
- c-"foe"
-
- % get back to Voice level: it works again
- \context Voice
- output = property #(make-text-checker "foe") #'extra-offset = #'(-2 . 4)
- c-"foe"
-
- }
- \context Staff=lower \notes\relative c' {
- s
- }
- >
- \paper {
- linewidth = -1.0
- }
-}
\ No newline at end of file
-\version "1.3.148"
-\header{
-filename = "denneboom.ly"
-enteredby = "jcn"
-copyright = "public domain"
-}
-%{ file tests silly line shapes %}
-
-\include "paper20.ly"
-
-
-
-oden = \lyrics{
- O |
- den- ne- boom, o |
- den- ne- boom Wat |
- zijn uw tak- ken |
- won- der- schoon
-}
-
-ikheb = \lyrics{
- Ik |
- heb u laatst in_'t |
- bos zien staan toen |
- zat- en er geen |
- kaars- jes aan
-}
-
-ugloeit = \lyrics{
- U |
- gloeit in bar- re |
- win- ter- tijd, als |
- sneeuw op aar- de |
- licht ge- spreid
-}
-
-oboom = \notes\transpose c''{
- g,8 |
- c8. c16 c4. d8 |
- e8. e16 e4. e8 |
- d e f4 b, |
- d8. c16 c4 r8
-}
-
-bos = \notes\transpose c''{
- g8 |
- g e a4. g8 |
- g8. f16 f4 r8 f8 |
- f d g4. f8 |
- f8. e16 e4 r8
-}
-
-
-melody = \notes{
- \oboom
- \oboom
- \bos
- \oboom
-}
-
-
-verseOne = \notes{
- \oden
- \oden
- \ikheb
- \oden
-}
-
-verseOneStaff = \context Lyrics = one
- \verseOne
-
-
-verseTwo = \notes{
- \oden
- \oden
- \ugloeit
- \oden
-}
-
-verseTwoStaff = \context Lyrics = two
- \verseTwo
-
-
-denneboomShape = \paper{
- \paperTwenty
- indent = 20. \mm
-
- % UGH -- THIS IS HAIRY
- #'margin-shape = #(map
- (lambda (x) (cons-map mm-to-pt x))
- '((70.0 . 20.)
- (65.0 . 30.0)
- (57.5 . 45.0)
- (50.0 . 60.0)
- (42.5 . 75.)
- (35.0 . 90.)
- (27.5 . 105.)
- (20.0 . 120.0)
- (10.0 . 140.0)
- (65.0 . 30.0))
- )
-
- gourlay_maxmeasures = 30.
- arithmetic_basicspace = 3.8
- arithmetic_multiplier = 8.\pt
-}
-
-\score{
- \addlyrics
- \context Staff { \time 3/4 \melody }
- \context Lyrics \verseOne
- \paper{
- \denneboomShape
- }
- \midi{ \tempo 4 = 90 }
-}
-\version "1.3.148"
-
-\header {
-texidoc = "a staff should really die, if no one's referencing it."
-}
-\score {
- {
- \context Staff = q {
- \notes { a' b' c' d' }
- }
-
- \break
-
- \context PianoStaff <
- \context Staff = i {
- \notes { a' b' c' d' }
- }
- \context Staff = ii {
- \notes { \clef "bass" a b c d }
- }
- >
- }
-}
-\version "1.3.148"
-
-\header {
-texidoc = " Spacing for one staff in polymetric music should
-be not hampered by a staff in another time signature."
-}
-
-\score{
- \context PianoStaff <
- \context Staff = upper \notes\relative c''{
- \property Staff.timeSignatureFraction = #'(3 . 4)
- c4 c c
- c2.
-
- }
- \context Staff = lower \notes\relative c' {
- \property Staff.timeSignatureFraction = #'(4 . 4)
- c4 c c c
- c1
- }
- >
- \paper{
- linewidth=-1.0
- \translator {
- \ScoreContext
- \remove Timing_engraver
- }
- \translator {
- \StaffContext
- \consists Timing_engraver
- }
- }
-}
-\version "1.3.148"
-
-\header {
- texidoc = "Dots should remain close to the heads they belong to, but should not overlap."
-}
-
-
-\score {
- \notes
- \context Voice { <f,4. c'' d e f> }
-}
-\version "1.3.148"
-%% oops, weird small ties
-
-\score {
- \context Staff \notes <
- \time 3/8
- \context Voice=one \relative c'' {
- \property Voice.Stem \set #'direction = #1
- \property Voice.Tie \set #'direction = #1
- \property Voice.Slur \set #'direction = #1
- \property Voice.Slur \set #'attachment = #'(head . head)
- c8 c()c
- }
- \context Voice=two \relative c'' {
- \property Voice.Stem \set #'direction = #-1
- \property Voice.Tie \set #'direction = #-1
- \property Voice.Slur \set #'direction = #-1
- \property Voice.Slur \set #'attachment = #'(head . head)
- a8()a~a
- }
- > ~
- \paper { linewidth = -1. }
-% \paper { linewidth = 40*\staffspace }
-}
-\version "1.3.148"
-
-% what's the problem?
-\score{
- \context Staff <
- \context Voice=one \skip 1
- \context Voice=two \skip 1
- \context Voice=one \partcombine Voice
- \context Thread=one \notes\relative c'' {
- c2 \clef bass c2
- c2 c2
- }
- \context Thread=two \notes\relative c'' {
- b2 \< a4 () \! a
- a2 \> a4 () \! a
- }
- >
- \paper{
- linewidth=140.\mm
- }
-}
-
-
-\version "1.3.148"
-
- % ?
-
- \score { \notes \context Voice {\grace {c'_\f} d e f g}}
-\version "1.3.148"
-
-
- % ?
-
-\score {
-\notes \context Voice = VA \relative c'' {
- \grace {[b8^1 c^2]} d4^3
-}
-\paper {linewidth = -1. ; }}
-\version "1.3.148"
-\header{
-texidoc = "stripped version of trip.ly. upper staff is too short, lower too long"
-}
-\score{
- \context PianoStaff \notes <
- \context Staff = treble {
- r1
- r1
- \bar "|."
- }
- \context Staff = bass {
- r1
- \context Staff {
- \grace { c16 } c1
- }
- }
- >
- \paper { }
-}
-\version "1.3.148"
-\header{
-texidoc = "startGraceMusic should no-stem-extend to true, but there's no effect:
-the two grace beams should be the same here.
-"
-}
-
-
-\score {
- \context Voice \notes\relative c {
- \grace {
- [f8 e8]
- \property Voice.Stem \override #'no-stem-extend = ##t
- [f8 e8]
- \property Voice.Stem \revert #'no-stem-extend
- }
- a4
-
- }
- \paper {
- linewidth=-1.0
- }
- \midi { }
-}
-\version "1.3.148"
-
-% jij had zoon mooi tight spacing example,
-% kan zo'n harde space ook niet voor en na maatstreep!
-\score {
- \notes \relative c'' {
- \time 2/4
- \property Voice.noAutoBeaming=##t
- a4 a8
- a32 a a a
-}
-%set bit wide
-\paper {linewidth = 100.\mm}
-}
-\version "1.3.148"
-
-\score { \notes { c^#`(columns "" (lines "1" (bold "2") "3"))}}
-
-\version "1.3.148"
-
-%
-% Lyrics with barline colliding is fine now, BUT
-% There's an horizontal gap between staff and end bar
-%
-
-\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 \bar "|:" b1 \bar ":|"
- }
- \lyrics\context Lyrics <
- \context LyricsVoiceWithBars {
-% thisContextHasBarEngraver1 added
- ThisContextCertainlyHasBarEngraverAddedButThereHasBeenSomethingFunnyBefore1. Here.
- }
- \context LyricsVoice {
- this4 one has no BarEngraverAddedToContext1
- }
- >
- \notes \context Staff = SB { b1 b1 }
- >
- \paper {
- linewidth = -1.0\cm
- \translator {
- \LyricsContext
- \accepts "LyricsVoiceWithBars"
- }
- \translator {
- \LyricsVoiceContext
- \consists "Bar_engraver"
- \name "LyricsVoiceWithBars"
- }
- \translator {
- \LyricsVoiceContext
- }
- }
-}
-\include "norsk.ly"
-
-\header {
-texidoc ="``baz'' should be centered on the a (tenor voice), but it is
-not."
-}
-
-\version "1.3.148"
-
-sop = \notes \transpose c'' {e2 e fis1 }
-alt = \notes \relative c' {cis2 e e d }
-ten = \notes \relative c' {a2 a a1 }
-txt = \lyrics {foo2 bar baz jazz }
-
-\score {
- <
- \context Staff = up \notes <
- \context Voice=sopv {\stemUp \sop}
- \context Voice=altv {\stemDown \alt}
- >
- \context Staff = down \notes < \clef "F"
- \context Voice=tenv {\stemUp \ten}
- >
- \context Lyrics = la { \txt }
- >
- \paper { linewidth = -1 }
-}
-\version "1.3.148"
-%{
-
-The definition of markup is incomplete.
-
-Ideally, either the input is valid, and all information therein is
-used, or it is invalid, and an error message is produced.
-
-%}
-
-
-\score { \notes \relative c' {
- f_#'(lines "one" ( "tow"))
-
- % three ignored
- f_#'(lines "one" ( "two" "three" ))
-
- % italic ignored.
- f_#'(lines "one" (bold italic "towo"))
-
- }}
-\version "1.3.148"
-
-\score { \notes { c^#`(columns "" (lines "1" (bold "2") "3"))}}
-
-\version "1.3.148"
-%
-% multi-measure-rests should collide with notes, just as normal rests.
-%
-\score {
- \notes\context Staff <
- \context Voice=one \relative c''{
- d d d d
- d d d d
- }
- \context Voice=two {
- r1
- R
- }
- >
-}
\ No newline at end of file
-\version "1.3.148"
-
-
-
-% ugh: strange order of things, this:
-% a16 * 1/2 (
-% must be
-% a16 ( * 1/2
-
-%{
-?? is this a bug? --hwn
-%}
-
-\score {
- \context Voice \notes\relative c {
- % to see the magic: uncomment size stuff in init/paper20.ly
-
- c'4 c4
-
- \property Voice.fontSize= -2
- % ugh ugh
- b16 * 1 / 2 (
- \property Voice.fontSize= 0 )
- g4 *31/32
-
- a a g2
-
- }
- \paper { }
- \midi { }
-}
-\version "1.3.148"
-
-\include "paper20.ly"
-Sopnotes = \notes {
- \time 4/4
- \key g \major
- \clef treble
- \partial 8 * 3
- e'8 f'8 g'8 |
- d'8 d'16 d'16 e'8. e'16 g'8 g'8 f'8 f'8
-}
-
-\score {
- \notes
- <
- \context Staff="sop"
- <
- \Sopnotes
- >
- >
- \paper {
- \translator {
- \StaffContext
- autoBeamSettings \override #'(end * * * * ) = #(make-moment 1 8)
- }
- }
-}
-\version "1.3.148"
-
-% move to regtest once it works?
-
-
-% still not workign ? --hwn.
-
-\header {
-texidoc = "
-On their own staff, staffcombined voices should be stemboth (not up/down)
-while voicecombined threads should get their direction set (up/down)"
-}
-
-
-End = { \skip 1*8 }
-
-violaI = \notes\relative c'' {
- c c e4. e8
-}
-violaII = \notes\relative c'' {
- c4 b a a
-}
-
-
-violoncello = \notes\relative c' {
- c8 c c c c8 c c c\break
- a1
-}
-
-contrabasso = \notes\relative c {
- a4 a8 a a8 a a a\break
- a1
-}
-
-violeStaff = \notes \context Staff = viole <
- \context Voice=oneViole <
- \property Staff.instrument = #"Viola"
- \property Staff.instr = #"Vla."
-
- \End
- >
- \context Voice=twoViole <
- \property Staff.instrument = #"Viola II"
- \property Staff.instr = #"Vla. II"
- \End
- >
- \context Voice=oneViole \partcombine Voice
- \context Thread=oneViole \violaI
- \context Thread=twoViole \violaII
->
-
-staffCombinePianoStaffProperties = {
- \property PianoStaff.devNullThread = #'()
- \property PianoStaff.soloADue = ##t
- \property PianoStaff.soloText = #""
- \property PianoStaff.soloIIText = #""
- % This is non-conventional, but currently it is
- % the only way to tell the difference.
- \property PianoStaff.aDueText = #"\\`a2"
- \property PianoStaff.splitInterval = #'(1 . 0)
- \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
- \property PianoStaff.noDirection = ##t
-}
-
-
-\score {
- <
- \context StaffGroup <
- \violeStaff
-
- \context PianoStaff = bassi_group \notes <
- \staffCombinePianoStaffProperties
- \context Staff=oneBassi < \clef bass
- \property Staff.instrument = #'(lines
- "Violoncello" " e" "Contrabasso")
-
- \property Staff.instr = #"Vc."
- \End >
- \context Staff=twoBassi < \clef bass
- \property Staff.instrument = #"Contrabasso"
- \property Staff.instr = #"Cb."
-
- \End >
-
- \context Staff=oneBassi \partcombine Staff
- \context Voice=oneBassi { \violoncello }
- \context Voice=twoBassi { \contrabasso }
- >
->
- >
- \paper {
- % \paperSixteen
- linewidth = 80 * \staffspace
- textheight = 200 * \staffspace
- \translator{
- \ThreadContext
- \consists "Rest_engraver"
-
- % Set value for engraver at thread level,
- % to override the default that is set in ScoreContext
- % for added engraver at Voice level
- devNullThread = #'()
- }
- \translator{
- \VoiceContext
- \remove "Rest_engraver"
-
- % The staff combine (bassi part) needs a
- % thread_devnull_engraver here.
- % Instead of maintaining two separate hierarchies,
- % we switch add it, but switch it off immideately.
- % The staff combine parts switch it on.
- % devNullThread = #'never
- \consists "Thread_devnull_engraver"
- }
- \translator{
- \HaraKiriStaffContext
- \consists "Mark_engraver"
- }
- \translator {
- \OrchestralScoreContext
- skipBars = ##t
- soloText = #"I."
- soloIIText = #"II."
- % By default, turn off the Thread_devnull_engraver
- % at Voice level
- devNullThread = #'never
-
- % Hmm
- currentBarNumber = #218
- BarNumber \override #'padding = #3
- RestCollision \override #'maximum-rest-count = #1
- marginScriptHorizontalAlignment = #1
- TimeSignature \override #'style = #'C
- }
- }
-}
-
-\version "1.3.148"
-%
-% mmrests of second voice should not disappear
-%
-% the problem is more complex: the mmrest-engraver lives at staff level,
-% but it seems that we need one per voice.
-%
-
-#(set! point-and-click line-column-location)
-one = \notes\relative c'' {
-
- f4 \!e-.\f r2|
- R1|
- f2\p()es|
- \property Voice.crescendoText = #'(lines " " "cresc." " ")
- \property Voice.crescendoSpanner = #'dashed-line
- d1\<|
- d1|
- d2 d2|
- d2 d2|
- \!f1\ff |
- f1
-}
-
-two = \notes \relative c'' {
- r4 c r2|
- R1*6|
- c1 ~|
- c1
-}
-
-\score {
- \notes <
- \context Staff = Viole <
- \context Voice=one \partcombine Voice
- \context Thread=one \one
- \context Thread=two \two
- > ~
- >
- \paper {
- \translator {
- \ThreadContext
- \consists "Rest_engraver"
- }
- \translator {
- \VoiceContext
- \remove "Rest_engraver"
- \consists Multi_measure_rest_engraver
- \consists Bar_engraver
- }
- \translator {
- \HaraKiriStaffContext
- \remove Multi_measure_rest_engraver
- \remove Bar_engraver
- }
- \translator {
- \OrchestralScoreContext
- RestCollision \override #'maximum-rest-count = #1
- }
- }
-}
\ No newline at end of file
-\version "1.3.148"
-%
-% when part-combining, rests should collide as in normal case
-%
-\score {
- \notes <
- \context Staff <
- \context Voice=one \relative c''{
- d4 d d d
- d d d d
- }
- \context Voice=two {
- r1
- R
- }
- >
- \context Staff = Viole <
- \context Voice=one \partcombine Voice
- \context Thread=one \relative c''{ d4 d d d d d d d }
- \context Thread=two { r1 R1 }
- >
- >
- \paper {
- }
-}
\ No newline at end of file
-\version "1.3.148"
-
-\header { texidoc= "Spacing after clef/key should be stretched
-equidistantly for large stretching, but should stay clear of prefatory
-matter for small stretching. Support in the spacing engine for
-separate spring constants for stretching/shrinking is needed"
-}
-
-foo = \notes\relative c'' { \key as \major f }
-
-\score {
-
- < \foo
- >
-}
-\version "1.3.148"
-
-% should start with |:
-\score { \context Staff \notes \repeat volta 3 c1 \alternative { d1 e1 }}
-\version "1.3.148"
-\header {
-texidoc = "slur or long note on other staves fool lily into extending melisma"
-}
-\score {
- <
- \addlyrics
- \notes {
- \property Staff.automaticMelismata= ##t
- c4 () c r c
- }
- \context Lyrics \lyrics { foo __ bar }
- \context Staff=foolMelismata \notes{
- c4 ( c c ) c
- }
- \context Staff=foolMelismata \notes{
- c1
- }
- >
-}
\ No newline at end of file
-\version "1.3.148"
-
-\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
- }
-}
-\version "1.3.148"
-
-% Placement of slur uses x-extent of note-head which includes dots
-
-\score {
- \notes\relative c'' {
- c4.............()c
- }
- \paper {
- linewidth = -1.
- }
-}
-\version "1.3.148"
-
-\header{
-texidoc = "
- Right ending of slur is too far right.
-
- [I did make a better test .ly for this, but can't seem to find it
-now.] " }
-
-\score {
- \notes \relative c'' {
- \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..
- }
- \paper {
- linewidth = -1.
- }
-}
-\version "1.3.148"
-
-\score{
- \notes\relative c''{
- \time 2/4
- [f8 e d f, (] | \break
- [) a'8. gis16 fis8. cis16] |
- }
- \paper{linewidth = 3.0\cmindent = .0}
-}
-
-\version "1.3.148"
-
-% When tightly spaced, hinterfleisch -> 0.
-% Stems may touch the bar lines, opposite stems may touch eachother.
-% We need a mininum of about a note-width/interline space in these
-% situations, so that in tightly spaced music all vertical lines
-% are about equally spaced.
-
-\score {
- \notes \relative c''{
- r1 e4 f, e' f,
- }
- \paper {
- linewidth = 25.0 \mm
- indent = 0.0\mm
- }
-}
-\version "1.3.148"
-
- % separate staff-size is clumsy with \override.
-
-\score {
- \notes \relative c' < \context Voice {
- \property Staff.staffSpace = #10
- \property Staff.fontSize = #-1
- \property Voice.fontSize = #-1
-
- \property Voice . dynamicDirection = \up \stemDown
-%\key gis \major
- c8 d [e f g a] b c \ff
- }
-
-\context Staff = VB { \property Voice . dynamicDirection = \down c,,4 \ff c c c }
-
->
-\paper { linewidth = -1. }
-}
-
-\version "1.3.148"
-
-\score {
-\notes \relative c' <
-\context Staff = SA { c4. c8 \times 2/3 { [c8 c c] } }
-\context Staff = SB { c8 c c c c c }
->
-
-\paper { linewidth = -1. }
-}
-\version "1.3.148"
-
-\header {
-texidoc = "1st beam should prob. be horizontal."
-}
-
-\score { \notes <{ [ r8 g''16 des'] [r8 c16 a] }>}
-\version "1.3.148"
-
-
-
-\score{
- \notes\relative c''{
- a'( a a [a8...] b,32\break
- c4 \clef bass c,,, c )c
- }
- \paper{
- indent=0.0\mm
- linewidth=40.0\mm
- }
-}
-
-\version "1.3.148"
-
-
-\header {
-texidoc = "LilyPond doesn't kern text, but TeX does, leading to skewed results: the VAVAVAVA takes less space than LilyPond thinks it does." }
-
-\score {
- \notes \relative c'' < \context Voice {
-% c16 c16 c16 c16 c4
- c4 c4 c4
- }
-\context Lyrics \lyrics { foobar4 -- VAVAVAVAV4 -- foobar4 } >
-
-
- \paper { linewidth = -10.0\cm }
-}
-\version "1.3.148"
-
-% text spanners should not repeat start text when broken
-
-\score {
- \notes \relative c'' {
- \property Voice.crescendoText = #"cresc."
- \property Voice.crescendoSpanner = #'dashed-line
- c1\< c \break
- c1 \!c \break
- }
- \paper {
- linewidth = 40*\staffspace
- }
-}
-\version "1.3.148"
-
-
-\score { \notes {
- \context Voice {
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = #'dashed-line
- c2. r8 c8 \< \break \! c1
- }
-}
-\paper { linewidth = 5.\cm}
-}
-
-\version "1.3.148"
-
-\header {
-texidoc = "First and second bes (tied across line break)
-should get an accidental, but others should not"
-}
-
-\score {
- \notes {
- bes1 ~ | \break
- bes2 ~ bes4 ~ bes4 ~ | bes1
- \key f\major
- bes1 ~|bes2 b ~|b ~ b ~|b1
- }
- \paper {
- linewidth = 40*\staffspace
- }
-}
-\version "1.3.148"
-
-\header {
- texidoc="Positioning of last ties is incorrect ties between 2-1 and 1-1
- durations differ."
-}
-
-\score {
- \context Staff <
- \context Voice = a \notes\relative c'' {
- \voiceOne
- r2 a2 a1~a
- }
- \context Voice = y \notes\relative c' {
- \voiceTwo
- r2 a2~a1~a
- }
- > ~
- \paper {
- linewidth = 100 * \staffspace
- }
-}
-\version "1.3.148"
-
-% Uses old style
-
-\score {
- \notes {
- \property Staff.TimeSignature \override #'style = #'oldC4/4
- s1
- }
-}
-\version "1.3.148"
-
-\header {
-texidoc = "Simple beams. This broke somewhere < 1.3.110
-"
- title = "Gammes Chromatiques"
- composer = ""
- filename = "gammes_chromatiques.ly"
-}
-
-%{
- - At bar 3 of 2nd score, stems are too big (or the beams are
- badly positionned)
-%}
-
-linebreak = \penalty -1000
-
-exI = \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 { \exI } } }
-\version "1.3.148"
-
-
- % docme.
-\score{
- \context Staff <
- \context Voice=one\skip 1
- \context Voice=two\skip 1
- \context Voice=one \partcombine Voice
- \context Thread=one \notes\relative c'' {
- c4( c b )a
- a( b c )d
- }
- \context Thread=two \notes\relative c'' {
- a4( c b )a
- a( b c )a
-
- }
- >
- \paper{
- linewidth=140.\mm
- }
-}
-
-
-# input/bugs/Makefile
-
depth = ../..
+EXTRA_DIST_FILES=README
LOCALSTEPMAKE_TEMPLATES=ly mutopia
+
include $(depth)/make/stepmake.make
--- /dev/null
+These examples make lilypond crash or exit prematurely.
+
+Some are bugs that should be fixed to generate output, andd then
+moved to ../bugs or ../regression.
+
+Some (notably parse*.ly) are just error/warning generation tests
+and should remain here.
\ No newline at end of file
--- /dev/null
+\version "1.3.148"
+\header{
+filename = "denneboom.ly"
+enteredby = "jcn"
+copyright = "public domain"
+}
+%{ file tests silly line shapes %}
+
+\include "paper20.ly"
+
+
+
+oden = \lyrics{
+ O |
+ den- ne- boom, o |
+ den- ne- boom Wat |
+ zijn uw tak- ken |
+ won- der- schoon
+}
+
+ikheb = \lyrics{
+ Ik |
+ heb u laatst in_'t |
+ bos zien staan toen |
+ zat- en er geen |
+ kaars- jes aan
+}
+
+ugloeit = \lyrics{
+ U |
+ gloeit in bar- re |
+ win- ter- tijd, als |
+ sneeuw op aar- de |
+ licht ge- spreid
+}
+
+oboom = \notes\transpose c''{
+ g,8 |
+ c8. c16 c4. d8 |
+ e8. e16 e4. e8 |
+ d e f4 b, |
+ d8. c16 c4 r8
+}
+
+bos = \notes\transpose c''{
+ g8 |
+ g e a4. g8 |
+ g8. f16 f4 r8 f8 |
+ f d g4. f8 |
+ f8. e16 e4 r8
+}
+
+
+melody = \notes{
+ \oboom
+ \oboom
+ \bos
+ \oboom
+}
+
+
+verseOne = \notes{
+ \oden
+ \oden
+ \ikheb
+ \oden
+}
+
+verseOneStaff = \context Lyrics = one
+ \verseOne
+
+
+verseTwo = \notes{
+ \oden
+ \oden
+ \ugloeit
+ \oden
+}
+
+verseTwoStaff = \context Lyrics = two
+ \verseTwo
+
+
+denneboomShape = \paper{
+ \paperTwenty
+ indent = 20. \mm
+
+ % UGH -- THIS IS HAIRY
+ #'margin-shape = #(map
+ (lambda (x) (cons-map mm-to-pt x))
+ '((70.0 . 20.)
+ (65.0 . 30.0)
+ (57.5 . 45.0)
+ (50.0 . 60.0)
+ (42.5 . 75.)
+ (35.0 . 90.)
+ (27.5 . 105.)
+ (20.0 . 120.0)
+ (10.0 . 140.0)
+ (65.0 . 30.0))
+ )
+
+ gourlay_maxmeasures = 30.
+ arithmetic_basicspace = 3.8
+ arithmetic_multiplier = 8.\pt
+}
+
+\score{
+ \addlyrics
+ \context Staff { \time 3/4 \melody }
+ \context Lyrics \verseOne
+ \paper{
+ \denneboomShape
+ }
+ \midi{ \tempo 4 = 90 }
+}
--- /dev/null
+\version "1.3.148"
+
+\header {
+texidoc = "a staff should really die, if no one's referencing it."
+}
+\score {
+ {
+ \context Staff = q {
+ \notes { a' b' c' d' }
+ }
+
+ \break
+
+ \context PianoStaff <
+ \context Staff = i {
+ \notes { a' b' c' d' }
+ }
+ \context Staff = ii {
+ \notes { \clef "bass" a b c d }
+ }
+ >
+ }
+}
--- /dev/null
+\version "1.3.148"
+
+% move to regtest once it works?
+
+
+% still not workign ? --hwn.
+
+\header {
+texidoc = "
+On their own staff, staffcombined voices should be stemboth (not up/down)
+while voicecombined threads should get their direction set (up/down)
+
+"
+}
+
+
+End = { \skip 1*8 }
+
+violaI = \notes\relative c'' {
+ c c e4. e8
+}
+violaII = \notes\relative c'' {
+ c4 b a a
+}
+
+
+violoncello = \notes\relative c' {
+ c8 c c c c8 c c c\break
+ a1
+}
+
+contrabasso = \notes\relative c {
+ a4 a8 a a8 a a a\break
+ a1
+}
+
+violeStaff = \notes \context Staff = viole <
+ \context Voice=oneViole <
+ \property Staff.instrument = #"Viola"
+ \property Staff.instr = #"Vla."
+
+ \End
+ >
+ \context Voice=twoViole <
+ \property Staff.instrument = #"Viola II"
+ \property Staff.instr = #"Vla. II"
+ \End
+ >
+ \context Voice=oneViole \partcombine Voice
+ \context Thread=oneViole \violaI
+ \context Thread=twoViole \violaII
+>
+
+staffCombinePianoStaffProperties = {
+ \property PianoStaff.devNullThread = #'()
+ \property PianoStaff.soloADue = ##t
+ \property PianoStaff.soloText = #""
+ \property PianoStaff.soloIIText = #""
+ % This is non-conventional, but currently it is
+ % the only way to tell the difference.
+ \property PianoStaff.aDueText = #"\\`a2"
+ \property PianoStaff.splitInterval = #'(1 . 0)
+ \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+ \property PianoStaff.noDirection = ##t
+}
+
+
+\score {
+ <
+ \context StaffGroup <
+ \violeStaff
+
+ \context PianoStaff = bassi_group \notes <
+ \staffCombinePianoStaffProperties
+ \context Staff=oneBassi < \clef bass
+ \property Staff.instrument = #'(lines
+ "Violoncello" " e" "Contrabasso")
+
+ \property Staff.instr = #"Vc."
+ \End >
+ \context Staff=twoBassi < \clef bass
+ \property Staff.instrument = #"Contrabasso"
+ \property Staff.instr = #"Cb."
+
+ \End >
+
+ \context Staff=oneBassi \partcombine Staff
+ \context Voice=oneBassi { \violoncello }
+ \context Voice=twoBassi { \contrabasso }
+ >
+>
+ >
+ \paper {
+ % \paperSixteen
+ linewidth = 80 * \staffspace
+ textheight = 200 * \staffspace
+ \translator{
+ \ThreadContext
+ \consists "Rest_engraver"
+
+ % Set value for engraver at thread level,
+ % to override the default that is set in ScoreContext
+ % for added engraver at Voice level
+ devNullThread = #'()
+ }
+ \translator{
+ \VoiceContext
+ \remove "Rest_engraver"
+
+ % The staff combine (bassi part) needs a
+ % thread_devnull_engraver here.
+ % Instead of maintaining two separate hierarchies,
+ % we switch add it, but switch it off immideately.
+ % The staff combine parts switch it on.
+ % devNullThread = #'never
+ \consists "Thread_devnull_engraver"
+ }
+ \translator{
+ \HaraKiriStaffContext
+ \consists "Mark_engraver"
+ }
+ \translator {
+ \OrchestralScoreContext
+ skipBars = ##t
+ soloText = #"I."
+ soloIIText = #"II."
+ % By default, turn off the Thread_devnull_engraver
+ % at Voice level
+ devNullThread = #'never
+
+ % Hmm
+ currentBarNumber = #218
+ BarNumber \override #'padding = #3
+ RestCollision \override #'maximum-rest-count = #1
+ marginScriptHorizontalAlignment = #1
+ TimeSignature \override #'style = #'C
+ }
+ }
+}
+
--- /dev/null
+\version "1.3.148"
+\header{
+texidoc="crashes lily"
+}
+
+\score { \notes {
+ \context Voice {
+ \property Voice.crescendoText = "cresc."
+ \property Voice.crescendoSpanner = #'dashed-line
+ c2. r8 c8 \< \break \! c1
+ }
+}
+\paper { linewidth = 5.\cm}
+}
+
--- /dev/null
+\header {
+texidoc="Automatic beamer behaves nicely."
+}
+\version "1.3.148"
+
+
+% Generated by mudela-book.py options are
+\include "paper16.ly"
+\paper { linewidth = 390.000000 \pt }
+
+\score {
+ \notes \relative c'' {
+ a\longa a\breve
+ a1 a2 a4 a8 a16 a32 a64 a64
+ }
+ \paper {
+ \translator {
+ \StaffContext
+ \remove "Clef_engraver"
+ \remove "Staff_symbol_engraver"
+ }
+ }
+}
--- /dev/null
+\version "1.3.148"
+
+\header {
+texidoc = "Tuplet-spanner should not put (visible) brackets on
+beams even if they're auto generated."
+}
+
+\score { \notes \relative c' {
+ \property Voice.tupletSpannerDuration = #(make-moment 1 4)
+ \property Voice.TupletBracket \override #'tuplet-bracket-visibility = #'if-no-beam
+ \times 2/3 {
+ [f8 f f ][f8 f f ] f f f f f f
+ }
+}}
--- /dev/null
+\version "1.3.148"
+
+\header{
+texidoc = "Hairy case for beam, chord, and automatic knees."
+
+%texidoc = "Beam thinks that first two notes should be stem down. Can
+%be fixed by uncommenting \stemUp"
+}
+
+\score{
+ \notes\relative c'{
+ %\stemUp
+ \clef alto
+ \time 3/4
+ r8 <d ( bes > ) bes' d <e-> g, c, c,> r |
+ }
+}
--- /dev/null
+\version "1.3.148"
+\header{
+ % ?
+% niet zo onschuldig! je hebt graces gefixt in 1.5, zie maar eens 1.3.150
+texidoc="Dynamics on grace notes are small and behave nicely (don't crash into to main note)."
+}
+
+ \score { \notes \context Voice {\grace {c'_\f} d e f g}}
--- /dev/null
+\version "1.3.148"
+\header{
+texidoc = "Stripped version of trip.ly. Staffs should be of correct length."
+}
+\score{
+ \context PianoStaff \notes <
+ \context Staff = treble {
+ r1
+ r1
+ \bar "|."
+ }
+ \context Staff = bass {
+ r1
+ \context Staff {
+ \grace { c16 } c1
+ }
+ }
+ >
+ \paper { }
+}
--- /dev/null
+\version "1.3.148"
+\header{
+texidoc = "startGraceMusic should no-stem-extend to true;
+the two grace beams should be the same here.
+"
+}
+
+
+\score {
+ \context Voice \notes\relative c {
+ \grace {
+ [f8 e8]
+ \property Voice.Stem \override #'no-stem-extend = ##t
+ [f8 e8]
+ \property Voice.Stem \revert #'no-stem-extend
+ }
+ a4
+
+ }
+ \paper {
+ linewidth=-1.0
+ }
+ \midi { }
+}
--- /dev/null
+\version "1.3.148"
+\header {
+texidoc="The first and last notes of a measure should be spaced nicely."
+}
+% jij had zoon mooi tight spacing example,
+% kan zo'n harde space ook niet voor en na maatstreep!
+\score {
+ \notes \relative c'' {
+ \time 2/4
+ \property Voice.noAutoBeaming=##t
+ a4 a8
+ a32 a a a
+}
+%%set bit wide
+\paper {linewidth = 100.\mm}
+}
--- /dev/null
+\version "1.3.148"
+\header {texidoc="Stacking of markup scripts."}
+\paper { linewidth=-1. }
+\score { \notes { c^#`(columns "" (lines "1" (bold "2") "3"))}}
+
--- /dev/null
+\version "1.3.148"
+\header {
+texidoc="Multi measure rests of second voice should not disappear."
+}
+
+
+#(set! point-and-click line-column-location)
+one = \notes\relative c'' {
+
+ f4 \!e-.\f r2|
+ R1|
+ f2\p()es|
+ \property Voice.crescendoText = #'(lines " " "cresc." " ")
+ \property Voice.crescendoSpanner = #'dashed-line
+ d1\<|
+ d1|
+ d2 d2|
+ d2 d2|
+ \!f1\ff |
+ f1
+}
+
+two = \notes \relative c'' {
+ r4 c r2|
+ R1*6|
+ c1 ~|
+ c1
+}
+
+\score {
+ \notes <
+ \context Staff = Viole <
+ \context Voice=one \partcombine Voice
+ \context Thread=one \one
+ \context Thread=two \two
+ > ~
+ >
+ \paper {
+ \translator {
+ \ThreadContext
+ \consists "Rest_engraver"
+ }
+ \translator {
+ \VoiceContext
+ \remove "Rest_engraver"
+ \consists Multi_measure_rest_engraver
+ \consists Bar_engraver
+ }
+ \translator {
+ \HaraKiriStaffContext
+ \remove Multi_measure_rest_engraver
+ \remove Bar_engraver
+ }
+ \translator {
+ \OrchestralScoreContext
+ RestCollision \override #'maximum-rest-count = #1
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+\version "1.3.148"
+\header{
+texidoc="The partcombiner should not combine two small slurs into a big one."
+}
+
+\score{
+ \context Staff <
+ \context Voice=one\skip 1
+ \context Voice=two\skip 1
+ \context Voice=one \partcombine Voice
+ \context Thread=one \notes\relative c'' {
+ c4( c b )a
+ a( b c )d
+ }
+ \context Thread=two \notes\relative c'' {
+ a4( c b )a
+ a( b c )a
+
+ }
+ >
+ \paper{
+ linewidth=140.\mm
+ }
+}
+
+
--- /dev/null
+\version "1.3.148"
+\header{
+texidoc="Slurs should not get confused by augmentation dots. We use a lot
+of dots here, to make problems more visible."
+}
+\score {
+ \notes\relative c'' {
+ c4.............()c
+ }
+ \paper {
+ linewidth = -1.
+ }
+}
-
-\header {
-texidoc = "If possible clef changes and the like
-should be folded under notes of the different staff
-"
-}
-
-\score { \notes \relative c'' < \context Staff = SA {
-c4 c16 c c c cis4 cis4
-c4 c4 c4 c
-
-
- }
- { \key d \major c2
- \clef bass
- c,2 c cis2 } >
-
- \paper { linewidth = -1. }
- }
-
-
--- /dev/null
+\version "1.3.148"
+\header {
+ When tightly spaced, hinterfleisch -> 0.
+ Stems may touch the bar lines, opposite stems may touch eachother.
+ We need a mininum of about a note-width/interline space in these
+ situations, so that in tightly spaced music all vertical lines
+ are about equally spaced.
+}
+\score {
+ \notes \relative c''{
+ r1 e4 f, e' f,
+ }
+ \paper {
+ linewidth = 25.0 \mm
+ indent = 0.0\mm
+ }
+}
--- /dev/null
+\version "1.3.148"
+
+% text spanners should not repeat start text when broken
+
+\score {
+ \notes \relative c'' {
+ \property Voice.crescendoText = #"cresc."
+ \property Voice.crescendoSpanner = #'dashed-line
+ c1\< c \break
+ c1 \!c \break
+ }
+ \paper {
+ linewidth = 40*\staffspace
+ }
+}
--- /dev/null
+\version "1.3.148"
+
+\header {
+texidoc = "First and second bes (tied across line break)
+should get an accidental, but others should not.
+Only first B should get natural sign."
+}
+
+\score {
+ \notes {
+ bes1 ~ | \break
+ bes2 ~ bes4 ~ bes4 ~ | bes1
+ \key f\major
+ bes1 ~|bes2 b ~|b ~ b ~|b1
+ }
+ \paper {
+ linewidth = 40*\staffspace
+ }
+}
--- /dev/null
+\version "1.3.148"
+\header {
+ texidoc="Beam-stem attachment test. Helper file for ps/dvips problems."
+}
+
+\score {
+ \context RhythmicStaff \notes {
+ \stemUp [c8 c]
+ \stemDown [c8 c]
+ \stemUp [c8. c16]
+ }
+ \paper {
+ linewidth = -1.0
+ magnification = 64
+ }
+}
\ No newline at end of file
LILYPOND_BOOK = $(script-dir)/lilypond-book.py
LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(outdir) -I$(input-dir) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/
LY2DVI = $(script-dir)/ly2dvi.py
+LYS_TO_TELY = $(buildscript-dir)/lys-to-tely.py
PS_TO_GIFS = $(buildscript-dir)/ps-to-gifs.sh
PS_TO_PNGS = $(buildscript-dir)/ps-to-pngs.sh
LILYPOND_BOOK = $(shell $(SHELL) -c 'type -p lilypond-book')
LILYPOND_BOOK_INCLUDES = -I. -I.. -I$(outdir)
LY2DVI = $(shell $(SHELL) -c 'type -p ly2dvi')
+LYS_TO_TELY = $(shell $(SHELL) -c 'type -p lys-to-tely')
PS_TO_GIFS = $(shell $(SHELL) -c 'type -p ps-to-gifs')
PS_TO_PNGS = $(shell $(SHELL) -c 'type -p ps-to-pngs')
$(outdir)/%.latex: %.doc
rm -f $@
-# LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) $<
$(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) $<
chmod -w $@
# it is not, for --srcdir builds
$(outdir)/%.texi: %.tely
rm -f $@
-# LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi $<
$(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi $<
chmod -w $@
+$(outdir)/%.texi: $(outdir)/%.tely
+ rm -f $@
+ $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi $<
+ rm -f $<
+ chmod -w $@
+
# nexi: no-lily texi
# for plain info doco: don't run lily
$(outdir)/%.nexi: %.tely
rm -f $@
-# LILYPONDPREFIX=$(LILYPONDPREFIX)/.. $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi --no-lily $<
$(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=texi --no-lily $<
mv $(@D)/$(*F).texi $@
chmod -w $@
--- /dev/null
+
+$(outdir)/$(NAME).tely: $(LY_FILES)
+ $(PYTHON) ../../buildscripts/lys-to-tely.py --name=$(outdir)/$(NAME) --title="$(TITLE)" $(LY_FILES)
\ No newline at end of file
--- /dev/null
+
+local-WWW: $(outdir)/$(NAME).html
\ No newline at end of file
--- /dev/null
+TITLE=LYs Doc
+LY_FILES = $(wildcard *.ly)
+NAME=$(notdir $(pwd))
+