]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.0.1
authorfred <fred>
Sun, 24 Mar 2002 20:13:10 +0000 (20:13 +0000)
committerfred <fred>
Sun, 24 Mar 2002 20:13:10 +0000 (20:13 +0000)
12 files changed:
Documentation/relative-octaves.yo [new file with mode: 0644]
Documentation/topdocs/PATCHES.yo [new file with mode: 0644]
buildscripts/set-lily.sh [new file with mode: 0644]
init/property.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly [new file with mode: 0644]
mutopia/J.S.Bach/Petites-Preludes/preludes.ly [new file with mode: 0644]
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly [new file with mode: 0644]
mutopia/TODO
stepmake/Documentation/layout.yo [new file with mode: 0644]

diff --git a/Documentation/relative-octaves.yo b/Documentation/relative-octaves.yo
new file mode 100644 (file)
index 0000000..a1c21cf
--- /dev/null
@@ -0,0 +1,89 @@
+nsect(NAME)
+
+Octaves --  how to do pitches
+
+nsect(DESCRIPTION)
+
+The LilyPond input language, Mudela (help, silly name), should be easy
+to read and write.  In my experience Mudela is already quite convenient 
+for entering music.  Every time I've entered a substantial piece of music, 
+however, I found that I made quite a few mistakes.  The MIDI output helps 
+a lot with locating and correcting the errors.  There's one type of error 
+that seems to be frequent, stubborn and hard to catch, and that's the
+octavation error.  The relative octave feature is an attempt to make
+Mudela a bit easier to write.  In addition, this feature makes it harder 
+to make octavation mistakes, yet if you made one, its a lot simpler to find 
+and correct.
+
+Here's how it works.  
+
+itemize(
+it()forget the old "\octave c';" command
+it()forget the old octave boundaries with octaves c .. c'
+)
+
+You can enter a piece of music in relative mode, by typing
+
+verb(
+    \melodic \relative c { ... }
+)
+
+From then on, the pitch of a note will be the closest to the last one,
+assuming that large intervals are a lot more rare than small ones. 
+Thus, you can enter a scale without using octavation quotes:
+
+verb(
+    c d e f g a b c
+)
+
+the last c being an octave higher than the first.  If you have to
+enter an interval that is greater than a fourth, you must specify
+whether the pitch goes up, using post-quotes:
+
+verb(
+    c c' % octave up
+    c g' % fourth up 
+)
+
+or down, using pre-quotes:
+
+verb(
+    c c, % octave down
+    c f, % fourth down
+)
+
+nsect(CONVERTING)
+
+To convert a piece of music from the old absolute-octave notation to
+relative octaves, lilypond provides the bf(-Q, --find-fourths) feature
+to locate all big intervals in your music (sorry, fully automated convert 
+is too complex).
+
+First, edit the .ly file, add "\relative c" to all melodic chunks:
+  
+verb(
+    foo = \melodic \relative c { ... }
+)
+
+and remove all "\octave " commands.  See the example file 
+file(input/test/find-fourths.ly).
+
+Use lily to find the fourths
+
+verb(
+    lilypond -Q find-fourths.ly 2>&1 | tee fourths
+    ...
+    find-fourths.ly:3:18: warning: Interval greater than fourth, relative: g':
+                 c d c f c g
+                             c b, c g, c f, c c'' c
+
+    find-fourths.ly:3:20: warning: Interval greater than fourth, relative: c,:
+                 c d c f c g c
+                               b, c g, c f, c c'' c
+)
+
+Then, load a copy of the original mudela file in your favourite editor, 
+and let it parse the 'error file' file(intervals).  First you remove all 
+octavation quotes.  Then, jumping from warning to warning, you enter quotes 
+as suggested by LilyPond.
+
diff --git a/Documentation/topdocs/PATCHES.yo b/Documentation/topdocs/PATCHES.yo
new file mode 100644 (file)
index 0000000..87a328b
--- /dev/null
@@ -0,0 +1,130 @@
+nsect(NAME)
+
+PATCHES - track and distribute your code changes
+
+nsect(DESCRIPTION)
+
+This page documents how to distribute your changes to GNU lilypond
+(or in fact any other StepMake package).
+
+nsect(ABSTRACT)
+
+Distributing a change normally goes like this:
+
+itemize(
+it()make your fix/add your code 
+it()Add changes to NEWS, and add yourself to Documentation/AUTHORS.yo
+it()generate a patch, 
+it()e-mail your patch to one of the mailing lists
+    gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
+)
+
+nsect(GENERATING A PATCH)
+
+In file(VERSION), set MY_PATCH_LEVEL:
+
+verb(
+    VERSION:
+       ...
+       MY_PATCH_LEVEL=jcn1
+)
+
+In file(NEWS), enter a summary of changes:
+
+verb(
+    NEWS:
+       pl 0.1.73.jcn1
+               - added PATCHES.yo
+)
+
+Then, from the top of Lily's source tree, type
+
+verb(
+    make diff
+)
+
+which leaves your patch as file(./lilypond-0.1.73.jcn1.diff).
+
+If you didn't configure Lily using --srcdir, you can do:
+
+verb(
+    make release
+
+    tar-ball: ../patches/lilypond-0.1.73.jcn1.gz
+    patch: ../patches/lilypond-0.1.73.jcn1.gz
+    updeet: ../test/updeet
+)
+
+nsect(PREREQUISITES)
+
+For creating a patch you need
+
+itemize(
+it()All items mentioned in file(INSTALL).  You're not going to send a patch
+    that you haven't even built, right?
+it()GNU diff
+it()Python (version 1.5 or newer).  
+    You can of course make a patch by hand, which would go something like:
+
+verb(
+    make distclean
+    cd ..
+    diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.jcn1
+)
+
+but there are handy python scripts available.  If you're doing development,
+you'll need Python for other LilyPond scripts anyway.
+
+it()The Lily directory structure, which looks like:
+
+includefile(../../stepmake/Documentation/layout.yo)
+)
+       
+nsect(APPLYING PATCHES)
+
+If you're following LilyPond development regularly, you probably want to
+download just the patch for each subsequent release.
+After downloading the patch (into the patches directory, of course), simply 
+apply it:
+
+verb(
+    gzip -dc ../patches/lilypond-0.1.74.diff.gz | patch -p1 -E
+)
+
+and don't forget to make automatically generated files:
+
+verb(
+    autoconf footnote(patches don't include automatically generated files, 
+    i.e. file(configure) and files generated by file(configure).)
+
+    configure
+)
+
+nsect(SYNCHRONISE)
+
+If you're not very quick with sending your patch, there's a good chance
+that an new release of LilyPond comes available.  In such a case (and
+sometimes for other unkown reasons :-), the maintainer will probably ask
+you to make a new patch against the latest release.
+Your best bet is to download the latest release, and apply your patch
+against this new source tree:
+
+verb(
+    cd lilypond-0.1.74
+    gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E
+    autoconf
+    configure
+)
+
+Then, make a patch as shown above.
+
+nsect(SEE ALSO)
+
+file(stepmake/INSTALL.txt)
+
+nsect(MAINTAINER)
+
+nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl)
+
+Just keep on sending those patches!
+
diff --git a/buildscripts/set-lily.sh b/buildscripts/set-lily.sh
new file mode 100644 (file)
index 0000000..087ad63
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+# zet-lily.sh --- configure LilyPond sourcetree
+# nice in first character unique name
+#
+PACKAGE_NAME=LilyPond
+export PACKAGE_NAME
+prefix=$HOME/usr
+sources=$prefix/src
+#
+#
+. ./stepmake/bin/package-zet.sh
+#
+# The $sources dir looks like this:
+#
+# <SEE PATCHES.txt>
+#
+if [ "x$LILYINCLUDE" = "x" ]; then
+       # we can try...
+       echo you should add the following to your profile script
+       if [ "x$MAILADDRESS" = "x" ]; then
+               MAILADDRESS=$USER@`hostname`
+               export MAILADDRESS
+               echo "        MAILADDRESS=\$USER@`hostname`"
+               echo "        export MAILADDRESS"
+       fi
+       LILYINCLUDE=$LILYPOND_SOURCEDIR/init:$LILYPOND_SOURCEDIR/input:$LILYPOND_SOURCEDIR/mf/out
+       MFINPUTS=$MFINPUTS:$LILYPOND_SOURCEDIR/mf
+       TEXINPUTS=$TEXINPUTS:$LILYPOND_SOURCEDIR/mf/out
+       export LILYINCLUDE MFINPUTS TEXINPUTS
+       cat <<EOF
+       LILYINCLUDE=$LILYPOND_SOURCEDIR/init:$LILYPOND_SOURCEDIR/mf/out
+       MFINPUTS=\$MFINPUTS:\$LILYPOND_SOURCEDIR/mf
+       TEXINPUTS=\$TEXINPUTS:\$LILYPOND_SOURCEDIR/mf/out
+       export LILYINCLUDE MFINPUTS TEXINPUTS
+EOF
+
+fi
+
+ln -sf $LILYPOND_SOURCEDIR/lily/out/lilypond $prefix/bin/lilypond
+ln -sf $LILYPOND_SOURCEDIR/mi2mu/out/mi2mu $prefix/bin/mi2mu
+ln -sf $LILYPOND_SOURCEDIR/scripts/ly2dvi.sh $prefix/bin/ly2dvi
+chmod 755 $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh
+ln -sf $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh $prefix/bin/ps-to-gifs
+
+if [ -f ../.gdbinit ];
+then
+    ln ../.gdbinit .
+fi
+
+if [ -f ../.dstreamrc ]
+then
+    ln ../.dstreamrc .
+fi
+
+./configure --prefix=$prefix --enable-debugging --enable-printing --enable-checking --disable-optimise
+
index 9520dbb86f8b59d77a3b41e368dfcc309faef5b7..75d8f106697595b561a776ae657372faea32f4fb 100644 (file)
@@ -21,6 +21,14 @@ slurdash             0       normal slurs
 slurdash               1       dotted slurs
 slurdash               >1      dashed slurs
 
