2003-06-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * input/regression/spacing-knee.ly: docstring
+
+ * input/regression/spacing-multi-tuplet.ly (multipart): docstring
+
+ * input/tutorial/{gallupi,minuet,sammartini,singing-saw}.ly
+ input/tutorial/{test,solar,flowing}.ly: remove
+
+ * input/rhythm.ly: remove
+
+ * input/mutopia/F.Schubert/standchen.ly: update syntax.
+
+ * input/mutopia/E.Satie/petite-ouverture-a-danser.ly (global):
+ update syntax.
+
* scm/define-grobs.scm (all-grob-descriptions): set
knee-spacing-correction to 1.0
If you want to include large examples into the text, it may be more
convenient to put the example in a separate file:
-\lilypondfile[printfilename]@{sammartini.ly@}
+\lilypondfile[printfilename]@{screech-boink.ly@}
The \texttt@{printfilename@} option adds the file name to the output.
$ lilypond-book --outdir=out/ lilbook.tex
lilypond-book (GNU LilyPond) 1.7.16
Reading `input/tutorial/lilbook.tex'
-Reading `input/tutorial/sammartini.ly'
+Reading `input/screech-boink6.ly'
@var{lots of stuff deleted}
Writing `out/lilbook.latex'
$ cd out
If you include large examples into the text, it may be more convenient
to put the example in a separate file:
-@lilypondfile[printfilename]{sammartini.ly}
+@lilypondfile[printfilename]{screech-boink.ly}
The @code{printfilename} option adds the file name to the output.
\header {
- filename = "petite-ouverture-a-danser.ly"
title = "Petite Ouverture \\`a danser"
subtitle = "4"
source = ""
copyright = "Public Domain"
}
-%{
- Tested Features:
-%}
-
\version "1.7.18"
\include "nederlands.ly"
\context Voice=i
\voiceOne
- c8.( es16 bes4 ~ | )bes8 r c8.( bes16 | des4 c8. bes16 | c4 ~ ) c8 r |
- c4( f,8. as16 | bes4 ~ )bes8 r | f8.( es16 f4 | es )f |
- g8.( es16 f4 ~ | )f f8 r
+ c8.( es16 bes4 ~ | bes8-) r c8.( bes16 | des4 c8. bes16 | c4 ~ c8-) r |
+ c4( f,8. as16 | bes4 ~ bes8-) r | f8.( es16 f4 | es f-) |
+ g8.( es16 f4 ~ | f-) f8 r
% Au mouvement
- f4 ( g | a2 ~ | )a | a4-- a-> ~ | a8 r b!8.( a16 | )b4 c-- ~ |
- c8 r b8.( d16 | a4 ~ )a8 r | d4( cis | c! b8. d16 | a4 ~ )a8 r
+ f4 ( g | a2 ~ | a-) | a4-- a-> ~ | a8 r b!8.( a16 | b4-) c-- ~ |
+ c8 r b8.( d16 | a4 ~ a8-) r | d4( cis | c! b8. d16 | a4 ~ a8-) r
- a8.( g16 a4 ~ ) a8 r |
+ a8.( g16 a4 ~ a8-) r |
- a4-> ~ a8 r | g8.( a16 )fis4 | e8.( d16 e4 | fis ~ ) fis8 r
+ a4-> ~ a8 r | g8.( a16 fis4-) | e8.( d16 e4 | fis ~ fis8-) r
- d4( d-- ~ )d8 r e4( f!2 ~ |
+ d4( d-- ~ d8-) r e4( f!2 ~ |
- f4 ~ )f8 r | es4( g | as bes ~ | )bes c( | )b!2 | c4( d | )bes2 | c4~ c8 r |
+ f4 ~ f8-) r | es4( g | as bes ~ | bes-) c( | b!2-) | c4( d | bes2-) | c4~ c8 r |
% copy from begin: 1-10
- c8.( es16 bes4 ~ | )bes8 r c8.( bes16 | des4 c8. bes16 | c4 ~ ) c8 r |
- c4( f,8. as16 | bes4 ~ )bes8 r | f8.( es16 f4 | es )f |
-% g8.( es16 f4 ~ | )f f8 r ?
- g8.( es16 f4 ~ | )f ~ f8 r
+ c8.( es16 bes4 ~ | bes8-) r c8.( bes16 | des4 c8. bes16 | c4 ~ c8-) r |
+ c4( f,8. as16 | bes4 ~ bes8-) r | f8.( es16 f4 | es f-) |
+% g8.( es16 f4 ~ | f-) f8 r ?
+ g8.( es16 f4 ~ | f-) ~ f8 r
}
vocalVerse = \notes\relative c''{
\dynamicUp
- \times 2/3 { [ g8( )as] g } c4. g8 |
- \times 2/3 { [ f8( )g] f } c'4 f,8 r |
- g4.-> f8 \times 2/3 { [ f( )es] d } |
+ \times 2/3 { g8-[( as-)] g } c4. g8 |
+ \times 2/3 { f8-[( g-)] f } c'4 f,8 r |
+ g4.-> f8 \times 2/3 { f-[( es-)] d } |
es2 r4 |
R2. |
R2. |
- \times 2/3 { [ g8( )as] g } es'4. g,8 |
- \times 2/3 { [ f8( )g] f } d'4. c8 |
- bes4. as8 \times 2/3 { [ as( )g] f } |
+ \times 2/3 { g8-[( as-)] g } es'4. g,8 |
+ \times 2/3 { f8-[( g-)] f } d'4. c8 |
+ bes4. as8 \times 2/3 { as-[( g-)] f } |
g2 r4 |
R2. |
R2. |
g8. b16 es4. d8 |
c8. g16 es4. c8 |
- \grace { [ as'32( bes ] } \times 2/3 { [ )as8( )g] as } c4. as8 |
+ \grace { as'32-[( bes ] } \times 2/3 { as8-[-)( g-)] as } c4. as8 |
g2. |
- \grace { [ f32( g ] } \times 2/3 { [ )f8( )e] f } as4. f8 |
+ \grace { f32-[( g ] } \times 2/3 { f8-[-)( e-)] f } as4. f8 |
es!2. |
g8. b16 es4. d8 |
c8. g16 e4. c8 |
- \grace { [ a'32( b ] } \times 2/3 { [ )a!8( ) gis] a } c4. a8 |
+ \grace { a'32-[( b ] } \times 2/3 { a!8-[-)( gis-)] a } c4. a8 |
g!2. |
- \times 2/3 { [ d'8-\f( )cis] d } f4. b,8 |
+ \times 2/3 { d'8-[-\f( cis-)] d } f4. b,8 |
c!2. |
}
c4 b r |
g4. b8 d8. c16 |
b2 r4 |
- e4. d8 \times 2/3 { [ d( )c] b } |
+ e4. d8 \times 2/3 { d-[( c-)] b } |
a8. b16 c4-> a8 r |
R2. |
R2. |
- \grace { [ a32( b ] } \times 2/3 { [ )a!8( ) gis] a } c4. a8 |
+ \grace { a32-[( b ] } \times 2/3 { a!8-[-)( gis-)] a } c4. a8 |
g!2. |
- \times 2/3 { [ d'8-\f( )cis] d } f4. b,8 |
+ \times 2/3 { d'8-[-\f( cis-)] d } f4. b,8 |
c!2. ~ |
% bug: slur on other staff fools lily into extending melisma
c4 r c |
r8 <<f g b>> <<g b d>> <<f g b>> <<g b d>> <<f g b>> |
r8 <<es g c>> <<g c es>> <<es g c>> <<g c es>> <<es g c>> |
<<g'' b,>>4.-( <<f d>>8-)
- \times 2/3 < { [ f( es )d ] } { d c b } > |
+ \times 2/3 < { f-[( es d-) ] } { d c b } > |
%10
<<c es>>2. |
r8 <<g, c>> <<c es>> <<g c>> <<c es>> <<g c>> |
r8 <<f c'>> <<c' d>> <<f, c'>> <<c' d>> <<f, c'>> |
r8 <<f as bes>> <<as bes d>> <<f as bes>> <<as bes d>> <<f as bes>> |
- r8 < { [ es g es g ] } { g bes g bes } { bes es bes es } >
- <{ es'( ) d4.() f8}{ c' | bes4. as8 } >
- \times 2/3 < { [ f( es )d ] } { as' g f } > |
+ r8 < { es-[ g es g ] } { g bes g bes } { bes es bes es } >
+ <{ es'( d4.-)( f8-)}{ c' | bes4. as8 } >
+ \times 2/3 < { f-[( es d-) ] } { as' g f } > |
%16
<<es g>>2. |
r8 <<f, g>> <<g b>> <<f g>> <<g b>> <<f g>> |
%20
r8 <<es g bes>> <<g bes es>> <<es g bes>> <<g bes es>> <<es g bes>> |
\property Voice.Slur \override #'attachment = #'(stem . stem)
- \grace { [ as'32( bes ] } \times 2/3 { [ )as8( g as] } c4.-> ) as8 |
+ \grace { as'32-[( bes ] } \times 2/3 { as8-[-)( g as] } c4.-> as8-) |
\property Voice.Slur \revert #'attachment
g2. |
r8 <<f, g>> <<g b>> <<f g>> <<g b>> <<f g>> |
r8 <<e g>> <<g c>> <<e g>> <<g c>> <<e g>> |
r8 <<f a c>> <<a c f>> <<f a c>> <<a c f>> <<f a c>> |
r8 <<e g c>> <<g c e>> <<e g c>> <<g c e>> <<e g c>> |
- \times 2/3 < { [ f'8-\f( e f] } { f' e f } >
- < {a4.- > )f8} { a'4. f8 } > |
+ \times 2/3 < { f'8-[-\f( e f] } { f' e f } >
+ < {a4.- > f8-)} { a'4. f8 } > |
}
trebleEentje = \notes \relative c' \context Voice {
[<<g, g'>>8.-\< <<g g'>>16 <<b b'>>8. <<b b'>>16-\>-\! <<d d'>>8. <<d d'>>16] |
%% score has double slur on chord.
- < { c4( )b } { c'4 b } > \!r |
+ <<c c'>>4-( <<b c'>>-) \! r
<<g g'>>4. <<b b'>>8 [<<d' d, >>8.-> c16] |
%65
- < { d,2.(-\f )a'2} { e2. ~ e2 } { b'2.( )c,2 }> r4 |
- \context Staff <
- \context Voice=one {
- \voiceOne
- %urg
- %a8. b16 c4-> () a8 r |
- a8. b16 c4^> () a8 r |
- %a8. b16 c4-> () a8 r |
- a8. b16 c4^> () a8 r |
- }
- \context Voice=two {
- \voiceTwo
- <<d, f>>4 <<d f>>2 |
- <<c! es>>4 <<c es>>2 |
- }
- >
+ <<d, e b'>>2.-~-(-\f
+ <<c e a>>2-) r4
+ <
+ { a'8. b16 c4^> ( a8-) r |
+ a8. b16 c4^> ( a8-) r |
+ }\\{
+ <<d, f>>4 <<d f>>2 |
+ <<c! es>>4 <<c es>>2 |
+ } >
% 4 bars copied from end verse1
r8 <<f, a c>> <<a c f>> <<f a c>> <<a c f>> <<f a c>> |
%70
r8 <<e g c>> <<g c e>> <<e g c>> <<g c e>> <<e g c>> |
- \times 2/3 < { [ f'8-\f( e f] } { f' e f } >
- < { a4.-> )f8 } { a'4. f8 } > |
+ \times 2/3 { <<f' f'>>8-( <<e e'>> <<f f'>> }
+
+ <<a a'>>4.-> <<f f'>>8-)
<<e e'>>2. |
<<es! es'! >>2. |
\property Voice . TextScript \override #'font-shape = #'italic
% maybe should be bigger by default, in grob-description.scm ?
\property Lyrics . LyricText \override #'font-relative-size = #1
\property Lyrics . LyricHyphen \override #'maximum-length = #1.5
- \lyricVerseOne
+ \context LyricsVoice = "leise-1" { \lyricVerseOne
\lyricVerseTwo
\lyricThrough
-}
+} }
lyricStaff = \context Lyrics {
\allLyrics
vocalStaff = \context Staff = vocal<
\property Staff.midiInstrument = "synth voice"
- \global
- \vocals
+ \context Voice = "leise" < \global
+ \vocals >
>
treble = {
indent = 0.5 \in
textheight = 27.0 \cm
pagenumber = no
+
\translator {
\HaraKiriStaffContext
}
}
\score { \notes
{
-g'8-[ g'8-]
g''8-[ g g'' g'']
- %\property Voice.Stem \override #'thickness = #10
- %g''8-[ g g'' g'']
+ % check code independent of default settings.
+ \property Voice.NoteSpacing \override #'knee-spacing-correction = #1.0
+ g''8-[ g g'' g'']
+ \property Voice.Stem \override #'thickness = #10
+ g''8-[ g g'' g'']
}
\paper { raggedright = ##t}
}
\version "1.7.18"
\header{
texidoc = "Concurrent tuplets should be spaced equidistantly on
-all staffs"
-}
+all staffs.
+
+Note that this only spaces correctly (exactly) when raggedright
+is. For non-raggedright, it still shows a bug: uneven spacing.
+" }
multipart = \notes \relative c'{
\context StaffGroup <
- \context Staff = one \context Voice {
- c4
- c
- }
- \context Staff = two \context Voice {
- c8-[ c]
- c-[ c]
- }
- \context Staff = three \context Voice {
- \times 2/3 { c8-[ c c] }
- \times 2/3 { c-[ c c] }
- }
- \context Staff = four \context Voice {
- \times 2/4 { c8-[ c c c] }
- \times 2/4 { c-[ c c c] }
- }
- \context Staff = five \context Voice {
- \times 2/5 { c8-[ c c c c] }
- \times 2/5 { c-[ c c c c] }
- }
- \context Staff = six \context Voice {
- \times 2/6 { c8-[ c c c c c] }
- \times 2/6 { c-[ c c c c c] }
- }
- \context Staff = seven \context Voice {
- \times 2/7 { c8-[ c c c c c c] }
- \times 2/7 { c-[ c c c c c c] }
- }
- \context Staff = eight \context Voice {
- \times 2/8 { c8-[ c c c c c c c] }
- \times 2/8 { c-[ c c c c c c c] }
- }
- \context Staff = nine \context Voice {
- \times 2/9 { c8-[ c c c c c c c c] }
- \times 2/9 { c-[ c c c c c c c c] }
- }
\context Staff = ten \context Voice {
\times 2/10 { c8-[ c c c c c c c c c] }
\times 2/10 { c-[ c c c c c c c c c] }
\multipart
}
-% with raggedright it tests the natural distances, without the
-% stretching distances.
-
% \paper { raggedright = ##t }
}
+++ /dev/null
-\version "1.7.18"
-\header{
-filename = "rhythm.ly"
-enteredby = "HWN"
-copyright = "public domain"
-TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"
-}
-
-
-
-
-
-ritme = \notes\transpose c c' {
- \time 4/4
- \partial 8
- c8 |
-
- [a8~ a8. a8 a16 a16 a16] c4. | % watch the beams!
- r32 r32 r16 r8 r4 r2 |
- \time 5/16
-
- % divide measure in 5 equal parts. Usually it 2+3 or 3+2
-
- [c8 c16 c8 ] | % watch THIS!
- \times 5/4 { [ c16 c16 c16 c16] } |
- \time 2/8
- c4 |
- c4 c4 c4 c4
- \time 4/4
- c1 c1 c1
-
-% [c16 c16 c16 c16 ] |
-% [c16 c16 c16 c16 c16 ] |
-% [c16 c16 c16 c16 c16 ] |
-
- }
-
-
-another =
- \notes \relative c'' { \time 6/4
- c1. c1. \time 4/4c4 c4 c4 c4 c1 c1 c1
- }
-
-
-yanother =
- \notes{ \time 4/4
- c1 c1 c1 c4 c4 c4 c4 c1 c1 c1
- }
-
-
-\score{
- \context StaffGroup <
- \ritme
- \another
- \context RhythmicStaff {
- \yanother
- }
- >
-
- \paper{
-
- %% remove Timing_engraver and Bar_number_engraver
- \translator {
- \ScoreContext
- \remove "Timing_engraver"
- }
- \translator {
- \RhythmicStaffContext
- \consists "Timing_engraver"
- }
- \translator{
- \StaffContext
- \consists "Timing_engraver"
- }
- }
-}
+++ /dev/null
-\version "1.7.18"
-
-\header {
- title = "The river is flowing"
- composer = "Traditonal (?)"
-}
-
-\include "paper16.ly"
-
-melody = \notes \relative c' {
- \partial 8
- g8 |
- c4 c8 d es-[-( d-]-) c4 | f4 f8 g es-(-[ d-)-] c g |
- c4 c8 d es-[-( d-]-) c4 | d4 es8 d c4.
- \bar "|."
-}
-
-text = \lyrics {
- The ri -- ver is flo- __ wing, flo -- wing and gro -- wing, the
- ri -- ver is flo -- wing down to the sea.
-}
-
-accompaniment =\chords {
- r8
- c2:m f:m7 d:m es4 c8:m r8
- c2:m f:m7 g:7 c:m }
-
-\score {
- \simultaneous {
-% \accompaniment
- \context ChordNames \accompaniment
-
- \addlyrics
- \context Staff = mel
- { \property Staff.autoBeaming = ##f
- \melody }
- \context Lyrics \text
- }
- \midi { }
- \paper { linewidth = 10.0\cm }
-}
+++ /dev/null
-\version "1.7.18"
-
-
-soprano = \notes \relative c'' {
- fis8 g g8.-\trill fis32 g a8 d, r a
- b4-~ \times 2/3 { b16-[ cis d-] } \times 2/3 { e-[ fis g-] }
- a,4-~ \times 2/3 { a16-[ b cis-] } \times 2/3 { d-[ e fis-] }
- a8 g16. fis32 g8.-\trill fis16 fis4
-}
-
-bass = \notes \relative c {
- \stemDown\slurDown\tieDown
- d4 e fis r8 fis | g4. g8 fis4. fis8 e8 e a a d,4
-}
-
-tenor = \notes \relative c' {
- \stemUp\slurUp\tieUp
- r8
- d4 cis8 r d16. cis32 d4 | r8 e16. dis32 e4 -~ e8 d16. cis32 d4 -~ |
- d8-[ d8-] cis-[ cis-] d4
-}
-
-
-\score {
- \context PianoStaff \notes <
- \context Staff = top { \key d \major \time 4/4
- \soprano
- }
- \context Staff = bottom < \key d \major \time 4/4 \clef bass
- \context Voice = up { \tenor }
- \context Voice = down { \bass }
- >
-
- >
- \midi{}
- \paper {}
-}
-
-
-
+++ /dev/null
-\version "1.7.18"
-
-% lines preceded by a percent sign are comments.
-\include "paper16.ly"
-\score {
- \notes
- \relative c''
- \sequential {
- \key g \major
- \time 3/4
-
- \repeat "volta" 2 \sequential {
- d4 g,8 a b c d4 g, g |
- e'4 c8 d e fis g4 g, g |
- c4 d8-( c-) b a( b4-) c8 b a g |
- a4 b8-[ a-] g-[ fis-] g2. |
- }
-
- b'4 g8 a b g
- a4 d,8 e fis d |
- g4 e8 fis g d cis4 b8 cis a4 |
- a8-. b-. cis-. d-. e-. fis-.
- g4 fis e |
- fis a, r8 cis8
- d2.-\fermata
- \bar "|."
- }
- \paper {
- linewidth = 10.0 \cm % standard settings are too wide for a book
- }
-}
+++ /dev/null
-\version "1.7.18"
-
-\include "paper16.ly"
-
-viola = \notes \relative c' \context Voice = viola {
- <<c g' c>>4-\arpeggio
- \voiceTwo
- g'8. b,16
- s1 s2. r4
- g
-}
-
-oboes = \notes \relative c'' \context Voice = oboes {
- \voiceOne
- s4 g8. b,16 c8 r <<e' g>>8. <<f a>>16
- \grace <<e g>>8-( <<d f>>4-) <<c e>>2
- \times 2/3 { <<d f>>8 <<e g>> <<f a>> }
- <
- { \times 2/3 { a8 g c } c2 } \\
- { f,8 e e2 }
- >
-
- \grace <<c, e>>8-( <<b d>>8.-)-\trill <<c e>>16 |
- [<<d f>>-( <<f a>>8.-)] <<b, d>>8 r
- [<<d f>>16-( <<f a>>8.-)] <<b, d>>8 r |
- [<<c e>>16-( <<e g>>8.-)] <<c e,>>8
-}
-
-hoomPah = \repeat unfold 8 \notes
- \transpose c c {
- \translator Staff = down
- \stemUp
- c8
- \translator Staff = up
- \stemDown
- c'8 }
-
-bassvoices = \notes \relative c' {
- c4 g8. b,16
- \context Voice \hoomPah
- \translator Staff = down
- \stemBoth
-
- [c8 c'8] r4
- <<g d'>> r4
- < { r2 <<e c'>>4 <<c g'>>8 } \\
- { g2-~ | g4 c8 } >
-}
-
-\score {
- \context PianoStaff \notes <
- \context Staff = up <
- \oboes
- \viola
- >
- \context Staff = down < \time 2/2 \clef bass
- \bassvoices
- >
- >
- \midi { }
- \paper {
- indent = 0.0
- linewidth = 15.0 \cm }
-}
-%% new-chords-done %%
-
-
+++ /dev/null
-\version "1.7.18"
-
-
-accompMotif = \notes \relative c {
- \times 2/3 { c8 g' es' }
- \times 2/3 { c' es, g, }
-}
-
-accomp = \notes \relative c' \autochange Staff {
- \autoBeamOff
- <c2-\arpeggio es g>
- r8 d-.
- \showStaffSwitch
- f, b,
- \hideStaffSwitch
- \autoBeamOn
- \repeat unfold 2 \accompMotif
-}
-piano = \context PianoStaff \notes <
- \context Staff = up <
- s1*2
- \accomp
- >
- \context Staff = down { \clef bass s1*2 }
->
-
-saw = \context Staff \notes {
- \property Staff.clefOctavation = #7
- r1 b'''2 - \glissando ais'''2
-}
-
-\score {
- < \saw \piano >
-}
-
+++ /dev/null
-\version "1.7.18"
-
-\score {
- \notes {
- \time 4/4
- \clef treble
- \key d \minor
- r4 r8 d''8 cis''4 e''4
- d''8 a'4.-~ a'4. b'8
- cis''4 cis''8 cis''8 bis'4 d''8 cis''-~
- cis''2 r2
- }
- \paper { }
-}
-
+++ /dev/null
-\version "1.7.18"
-\score {
- \notes { c'4 e'4 g'4 }
-}
SCM sz = get_property ("fontSize");
if (gh_number_p (sz)
- && gh_scm2int (sz)
+ && gh_scm2double (sz)
&& !gh_number_p (gi.grob_->get_grob_property ("font-relative-size")))
{
gi.grob_->set_grob_property ("font-relative-size", sz);
}
else
{
- SCM var = ly_module_lookup (scope_, ly_symbol2scm ("outputscale"));
- m /= gh_scm2double (scm_variable_ref (var));
+ SCM scale_var = ly_module_lookup (scope_, ly_symbol2scm ("outputscale"));
+
+ m /= gh_scm2double (scm_variable_ref (scale_var));
f = all_fonts_global->find_font (ly_scm2string (fn));
SCM val = Scaled_font_metric::make_scaled_font_metric (f, m);
;; Changed this from 0.75.
;; If you ever change this back, please document! --hwn
-
(knee-spacing-correction . 1.0)
+
(meta . ((interfaces . (spacing-interface note-spacing-interface item-interface ))))
))