+slurydirection         -1      force stem down         \slurdown
+slurydirection         0       stem direction free     \slurboth
+slurydirection         1       force stem up           \slurup
+
+slurydirection         -1      force stem down         \slurdown
+slurydirection         0       stem direction free     \slurboth
+slurydirection         1       force stem up           \slurup
+
 [Score?]
 beamslopedamping       0       no damping              \beamslopeproportional  
 beamslopedamping       1       damping1)               \beamslopedamped
@@ -31,6 +39,10 @@ beamquantisation     0       no quantisations        \beamposfree
 beamquantisation       1       quantise pos and slope  \beamposnormal
 beamquantisation       2       quantise avoide wedge2) \beampostraditional
 
+[Staff]
+specialaccidentals     0       Accidental for all octaves      \normalkey
+specialaccidentals     1       Accidental only for specified octave    \specialkey
+
 
 [Staff?]
 instrument             ascii   midi instrument table lookup
@@ -66,36 +78,83 @@ stemdown = {
        \skip 1*0;
        \property Voice.ydirection = \down
 }
+slurup = {
+       \skip 1*0;
+       \property Voice.slurydirection = \up 
+       }
+slurboth= {
+       \skip 1*0;
+       \property Voice.slurydirection = \center
+}
+slurdown = {   
+       \skip 1*0;
+       \property Voice.slurydirection = \down
+}
+
+shifton =      \property Voice.hshift = 1
+shiftoff =     \property Voice.hshift = 0
 
 onevoice = {   
-       \property Voice.ydirection = \center
-       \property Voice.hshift = 0
+       \stemboth \shiftoff     
 }
 
 voiceone = {   
        \type Voice = one 
        \skip 1*0;
-       \property Voice.ydirection = \up
+       \stemup
 }
 
 voicetwo = {   
        \type Voice = two
        \skip 1*0;
-       \property Voice.ydirection = \down
+       \stemdown
 }
 
 voicethree = {         
        \type Voice = three
        \skip 1*0;
-       \property Voice.ydirection = \up
-       \property Voice.hshift = 1
+       \stemup
+
 }
 
 voicefour = {  
        \type Voice = four
        \skip 1*0;
-       \property Voice.ydirection = \down
-       \property Voice.hshift = 1
+       \stemdown
+       \shifton
+}
+
+onestaff = {   
+       \translator Staff=one
+       \skip 1*0;
+}
+
+staffone = {   
+       \translator Staff=one
+       \skip 1*0;
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+stafftwo = {   
+       \translator Staff=two
+       \skip 1*0;
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+staffthree = {         
+       \translator Staff=three
+       \skip 1*0;
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+stafffour = {  
+       \translator Staff=four
+       \skip 1*0;
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
 }
 
 % ugh, cluttering global namespace...
@@ -139,3 +198,63 @@ slurdotted = {
        \property Voice.slurdash = 1
 }
 
+%{
+ for grace note hack, see input/test/grace.ly
+%}
+pletoff = {
+       \property Voice.pletvisibility = 0
+}
+pleton = {
+       \property Voice.pletvisibility = 2
+}
+tiny  = {
+       \property Voice.fontsize= "-2"
+       \pletoff %urg
+}
+
+small  = {
+       \property Voice.fontsize= "-1"
+}
+
+normalsize = {
+       \property Voice.fontsize= "0"
+       \pleton %urg
+}
+
+%{
+  [urg: try at] temporary grace note hack
+  the total visible duration of the grace notes must be half
+  the duration of the 'at' note: e.g.:
+
+  \grace b8 \graceat c4 \ecarg
+  \grace c16 b16 \graceat c4 \ecarg
+
+grace = {
+       \tiny
+% it would be so cool not to have to specify these factors each time...
+% :-(
+       \property Voice.pletvisibility = 0
+       \[1/16
+}
+
+graceat = \melodic {
+       \normalsize
+       \property Voice.pletvisibility = 0
+       \] \[31/32
+}
+
+ecarg =  \melodic {
+       \property Voice.pletvisibility = 0
+       \]
+       \property Voice.pletvisibility = 2
+}
+%}
+
+normalkey = {
+       \property Staff.specialaccidentals = 0
+}
+
+specialkey = {
+       \property Staff.specialaccidentals = 1
+}
+
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly
new file mode 100644 (file)
index 0000000..3a9a679
--- /dev/null
@@ -0,0 +1,9 @@
+\paper{
+%      linewidth= 193.\mm;
+       linewidth= 180.\mm;
+       gourlay_maxmeasures = 10.0;
+%      arithmetic_basicspace = 3.;
+%      arithmetic_multiplier = 6.\pt;
+       % for simple testing only!
+%      castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn
+}
diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes.ly
new file mode 100644 (file)
index 0000000..6fd6068
--- /dev/null
@@ -0,0 +1,18 @@
+\header{
+filename =      "preludes.ly";
+% mmm
+title =         "DOUZE PETITES PR\\'ELUDES";
+% urg subtitle = "Clavierb\\"uchlein";
+subtitle = "Clavierbuechlein";
+composer =      "Johann Sebastian Bach (1685-1750)";
+enteredby =     "jcn";
+copyright =     "public domain";
+}
+
+\include "preludes-1.ly"
+\include "preludes-2.ly"
+% urg, still broken
+% \include "preludes-3.ly"
+\include "preludes-4.ly"
+\include "preludes-5.ly"
+\include "preludes-6.ly"
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly
new file mode 100644 (file)
index 0000000..f93032b
--- /dev/null
@@ -0,0 +1,365 @@
+% prelude-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% who is going to make a -violin.ly? 
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging melodic and scripts doen't work too well yet see alto_scripts .
+%}
+
+% urg, Thread is gone, try Voice
+% prelude_notes = \type Thread = prelude \melodic \relative c {
+prelude_notes = \type Voice = prelude \melodic \relative c {
+       d8 f a4 ~ a16 f e d |
+       cis e g a bes4 ~ bes16 a g f |
+       e g bes cis e8. bes16 a16 g f e |
+       f g a f d8 c! bes a |
+       %5
+       bes16 d f a d8. c16 bes a g f |
+       e g bes d c a bes g f e g bes, |
+       a c e g c8. bes16 a g f e |
+       d f a c bes g a f e f a f |
+       %9
+       g, bes d f bes8. a16 g f e g |
+       a, c e g c a e g f a d, es |
+       d a bes d g bes a c bes g d' f, |
+       %12
+       e b c e g d e c bes g e' bes |
+       f8 a c4 ~ c16 bes a g |
+       fis a bes c d, c' bes a fis' es d c |
+       bes a g bes d4 ~ d16 c bes a |
+       %16
+       gis b c d e, d' c b gis' f e d |
+       c b a c f e f gis a f d c |
+       b d gis b d8. c16 b a gis a |
+       %19
+       c, e a c e8. c16 b a gis a |
+       d, f a d f8. e16 d c b d |
+       e, d' c b a c b a d, b' a gis |
+       %22
+       c, a' g! f cis g' f e d f e d |
+       gis, d' e f b f e d gis, d' c b |
+       a b c e a b c a e c a g! |
+       % 25
+       % B"arenreiter and Chester say "c bes c"
+       fis a c d es8. d16 c bes c a' |
+       bes, a bes d g, es' f g a, g' f es |
+       d c d f bes, g' a bes cis, bes' a g |
+       % 28
+       f e f a d, bes' c! d e,! d' c bes |
+       a g a c f, d' e f g, f' e d |
+       cis g f e a, e' f g cis bes! a g |
+       %31
+       f g a cis d a g f a f e d |
+       gis d e f a, f' e d gis f! e d |
+       cis b cis e a e cis e a, g'! f e |
+       %34
+       f e f a d a f a d, c'! bes a |
+       g f g cis e cis g cis a, g' f e |
+       d a' d e f d a f d c'! bes a |
+       %37
+       g a bes d, es f g a bes g es' g, |
+       f g a cis, d e! f g a f d' f, |
+       e f g bes, a b cis d e bes g' bes, |
+       %40
+       cis,8 a' g'4 ~ g16 bes a g |
+       f e d e f d a' f d' a f d |
+       gis,8 f' d'4 ~ d16 f e d | 
+       cis b a b cis a d a e' a, f' a, |
+       %44
+       g' e cis e a, cis e f g f g e |
+       f d cis d a cis d e f e f d |
+       e cis b cis a b cis d e d e cis |
+       %47
+       d b a b f gis b cis d cis d b |
+       \voiceone <cis4^\fermata e,> \onevoice r r |
+       bes16 g fis g es g d g es g bes d, |
+       cis-- e! g a bes8. a16 g fis g e' |
+       %51
+       f,! d' bes g a f e g f d cis e |
+       d bes a g fis-- a c! es d c bes a |
+       bes g fis g es g d g es g bes d, |
+       %54
+       \voiceone g'8. f16 
+       e!16 d cis b a g f e \onevoice |
+       d-- a' d e f e d c! bes! a g f |
+       e-- a cis e g f e d cis b a g |
+       f a d f a d, f a d bes! c! a |
+       g, d' g a bes g fis g es' g, d' g, |
+       \voiceone <cis2. g> | <d f,> | <d e,> | <cis e,> | <d f,>
+}
+
+prelude_b = \melodic \relative c {
+       \voicetwo 
+       s2.*47
+       %48
+       g4 s2 |
+       s2.*5
+       %54
+       <cis,4 bes'> s2 |
+       s2.*4
+       a'2. a a a <a d,>
+}
+
+% pat1 = \melodic { [s8 s]s4[s16 s s s] }
+pat1 = \melodic { [s16 s s s]s4[s16 s s s] }
+pat2 = \melodic { [s16 s s s][s8.s16][s s s s] }
+pat3 = \melodic { [s16 s s s][s8 s s s] }
+
+% of course, i just type pat1, and add the \ and the silly $ later
+% urg, Thread is gone, try Voice
+% prelude_beams = \type Thread = prelude \melodic{
+prelude_beams = \type Voice = prelude \melodic{
+       \$pat1
+       \$pat1
+       \$pat2
+       \$pat3
+       %5
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %10
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat1
+       \$pat2
+       %15
+       \$pat1
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %20
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %25
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %30
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %35
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %40
+       \$pat1
+       \$pat2
+       \$pat1
+       \$pat2
+       \$pat2
+       %45
+       \$pat2
+       \$pat2
+       \$pat2
+       s2.
+       \$pat2
+       %50
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+       %55
+       \$pat2
+       \$pat2
+       \$pat2
+       \$pat2
+}
+
+%{
+properties, urg!
+fig1 = \melodic{ s16( s s )s }
+fig2 = \melodic{ s16( s ) s s }
+fig3 = \melodic{ s16 s( s )s }
+fig4 = \melodic{ s16( s s s s s s )s }
+fig5 = \melodic{ s8.()s16 }
+%}
+
+fig1 = \melodic{ \slurnormal s16( s s )s }
+fig2 = \melodic{ \slurnormal s16( s ) s s }
+fig3 = \melodic{ s16 \slurnormal s( s )s }
+fig4 = \melodic{ \slurnormal s16( s s s s s s )s }
+fig5 = \melodic{ \slurnormal s8.()s16 }
+
+% of course, i just type fig1, and add the \ and the silly $ later
+% urg, Thread is gone, try Voice
+% prelude_slurs = \type Thread = prelude \melodic{
+prelude_slurs = \type Voice = prelude \melodic{
+       s4 s4 \$fig3 |
+       \$fig1 s4 \$fig3 |
+       \$fig1 s4 \$fig3 |
+       \$fig1 s8( s s )s  |
+       %5
+       \$fig3 s2 |
+       s2. |
+       s2 \$fig1 |
+       s2 \$fig1 |
+       s2 \$fig1 |
+       %10
+       \$fig3 \$fig3 \$fig1 |
+       \$fig3 \$fig3 s4 |
+       \$fig3 s2 |
+       s4 s4 \$fig3 |
+       \$fig3 \$fig3 \$fig3 |
+       %15
+       s4 s s16 s s8 |
+       \$fig3 \$fig3 s4 |
+       s2. |
+       \$fig1 s4 \$fig1 |
+       s2 \$fig1 |
+       %20
+       \$fig1 s4 \$fig1 |
+       s4 \$fig3 \$fig3 |
+       \$fig3 \$fig3 \$fig3 |
+       s2 \$fig1 |
+       s2. |
+       %25
+       \$fig3 s4 \$fig1 |
+       \$fig2 \$fig3 \$fig3 |
+       \$fig2 \$fig3 \$fig3 |
+       \$fig2 \$fig3 s4  |
+       \$fig2 \$fig3 \$fig3 |
+       %30
+       \$fig3 \$fig3 \$fig1 |
+       \$fig2 \$fig3 \$fig3 |
+       s2. |
+       s4 \$fig3 \$fig3 |
+       \$fig2 \$fig3 \$fig3 |
+       %35
+       \$fig2 s2 |
+       s2. |
+       s2. |
+       s2. |
+       s2. |
+       %40
+       s4 s4 \$fig3 |
+       \$fig1 s2 |
+       s2 \$fig3 |
+       \$fig2 s2 |
+       s2. |
+       %45
+       s2. |
+       s4 \$fig2 s4 |
+       \$fig3 \$fig2 s4 |
+       s2. |
+       \$fig3 s2 |
+       %50
+       \$fig3 s4 \$fig2 |
+       s2. |
+       s4 \$fig3 s4 |
+       s2 \$fig2 |
+%      s8()s \$fig4 |
+%      s8.()s16 \$fig4 |
+       \$fig5 \$fig4 |
+       %55
+       \$fig3 \$fig4 |
+       \$fig3 \$fig4 |
+       \$fig3 \$fig3 s4 |
+       s4 \$fig3 s4 |
+}
+
+fig1 = \melodic{ \slurdotted s16( s s )s }
+fig2 = \melodic{ \slurdotted s16( s ) s s }
+fig3 = \melodic{ s16 \slurdotted s( s )s }
+fig4 = \melodic{ \slurdotted s16( s s s s s s )s }
+fig5 = \melodic{ \slurdotted s8.()s16 }
+fig6 = \melodic{ \slurdotted s16()s \slurdotted s()s }
+
+% urg, Thread is gone, try Voice
+% prelude_suggested_slurs = \type Thread = prelude \melodic{
+prelude_suggested_slurs = \type Voice = prelude \melodic{
+       \slurdotted
+       s2. |
+       s2. |
+       s4 \$fig5 s4 |
+       s2. |
+       %5
+       s4 \$fig5 \$fig1 |
+       \$fig1 \$fig1 \$fig2 |
+       s4 \$fig5 s4 |
+       \$fig1 \$fig1 s4 |
+       \$fig2 \$fig5 s4 |
+       %10
+       s2. |
+       s2 \$fig2 |
+       s4 \$fig3 \$fig2 |
+       s2. |
+       s2. |
+       %15
+       \$fig2 s4 \$fig3 |
+       s2 \$fig3 |
+       \$fig1 \$fig1 \$fig1 |
+       s4 \$fig5 s4 |
+       \$fig1 \$fig5 s4 |
+       %20
+       s4 \$fig5 s4 |
+       \$fig3 s2 |
+       s2. |
+       \$fig3 \$fig3 s4 |
+       \$fig1 \$fig1 \$fig1 |
+       %25
+       s4 \$fig5 s4 |
+       s2. |
+       s2. |
+       s2 \$fig3 |
+       s2. |
+       %30
+       s2. |
+       s2. |
+       \$fig3 \$fig3 \$fig2 |
+       \$fig2 s2 |
+       s2. |
+       %35
+       s4 \$fig3 \$fig3 |
+       s2 \$fig3 |
+       s2. |
+       \$fig2 s2 |
+       \$fig2 s2 |
+       %40
+       s2. |
+       s2. |
+       s2. |
+       s2. |
+       % check !
+       \$fig3 \$fig2 s4 |
+       %45
+       \$fig3 \$fig2 s4 |
+       % check!
+       \$fig3 s2 |
+       s2. |
+       s2. |
+       s2 \$fig2 |
+       %50
+       \$fig1 \$fig5 s4 |
+       s4 \$fig6 \$fig6 |
+       \$fig3 \$fig1 \$fig1 |
+       \$fig3 s2 |
+}
+
+prelude_a = \type Voice \melodic<
+       \$prelude_notes
+       \$prelude_beams
+       \$prelude_slurs
+       \$prelude_suggested_slurs
+>
+
+prelude = \melodic<
+       \$prelude_a
+       \$prelude_b
+>
+
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly
new file mode 100644 (file)
index 0000000..e0ba581
--- /dev/null
@@ -0,0 +1,7 @@
+\header{
+instrument="Alto";
+}
+
+instrument="alto";
+\include "solo-cello-suite-ii.ly"
+
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-cello.ly
new file mode 100644 (file)
index 0000000..8434573
--- /dev/null
@@ -0,0 +1,7 @@
+\header{
+instrument="Cello";
+}
+
+instrument="cello";
+\include "solo-cello-suite-ii.ly"
+
diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/solo-cello-suite-ii.ly
new file mode 100644 (file)
index 0000000..da308e0
--- /dev/null
@@ -0,0 +1,25 @@
+\header{
+filename =      "solo-cello-suite-ii.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+opus =  "BWV 1008";
+composer =      "Johann Sebastian Bach (1685-1750)";
+}
+
+% urg
+
+% \include "prelude-" + \instrument + ".ly";
+
+i = "prelude-" + \instrument + ".ly";
+ii = "allemande-" + \instrument + ".ly";
+iii = "courante-" + \instrument + ".ly";
+iv = "sarabande-" + \instrument + ".ly";
+v = "menuetto-" + \instrument + ".ly";
+vi = "gigue-" + \instrument + ".ly";
+
+\include \i;
+\include \ii;
+\include \iii;
+\include \iv;
+\include \v;
+\include \vi;
index 7239bc104c4a7c18dec9f23b50574460c0d040e6..5b6b806a81f10ca8c30bda731006eb0d97f297fd 100644 (file)
@@ -1,3 +1,4 @@
        - more composers > 70y +
        - (more) free composers
-       - beethoven's coriolan
+       - Beethoven's Coriolan: brass and woodwind 
+       - more Cello Suites
diff --git a/stepmake/Documentation/layout.yo b/stepmake/Documentation/layout.yo
new file mode 100644 (file)
index 0000000..5f30475
--- /dev/null
@@ -0,0 +1,20 @@
+verb(
+    doos/                        # gnu/windows32 build and binary releases
+    harmonia -> harmonia-x.y.z 
+    harmonia-x.y.z/
+    lilypond -> lilypond-x.y.z   # symlink to development directory
+    lilypond-x.y.z/              # current development
+    patches/                    # patches between different releases
+    RedHat/BUILD                 # RedHat build and binary releases
+    RedHat/RPMS
+    RedHat/SPECS
+    releases/                    # .tar.gz releases
+    test/                        # tarballs and diffs from current version
+    yodl -> yodl-1.30.17
+    yodl-1.30.17
+)
+with prefix file($HOME/usr/src)
+and (for building rpms only) in file($HOME/.rpmrc):
+verb(
+    topdir: /home/fred/usr/src/RedHat
+)