]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.24 release/1.1.24
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 25 Jan 1999 12:09:15 +0000 (13:09 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 25 Jan 1999 12:09:15 +0000 (13:09 +0100)
278 files changed:
Documentation/man/lilypond.yo
Documentation/man/out/lilypond.1
Documentation/tex/feta20.sty [new file with mode: 0644]
Documentation/tex/html-disclaimer.yo-urg
Documentation/tex/lilypond-overview.doc
Documentation/tex/musicnotes.sty
Documentation/tex/refman.yo
Documentation/tex/refman.yo.orig [deleted file]
Documentation/topdocs/INSTALL.yo
INSTALL.txt
NEWS
TODO
VERSION
buildscripts/mf-to-table.py
buildscripts/set-lily.sh
dstreamrc
flower/hash.cc
flower/include/dictionary-iter.hh
flower/include/dictionary.hh
flower/include/hash-table-iter.hh [new file with mode: 0644]
flower/include/hash-table.hh [new file with mode: 0644]
flower/rational.cc
init/GNUmakefile [deleted file]
init/a4.ly [deleted file]
init/accordion-defs.ly [deleted file]
init/book-fragment.ly [deleted file]
init/book-init.ly [deleted file]
init/catalan.ly [deleted file]
init/center-fragment.ly [deleted file]
init/center.ly [deleted file]
init/chord-modifiers.ly [deleted file]
init/declarations.ly [deleted file]
init/deutsch.ly [deleted file]
init/dynamic.ly [deleted file]
init/english.ly [deleted file]
init/engraver.ly [deleted file]
init/fragment.ly [deleted file]
init/init.fly [deleted file]
init/init.ly [deleted file]
init/italiano.ly [deleted file]
init/midi.ly [deleted file]
init/nederlands.ly [deleted file]
init/norsk.ly [deleted file]
init/paper.ly [deleted file]
init/paper11.ly [deleted file]
init/paper13.ly [deleted file]
init/paper16.ly [deleted file]
init/paper20.ly [deleted file]
init/paper26.ly [deleted file]
init/params.ly [deleted file]
init/part-paper.ly [deleted file]
init/performer.ly [deleted file]
init/property.ly [deleted file]
init/scm.ly [deleted file]
init/script.ly [deleted file]
init/svenska.ly [deleted file]
init/table11.ly [deleted file]
init/table13.ly [deleted file]
init/table16.ly [deleted file]
init/table20.ly [deleted file]
init/table26.ly [deleted file]
input/GNUmakefile
input/bugs/auto-beam.ly [new file with mode: 0644]
input/bugs/mats.ly [new file with mode: 0644]
input/bugs/partial.ly [new file with mode: 0644]
input/opus-130.ly
input/star-spangled-banner.ly
input/test/auto-beam.ly [new file with mode: 0644]
input/test/bar-scripts.ly
input/test/beam-interstaff.ly
input/test/c.ly [deleted file]
input/test/chords.ly
input/test/harmonics.fly [deleted file]
input/test/mark.ly
input/test/notemode-chords.ly [new file with mode: 0644]
input/test/rep.ly
input/test/repeat.ly
input/test/tchaikovsky.ly [deleted file]
input/twinkle.ly
lib/binary-source-file.cc
lib/include/binary-source-file.hh
lib/warn.cc
lily/afm-list.cc [deleted file]
lily/afm.cc
lily/all-font-metrics.cc [new file with mode: 0644]
lily/atom.cc
lily/bar-column-engraver.cc [deleted file]
lily/bar-column.cc [deleted file]
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/bar-script-engraver.cc [new file with mode: 0644]
lily/bar.cc
lily/beam-engraver.cc
lily/chord-name-engraver.cc
lily/clef-item.cc
lily/dynamic-engraver.cc
lily/extender-spanner.cc
lily/g-staff-side.cc
lily/heads-engraver.cc
lily/identifier.cc
lily/include/afm.hh
lily/include/all-fonts.hh
lily/include/atom.hh
lily/include/bar-column-engraver.hh [deleted file]
lily/include/bar-column.hh [deleted file]
lily/include/bar-number-engraver.hh
lily/include/bar-script-engraver.hh [new file with mode: 0644]
lily/include/beam-engraver.hh
lily/include/chord-name-engraver.hh
lily/include/clef-item.hh
lily/include/const.hh [deleted file]
lily/include/dimension-cache.hh
lily/include/elem-group.hh [deleted file]
lily/include/font-metric.hh [new file with mode: 0644]
lily/include/g-staff-side.hh
lily/include/graphical-lisp-element.hh [deleted file]
lily/include/item.hh
lily/include/lily-guile.hh
lily/include/lily-proto.hh
lily/include/lily-proto.hh.orig [deleted file]
lily/include/linespace.hh [deleted file]
lily/include/lookup.hh
lily/include/main.hh
lily/include/mark-engraver.hh
lily/include/molecule.hh
lily/include/multi-measure-rest-engraver.hh
lily/include/musical-request.hh
lily/include/note-head.hh
lily/include/paper-def.hh
lily/include/parseconstruct.hh
lily/include/piano-brace.hh
lily/include/repeat-engraver.hh
lily/include/scope.hh
lily/include/score-element.hh
lily/include/span-bar.hh
lily/include/staff-bracket.hh
lily/include/staff-margin-engraver.hh
lily/include/symtable.hh [deleted file]
lily/include/text-item.hh [deleted file]
lily/include/tfm.hh
lily/include/tuplet-engraver.hh
lily/include/tuplet-spanner.hh
lily/include/volta-spanner.hh
lily/item.cc
lily/key-item.cc
lily/lily-guile.cc
lily/lily-version.cc
lily/local-key-item.cc
lily/lookup.cc
lily/lyric-engraver.cc
lily/main.cc
lily/mark-engraver.cc
lily/molecule.cc
lily/multi-measure-rest-engraver.cc
lily/music-output-def.cc
lily/musical-request.cc
lily/my-lily-lexer.cc
lily/my-lily-parser.cc
lily/note-head.cc
lily/paper-def.cc
lily/paper-outputter.cc
lily/parser.yy
lily/performance.cc
lily/piano-brace.cc
lily/repeat-engraver.cc
lily/scope.cc
lily/score-bar.cc
lily/score-element.cc
lily/score-priority-engraver.cc
lily/scores.cc
lily/single-malt-grouping-item.cc
lily/span-bar.cc
lily/span-score-bar.cc
lily/staff-bracket.cc
lily/staff-margin-engraver.cc
lily/staff-sym.cc
lily/super-element.cc
lily/symtable.cc [deleted file]
lily/text-item.cc
lily/tfm.cc
lily/timing-translator.cc
lily/tuplet-engraver.cc
lily/tuplet-spanner.cc
lily/version.cc [deleted file]
lily/volta-spanner.cc
ly/GNUmakefile [new file with mode: 0644]
ly/a4.ly [new file with mode: 0644]
ly/accordion-defs.ly [new file with mode: 0644]
ly/book-fragment.ly [new file with mode: 0644]
ly/book-init.ly [new file with mode: 0644]
ly/catalan.ly [new file with mode: 0644]
ly/center-fragment.ly [new file with mode: 0644]
ly/center.ly [new file with mode: 0644]
ly/chord-modifiers.ly [new file with mode: 0644]
ly/declarations.ly [new file with mode: 0644]
ly/deutsch.ly [new file with mode: 0644]
ly/dynamic.ly [new file with mode: 0644]
ly/english.ly [new file with mode: 0644]
ly/engraver.ly [new file with mode: 0644]
ly/fragment.ly [new file with mode: 0644]
ly/init.fly [new file with mode: 0644]
ly/init.ly [new file with mode: 0644]
ly/italiano.ly [new file with mode: 0644]
ly/midi.ly [new file with mode: 0644]
ly/nederlands.ly [new file with mode: 0644]
ly/norsk.ly [new file with mode: 0644]
ly/paper.ly [new file with mode: 0644]
ly/paper11.ly [new file with mode: 0644]
ly/paper13.ly [new file with mode: 0644]
ly/paper16.ly [new file with mode: 0644]
ly/paper20.ly [new file with mode: 0644]
ly/paper26.ly [new file with mode: 0644]
ly/params.ly [new file with mode: 0644]
ly/part-paper.ly [new file with mode: 0644]
ly/performer.ly [new file with mode: 0644]
ly/property.ly [new file with mode: 0644]
ly/script.ly [new file with mode: 0644]
ly/svenska.ly [new file with mode: 0644]
make/lilypond-vars.make
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
make/toplevel.make.in
mf/GNUmakefile
mf/cmbx12.afm.in [deleted file]
mf/cmr10.afm.in [deleted file]
mf/cmr8.afm.in [deleted file]
mf/cmti10.afm.in [deleted file]
mf/cmti8.afm.in [deleted file]
mf/feta-bolletjes.mf
mi2mu/mudela-item.cc
mi2mu/mudela-score.cc
mutopia/Coriolan/violino-2.ly
mutopia/D.Scarlatti/GNUmakefile
mutopia/D.Scarlatti/progress.ly [new file with mode: 0644]
mutopia/D.Scarlatti/sonata-k1-l366.ly
mutopia/D.Scarlatti/sonata-k2-l388.ly [new file with mode: 0644]
mutopia/D.Scarlatti/sonata-k3-l378.ly [new file with mode: 0644]
mutopia/D.Scarlatti/sonata-k4-l390.ly [new file with mode: 0644]
mutopia/E.Satie/GNUmakefile [new file with mode: 0644]
mutopia/E.Satie/gnossienne-4.ly [new file with mode: 0644]
mutopia/E.Satie/petite-ouverture-a-danser.ly [new file with mode: 0644]
mutopia/F.Schubert/AnSylvia.ly
mutopia/GNUmakefile
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4
mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/scs-paper.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/L.Mozart/sinfonia.ly
mutopia/gallina.ly
mutopia/gnossienne-4.ly [deleted file]
scm/lily.scm
scripts/ly2dvi.py
tex/dyndefs.tex
tex/lilyponddefs.tex

index 0268efdc9f32e4f6b08ca5b57be7da7f0984530f..ddfdf4ad5434c80b044900c675e17c11087a2aee 100644 (file)
@@ -147,7 +147,7 @@ dit(GNU url(LilyPond)(http://www.cs.uu.nl/people/hanwen/lilypond/index.html))
 
 GNU LilyPond is
 updated very frequently, the latest version is always available at:
-lurl(ftp://pcnov095.win.tue.nl/pub/lilypond).  This FTP site is mirrored
+lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond).  This FTP site is mirrored
 at a number of sites; consult the project web pages for information
 about mirrors.
 
index 9c844fb6b0f1cc75f9b77ddbbed6c02f90f9a08d..f4e11ebc029aa530333198dbd63f2d29daea8ef1 100644 (file)
@@ -141,7 +141,7 @@ some standard music files\&.  It also has the complete LilyPond documentation
 .PP 
 GNU LilyPond is
 updated very frequently, the latest version is always available at:
-ftp://pcnov095\&.win\&.tue\&.nl/pub/lilypond\&.  This FTP site is mirrored
+ftp://ftp\&.cs\&.uu\&.nl/pub/GNU/LilyPond\&.  This FTP site is mirrored
 at a number of sites; consult the project web pages for information
 about mirrors\&.
 .PP 
diff --git a/Documentation/tex/feta20.sty b/Documentation/tex/feta20.sty
new file mode 100644 (file)
index 0000000..0dbfcf9
--- /dev/null
@@ -0,0 +1,146 @@
+% Creator: mf-to-table.py version 0.7
+% Automatically generated on
+% Do not edit
+% input from out/feta20.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\breverest{4}
+\fetdef\longarest{5}
+\fetdef\multirest{6}
+\fetdef\quartrest{7}
+\fetdef\eighthrest{8}
+\fetdef\sixteenthrest{9}
+\fetdef\thirtysecondrest{10}
+\fetdef\sixtyfourthrest{11}
+\fetdef\hundredtwentyeighthrest{12}
+
+% accidentals
+\fetdef\sharp{13}
+\fetdef\natural{14}
+\fetdef\flat{15}
+\fetdef\flatflat{16}
+\fetdef\sharpsharp{17}
+\fetdef\rightparen{18}
+\fetdef\leftparen{19}
+
+% dots
+\fetdef\dot{20}
+\fetdef\repeatcolon{21}
+
+% balls
+\fetdef\brevisball{22}
+\fetdef\brevisledger{23}
+\fetdef\longaball{24}
+\fetdef\longaledger{25}
+\fetdef\wholeball{26}
+\fetdef\wholeledger{27}
+\fetdef\halfball{28}
+\fetdef\halfledger{29}
+\fetdef\quartball{30}
+\fetdef\quartledger{31}
+
+% scripts
+\fetdef\ufermata{32}
+\fetdef\dfermata{33}
+\fetdef\thumb{34}
+\fetdef\sforzatoaccent{35}
+\fetdef\staccato{36}
+\fetdef\ustaccatissimo{37}
+\fetdef\dstaccatissimo{38}
+\fetdef\tenuto{39}
+\fetdef\umarcato{40}
+\fetdef\dmarcato{41}
+\fetdef\ouvert{42}
+\fetdef\plusstop{43}
+\fetdef\upbow{44}
+\fetdef\downbow{45}
+\fetdef\reverseturn{46}
+\fetdef\turn{47}
+\fetdef\trill{48}
+\fetdef\upedalheel{49}
+\fetdef\dpedalheel{50}
+\fetdef\upedaltoe{51}
+\fetdef\dpedaltoe{52}
+\fetdef\flageolet{53}
+\fetdef\trilelement{54}
+\fetdef\prall{55}
+\fetdef\mordent{56}
+\fetdef\prallprall{57}
+\fetdef\prallmordent{58}
+\fetdef\upprall{59}
+\fetdef\downprall{60}
+\fetdef\accDiscant{61}
+\fetdef\accDiscantF{62}
+\fetdef\accDiscantEh{63}
+\fetdef\accDiscantE{64}
+\fetdef\accDiscantFE{65}
+\fetdef\accDiscantFEh{66}
+\fetdef\accDiscantEE{67}
+\fetdef\accDiscantFEE{68}
+\fetdef\accDiscantEEE{69}
+\fetdef\accDiscantFEEE{70}
+\fetdef\accDiscantS{71}
+\fetdef\accDiscantFS{72}
+\fetdef\accDiscantES{73}
+\fetdef\accDiscantEhS{74}
+\fetdef\accDiscantFES{75}
+\fetdef\accDiscantFEhS{76}
+\fetdef\accDiscantEES{77}
+\fetdef\accDiscantFEES{78}
+\fetdef\accDiscantEEES{79}
+\fetdef\accDiscantFEEES{80}
+\fetdef\accDiscantSS{81}
+\fetdef\accDiscantESS{82}
+\fetdef\accDiscantEESS{83}
+\fetdef\accDiscantEEESS{84}
+\fetdef\accFreebass{85}
+\fetdef\accFreebassF{86}
+\fetdef\accFreebassE{87}
+\fetdef\accFreebassFE{88}
+\fetdef\accStdbass{89}
+\fetdef\accStdbassM{90}
+\fetdef\accStdbassBp{91}
+\fetdef\accStdbassT{92}
+\fetdef\accStdbassTp{93}
+\fetdef\accBayanbass{94}
+\fetdef\accBayanbassT{95}
+\fetdef\accBayanbassE{96}
+\fetdef\accBayanbassTE{97}
+\fetdef\accBayanbassEE{98}
+\fetdef\accBayanbassTEE{99}
+\fetdef\accSB{100}
+\fetdef\accBB{101}
+\fetdef\accOldEE{102}
+\fetdef\accOldEES{103}
+
+% flags
+\fetdef\eighthflag{104}
+\fetdef\sixteenthflag{105}
+\fetdef\thirtysecondflag{106}
+\fetdef\sixtyfourthflag{107}
+\fetdef\deighthflag{108}
+\fetdef\dsixteenthflag{109}
+\fetdef\dthirtysecondflag{110}
+\fetdef\dsixtyfourthflag{111}
+
+% clefs
+\fetdef\altoclef{112}
+\fetdef\caltoclef{113}
+\fetdef\bassclef{114}
+\fetdef\cbassclef{115}
+\fetdef\trebleclef{116}
+\fetdef\ctrebleclef{117}
+
+% timesig
+\fetdef\fourfourmeter{118}
+\fetdef\allabreve{119}
+\fetdef\oldfourfourmeter{120}
+\fetdef\oldallabreve{121}
+\fetdef\oldthreetwometer{122}
+\fetdef\oldsixfourmeter{123}
+\fetdef\oldninefourmeter{124}
+
index 2fa20c33aa947bb0e52bfbbc4bbbb9e096a836e7..061f9d441e5a0b462e84d664f222128ca1d8c411 100644 (file)
@@ -1,15 +1,16 @@
 COMMENT(
 I cannot be named .yo, because i'm not a complete document, yodl2x will break.
 )
+
 whenhtml(
+
 nsubsect(Disclaimer)
-This document is written in url(Yodl)(ftp://pcnov095.win.tue.nl/pub/yodl)
-and should foremost produce nice LaTeX() output.
-In other formats, such as html, some things will look a bit different,
-while other things will be simply left out.
-Therefore, the authoritive version of this document is the PostScript version, 
-produced via LaTeX().
-As you know, url(no gifs due to patent problems)(http://www.gnu.org/philosophy/gif.html), 
-but the png images should be viewable with any current browser 
-(jpeg is inappropriate for music images).
-)
+
+This document is written in url(Yodl)(ftp://ftp.lilypond.org/pub/yodl)
+and should foremost produce nice LaTeX() output.  In other formats,
+such as html, some things will look a bit different, while other
+things will be simply left out.  Therefore, the authoritive version of
+this document is the PostScript version, produced via LaTeX().  As you
+know, url(no gifs due to patent
+problems)(http://www.gnu.org/philosophy/gif.html), but the PNG images
+should be viewable with any current browser .  )
index f5eea5a448c34d2accb1b027cd6894d6cf71ccd3..0ab7fdfe17b71f9400eb8a871f1e3921143db1a9 100644 (file)
@@ -297,6 +297,11 @@ articulation.  This stress pattern is called \emph{meter}.
 
 \subsection{Music notation}
 
+Music notation is a system that tries to represent musical ideas
+through printed symbols.  Music notation has no precise definition,
+but most conventions have described in reference manuals on music
+notation\cite{read-notation}.
+
 In music notation, sounds and silences are represented by symbols that
 are called note and rest respectively.\footnote{These names serve a
   double purpose: the same terms are used to denote the musical
@@ -343,18 +348,176 @@ linewidth = -1.;
     \label{fig:noteshapes}
 \end{center}
 \end{figure}
-      
 
 Notes are printed in a grid of horizontal lines called \emph{staff} to
-denote their pitch: each line represents the pitch of from the 
+denote their pitch: each line represents the pitch of from the
+standard scale (c, d, e, f, g, a, b).  The reference point is the
+\emph{clef}, eg., the treble clef marks the location of the $g^1$
+pitch.  The notes are printed in their time order, from left to right.
+
+
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      \score { \notes {
+      a4 b c d e f g a \clef bass;
+      a4 b c d e f g a \clef alto;
+      a4 b c d e f g a \clef treble;
+      }
+      \paper { linewidth = 15.\cm; }
+      }
+    \end{mudela}
+    \caption{Pitches ranging from $a, b, c',\ldots a'$, in different
+      clefs.  From left right the bass, alto and treble clef are
+      featured.}
+    \label{fig:pitches}
+  \end{center}
+\end{figure}
+
+The chromatic alterations are indicated by printing a flat sign or a
+sharp sign in front of the note head.  If these chromatic alterations
+occur systematically (if they are part of the tonality of the piece),
+then this indicated with a \emph{key signature}.  This is a list of
+sharp/flat signs which is printed next to the clef.
+
+Articulation is notated by marking the note shapes wedges, hats and
+dots all indicate specific articulations.  If the notes are to be
+bound fluently (legato), the note shapes are encompassed by a smooth
+curve called \emph{slur},
+
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      c'4-> c'4-. g'4 ( b'4  ) g''4
+    \end{mudela}
+    \caption{Some articulations.  From left to right: extra stress
+      (\emph{marcato}), short (staccato), slurred notes (legato).}
+    \label{fig:articulation}
+  \end{center}
+\end{figure}
+
+
+
+Dynamics are notated in two ways: absolute dynamics are indicated by
+letters: \textbf{f} (from Italian ``forte'') stands for loud,
+\textbf{p} (from Italian ``piano'') means soft.  Gradual changes in
+loudness are notated by (de)crescendos.  These are hairpin like shapes
+below the staff.
+
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      g'4\pp \<  g'4 \! g'4 \ff \> g'4 g' \! g'\ppp
+    \end{mudela}
+    \caption{Dynamics: start very soft (pp), grow to loud (ff) and
+      decrease to extremely soft (ppp)}
+    \label{fig:dynamics}
+  \end{center}
+\end{figure}
 
-\subsection{Music typography}
 
+The meter is indicated by barlines: every start of the stress pattern
+is preceded by a vertical line, the \emph{bar line}.  The space
+between two bar lines is called measure.  It is therefore the unit of
+the rhythmic pattern.
 
+The time signature also indicates what kind of rhythmic pattern is
+desired.  The time signature takes the form of two numbers stacked
+vertically. The top number is the number of beats in one measure, the
+bottom number is the duration (relative to the whole note) of the note
+that takes  one beat.  Example: 2/4  time signature means ``two beats
+per measure, and a quarter note takes one beat''
 
+Chords are written by attaching multiple note heads to one stem.  When
+the composer wants to emphasize the horizontal relationships between
+notes, the simultaneous notes can be written as voices (where every
+note head has its own stem).  A small example is given in
+Figure~\ref{fig:simultaneous}.
 
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      \relative c'' {\time 2/4;  <c4 e> <d f>
+                \type Staff < \type Voice = VA{
+                  \stemdown
+                  c4 d
+                  b16 b b b b b b b }
+                \type Voice = VB {
+                  \stemup e4 f g8 g4 g8 } >
+          }
+    \end{mudela}
+    \caption{Notes sounding together.  Chord notation (left, before
+      the bar line) emphasizes vertical relations, voice notation
+      emphasizes horizontal relations. Separate voices needn't have
+      synchronous rhythms (third measure). 
+      }
+    \label{fig:simultaneous}
+  \end{center}
+\end{figure}
+
+Separate voices do not have to share one rhythmic pattern---this is
+also demonstrated in Figure~\ref{fig:simultaneous}--- they are in a sense%vaag
+independent.  A different way to express this in notation, is by
+printing each voice on a different staff.  This is customary when
+writing for piano (both left and right hand have a staff of their own)
+and for ensemble (every instrument has a staff of its own).
+
+
+
+\subsection{Music typography}
+
+Music typography is the art of placing symbols in esthetically
+pleasing configuration.  Little is explicitly known about music
+typography.  There are only a few reference works
+available\cite{ross,wanske}.  Most of the knowledge of this art has
+been transmitted verbally, and was subsequently lost.
+
+The motivation behind choices in typography is to represent the idea
+as clearly as possible. Among others, this results in the following
+guidelines:
+\begin{itemize}
+\item The printed score should use visual hints to accentuate the
+  musical content
+\item The printed score should not contain distracting elements, such
+  as large empty regions or blotted regions.
+\end{itemize}
+
+An example of the first guideline in action is the horizontal spacing.
+The amount of space following a note should reflect the duration of
+that note: short notes get a small amount of space, long notes larger
+amounts.  Such spacing constraints can be quite subtle, for the
+``amount of space'' is only the impression that should be conveyed; there
+has to be some correction for optical illusions.  See
+Figure~\ref{fig:spacing}.
 
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      \relative c'' { \time 3/4; c16 c c c c8 c8 | f4 f, f'  }
+    \end{mudela}
+    \caption{Spacing conveys information about duration. Sixteenth
+      notes at the left get less space than quarter notes in the
+      middle. Spacing is ``visual'', there should be more space
+      after  the first note of the last measure, and  less after second. }
+    \label{fig:spacing}
+  \end{center}
+\end{figure}
 
+Another clearly visible example of music typography is visible in
+collisions.  When chords or separate voices are printed, the notes
+that start at the same time should be printed aligned (ie., with the
+same $x$ position).  If the pitches are close to each other, the note
+heads would collide. To prevent this, some notes (or note heads) have
+to be shifted horizontally.  An example of this is given in Figure~\ref{fig:collision}.
+\begin{figure}[h]
+  \begin{center}
+    \begin{mudela}
+      
+    \end{mudela}
+    \caption{Collisions}
+    \label{fig:collision}
+  \end{center}
+\end{figure}
 
 \bibliographystyle{hw-plain}
 \bibliography{engraving,boeken,colorado,computer-notation,other-packages}
index 424c10c8a2585ced67d53f02b182460b0264a1cc..bc4a69f543a6cd994d0d89324480348d98e7c9f8 100644 (file)
@@ -4,7 +4,7 @@
 \def\fetdef#1#2{%
   \def#1{\hbox{\char#2}}}
 
-\input feta20
+\input feta20.sty
 
 \font\fetasixteenfont=feta16
 \font\fetaelevenfont=feta11
index 61d658e8625ca127e32c18d27a538c1d56576794..6845476a009a0cb43d7bf5e242b077a15056d432 100644 (file)
@@ -165,7 +165,7 @@ keywords: code(\mm), code(\pt), code(\in), or code(\cm).  Dimensions
 are converted immediately to a real which gives the dimension in
 points, so they can be mixed with reals, but the result is no longer
 of type dimension.  The keywords that require a dimension
-(code(\shape) and code(\symboltables)) will not accept this.
+(code(\shape)).
 
 dit(pitch) 
 A pitch is a string which is the name of a pitch.  Example: code(a).
@@ -224,8 +224,8 @@ will only be able to refer to identifiers whose names begin with a
 letter and are entirely alphanumeric.  It is also impossible to refer
 to an identifier whose name is the same as the name of a keyword.  The
 following words are keywords:
-verb(absdynamic    grouping       mm              relative     symboltables
-accepts       header         musicalpitch    remove       table
+verb(absdynamic    grouping       mm              relative     
+accepts       header         musicalpitch    remove       
 alternative   in             name            repeat       tempo
 bar           include        notenames       scm          time
 cadenza       key            notes           scmfile      times
@@ -553,10 +553,8 @@ mudela()(
 Dynamic marks are specified by using an identifier after a note
 without a dash: code(c4 \ff).  Note that this syntax is inconsistent
 with the syntax for other types of ornaments.  The available dynamic
-marks are: code(\pppppp), code(\ppppp), code (\pppp), code(\ppp), code(\pp), 
-code(\p), code(\mp), code(\mf), code(\f), code(\ff), code(\fff),
-code(\ffff), code(\fffff), code(\ffffff), 
-code(\fp), code(sf), code(\sff), code(\sp), code(\spp), (\sfz) and code (\rfz).
+marks are: code(\ppp), code(\pp), code(\p), code(\mp), code(\mf),
+code(\f), code(\ff), code(\fff), code(\fp), code(sf), and code(\sfz).
 
 A crescendo mark is started with code(\cr) and terminated with
 code(\rc).  A decrescendo mark is started with code(\decr) and
@@ -931,7 +929,7 @@ note, etc.  The number of dots  after  the  note is given by
 var(dotcount). 
 
 dit(code(\font) var(string)) Internal keyword.  Used within
-code(\symboltables) to specify the font.
+code(\paper) to specify the font.
 
 dit(code(\grouping) var(durationseq)code(;))  Sets  the  metric structure of
 the measure.  Each argument specifies the duration of one metric unit.
@@ -1096,13 +1094,6 @@ second parameter is set to 1 to start the mark and 2 to stop it.
 Users should use the abbreviations which are defined in the
 initialization file file(dynamic.ly).
 
-dit(code(\symboltables)) Internal keyword.  Used to create symbol
-tables.  See initialization files file(paper*.ly), file(feta*.ly), and
-file(table*.ly).  
-
-dit(code(\table)) Internal keyword.  Used within code(\symboltables)
-to specify the tables.  See initialization files. 
-
 dit(code(\tempo) var(duration) = var(perminute)code(;)) Used within
 code(\midi) or within music to specify the tempo.  For example, 
 `code(\midi { \tempo 4 = 76;})' requests output with 76 quarter notes
@@ -1459,9 +1450,6 @@ equal to -1.
 dit(code(\f)) Print forte symbol on the preceeding note.
 dit(code(\ff)) Print fortissimo symbol on the preceeding note. 
 dit(code(\fff)) Print fortississimo symbol on preceeding note. 
-dit(code(\ffff)) Print fortissississimo symbol on preceeding note.
-dit(code(\fffff)) Print fffff symbol on preceeding note.
-dit(code(\ffffff)) Print ffffff symbol on preceeding note.
 dit(code(\fp)) Print fortepiano symbol on preceeding note. 
 dit(code(\free)) Used for setting direction setting properties.  Is
 equal to 0.  
@@ -1487,16 +1475,11 @@ has the same key signature.  This sets the Staff.keyoctaviation property.
 dit(code(\p)) Print a piano symbol on preceeding note. 
 dit(code(\pp)) Print pianissimo symbol on preceeding note. 
 dit(code(\ppp)) Print pianississimo symbol on preceeding note. 
-dit(code(\pppp)) Print pianissississimo symbol on preceeding note.
-dit(code(\ppppp)) Print ppppp symbol on preceeding note.
-dir(code(\pppppp)) Print pppppp symbol on preceeding note.
 dit(code(\rc)) Terminate a crescendo. 
 dit(code(\rced)) Terminate a decrescendo
-dit(code(\rfz)) Print a rinforzato symbol on preceeding note.
 dit(code(\right)) Used for setting textalignment property.  Is set to 1.
-dit(code(\sf)) Print a subito-forte symbol on preceeding note. 
-dit(code(\sff)) Print a subito-fortissimo symbol on preceeding note.
-dit(code(\sfz)) Print a sforzato symbol on preceeding note. 
+dit(code(\sf)) Print a ?? symbol on preceeding note. 
+dit(code(\sfz)) Print a ?? symbol on preceeding note. 
 dit(code(\shiftoff)) Disable horizontal shifting of note heads that collide.  
 Sets the Voice.hshift property.
 dit(code(\shifton)) Enable note heads that collide with other note heads
@@ -1507,8 +1490,6 @@ dit(code(\slurdown)) Force slurs to be below notes. This sets the
 Voice.slurydirection property. 
 dit(code(\slurup)) Force slurs to be above notes.  This sets the
 Voice.slurydirection property.  
-dit(code(\sp)) Print a subito-piano symbol on preceeding note.
-dit(code(\spp)) Print a subito-forte symbol on preceeding note.
 dit(code(\specialkey)) Allow keys signatures do differ in different
 octaves.  This sets the Staff.keyoctaviation property.  
 dit(code(\stemboth)) Allow stems, beams, and slurs to point either
@@ -1585,7 +1566,7 @@ inside a code(\paper) block.
 
 description(
   dit(var(integer)) If an integer appears on the left side of an
-assignment then a code(\symboltables) keyword must appear on the right
+assignment then a code(\font) keyword must appear on the right
 side.  This defines a music font at a particular size.  See Voice
 property code(\fontsize).
 
diff --git a/Documentation/tex/refman.yo.orig b/Documentation/tex/refman.yo.orig
deleted file mode 100644 (file)
index f0a3d4d..0000000
+++ /dev/null
@@ -1,1875 +0,0 @@
-COMMENT(-*-text-*-)
-
-redef(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))\
-    whenhtml(sc(ARG1)))
-
-
-redef(code)(1)(tt(ARG1))
-
-COMMENT(
-
-TODO:
-   the use of semicolons needs to be documented once it settles down
-   \times needs documentation with examples somewhere once it works (?)
-   paper size?
-   the explanation of how lyrics mode parses words seems ridiculous.  
-     Is there a simple way to explain this, or is the behavior
-     too complicated for a reasonable explanation?
-   \relative and \tranpose and \times make it necessary to specify
-       an explicit \type staff, or bizarre things happen. 
-   catalan.ly
-   accordion symbols
-   extender*  (see extender.ly)
-   \repeat & \alternative  -> probably should have an example
-)
-
-
-COMMENT( This document contains Mudela fragments.  You need at least
-Yodl-1.30.18 to convert this to tex or html.
-
-TODO
-
-in stead <-> instead
-)
-
-htmlbodyopt(bgcolor)(white)
-htmlcommand(<font color=black>)
-
-latexlayoutcmds(
-\setlength{\topmargin}{-0.25in}
-\setlength{\textheight}{9in}
-\setlength{\textwidth}{5.875in} 
-\setlength{\oddsidemargin}{0.25in}   
-\setlength{\evensidemargin}{0.25in}
-\input mudela-book
-)
-
-whentexinfo(notableofcontents())
-
-article(Mudela 1.0.7 / LilyPond 1.1.8 Reference Manual)
-      (Adrian Mariano, Han-Wen Nienhuys and Jan Nieuwenhuizen)
-      (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop())
-
-COMMENT(
-
-* The [ ] look weird
-
-* paragraphs have too much space.
-
-)
-
-
-latexcommand(\def\interexample{})
-latexcommand(\def\preexample{\par})
-latexcommand(\def\postexample{\par\medskip})
-latexcommand(\def\file#1{{code(#1)}})
-COMMENT(
-latexcommand(\def\texttt#1{\tt #1})
-latexcommand(\def\textbf#1{\bf #1})
-)
-
-COMMENT(urg, texinfo include breaks)
-whenhtml(
-includefile(html-disclaimer.yo-urg)
-)
-
-bf(This document is not up to date).  All rendered examples of course
-are current, but the rest probably isn't.  Adjusting the tutorial was
-considered more important than writing the reference manual.  We
-apologize for the inconvenience.  For a complete and up-to-date
-definition, see file(lily/parser.yy), file(lily/lexer.ll), and the
-init files.
-
-This document describes the the GNU LilyPond input format, which is an
-effective language for defining music.  We call this language (rather
-arrogantly) The Musical Definition Language or Mudela, for
-short.footnote(If anybody comes up with a better name, we'd gladly
-  take this. Gourlay already uses Musical Description Language,
-  G-Sharp Score Definition Language.  ISO standard 10743 defines a
-  Standard Music Description Language.  We're not being original here.)
-
-The first aim of Mudela is to define a piece of music, being complete
-from both from a musical typesetting, as from a musical performing
-point of view.
-
-The Musical Definition Language (Mudela), has a logical structure,
-making use of identifiers, that allows for flexible input, and
-definition reuse. See the documentation file file(MANIFESTO), included
-with the LilyPond sources for reasons and design considerations.
-
-
-sect(Running LilyPond)
-
-When invoked with a filename that has no extension, LilyPond will try adding
-a file(.fly) extension first, and a file(.ly) extension second.  
-If the filename ends with 
-file(.fly),  LilyPond processes  the file as music using
-file(init.fly).  In this case, LilyPond does something
-like:
-verb(\score {
-  \notes\relative c {
-    \input "yourfile.fly"
-  }
-  \paper{}
-  \midi{}
-})
-If you invoke LilyPond with a file file(foo.)var(ext) that doesn't
-have the file(.ly) extension then LilyPond will look for a file called
-file(init.)var(ext) and process this file.  The file
-file(init.)var(ext) must contain the code(\maininput) keyword or LilyPond
-will not read the user specified file.
-
-When LilyPond processes file(filename.ly) it will produce file(filename.tex) as
-output.  If file(filename.ly) contains a second code(\paper) keyword, then
-LilyPond will produce file(filename-1.tex) as well.  Subsequent code(\paper)
-keywords will produces sequentially numbered file names.  Several files can be
-specified; they will each be processed independently.
-
-sect(Syntax)
-
-subsect(Basic Mudela)
-
-A Mudela file consists of keywords with arguments and identifier
-assignments separated by spaces, tabs or newlines.  Semicolons are
-used by some keywords but are not generally required.  A one line
-comment is introduced by a code(%) character.  Block comments are
-started by code(%{) and ended by code(%}).  They cannot be nested.
-
-Mudela supports several types:
-
-description(
-
-dit(integer) 
-Formed from an optional minus sign followed by digits.  Arithmetic
-operations cannot be done with integers, and integers cannot be mixed
-with reals.
-
-dit(real) 
-Formed from an optional minus sign and a sequence of digits followed
-by a emph(required) decimal point and an optional exponent such as
-code(-1.2e3).  Reals can be built up using the usual operations:
-code(+), code(-), code(*), and code(/), with parentheses for grouping.
-
-dit(string) 
-Begins and ends with the code(") character.  To include a code(")
-character in a string write code(\").  Various other backslash
-sequences have special interpretations as in the C language.  A string
-that contains no spaces can be written without the quotes.  See
-Section ref(modes) for details on unquoted strings; their
-interpretation varies depending on the situation.  On the right side
-of identifier assignments and within the code(\header) keyword,
-strings can be concatenated using the code(+) character.
-
-dit(dimension) Consists of a real followed by one of the dimension
-keywords: code(\mm), code(\pt), code(\in), or code(\cm).  Dimensions
-are converted immediately to a real which gives the dimension in
-points, so they can be mixed with reals, but the result is no longer
-of type dimension.  The keywords that require a dimension
-(code(\shape) and code(\symboltables)) will not accept this.
-
-dit(pitch) 
-A pitch is a string which is the name of a pitch.  Example: code(a).
-The pitch names can be redefined with the code(\notenames) keyword.
-See Section(notelang) for pitch names in different languages.  Pitches
-can only be specified inside note mode which is specified with
-code(\notes).  Therefore, keywords which require pitch arguments must
-appear inside code(\notes).  
-
-dit(music) 
-Music is a compound type: arbitrarily complicated expressions with a
-hierarchical structure can be formed from simple building blocks.  The
-simplest expression of type music is a single note.  A note is formed
-from a pitch and an optional duration and must be specified within
-code(\notes).  See Section ref(notedesc) for details.  More
-complicated expressions of type music are formed by surrounding a
-sequence of expressions of type music with braces code({) and code(})
-or with angle brackets code(<) and code(>).  Items appearing in braces
-will be treated as serial. Items in angle brackets will be
-simultaneous.  So for example code({ c e g }) represents an arpeggio
-and code(< c e g >) represents a chord.  These items can be nested any
-way you like.  This simple example shows how three chords can be
-expressed in two different ways:
-mudela(fragment,verbatim,center)(
-\notes<{a b  c'}{c' d' e'}{e' f' g'}>
-\notes{<a c' e'><b  d' f'><c' e' g'>}
-)
-
-)
-
-
-COMMENT(
-Compound types are built up from the simple types.  The compound types
-are: arglist, assignlist and musiclist.  An arglist is a
-white space separated list of integers, reals and or strings surrounded
-by braces code({) and code(}).  An assignlist is a list of 
-identifier assignments, which have the form var(key)code(=)var(value).
-A statement in Mudela has one of three forms:
-verb(\keyword argument
-\keyword argument1 argument2 ... ;
-string=value)
-)
-
-subsect(Identifiers)
-
-Identifiers allow names to be assigned to constants, music, or other
-Mudela structures.  To assign an identifier you use
-var(name)=var(value) and to refer to an identifier, you preceed its
-name with a backslash: code(\)var(name).  It is legal to redefine an
-identifier in terms of its old value: code(foo = \foo * 2.0).
-Identifier assignments must appear at the top level in the Mudela
-file.
-
-An identifier can be created with any string for its name, but you
-will only be able to refer to identifiers whose names begin with a
-letter and are entirely alphanumeric.  It is also impossible to refer
-to an identifier whose name is the same as the name of a keyword.  The
-following words are keywords:
-verb(absdynamic    grouping       mm              relative     symboltables
-accepts       header         musicalpitch    remove       table
-alternative   in             name            repeat       tempo
-bar           include        notenames       scm          time
-cadenza       key            notes           scmfile      times
-clef          keysignature   paper           score        translator
-cm            lyrics         partial         script       transpose
-consists      maininput      penalty         shape        type
-duration      mark           property        skip         version
-font          midi           pt              spandynamic)
-
-The right hand side of an identifier assignment is parsed completely
-when the assignment is made.  It therefore must have any context
-specified in the definition.  For example, you must write
-code(foo=\notes{a8 b c}) rather than code(foo={a8 b c}).  Even though
-the context is specified in the definition, you must refer to the
-identifier inside the correct context:
-verb(foo = \paper{ linewidth = 6.0\in; }
-\score{
-  \notes{ ... }
-  \paper{ \foo }
-})
-If code(\foo) is used here without the surrounding code(\paper) then
-an error will result.  Note however that the following is acceptible
-verb(foo = \notes { ... }
-\score{ \foo })  
-It is not necessary to specify code(\notes).
-
-Identifiers can be set equal to integers, reals, strings, music,
-durations (specified with code(\duration)), note ornaments (specified
-with code(\script), dynamics commands, or code(:)), note name tables
-(specified with code(\notenames), translator definitions, the
-code(\paper) block, the code(\midi) block or the code(\score) block.
-When identifiers are used for translators, the code(\paper),
-code(\midi), and code(\score) blocks, they may only be referred to as
-the first item in a block.  So code(\paper{\one \two}) is illegal
-because the identifier code(\two) is not the first thing in the block.
-Unlike other identifier definitions, translator identifier definitions
-can only appear within code(\midi) or code(\paper) blocks.  See
-Section ref(translators) for more information.
-
-
-COMMENT(
-subsect(Hierarchical structures)
-
-The general structure consists of declarations:
-verb(IDENTIFIER = \TYPE{
-        <type specific data>
-})
-and instantiations:
-
-verb(\TYPE{ <type specific data> })
-
-(Currently, code(\score) is the only type that can be instantiated
-at top level.)
-
-Most instantiations that use an IDENTIFIER are specified as follows:
-
-verb(\TYPE{ \IDENTIFIER [...] })
-
-Some exceptions on this rule have been made to prevent inputting
-Mudela becoming tedious
-)
-
-
-subsect(Modes)
-label(modes)
-
-To simplify different aspects of music definition (entering the notes
-and manipulating them) Mudela has three different input modes which
-affect how unquoted strings are interpreted.
-In each mode, words are identified on the input.  If code("word") is
-encountered, it is treated as a string.  If code(\word) is
-encountered it is treated as a keyword or as an identifier.  The
-behavior of the modes differs in two ways: different modes treat
-unquoted words different, and different modes have different rules for
-deciding what is a word.  
-
-description(
-
-dit(Normal mode)
-At the start of parsing, Mudela is in normal mode.
-In normal mode, a word is an alphabetic character followed by
-alphanumeric characters.  If code(word) is encountered on the input it
-is treated as a string. 
-
-dit(Note mode) Note mode is introduced by the keyword
-code(\notes).  In Note mode, words can only contain alphabetic
-characters.  If code(word) is encountered, LilyPond first checks for a
-notename of code(word).  If no notename is found, then code(word) is
-treated as a string.  If you mistype a notename, the parser will most
-likely complain that you should be in code(\lyrics) mode to do lyrics. 
-
-dit(Lyric mode) Lyrics mode is introduced by the keyword
-code(\lyrics).  This mode is has rules that make it easy to include
-punctuation and diacritical marks in words.  A word in Lyrics mode
-begins with: an alphabetic character, code(_),
-code(?), code(!), code(:), code('), 
-the control characters code(^A) through code(^F), code(^Q) through
-code(^W), code(^Y), code(^^), any 8-bit character with ASCII code over
-127, or a two character combination of a backslash followed by one
-of code(`), code('), code(") or code(^).  
-Subsequent characters of a word can be any character that is not a
-digit and not white space.  One important consequence of this is that
-a word can end with code(}), which may be confusing if you thought the
-code(}) was going to terminate lyrics mode.  Any code(_) characters
-which appear in an unquoted word are converted to spaces, providing a
-mechanism for introducing spaces into words without using quotes.  
-Quoted words can also be used in lyrics mode to specify words that
-cannot be specified with the above rules.  Here are some examples.
-Not all of these words are printable by TeX().  
-verb(a&@&@&TSI|{[    % a word
-\'afoo}         % a word
-1THtrhortho     % not a word because it starts with a digit
-``Hello''       % not a word because it starts with `
-Leise DOEXPAND(Fl\)DOEXPAND("u\)ss{}teren meine Sapfe       % 4 words
-_ _ _ _         % 4 words, each one a space
-))
-
-It is possible to create words that break the rules by prefixing them with the
-dollar sign code($).  Regardless of the context, a word beginning with code($)
-extends until the next white space character.  Such words can contain numbers
-(even in Note mode), or other forbidden characters.  The dollar sign can be
-used to create and access identifiers that could not otherwise be used.  
-
-COMMENT(
-These modes are of a lexical nature. Normal and Note mode largely
-resemble each other, save the possibility of entering Reals, 
-meaning of code(_) and the resolution of words
-
-What's this about reals?  When can you enter them or not enter them?)
-
-
-sect(Note Description)
-label(notedesc)
-
-subsect(Basic Note Specification)
-
-A note specification has the form 
-var(pitch)[var(octavespec)][code(!)][code(?)][var(duration)].
-The pitch of the note is specified by the note's name.  
-
-LilyPond has predefined note names for various languages.  The default
-names are the Dutch note names.  The notes are specified by the
-letters code(c) through code(b), where code(c) is an octave below
-middle C and the letters span the ocatave above that C.  
-In Dutch, a sharp is formed by adding
-code(-is) to the end of a pitch name.  A flat is formed by adding code(-es).
-Double sharps and double flats are obtained by adding code(-isis) or
-code(-eses).  
-Lily has predefined sets of notenames
-for various nop(languages).  See Section ref(notelang) for details.
-Rests are specified with the note name code(r) or code(R).  
-There is also a note name code(s) which produces a nonprinting note of the
-specified duration.
-
-The optional octave specification takes the form of a series of single
-quote 
-code(') characters or a series of comma code(,) characters.  Each
-code(') raises the pitch by one octave; each code(,) lowers the pitch
-by an octave.  
-
-mudela(fragment,verbatim,center)(
-c' d' e' f' g' a' b' c''
-)
-
-mudela(fragment,verbatim,center)(
-cis' dis' eis' fis' gis' ais' bis'
-)
-
-mudela(fragment,verbatim,center)(
-ces' des' es' fes' ges' as' bes'
-)
-
-mudela(fragment,verbatim,center)(
-cisis' eisis' gisis' aisis' beses'
-)
-
-mudela(fragment,verbatim,center)(
-ceses' eses' geses' ases' beses'
-)
-
-Whenever a C-sharp is desired,  you must specify a C-sharp.  LilyPond
-will determine what accidentals to  typeset  depending on the  key and
-context.   
-A reminder accidental can be forced by
-using the  optional exclamation mark `code(!)'
-on the pitch.
-A cautionary accidental, i.e., an accidental within paranthesis
-can be obtained using the optional question mark `code(?)' on the pitch.
-mudela(fragment,verbatim,center)(
-cis' d' e' cis'  c'? d' e' c'!  
-)
-
-
-Durations are entered as their reciprocal values
-mudela(fragment,verbatim,center)(
-a'1 a'2 a'4 a a'8 a a'16 a'32 a'64
-)
-mudela(fragment,verbatim,center)(
-r1 r2 r4 r8 r16 r32
-)
-
-If the duration is omitted then it is set equal to the previous
-duration.  If there is no previous duration, then a quarter note is
-assumed.  
-The duration can be followed by a dot code(.) to obtain dotted note
-lengths.  
-mudela(fragment,verbatim,center)(
-a'4. b'4.
-)
-
-In addition, the duration can be followed by a multiplier which is
-introduced with the asterisk code(*) and can be an integer or a
-fraction.  The multiplier changes the duration that LilyPond uses
-internally for the note, but for notes it 
-does not change the symbol that is printed.  
-mudela(fragment,verbatim,center)(
-c'4*2 c'4*2 d'8*2/3 d'8*2/3
-)
-For long rests with durations equal to an integer number of whole notes,
-LilyPond produces output that indicates the duration of the rest.  If you use
-code(r) then one rest symbol will be printed and several measures left blank.
-If you use code(R) then all of the measure will be filled with whole rests.
-If you set the code(Score.SkipBars) property, then only one measure will be
-printed; with code(R), a number indicating the length of the rest will be
-displayed.  
-mudela(fragment,verbatim,center)(
-r1*3 R1*3
-\property Score.SkipBars=1
-r1*3 R1*3)
-
-Extra long notes can be obtained using the code(\breve) and
-code(longa) durations:
-mudela(fragment,verbatim,center)(
-c'\breve gis'\longa
-)
-
-
-subsect(Note Spanners: Beams, Tuplets, Slurs and Ties)
-
-A beam is specified by surrounding the beamed notes with brackets
-code([) and code(]).  
-mudela(fragment,verbatim,center)(
-[a'8 a'] [a'16 a' a' a']
-)
-
-[EXPLAIN TUPLETS HERE]
-
-Another type of spanner is the slur.  Slurs connects chords and try to
-avoid crossing stems.  A slur is started with code(CHAR(40)) and stopped with
-code(CHAR(41)).  The starting code(CHAR(40)) appears to the right of the first note
-in the slur.  The terminal code(CHAR(41)) apppears to the left of the first
-note in the slur.  This makes it possible to put a note in slurs from
-both sides:
-mudela(fragment,verbatim,center)(
-f'()g'()a' [a'8 b'(] a'4 g' )f'
-)
-
-A tie connects two adjacent note heads.  When used with chords, it
-connects all of the note heads.  Ties are indicated using the tilde symbol
-code(~) by analogy with TeX()'s tie which connects words.  
-
-mudela(fragment,verbatim,center)(
-e' ~ e' <c' e' g'> ~ <c' e' g'>
-)
-
-
-subsect(Note Ornaments)
-
-A variety of symbols can appear above and below notes to indicate
-different characteristics of the performance.  
-These symbols can be
-added to a note with `var(note)code(-\)var(name)'.  Numerous different
-symbols are defined in file(script.ly).  Each symbol is defined using
-the code(\script) keyword which specifies where symbols appear.
-Symbols can be forced to appear above the note by writing
-`var(note)code(^\)var(name)', and they can be forced to appear below
-by writing `var(note)code(_\)var(name)'.  Here is a chart showing
-symbols above notes, with the name of the corresponding symbol
-appearing underneath.  
-
-mudela()(
-\score{
- < \notes{ c''-\accent c''-\marcato c''-\staccatissimo f'-\fermata 
-          c''-\stopped c''-\staccato c''-\tenuto c''-\upbow c''-\downbow
-          c''-\lheel c''-\rheel  c''-\ltoe  c''-\rtoe  c''-\turn
-          c''-\open  c''-\flageolet  c''-\reverseturn 
-          c''-\trill
-          c''-\prall c''-\mordent c''-\prallprall  c''-\prallmordent
-          c''-\upprall c''-\downprall c''-\thumb}
-  \type Lyrics \lyrics{  
-        accent      marcato      staccatissimo fermata stopped
-           staccato tenuto upbow downbow lheel rheel ltoe rtoe  turn
-           open  flageolet reverseturn 
-             trill  prall
-           mordent prallprall prallmordent uprall  downprall thumb}>
-  \paper{linewidth  = 5.875\in;
-         indent = 0.0;
-        }
-}
-)
-
-COMMENT( The following are defined in script.ly but do not work:
-
-portato lbheel rbheel lbtoe rbtoe lfheel rfheel lftoe rftoe )
-
-In addition, it is possible to place arbitrary strings of text or
-TeX() above or below notes by using a string instead of an identifier:
-`code(c^"text")'.  Fingerings can be placed by simply using digits.
-All of these note ornaments appear in the printed output but have no
-effect on the MIDI rendering of the music.
-
-To save typing,  a few common symbols  can  be  abbreviated  with
-single characters:
-mudela()(
-\score{ \notes {
-        \property Voice.textstyle = typewriter
-        c''4-._"c-." s4
-        c''4--_"c-{}-"  s4
-        c''4-+_"c-+" s4
-        c''4-|_"c-|" s4
-        c''4->_"c->"  s4
-        c''4-^_"c-\\^{ }"  s4 }
-        \paper { linewidth = 12.\cm; }})
-
-Dynamic marks are specified by using an identifier after a note
-without a dash: code(c4 \ff).  Note that this syntax is inconsistent
-with the syntax for other types of ornaments.  The available dynamic
-marks are: code(\ppp), code(\pp), code(\p), code(\mp), code(\mf),
-code(\f), code(\ff), code(\fff), code(\fp), code(sf), and code(\sfz).
-
-A crescendo mark is started with code(\cr) and terminated with
-code(\rc).  A decrescendo mark is started with code(\decr) and
-terminated with code(\rced).  There are also shorthands for these
-marks.  A crescendo can be started with code(\<) and a decrescendo can
-be started with code(\>).  Either one can be terminated with code(\!).
-Note that code(\!) must go before the last note of the dynamic mark whereas
-code(\rc) and code(\rced) go after the last note.  Because these marks are
-bound to notes, if you want to get several marks during one note, you must use
-spacer notes. 
-mudela(fragment,verbatim,center)(
-c'' \< \! c''   d'' \decr e'' \rced 
-< f''1 {s4 \< \! s4 \> \! s2 } >)
-
-Tremolo marks can be printed by a note by adding code(:)[var(length)]
-after the note.  The length must be at least 8.  A var(length) value
-of 8 gives one line across the note stem.  
-If the length is omitted,
-then the last value is used, or the value of the code(Abbrev)
-property if there was no last value.  To place tremolo marks in
-between two notes, begin with code([:)var(length) and end with code(]).
-The tremolo marks will appear instead of beams.  Putting more than two
-notes in such a construction will produce odd effects. 
-
-[TREMOLO BEAMS TEMPORARILY OUT OF ORDER]
-
-COMMENT(mudela (fragment,verbatim,center)(
-c'2:8 c':32 [:16 e'1 g'] [:8 e'4 f']
-))
-
-COMMENT(
-Is the last paragraph correct?  Is it called "tremolo"?  Why is
-"abbreviation" used?  (What is the unabreviated form?)
-
-COMMENT(
-mudela (fragment,verbatim,center)(
-c'4:32 [:16 c'8 d'8]
-))
-
-)
-
-
-sect(Other Ways to Enter Pitches)
-
-subsect(Pitch Names in Other Languages)
-label(notelang)
-
-The pitch names can be easily redefined using the code(\notenames) command.
-Note name definitions have been provided in various languages.  
-Simply include the language specific init file.  For example:
-code(\include "english.ly").  The available language files and the names
-they define are:
-
-verb(                        Note Names               sharp       flat
-nederlands.ly  c   d   e   f   g   a   bes b   -is         -es
-english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat
-deutsch.ly     c   d   e   f   g   a   b   h   -is         -es
-norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es
-svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess
-italiano.ly    do  re  mi  fa  sol la  sid si  -d          -b)
-
-subsect(Relative Pitch Specification)
-label(relative)
-
-One very common error when entering music is to place notes in the wrong
-octave.  One way to avoid being confused by large numbers of octave changing
-marks is to use
-the code(\relative) keyword. 
-Music which appears within code(\relative) is
-interpreted differently.  The octave of a note is determined by making it as
-close to the previous note as possible.  The octave changing marks code(') and
-code(,) can then be added to raise or lower this note by octaves.  You have to
-specify a starting pitch because the first note of a list has no predecessor.  
-
-mudela(fragment,verbatim,center)(
-\relative c'' { c d b c, d b c' d 
-                b c,, d b }
-)
-
-When the preceeding item is a chord, the first note of the chord is used to
-determine the first note of the next chord.  But other notes within the second
-chord are determined by looking at the immediately preceeding note.  
-
-mudela(fragment,verbatim,center)(
-\relative c' { <c e g> 
-    <c' e g> <c, e' g> }
-) 
-
-The code(\relative) keyword can only appear in music, so there must be a
-surrounding code(\notes) keyword which does not appear in the fragments shown
-above.  Also note that if the music passed to a code(\relative) keyword 
-contains a code(\transpose) keyword, the tranposed music will not be
-processed in relative mode.  An additional code(\relative) must be placed
-inside the code(\transpose).  
-
-
-subsect(Tranposition of Pitches)
-label(transpose)
-
-Another way to modify the meaning of the note names is to use the
-code(\transpose) keyword.  This keyword allows you to transpose music.
-To use transposition, specify the pitch that middle C should be tranposed to.
-It is important to distinguish between enharmonic pitches as they can produce
-different transpositions.  To transpose up half a step, for example, either 
-code(\transpose cis') or code(\transpose des') will work.  But the first
-version will print sharps and the second version will print flats.  
-In this example, a scale in the key of E is transposed to F, or to E-sharp 
-with odd results.
-mudela(fragment,verbatim,center)(
-\relative c' { \key e; 
-  e fis gis a b cis dis e }
-)
-mudela(fragment,verbatim,center)(
-\transpose des' \relative c' { \key e; 
-   e fis gis a b cis dis e }
-)
-mudela(fragment,verbatim,center)(
-\transpose cis' \relative c' { \key e; 
-    e fis gis a b cis dis e }
-)
-If you want to use both code(\transpose) and code(\relative), then you must use
-code(\transpose) first.  Any code(\relative) keywords that are outside the 
-code(\transpose) have no effect on notes that appear inside the
-code(\transpose).  
-
-sect(Lyrics)
-
-Lyrics are entered like notes, with pitches replaced
-by text.  For example code(Twin-4 kle4 twin-4 kle4) enters four
-syllables, each with quarter note duration.  Note that the hyphen has
-no special meaning for lyrics, and does not introduce special symbols.
-See Section ref(modes) for a description of what is interpreted as a lyric.
-
-In order to instruct LilyPond to write lyrics underneath the
-staff, you must enter the lyrics context with code(\type Lyrics).  
-Lyrics should be entered in lyrics mode which is entered with code(\lyrics).
-
-Spaces can be introduced into a lyric either by using quotes (code("))
-or by using an underscore without quotes: code(He_could4 not4).  All
-unquoted underscores are converted to spaces.  Here is a full example: 
-mudela(verbatim)(\score{
-  <  \notes \transpose c'' {c d e c | c d e c | e f g'2 | 
-                              e'4 f g'2 \bar "|."; }
-     \type Lyrics \lyrics { 
-              DOEXPAND(Fr\)`e-4 re Ja- que DOEXPAND(Fr\)`e- re Ja- que
-              Dor- mez vous?2 Dor-4 mez vous?2  }
-  >
-})
-
-COMMENT(
-URG
-                        Fr\`e-4 re Ja- que
-                        Fr\`e- re Ja- que
-Why does this warrant an URG?
-)
-
-
-COMMENT(
-
-sect(Chords and Voices)
-
-Here's a simple chord
-mudela(fragment,verbatim,center)(
-<c e g>
-)
-
-here are a few
-mudela(fragment,verbatim,center)(
-<
-        { c'()d'()c' }
-        { e'()f'()e' }
-        { g'()a'()g' }
->
-)
-
-and similarly voices
-mudela(fragment,verbatim)(
-<
-        { \voiceone c'4 g' c' g' }
-        { \voicetwo c2 g2 }
->
-)
-
-)
-
-sect(Time)  
-
-LilyPond aligns all musical objects according to the amount of time
-they occupy.  All of these objects have a duration.  When music is
-written sequentially using braces the duration is the sum of the 
-durations of the elements.  When music is stacked into simultaneous music 
-using angle
-brackets, the duration is the maximum of the durations of the
-elements.  
-
-Because LilyPond knows the durations of all musical elements, the time
-signature enables LilyPond to draw bar lines automatically.  The time
-signature is specified with the code(\time) keyword: code(\time 3/4).
-If no time signature is given, LilyPond assumes 4/4.  The automatic
-generation of bar lines can toggled with the code(\cadenza) keyword,
-and an incomplete measure at the start of the music can be created
-using the code(\partial) keyword: code(\partial 8*2;) creates a
-starting measure lasting two eighth notes.
-
-In order to help with error checking, you can insert bar markers in
-your music by typing code(|).  Whenever LilyPond encounters a code(|)
-that doesn't fall at a measure boundary, she prints a warning message.
-
-Rhythmic grouping is  a concept closely associated with this. 
-A default grouping is selected for the chosen time signature.  
-The default consists of combinations of 2 and 3 beats with as many
-groups of 3 as possible, and the groups of 3 coming first.  For
-example, 4/4 is divided into 2+2 and 8/8 is divided into 3+3+2.  This
-default grouping can be changed using the \grouping keyword which
-takes a list of durations to specify the grouping. 
-
-
-COMMENT(
-sect(Composition: forming bigger structures)
-label(sec:grammar)
-
-The computer savy user may be interested in a more formal
-specification.  We can capture what have learned about forming
-sentences in Mudela in a context-free grammar.
-
-latexcommand(\smallskip)
-
-table(2)(lll)(
-        row(cell(em(Music))cell(: em(Note)))
-        row(cell()cell(code(|) em(Rest)))
-        row(cell()cell(code(|) code({) em(MusicList) code(})))
-        row(cell()cell(code(|) code(<) em(MusicList) code(>)))
-        row(cell()cell(code(|) em(Command)))
-        row(cell()cell(code(|) code(\type) em(string) code(=) em(string)  em(Music)))
-        row(cell()cell(;))
-        row(cell(em(MusicList))cell(: em(empty)))
-        row(cell()cell(code(|)  em(MusicList)  em(Music)))
-        row(cell()cell(;))
-)
-
-latexcommand(\smallskip)
-
-In mathematics you can form expressions by combining expressions,
-which are ultimately some kind of atom or terminal symbol.  The same
-goes for Mudela: there are some basic building blocks, and by
-combining those you create complex music.
-
-You can combine music in three ways:
-itemize(
-it()If you enclose a sequence of music-elements in braces ( code({)
-    and code(}) ), then you form another kind of music called
-sequential music
-    with those pieces.
-  The duration of sequential composition is the sum of the durations of its elements
-  verb(
-      { c c g g a a g2 }      % twinkle twinkle
-      { { c c g g} { a a g2 } }
-  )
-it()You can stack music by enclosing a sequence of music elements
-    with code(<) and code(>). This is called simultaneous music.  
-    The duration of a simultaneous composition is the maximum of the durations 
-    of its elements Example:
-    verb(
-        <a4 {cis8 cis8} e'4>      % a-major chord
-    )
-it()You can form music by transposing music:
-    verb(
-    \transpose  
-        d       % from c to the d that's almost one octave down
-                { e4 f4 }       % the horizontal music
-)
-it()verb(\type)
-it()verb(\property)
-it()verb(\translator)
-it()verb(\relative)
-)
-
-Of course you can also combine these three mechanisms.
-verb(
-{ c <c e> <c e g> <c e g \transpose d' dis > }  % 4 increasing chords
-)
-
-)
-
-
-sect(Keywords)
-
-Keywords sometimes appear alone, but usually they require arguments.
-A keyword may have a single argument, a sequence of arguments in
-braces, or a sequence of arguments separated by spaces and terminated
-by a semicolon.  The precise syntax of each keyword is shown below.
-Keywords must appear in the right context.  If you use a keyword in
-the wrong place, even if the usage is syntactically correct, you will
-get the message ``parse error'' from LilyPond.
-
-
-description(
-
-dit(code(\absdynamic) code({) var(code) code(})) Internal keyword for
-printing dynamic marks such as $f$ under music.  The parameter
-var(code) is unsigned and specifies the dynamic mark to print.
-Normally you should use the more user friendly abbreviations defined
-in the init file file(dynamic.ly).
-
-dit(code(\accepts) var(string)code(;)) This keyword can appear only within a
-code(\translator) block.  It specifies what contexts are allowed with the
-context that is being defined.  See Section ref(translators).  
-
-dit(code(\alternative) code({) var(music1) var(music2) ... code(}))
-Specifies alternative endings.  Must come after a code(\repeat) keyword.  
-
-dit(code(\bar) var(bartype)code(;)) Prints a special bar symbol, or at
-measure boundaries, replaces the regular bar symbol with a special
-symbol.  The argument var(bartype) is a string which specifies the
-kind of bar to print.  Options are code(":|"), code("|:"),
-code(":|:"), code("||"), code("|."), code(".|"), or code(".|.").
-These produce respectively a right repeat, a left repeat, a double
-repeat, a double bar, a start bar, an end bar, or a thick double bar.
-If var(bartype) is set to code("empty") then nothing is printed, but a
-line break is allowed at that spot.  Note that the printing of special bars
-has no effect on the MIDI output.
-
-dit(code(\cadenza) var(togglevalue)code(;)) Toggles the automatic generation
-of bar lines.  If var(togglevalue) is 0 then bar line generation is
-turne off.   If var(togglevalue) is  1  then a bar is  immediately
-printed and bar generation is turned  on.
-
-dit(code(\clef) var(clefname)code(;)) Allowed only in music.  
-Sets the current clef.  The argument is
-a string which specifies the name of the clef.  Several clef names are
-supported.  If code(_8) or code(^8) is added to the end of a clef
-name then the clef lowered or raised an octave will be generated.  
-Here are the supported clef names with middle C shown in each clef:
-mudela(center)(
-\score{
-  \notes{ \cadenza 1;
-   %\property Voice.textstyle = typewriter
-   \clef subbass; c'4-"\kern-10mm subbass" 
-           \clef bass;    c'4^"\kern -8mm bass"
-           \clef baritone; c'4_"\kern -10mm baritone"
-           \clef varbaritone; c'4^"\kern -10mm varbaritone"
-           \clef tenor;     c'4_"\kern -10mm tenor"
-           \clef "G_8";   c'4^"\kern -6mm G\_8"  }  
-   \paper{ linewidth= 4.5 \in; }
-}
-)
-mudela(center)(
-\score{
-  \notes{\cadenza 1; \clef alto;    c'4_"\kern -10mm alto"
-           \clef scarlatti;    c'4_"\kern -4mm scarlatti"
-           \clef mezzosoprano; c'4^"\kern -10mm mezzosoprano"
-           \clef soprano;  c'4_"\kern -10mm soprano"
-           \clef treble;  c'4^"\kern -6mm treble"
-           \clef french;  c'4_"\kern -10mm french" }  
-  \paper{ linewidth= 4.5 \in; }
-}
-)
-The treble  clef  can also  be obtained using  the  names code(G) or
-code(violin).  The bass clef is also available by code(\clef  F). 
-
-dit(code(\cm)) Specify a dimension in centimeters. 
-
-dit(code(\consists) var(string)code(;)) This keyword can appear only within a
-code(\translator) block.  It specifies that an engraver or performer named
-var(string) should be added to the translator.  See Section
-ref(translators).
-
-dit(code(\duration) code({) var(length) var(dotcount) code(})) Specify note
-duration.  The parameter var(length) is the negative logarithm (base
-2) of duration: 1 is a half note, 2 is a quarter note, 3 is an eighth
-note, etc.  The number of dots  after  the  note is given by
-var(dotcount). 
-
-dit(code(\font) var(string)) Internal keyword.  Used within
-code(\symboltables) to specify the font.
-
-dit(code(\grouping) var(durationseq)code(;))  Sets  the  metric structure of
-the measure.  Each argument specifies the duration of one metric unit.
-For example, code(\duration 16*5;) specifies a grouping of five beats
-together in 5/16 time.  The default grouping is to have as many groups
-of 3 as possible followed by groups of two.  
-
-dit(code(\header) code({) var(key1) = var(val1); var(key2) = var(val2); ... code(}))
-Specifies information about the music.  A header should appear at the
-top of the file describing the file's contents.  If a file has
-multiple code(\score) blocks, then a header should appear in
-each score block describing its contents.  Tools like code(ly2dvi) can
-use this information for generating titles.   Key values that are used
-by ly2dvi are: title, subtitle, composer, opus, poet, instrument,
-metre, arranger, and piece.  
-
-dit(code(\in)) Specify a dimension in inches.  
-
-dit(code(\include) var(file)) Include the specified file.  The
-argument var(file) is a string.  The full filename including the
-file(.ly) extension must be given, and the filename must be quoted.
-(An unquoted string will not work here.)
-
-dit(code(\key) var(pitch) var(type) code(;)) Change the key signature. 
-var(type) should be code(\major) or code(\minor) to get
-var(pitch)-major or var(pitch)-minor, respectively. The second
-argument is optional, the default is major keys. 
-The var(\type) argument can also be given as an integer, which tells
-the number of semitones that should be added to the pitch given in the
-subsequent code(\key) commands to get the corresponding major key,
-e.g. code(\minor) is defined as 3.
-
-dit(code(\keysignature) var(pitchseq)code(;))
-Specify an arbitrary key signature.  The pitches from var(pitch) will
-be printed in the key signature in the order that they appear on the list.
-
-dit(code(\lyrics) var(lyriclist)) Parse var(lyriclist) in lyrics mode.
-
-dit(code(\maininput)) Internal command.  This command is used for creating init
-files like file(init.fly) that read the user file into the middle of another
-file.  Using it in a user file will lead to an infinite loop.
-        
-dit(code(\mark) var(unsigned)code(;) or code(\mark) var(string)code(;)) 
-Allowed in music only.  Prints a mark over or under (depending on the
-code(markDirection) property) the staff.
-You must add code(Mark_engraver) to the Score context.
-
-dit(code(\midi) var(statementlist)) Appears in a score block to
-indicate that musical output should be produced and to set output
-parameters.  Can also appear at the top level to set default output
-parameters.  See code(\tempo).
-
-dit(code(\mm)) Specify a dimension in millimeters. 
-
-dit(code(\musicalpitch) code({) var(octave) var(note) var(shift) code(})) 
-Specify note pitch.  The octave is specified by an integer,
-zero for the octave containing middle C.  The note is a number from 0
-to 7, with 0 corresponding to C and 7 corresponding to B.  The shift
-is zero for a natural, negative to add flats, or positive to add
-sharps.
-
-dit(code(\name) var(context)code(;)) Appears within code(\translator) to
-specify the name of the context that the translator handles. See Section
-ref(translators).   
-
-dit(code(\notenames) var(assignmentlist)) Define new note names.  This
-keyword can appear only at the top level. 
-The argument is a list of definitions of  the form
-var(name) = var(pitch),  where var(pitch) is specified with the
-code(\musicalpitch) keyword.  
-
-dit(code(\notes) var(music)) Enter note mode and process the
-specified music. 
-
-dit(code(\)code(output) var(string)code(;)) Generate a parse error.
-
-dit(code(\paper) var(statmentlist)) 
-Appears in a score block to indicate that the music should be printed
-or to set output parameters.  Can also appear at the top level to set
-default output parameters for all of the score blocks.  
-The var(statmentlist) contains statements that change features of the
-output.  See Section ref(paper).  
-
-dit(code(\partial) var(duration)code(;)) Specify that the first measure of
-the music lasts only for the specified duration.
-
-dit(code(\penalty) code(=) var(int)code(;)) Allowed only in music.
-Discourage or encourage line breaks.  See identifiers code(\break) and
-code(\nobreak) in Section ref(ident). 
-
-dit(code(\property) var(contextname)code(.)var(propname) code(=) var(value))
-Sets the var(propname) property of the context var(contextname) to the
-specified var(value).  All three arguments are strings.  Depending on
-the context it may be necessary to quote the strings or to leave space
-on both sides of the dot. 
-
-dit(code(\pt)) Specify a dimension in points. 
-
-dit(code(\relative) var(pitch) var(music)) Processes the specified
-var(music) in relative pitch
-mode.  In this mode, the octave of a pitch is chosen so that the
-pitch is closest to the preceeding pitch.  
-The argument var(pitch) is
-the starting pitch for this comparision.  In the case of chords, the
-first note of a chord is used as the base for the first pitches in the next
-chord.  See Section ref(relative).
-
-dit(code(\remove) var(string)code(;)) Can appear only in a
-code(\translator) block.  Specifies that a performer or engraver named
-var(string) should be removed.  See Section ref(translators).  
-
-dit(code(\repeat) var(count) code({) var(music) code(}))
-Repeats the specified
-music var(count) times.  Alternative endings can be specified by adding a
-code(\alternative) keyword after the code(\repeat).  
-
-dit(code(\scm) var(scheme)code(;)) Embeds specified Scheme code.  
-
-dit(code(\scmfile) var(filename)code(;)) Reads Scheme code from the specified
-file.  
-
-dit(code(\score) var(statementlist)) Create a Score context.  This
-is the top level notation context.  
-COMMENT(this still needs work)
-
-dit(code(\script) code({) var(name) var(instaff) var(withstem)
-var(location) var(invertible) var(priority) code(})) This keyword is
-used the initialization file(script.ly) to define the various symbols
-that can appear above and below notes.  The first argument is the name
-of the symbol.  The second argument var(instaff) is 1 if the symbol
-follows the notehead into the staff and 0 if the symbol stays above or
-below the staff lines.  The third parameter var(withstem) is 0 if the
-symbol's placement does not depend on the stem direction; it is 1 if
-the symbol should be at the stem end of the note and it is -1 if the
-symbol should be at the note head end of the note.  The argument
-var(location) is set to 1 for symbols that always appear above the
-staff; it is -1 for symbols that appear below the staff.  If
-var(invertible) is set to 1 then the symbol can be inverted; otherwise
-it cannot.  The last argument var(priority) sets a priority for the
-order of placement of several symbols on a single note.
-
-dit(code(\shape) code(=) var(indent1) var(width1) var(indent2)
-var(width2) ... code(;)) Allowed only within code(\paper).  Each pair
-of var(indent) and var(width) values is a dimension specifying how far
-to indent and how wide to make the line.  The indentation and width of
-successive lines are specified by the successive pairs of dimensions.
-The last pair of dimensions will define the characeristics of all
-lines beyond those explicitly specified.
-
-COMMENT(First pair of dimensions seems to be skipped.  At least it is
-in the example file denneboom.ly.)
-
-dit(code(\skip) var(duration)code(;)) Skips the amount of time specified by
-var(duration).  A gap will be left for the skipped time with no notes
-printed.  It works in Note Mode or Lyrics Mode (but generates a
-mysterious error in lyrics).
-
-dit(code(\spandynamic) code({) var(kind) var(toggle) code(})) Internal
-keyword for crescendo and decrescendo symbols.  The first parameter
-var(kind) is set to 1 for a crescendo and -1 for a decrescendo.  The
-second parameter is set to 1 to start the mark and 2 to stop it.
-Users should use the abbreviations which are defined in the
-initialization file file(dynamic.ly).
-
-dit(code(\symboltables)) Internal keyword.  Used to create symbol
-tables.  See initialization files file(paper*.ly), file(feta*.ly), and
-file(table*.ly).  
-
-dit(code(\table)) Internal keyword.  Used within code(\symboltables)
-to specify the tables.  See initialization files. 
-
-dit(code(\tempo) var(duration) = var(perminute)code(;)) Used within
-code(\midi) or within music to specify the tempo.  For example, 
-`code(\midi { \tempo 4 = 76;})' requests output with 76 quarter notes
-per minute.  Note that if the music contains several tempo commands,
-only the last one is used to set the tempo for the entire MIDI output. 
-COMMENT(Is this true?)
-
-dit(code(\time) var(numerator)code(/)var(denominator)code(;)) Change the time
-signature.  The default time signature is 4/4.  
-
-dit(code(\times) var(numerator)code(/)var(denominator) var(music))
-Multiply the duration of var(music) by the specified fraction.
-
-dit(code(\translator) var(statements) or code(\translator)
-var(context) = var(name)) The first variant appears only within
-code(\paper) and specifies a translator for
-converting music to notation.  The translator is specified with a
-single code(\type) statement and a series of code(\accepts), and
-code(\consists) statements.  See Section ref(translators). 
-The second variant appears in 
-music.  It specifies that the current the contexts
-contained within the specified context should be shifted to the
-context with the specified name.  
-
-COMMENT( \translator seems like a strange name for the second
-operation, and is the overloading desireable? )
-
-dit(code(\transpose) var(pitch) var(music)) Transposes the specified
-music.  Middle C is tranposed to var(pitch).  This is allowed in music only,
-and if it appears inside code(\relative), then any notes specified for
-transposition should be specified inside another code(\relative).  See Section
-ref(transpose).  
-
-dit(code(\type) var(contexttype) [code(=) var(contextname)]
-var(music) or code(\type) var(translatortype)code(;)) The first
-variant is used only within music to create an instance of a
-context.  The new context can optionally be given a name.  The
-specified var(music) is processed in the new context. The second
-variant appears within a code(\translator) block and specifies the
-type of translator being created.
-
-dit(code(\version) var(string)) Specify the version of Mudela that a
-file was written for.  The argument is the version number, for example
-code("1.0.1").  Note that the Mudela version is different from the
-LilyPond version.
-
-)  
-
-
-sect(Notation Contexts)
-
-Notation contexts provide information that appears in printed music
-but not in the music itself.  A new musical context is created using
-the code(\type) keyword: `code(\type) var(contexttype) [code(=)
-var(contextname)] var(music)'.  The following context types are
-allowed.
-
-description(
-
-dit(code(LyricVoice)) Corresponds to a voice with lyrics.  Handles the printing
-of a single line of lyrics.  
-
-dit(code(Voice)) Corresponds to a voice on a staff.
-  This context handles the conversion of noteheads,
-  dynamic signs, stems, beams, super- and subscripts, slurs, ties and rests.
-
-dit(code(Lyrics)) Typesets lyrics.  It can contain code(LyricVoice) contexts.
-
-dit(code(Staff)) Handles clefs, bar lines, keys,
-  accidentals.  It can contain code(Voice) contexts.
-
-dit(code(RhythmicStaff)) A context like code(Staff) but for printing
-rhythms.  Pitches are ignored; the notes are printed on one line.  
-It can contain code(Voice) contexts. 
-
-dit(code(GrandStaff)) Contains code(Staff) or code(RhythmicStaff)
-contexts.  It adds a brace on the left side grouping the staffs
-together. The bar lines of the contained staffs are connected vertically.
-It can contain code(Staff) contexts.
-
-dit(code(StaffGroup)) Contains code(Staff) or code(RhythmicStaff)
-contexsts.  Adds a bracket on the left side, grouping the staffs
-together.  The bar lines of the contained staffs are connected vertically.
-It can contain code(Staff), code(RhythmicStaff), code(GrandStaff) or code(Lyrics) contexts.  
-
-dit(code(ChoirStaff)) Identical to code(StaffGroup) except that the
-contained staffs are not connected vertically.  
-
-dit(code(Score)) This is the top level notation context.  It is specified with
-the code(\score) keyword rather than the code(\type) command.  No
-other context can contain a code(Score) context.  This context handles
-the administration of time signatures.  It also makes sure that items
-such as clefs, time signatures, and key-signatures are aligned across
-staffs.  It can contain code(Lyrics), code(Staff),
-code(RhythmicStaff), code(GrandStaff), code(StaffGroup), and
-code(ChoirStaff) contexts.
-
-)
-
-The various contexts have properties associated with them.  These
-properties can be changed using the code(\property) command:
-`code(\property) var(context)code(.)var(propname) code(=) var(value)'.
-Properties can also be set within the code(\translator) block
-corresponding to the appropriate context.  In this case, they are
-assigned by `var(propname) code(=) var(value)'.  The settings made with
-code(\property) are processed after settings made in the code(\translator)
-block, so the code(\property) settings will override code(\translator)
-settings.  
-
-The code(\property) keyword will create any property you specify.
-There is no guarantee that a property will actually be used.  If you
-spell a property name wrong, there will be no error message.  In order to find
-out what properties are used, you must search the source code 
-for code(get_property).  
-Properties that are set in one context are inherited by all of the
-contained contexts.  This means that a property valid for the Voice
-context can be set in the Score context (for example) and thus take
-effect in all Voice contexts.  
-
-subsubsubsect(Lyrics properties)
-
-description(
-
-dit(code(textstyle)) Set the font for lyrics.  The available font
-choices are code(roman), code(italic), code(bold), code(large),
-code(Large), code(typewriter), and code(finger).  The code(finger)
-font can only display numbers.  Note also that you must be careful
-when using code(\property) in Lyrics mode.  Because of the way strings
-are parsed, either put quotes around the arguments to code(\property)
-or be sure to leave a space on both sides of the dot.
-
-dit(code(textalignment)) Controls alignment of lyrics.  Set to code(\left)
-to align the left end of the lyric with the note; set to code(\right) to
-align the right end of the lyric with the note.  Set to code(\center) to
-align the center of the lyric with the note.  
-
-)
-
-subsubsubsect(Voice properties)
-
-description(  
-
-dit(code("midi_instrument")) Sets the instrument for MIDI output.  This
-property name must be quoted because of the embedded underscore.  If
-this property is not set then LilyPond will use the code(instrument)
-property.  This must be set to one of the strings on the list of MIDI
-instruments that appears in Section ref(midilist).  If you use a
-string which is not listed, LilyPond will silently substitute piano. 
-
-dit(code(transposing)) Tranpose the MIDI output.  Set this property to
-the number of half-steps to transpose by.
-
-dit(code(ydirection)) Determines the direction of stems, subscripts,
-beams, slurs, and ties.  Set to code(\down) to force them down,
-code(\up) to force them up, or code(\free) to let LilyPond decide.
-This can be used to distinguish between voices on the same staff.  The
-code(\stemdown), code(\stemup), and code(\stemboth) identifiers set
-this property.  See also the identifiers code(\voiceone),
-code(\voicetwo), code(\voicethree) and code(\voicefour).
-
-dit(code(slurydirection)) Set to code(\free) for free choice of slur
-direction, set to code(\up) to force slurs up, set to code(\down) to
-force slurs down.  The shorthands code(\slurup), code(\slurdown), and
-code(\slurboth) are available.
-
-dit(code(tieYDirection)) Set to code(\free) for free choice of tie
-direction, set to code(\up) to force ties up, set to code(\down) to
-force ties down.  
-
-dit(code(slurdash)) Set to 0 for normal slurs, 1 for dotted slurs, and
-a larger value for dashed slurs.  Identifiers code(\slurnormal) and
-code(\slurdotted) are predefined to set the first two settings.
-
-dit(code(hshift)) Set to 1 to enable LilyPond to shift notes
-horizontally if they collide with other notes.  This is useful when
-typesetting many voices on one staff.  The identifier code(\shift) is
-defined to enable this.
-
-dit(code(dynamicdir)) Determines location of dynamic marks.  Set to
-code(\up) to print marks above the staff; set to code(\down) to print
-marks below the staff.
-
-dit(code(textalignment)) Controls alignment of superscripted and
-subscripted text.  Set to \left to align the left end of the text with
-the note; set to \right to align the right end of the text with the
-note.  Set to \center to align the center of the text with the note.
-
-dit(code(textstyle)) Set the text style for superscripts and
-subscripts.  See above for list of text styles.
-
-dit(code(fontsize)) Can be used to select smaller font sizes for
-music.  The normal font size is 0, and the two smaller sizes are -1
-and -2.
-
-dit(code(pletvisibility)) Determines whether tuplets of notes are
-labelled.  Setting to 0 shows nothing; setting to 1 shows a number;
-setting to 2 shows a number and a bracket if there is no beam; setting
-to 3 shows a number, and if there is no beam it adds a bracket;
-setting to 4 shows both a number and a bracket unconditionally.  
-
-dit(code(markScriptPadding)) Determines the extra space added between
-the mark and the closest staff line or note.
-
-dit(code(markDirection)) Determines if marks should be printed above
-or below the staff. Set to code(\up) to print marks above the staff;
-set to code(\down) to print marks below the staff.
-
-)
-
-subsubsubsect(Staff properties)
-
-description(
-dit(code(defaultClef)) Determines the default clef.  See code(\clef)
-keyword.
-
-dit(code(nolines)) Sets the number of lines that the staff has.
-dit(code(barAlways)) If set to 1 a bar line is drawn after each note.
-
-dit(code(defaultBarType)) Sets the default type of bar line.  See
-code(\bar) keyword.
-
-dit(code(keyoctaviation)) If set to 1, then keys are the same in all
-octaves.  If set to 0 then the key signature for different octaves can
-be different and is specified independently: code(\keysignature bes
-fis').  The default value is 1.  Can be set to zero with
-code(\specialkey) or reset to 1 with code(\normalkey).
-
-dit(code(instrument) and code(instr)) If code(Staff_margin_engraver)
-is added to the Staff translator, then the code(instrument) property
-is used to label the first line of the staff and the code(instr)
-property is used to label subsequent lines.  If the
-code(midi_instrument) property is not set then code(instrument) is
-used to determine the instrument for MIDI output.
-COMMENT(This prints the instrument name on top of the staff lines.)
-
-dit(code(abbrev)) Set length for tremolo to be used if no length is
-explicitly specified.
-
-dit(code(createKeyOnClefChange)) Set to a nonempty string if you want key
-signatures to be printed when the clef changes.  Set to the empty string (the
-default) if you do not want key signatures printed.
-
-
-dit(code(timeSignatureStyle)) Changes the default two-digit layout
-   for time signatures. The following values are recognized:
-   description(
-      dit(code(C)) 4/4 and 2/2 are typeset as C and struck C,
-      respectively. All other time signatures are written with two digits.
-      dit(code(old)) 2/2, 3/2, 3/4, 4/4, 6/4 and 9/4 are typeset with
-      old-style mensuration marks. All other time signatures are 
-      written with two digits.
-      dit(code(1)) All time signatures are typeset with a single
-      digit, e.g. 3/2 is written as 3.
-      dit(code(C2/2), code(C4/4), code(old2/2), code(old3/2),
-      code(old3/4), code(old4/4), code(old6/4) or
-      code(old9/4)) Tells Lilypond to use a specific symbol as time
-      signature.
-   )
-The different time signature characters are shown below with
-their names:
-mudela(fragment,center)(
-\relative c'' {
-\property Voice.textstyle = typewriter
-\property Staff.timeSignatureStyle = "C2/2"
-\time 2/2; a2^"C2/2" a2 
-\property Staff.timeSignatureStyle = "C4/4"
-\time 2/2; a2^"C4/4" a2 
-\property Staff.timeSignatureStyle = "old2/2"
-\time 2/2; a2^"old2/2" a2 
-\property Staff.timeSignatureStyle = "old3/2"
-\time 2/2; a2^"old3/2" a2 
-\property Staff.timeSignatureStyle = "old4/4"
-\time 2/2; a2^"old4/4" a2 
-\property Staff.timeSignatureStyle = "old6/4"
-\time 2/2; a2^"old6/4" a2 
-\property Staff.timeSignatureStyle = "old9/4"
-\time 2/2; a2^"old9/4" a2 
-}
-)
-
-
-)
-   
-
-
-subsubsubsect(GrandStaff properties)
-
-description( 
-
-dit(code(maxVerticalAlign)) Set the maximum vertical distance between
-staffs.
-
-dit(code(minVerticalAlign)) Set the minimum vertical distance between
-staffs.  
-
-)
-
-subsubsubsect(Score properties)
-
-description(
-
-dit(code(SkipBars)) Set to 1 to skip the empty bars that are produced
-by multimeasure notes and rests.  These bars will not appear on the
-printed output.  Set to zero (the default) to expand multimeasure
-notes and rests into their full length, printing the appropriate
-number of empty bars so that synrchonization with other voices is
-preserved.  COMMENT(meaning of "skip" here seems to be different from
-the meaning used for the keyword \skip.)
-
-dit(code(beamquantisation)) Set to code(\none) for no quantization.
-Set to code(\normal) to quantize position and slope.  Set to
-code(\traditional) to avoid wedges.  These three settings are
-available via code(\beamposfree), code(\beamposnormal), and
-code(\beampostraditional).
-
-dit(code(beamslopedamping)) Set to code(\none) for undamped beams.
-Set to code(\normal) for damped beams.  Set to code(\infinity) for
-beams with zero slope.  The identifiers code(\beamslopeproportional),
-code(\beamslopedamped), and code(\beamslopezero) each set the
-corresponding value.
-
-)
-       
-
-COMMENT(
-
-Mystery properties:
-
-bar-number-engraver.cc:  "barScriptPadding"  vertical space for numbers
-mark-engraver.cc:        "markScriptPadding" vertical space for marks
-span-bar-engraver.cc:    "singleStaffBracket" do single staffs get a bracket?
-bar-column-engraver.cc:  "barColumnPriority"        
-bar-number-engraver.cc:  "barNumberBreakPriority"   Control horizontal ordering
-mark-engraver.cc:        "markBreakPriority"      of bars, clefs, keysig
-staff-margin-engraver.cc:"marginBreakPriority"    etc.  Slated for revision
-)
-
-sect(Pre-defined Identifiers)
-label(ident)
-
-Various identifiers are defined in the initialization files to
-provide shorthands for some settings.  
-
-description(
-dit(code(\break)) Force a line break in music by using a large
-argument for the keyword code(\penalty). 
-dit(code(\center)) Used for setting textalignment property.  Is set to 0.
-dit(code(\cr)) Start a crescendo.
-dit(code(\decr)) Start a decrescendo.
-dit(code(\down)) Used for setting direction setting properties.  Is
-equal to -1.  
-dit(code(\f)) Print forte symbol on the preceeding note.
-dit(code(\ff)) Print fortissimo symbol on the preceeding note. 
-dit(code(\fff)) Print fortississimo symbol on preceeding note. 
-dit(code(\fp)) Print fortepiano symbol on preceeding note. 
-dit(code(\free)) Used for setting direction setting properties.  Is
-equal to 0.  
-dit(code(\Gourlay)) Used for setting the paper variable
-code(castingalgorithm).  Is equal to 1.0.  
-dit(code(\infinity)) Used for setting the Score.beamslopedamping
-property.  Is actually equal to 10000.  
-dit(code(\left)) Used for setting textalignment property.  Is equal to -1.
-dit(code(\major)) Used as the second argument of the code(\key)
-command to get a major key.
-dit(code(\minor)) Used as the second argument of the code(\key)
-command to get a minor key.
-dit(code(\mf)) Print mezzoforte symbol on preceeding note. 
-dit(code(\mp)) Print mezzopiano symbol on preceeding note. 
-dit(code(\nobreak)) Prevent a line break in music by using a large
-negative argument for the keyword code(\penalty). 
-dit(code(\none)) Used for setting Score.beamslopedamping and
-Score.beamquantisation properties.  Is equal to 0.
-dit(code(\normal)) Used for setting Score.beamslopedamping and
-Score.beamquantisation properties.  Is equal to 1.
-dit(code(\normalkey)) Select normal key signatures where each octave
-has the same key signature.  This sets the Staff.keyoctaviation property.
-dit(code(\p)) Print a piano symbol on preceeding note. 
-dit(code(\pp)) Print pianissimo symbol on preceeding note. 
-dit(code(\ppp)) Print pianississimo symbol on preceeding note. 
-dit(code(\rc)) Terminate a crescendo. 
-dit(code(\rced)) Terminate a decrescendo
-dit(code(\right)) Used for setting textalignment property.  Is set to 1.
-dit(code(\sf)) Print a ?? symbol on preceeding note. 
-dit(code(\sfz)) Print a ?? symbol on preceeding note. 
-dit(code(\shiftoff)) Disable horizontal shifting of note heads that collide.  
-Sets the Voice.hshift property.
-dit(code(\shifton)) Enable note heads that collide with other note heads
-to be shifted horiztonally.  Sets the Voice.hshift property.
-dit(code(\slurboth)) Allow slurs to be above or below notes.  This
-sets the Voice.slurydirection property. 
-dit(code(\slurdown)) Force slurs to be below notes. This sets the
-Voice.slurydirection property. 
-dit(code(\slurup)) Force slurs to be above notes.  This sets the
-Voice.slurydirection property.  
-dit(code(\specialkey)) Allow keys signatures do differ in different
-octaves.  This sets the Staff.keyoctaviation property.  
-dit(code(\stemboth)) Allow stems, beams, and slurs to point either
-direction.  This sets the Voice.ydirection property. 
-dit(code(\stemdown)) Force stems, beams, and slurs to point down.
-This sets the Voice.ydirection property. 
-dit(code(\stemup)) Force stems, beams and slurs to point up.  This
-sets the Voice.ydirection property. 
-dit(code(\traditional)) Used for setting the 
-Score.beamquantisation property.  Is equal to 2.  
-dit(code(\up)) Used for setting various direction properties.  Is
-equal to 1. 
-dit(code(\voiceone)) Enter Voice context called code(one) and force stems down.
-(See code(\stemdown).)
-dit(code(\voicetwo)) Enter Voice context called code(two) and force stems
-up. (See code(\stemup).)
-dit(code(\voicethree)) Enter Voice context called code(three) and force stems
-up.  
-dit(code(\voicefour)) Enter Voice context called code(four), force stems down
-and turn on horizontal shifting.  (See code(\stemdown) and code(\shifton).)
-dit(code(\Wordwrap)) Used for setting the paper variable
-code(castingalgorithm).  Equal to 0.0.  
-)
-
-
-sect(Output)
-label(output)
-label(paper)
-
-The output produced by LilyPond is controlled by the code(\paper) and
-code(\midi) keywords.  These keywords appear in the code(\score) block
-to indicate that printed or musical output should be produced.  If
-neither keyword appears in a code(\score) block, then paper output is
-produced but MIDI output is not produced.  
-
-The contents of the code(\paper) and code(\midi) blocks can change the
-output in various ways.  These blocks can appear at the top level of a
-Mudela file to set default parameters for each type of output.  It is
-still necessary to explicitly specify the output type in the
-code(\score) blocks if you don't want the default behavior of
-producing only paper output.  
-
-The code(\paper) and code(\midi) blocks 
-may begin with an optional identifier reference.  No
-identifier references are allowed anywhere else in the block.  
-The code(\paper) block can contain the code(\shape) keyword; the
-code(\midi) block can contain the code(\tempo) keyword.  Both of them
-can contain code(\translator) keywords.  The code(\paper) block can
-also contain identifier assignments and parameter assignments.  Unlike
-at the top level, these assignments must be terminated by a semicolon.
-
-
-subsect(Paper variables)
-
-There are a large number of paper variables that are used to control
-details of the layout.  Usually you will not want to change these
-variables; they are set by default to vaules that depend on the font
-size in use.  The only way to find out what variables are supported is
-to search the source code for code(get_var).  Two variables that you
-may want to change are code(linewidth) and code(indent).
-
-In order to change the font size used for the output, many variables
-need to be changed.  Some identifiers and initialization files can
-simplify this process.  The default size is 20pt.  In order to select
-a different size, you must do two things.  At the top level, do
-code(\include "paper)var(SZ)code(.ly") where var(SZ) is the height of
-the staff in points.  Values presently allowed are 11, 13, 16, 20, and
-26.  This loads some definitions, but does not cause them to take
-effect.  In order to actually change the size, you must use one of the
-identifiers: code(\paper_eleven), code(\paper_thirteen),
-code(\paper_sixteen), code(\paper_twenty) or code(\paper_twentysix)
-inside a code(\paper) block.
-
-
-description(
-  dit(var(integer)) If an integer appears on the left side of an
-assignment then a code(\symboltables) keyword must appear on the right
-side.  This defines a music font at a particular size.  See Voice
-property code(\fontsize).
-
-dit(code(arithmetic_basicspace) and code(arithmetic_multiplier))
-The space taken by a note is determined by the formula 
-COMMENT(
-
-)verb(arithmetic_multiplier * ( c + log2 (time) ))COMMENT(
-
-) where code(time) is the amount of time a note occupies.  The value
-of code(c) is chosen such that the smallest space within a measure is
-arithmetic_basicspace.  The smallest space is the one following the
-shortest note in the measure.  Typically arithmetic_basicspace is set
-to the width of a quarter note head.
-
-dit(code(barsize)) Specify height of bars.  This value may need to be
-adjusted if you change the number of lines in the staff.
-dit(code(beam_dir_algorithm)) Specify algorithm for determining
-whether beams go up or down.  It is real valued.  If set to 2.0 then
-majority selection is used.  If set to 3.0, then mean selection is
-used based on the mean center distance.  If set to 4.0 then median
-selection is used, based on the median center distance.  
-dit(code(beam_ideal_stem1))
-dit(code(beam_ideal_stem2))
-dit(code(beam_minimum_stem1))
-dit(code(beam_minimum_stem2))
-dit(code(beam_multiple_break))
-dit(code(beam_slope_damp_correct_factor))
-dit(code(beam_thickness)) Specify the thickness of beams.
-dit(code(castingalgorithm)) 
-dit(code(forced_stem_shorten)) Stems that have been forced to go the
-unnatural direction are shortened by this amount.  Equal to
-code(\interline) by default.  
-dit(code(gourlay_energybound))
-dit(code(gourlay_maxmeasures)) Maximum number of measures per line
-when using Gourlay method.
-Decreasing this greatly reduces computation time.  Default value: 10.  
-dit(code(indent)) Sets the indentation of the first line of music.  
-dit(code(interbeam))
-dit(code(interbeam4))
-dit(code(interline))  The distance between two staff
-lines, calculated from the center of the lines.  
-dit(code(linewidth))  Sets the width of the lines.  If it is set to
--1.0, then a single unjustified line is produced.  
-dit(code(notewidth)) Width of an average note head.  
-dit(code(output)) Specifies an alternate
-name for the TeX() output.  A file(.tex) extension will be added to
-the string you specify.
-dit(code(rulethickness)) Determines thickness of staff lines and bars. 
-dit(code(slur_clip_angle))
-dit(code(slur_clip_height))
-dit(code(slur_clip_ratio))
-dit(code(slur_height_limit)) Specifies the maximum height of slurs.
-Normally equal to staff_height.
-dit(code(slur_ratio)) Specifes the ratio of slur hight to slur width
-to aim for.  Default value is 0.3.  
-dit(code(slur_rc_factor))
-dit(code(slur_slope_damping)) Allows slurs to start and end at
-different heights ????  Default value is 0.5.
-dit(code(slur_thickness)) Specify slur thickness.  Equal to code(1.4 *
-\staffline) by default.  
-dit(code(slur_x_gap)) Horizontal space between note and slur.  Set to
-code(\interline / 5) by default.  
-dit(code(slur_x_minimum))
-dit(code(staffheight)) The height of the staff from the center of the
-bottom line to the center of the top line.  Equal to to code(4 * \interline).
-dit(code(stem_length)) Specify length of stems for notes in the staff
-that don't have beams.  
-dit(code(stemthickness)) Specifies the thickness of the stem lines.  
-dit(code(tie_slope_damping))
-dit(code(tie_x_minimum))
-)
-
-
-subsect(MIDI Instrument Names)
-label(midilist)
-
-The MIDI instrument name is set by the code(Staff."midi_instrument")
-property or, if that property is not set, the code(Staff.instrument)
-property.  The instrument name should be chosen from this list.  If
-string does not exactly match one from this list then LilyPond uses
-the default piano.
-
-COMMENT( acordina = accordion, tango accordian = concertina
-         distortion guitar = distorted guitar
-         orchestral strings = harp 
-         pan flute = wood flute? )
-
-verb("acoustic grand"               "contrabass"             "lead 7 (fifths)"
-"bright acoustic"              "tremolo strings"        "lead 8 (bass+lead)"
-"electric grand"               "pizzicato strings"      "pad 1 (new age)"
-"honky-tonk"                   "orchestral strings"     "pad 2 (warm)"
-"electric piano 1"             "timpani"                "pad 3 (polysynth)"
-"electric piano 2"             "string ensemble 1"      "pad 4 (choir)"
-"harpsichord"                  "string ensemble 2"      "pad 5 (bowed)"
-"clav"                         "synthstrings 1"         "pad 6 (metallic)"
-"celesta"                      "synthstrings 2"         "pad 7 (halo)"
-"glockenspiel"                 "choir aahs"             "pad 8 (sweep)"
-"music box"                    "voice oohs"             "fx 1 (rain)"
-"vibraphone"                   "synth voice"            "fx 2 (soundtrack)"
-"marimba"                      "orchestra hit"          "fx 3 (crystal)"
-"xylophone"                    "trumpet"                "fx 4 (atmosphere)"
-"tubular bells"                "trombone"               "fx 5 (brightness)"
-"dulcimer"                     "tuba"                   "fx 6 (goblins)"
-"drawbar organ"                "muted trumpet"          "fx 7 (echoes)"
-"percussive organ"             "french horn"            "fx 8 (sci-fi)"
-"rock organ"                   "brass section"          "sitar"
-"church organ"                 "synthbrass 1"           "banjo"
-"reed organ"                   "synthbrass 2"           "shamisen"
-"accordion"                    "soprano sax"            "koto"
-"harmonica"                    "alto sax"               "kalimba"
-"concertina"                   "tenor sax"              "bagpipe"
-"acoustic guitar (nylon)"      "baritone sax"           "fiddle"
-"acoustic guitar (steel)"      "oboe"                   "shanai"
-"electric guitar (jazz)"       "english horn"           "tinkle bell"
-"electric guitar (clean)"      "bassoon"                "agogo"
-"electric guitar (muted)"      "clarinet"               "steel drums"
-"overdriven guitar"            "piccolo"                "woodblock"
-"distorted guitar"             "flute"                  "taiko drum"
-"guitar harmonics"             "recorder"               "melodic tom"
-"acoustic bass"                "pan flute"              "synth drum"
-"electric bass (finger)"       "blown bottle"           "reverse cymbal"
-"electric bass (pick)"         "skakuhachi"             "guitar fret noise"
-"fretless bass"                "whistle"                "breath noise"
-"slap bass 1"                  "ocarina"                "seashore"
-"slap bass 2"                  "lead 1 (square)"        "bird tweet"
-"synth bass 1"                 "lead 2 (sawtooth)"      "telephone ring"
-"synth bass 2"                 "lead 3 (calliope)"      "helicopter"
-"violin"                       "lead 4 (chiff)"         "applause"
-"viola"                        "lead 5 (charang)"       "gunshot"
-"cello"                        "lead 6 (voice)")
-
-
-
-subsect(Translators)
-label(translators)
-
-The behavior of notation contexts is defined by the translators for
-those contexts.  The translator for a context specifies what notations
-are handled by the context, it specifies what other contexts the
-context can contain, and it sets property values for the context.  
-There are different translators for each type of output.  The
-translators for paper output are defined in file(engraver.ly).  The
-translators for MIDI output are defined in file(performer.ly).  
-
-The first thing that appears inside a code(\translator) definition is
-the type of the context being created.  This is specified with the
-code(\type) keyword: code(\type) var(typename)code(;).  After the type
-of the context is specified, property assignments, the code(\name)
-keyword and code(\consists), code(\accepts), and code(\remove)
-keywords can appear in any order.  The code(\name) keyword specifies
-the name of the context that is handled by the translator.  If the
-name is not specified, the translator won't do anything.  Each
-code(\accepts) keyword specifies what contexts can be contained inside
-this one.  The code(\consists) keywords specify which notations are
-handled by the context.  Each code(\consists) keyword specifies the
-name of an engraver (for paper ouput) or performer (for MIDI output)
-which handles a certain notation.  The code(\remove) keyword can be
-used to remove a performer or engraver from the translator.
-
-In the code(\paper) block, it is also possible to define translator
-identifiers.  Like other block identifiers, the identifier can only
-be used as the very first item of a translator.  In order to define
-such an identifier outside of code(\score), you must do
-verb(\paper{ foo=\translator{ ... }
-\score{
-  \notes{ ... }
-  \paper{ \translator{ \foo ... } }
-})
-
-Some All of the standard translators have predefined identifiers,  making
-it easy to redefine these contexts by adding or removing items. 
-The predefined identifiers are:  code(StaffContext),
-code(RhythmicStaffContext),  code(VoiceContext),  code(ScoreContext), code(ScoreWithNumbers)
-
-
-subsubsect(Paper Types and Engravers and Pre-defined Translators)
-
-Some pre-defined identifiers can simplify modification of translators.
-The pre-defined identifiers are:  
-description(
-dit(code(StaffContext)) Default Staff  context. 
-dit(code(RhythmicStaffContext)) Default RhythmicStaff  context. 
-dit(code(VoiceContext)) Default Voice  context.  
-dit(code(ScoreContext))  Default  Score context. 
-dit(code(ScoreWithNumbers)) Score  context with numbering at  the
-Score level.   
-dit(code(BarNumberingStaffContext)) Staff context with numbering  at
-the Staff level.  
-dit(code(HaraKiriStaffContext))  
-dit(code(OrchestralPartStaffContext))
-dit(code(OrchestralScoreContext))
-)
-Using these pre-defined values, you can remove  or add items to the
-translator verb(\paper{ \translator{ \StaffContext
-                     \remove Some_engraver;
-                     \consists Different_engraver;  }})
-      
-
-
-There are four types for paper translators:
-description(
-  dit(code(Engraver_group_engraver))
-  dit(code(Hara_kiri_line_group_engraver))
-  dit(code(Line_group_engraver_group))
-  dit(code(Score_engraver))  
-)
-COMMENT( The names of these types seem somewhat confusing. )
-
-The engravers for paper output are:
-
-description(
-dit(code(Abbreviation_beam_engraver))
-dit(code(Bar_column_engraver)) 
-dit(code(Bar_engraver)) Engraves bar lines.  Normally in code(Staff) and
-code(RhythmicStaff).  
-dit(code(Bar_number_engraver)) Engrave bar numbers.  These numbers
-appear at the start of each line.  Not normally in any translator.  Can
-be added to code(Score) for Score-wide numbering or to code(Staff) for
-numbering on each staff.  
-
-dit(code(Beam_engraver)) Handles beam requests by engraving beams.  Normally
-appears in the code(Voice) translator.  If omitted, then notes will be printed
-with flags instead of beams.
-
-dit(code(Beam_req_swallow_translator)) Swallows beam requests.  In
-code(LyricVoice).  
-dit(code(Clef_engraver)) Engraves the clef symbol.  Normally in code(Staff).
-dit(code(Collision_engraver))
-dit(code(Dot_column_engraver)) Engraves dots on dotted notes shifted to the
-right of the note.  Normally in code(Voice).  If omitted, then dots appear on
-top of the notes.  
-dit(code(Dynamic_engraver)) Engraves dynamics symbols.  Normally in code(Voice).
-dit(code(Font_size_engraver))
-dit(code(Key_engraver)) Engraves the key signature.  Normally in code(Staff).
-dit(code(Local_key_engraver))
-dit(code(Lyric_engraver)) Engraves lyrics.  Normally in code(LyricVoice).
-dit(code(Multi_measure_rest_engraver)) Engraves multi-measure rests that are
-produced with code(R).  Normally in code(Voice).
-dit(code(Piano_bar_engraver))
-dit(code(Pitch_squash_engraver)) Treat all pitches as middle C.  Used in
-code(RhythmicStaff).  Note that the notes move, but the locations of
-accidentals stay the same. 
-dit(code(Plet_engraver)) Engraves brackets and the number over tuplets.  In
-code(Voice).  
-dit(code(Plet_swallow_engraver)) Swallows tuplet requests without any output.
-In code(LyricVoice).  
-COMMENT( Should this be named Plet_req_swallow_translator? )
-dit(code(Priority_horizontal_align_engraver))
-dit(code(Repeat_engraver)) Handles repeats? In code(Staff) and 
-   code(RhythmicStaff).
-dit(code(Rest_collision_engraver)) Handles collisions of rests. In code(Staff).
-dit(code(Rest_engraver)) Engraves rests.  Normally in code(Voice).
-dit(code(Rhythmic_column_engraver))
-dit(code(Score_priority_engraver))
-dit(code(Script_engraver)) Handles note ornaments generated by code(\script).
-Normally in code(Voice).  
-dit(code(Separating_line_group_engraver))
-dit(code(Skip_req_swallow_translator))
-dit(code(Slur_engraver)) Engraves slurs.  Normally in code(Voice).
-dit(code(Span_bar_engraver)) Engraves lines across multiple staffs.  Normally
-in code(Staffgroup) and code(GrandStaff).  Removing this from code(StaffGroup)
-gives the definition of code(ChoirStaff).  
-dit(code(Span_score_bar_engraver))
-dit(code(Staff_group_bar_engraver))
-dit(code(Staff_margin_engraver)) Prints the name of the instrument
-(specified by code(Staff.instrument) and code(Staff.instr)) at the
-left of the staff.  
-dit(code(Staff_sym_engraver))
-dit(code(Stem_engraver)) Engraves stems.  Normally in code(Voice).
-dit(code(Ties_engraver)) Engraves ties.  Normally in code(Voice).
-dit(code(Time_signature_engraver)) Engraves the time signature.  Normally in
-code(Staff) and code(RhythmicStaff).
-dit(code(Timing_engraver)) Responsible for synchronizing timing information
-from staffs.  Normally in code(Score).  In order to create polyrhythmic music,
-this engraver should be removed from code(Score) and placed in code(Staff).
-dit(code(Tuplet_engraver)) Engraves tuplet brackets?  In code(Staff).
-dit(code(Vertical_align_engraver)) 
-)
-
-
-subsubsect(MIDI Types and Performers)
-
-The types available for  MIDI translators are:
-description(
-dit(code(Performer_group_performer))
-dit(code(Score_performer))
-dit(code(Staff_performer))
-)
-
-The performers for MIDI translators are:
-description(
-dit(code(Key_performer))
-dit(code(Time_signature_performer))
-dit(code(Note_performer))
-dit(code(Lyric_performer))
-dit(code(Swallow_performer))
-)
-
index d963065b217693aff26d0ec67aca6082986c473c..f8298855ce523302b46bbe4f86ae8be4a0de17ab 100644 (file)
@@ -183,8 +183,6 @@ verb(
 Options to configure include:
 
 description(
-dit(bf(--enable-guile))
-    Link in GUILE (experimental)
 dit(bf(--enable-printing))
     Enable debugging print routines (lilypond bf(-D) option)
 dit(bf(--enable-optimise))
index 1e13825347205e2a0bff095dcb525aef5318af7c..e4a952b2a51edada9eee3d9d93ef0a17c7518527 100644 (file)
@@ -294,9 +294,6 @@ also use
 Options to configure include:
 
 
---enable-guile
-     Link in GUILE (experimental)
-
 --enable-printing
      Enable debugging print routines (lilypond -D option)
 
@@ -342,13 +339,14 @@ Example: suppose I want to build with and   without  profil-
 ing.  Then I'd use the following for the normal build,
 
 
-           configure --prefix=~ --disable-optimise --enable-checking
-           make
-           make install
 
 
 
 
+           configure --prefix=~ --disable-optimise --enable-checking
+           make
+           make install
+
 
 and for the profiling version, I specify a different config-
 uration.
@@ -396,8 +394,6 @@ CAVEATS
 
 o    The -O2 option to gcc triggers a gcc bug on  DEC  Alpha
      in  dstream.cc.  You should turn off this flag for this
-
-
      file.
 
 
@@ -407,10 +403,6 @@ EXAMPLE
 This is what I type in my xterm:
 
 
-
-
-
-
           lilypond someinput.ly
           tex someinput.tex
           xdvi someinput&
@@ -459,9 +451,6 @@ sources.
 You can make the rpm by issuing
 
 
-
-
-
           rpm -tb lilypond-x.y.z.tar.gz
           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
 
diff --git a/NEWS b/NEWS
index 7944916b7923873cf63225cde6048531b3c28a62..9234df1a8efe73f5eea390d5aa591ad1460071b8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,40 +1,7 @@
---- ../lilypond-1.1.23.ms1/NEWS        Mon Jan 25 10:22:34 1999
-++ b/NEWS      Mon Jan 25 13:34:19 1999
-@@ -1,3 +1,7 @@
-pl 23.ms2
-       - property noteheadStyle
-       - first attempt to make harmonics : see input/test/harmonics.fly
-
- pl 23.ms1
-         - sinfonia.ly: several fixes
-       - dynamics--- ../lilypond-1.1.23/NEWS   Tue Jan 19 16:29:41 1999
-++ b/NEWS      Mon Jan 25 10:22:34 1999
-@@ -1,3 +1,13 @@
-pl 23.ms1
-        - sinfonia.ly: several fixes
-       - dynamics
-         * increased range pppppp to ffffff
-          * added sp, spp, sff, rfz
-         * example see input/test/tchaikovsky.ly
-         * updated dynamics in refman
+pl 24, Hacking Apart Together (Jan 25)
 
-*******
-
- pl 22.jcn4
-       - bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
-       - bf: :|, |:--- ../lilypond-1.1.23.jcn7/NEWS    Sun Jan 24 13:35:45 1999
-++ b/NEWS      Sun Jan 24 21:29:07 1999
-@@ -1,3 +1,6 @@
-pl 23.jcn8
-       - tfm reader; revamped code from fontutils-0.6
-
- pl 23.jcn7
-       - bf: piano-brace size (veels te simpel: kruis vingers tegen reject)
-       - crude autobeam stuff in mi2mu--- ../lilypond-1.1.23/NEWS      Tue Jan 19 10:29:41 1999
-++ b/NEWS      Sat Jan 23 20:13:39 1999
-@@ -1,3 +1,12 @@
 pl 23.jbr1
-        - scripts/ly2dvi.py: Windows 95 shell does not support redirection 
+        - scripts/ly2dvi.py: Windows 95 shell does not support redivrection 
           of stderr.  We now distribute ash and use it when needed.
         - stepmake/bin/package-zip32.sh: distribute ash, and guild ice-9/
           directory.  We build and distribute manpages in html format instead
@@ -42,31 +9,80 @@ pl 23.jbr1
         - Documentation/ntweb: Updated doco and now distributing as a self
           extracted binary with install script.
 
- pl 22.jcn4
-       - bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
-       - bf: :|, |:--- ../lilypond-1.1.23.jcn4/NEWS    Fri Jan 22 17:54:13 1999
-++ b/NEWS      Sat Jan 23 16:13:25 1999
-@@ -1,3 +1,6 @@
-pl 23.jcn5
-       - verder hakken aan repeat-engraver URG
-
- pl 23.jcn4
-       - hakken aan repeat-engaver
- --- ../lilypond-1.1.23.jcn3/NEWS      Thu Jan 21 18:57:17 1999
-++ b/NEWS      Fri Jan 22 17:54:13 1999
-@@ -1,3 +1,6 @@
-pl 23.jcn4
-       - hakken aan repeat-engaver
-
- pl 23.jcn3
-       - succussfully removed []s from wtk1-fugue2.ly
-       - bf + smarter autobeamerpl 23.mb1
+pl 23.hwn4
+       - bugfixes
+       - changed All_font_metrics to do TFM as well.
+       - changed init/ to ly/
+
+pl 23.jcn8
+       - tfm reader; revamped code from fontutils-0.6
+
+pl 23.hwn3
+       - {Bar numbers|staff margin stuff|marks} fixed using
+Bar_script_engraver as base class
+       - bf: PS points != Lily \pt 
+       - junked Bar_column_engraver
+       - junked Text_item and some old files.
+
+
+pl 23.jcn7
+       - bf: piano-brace size (veels te simpel: kruis vingers tegen reject)
+       - crude autobeam stuff in mi2mu
+       - brevis, longa chords: c1*2,*4
+       - mutopia/E.Satie/petite-ouverture-a-danser.ly
+       - prop: voltaVisibility
+       - more cello-suite-ii fixes:
+         * nice repeats
+         * removed all beams ifo auto-beamer
+       - bf's: autobeam
+       - junked dur2real; beamAutoEndx now as rational string: "1/2" 
+
+pl 23.hwn2
+       - _8 clef 
+       - junked #args symtable def.
+       - junked Text_item.
+       - moved Bar assembling into LilyPond
+       - junked symtables reads
+       - Lookup cleanups
+       - junked Symtable from init/table*
+
+pl 23.hwn1
+       - revamped Scarlatti K3-L378
+       - some more doco
+       - use interning/SCM for Scopes
+       - hanging on now works for breakables too.
+
+pl 23.jcn6
+       - chord fixes; notemode chord syntax changed: @c@ @c-7@
+       - fixed cello-suite ii
+       - bf's: auto-beamer; but nasty bug remains: input/bug/auto-beam.ly
+       - bf: extender
+       - (bit ugly) fix for lyric-chords
+       - fixed repeats (dankjewel lieverd)
+         * input/twinkle.ly
+         * input/star*.ly
+
+pl 23.jcn3
+       - succussfully removed []s from wtk1-fugue2.ly
+       - bf + smarter autobeamer
+
+pl 23.jcn2
+       - mi2mu: d-minor: des->cis, g-minor ges->fis
+
+pl 23.mb1
        - bf: Position and possible SIGSEGV in Mark_engraver
        - Added padding support in G_staff_side_item
        - bf: Correct direction of textual scripts. 
        - bf, lookup.cc: Fewer warnings about missing text styles. 
             Same units used in all .afm files.
 
+pl 22.jcn5
+       - auto-beaming v0: input/test/auto-beam.ly
+
+
+
+***********
+
 pl 22.jcn4
        - bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
        - bf: :|, |:
diff --git a/TODO b/TODO
index 0b99e57ba41c1773229d9e21279698398fa1fe1b..30d5c972c8860aa62082e977c60a357453876ef4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,31 +7,42 @@ done, or is an idea that I want to think about
 Most of the items are marked in the code as well, with full explanation. 
 grep for TODO and ugh/ugr/urg
 
+**************
+I also found a few bugs:
 
-* check out PS points vs. LilyPond points (PS = 1/72 inch, LilyPond=1/72.27)
+* The examples in input/test/bar-scripts.ly and score-bar-scripts.ly
+  don't work. The problem seems to be that you can't define a 
+  a score identifier and then use it in the \score block.
 
 * Instrument names in the margin. Example: 
   input/test/hara-kiri.ly. The text should of course
   be to the left of the staff lines.
+**************
+
+       * check widths of TFM, something's wrong here. 
+
+       * hang Item on Spanner
+
+       * junk Text_def, use G_text_item in stead.
+
+       * remove Interval dim_ from Dimension_cache and rename the struct.
+
+       * do --safe for PS output?
+
+       * staff_margin (with a partial measure.)
+
+       * fix "I've been drinking too much"
+
+       * add scripts to bars eg.  |^"bla" 
+
+       * fix Staff_margin_engraver.
+
+       * fix pletvisibility properties:
+         - bracket on/off/no-bracket-when-beam
+         - num on/off/no-num-when-beam
+
+       * fix: standchen.
 
-* There is a bug in pl 22. Try /input/test/slurs.ly and 
-  you will find '#.#' instead of real numbers at some
-  places in the empedded ps code.
-
-* (Annoying but not a bug:) Slurs that are broken at line 
-  breaks often extend too far into the margin, both to the 
-  left and to the right. How do you adjust it?
-
-* SkipBars=0 doesn't work. My score contains lots of 
-  multibar rests, which should be written out bar by bar
-  in the score (where the 'harakiri' mechanism doesn't
-  remove full staff lines that only contain rests).
-  In the parts, the multibar rests should be split
-  by the rehearsal marks I've included every here and 
-  there.
-  In short, I want the multibar rests to work as they
-  used to do before pl 20 but preferably with a nice
-  centered rest symbol. 
        * junk backlinks?
 
        * junk text{sharp,flat,etc}
@@ -42,21 +53,6 @@ grep for TODO and ugh/ugr/urg
 
        * decimal point in \paper {}
 
-       > I have changed Mark_engraver to use the G_... classes.
-       > My implementation has the following shortcomings at the
-       > moment.
-       > 
-       > - markScriptPadding is not supported, since G_staff_side_item does not
-       >   support padding.
-       > 
-       > - markBreakPriority is not supported. 
-       > 
-       > - Mostly, you want the marks aligned with the bar lines. I don't 
-       >   really understand how to implement that feature.
-       > 
-       > - You get lots of warnings about missing 'number' and 'Large'
-
-
        *{  \voiceone <a'4.*2/3  d''4.*2/3 fis''4.*2/3>  [g''8 fis'' e''] d''4 |}
         and=20
         { \voicetwo  d'4 d'2.*2/3 } spacing
@@ -66,31 +62,21 @@ grep for TODO and ugh/ugr/urg
        * sharp /flat on trills (in MIDI ??)
 
        * scm-ify \property values.
-- The direction of textual scripts ('^' or '_') is ignored.
-       * move class Lookup {} into scm
-
-       * read tfms too.
 
-       * update mi2mu for lilypond 1.1
+       * move class Lookup {} into scm
 
 BUGS:
+
        * collisions/voices \voiceone \voicetwo are broken; see 
          input/praeludium-fuga-E.ly
          mutopia/J.S.Bach/wtk1-fugue2.ly
 
-       * fix: standchen.
-
-       * fix:  cello suites
-
-       * fix:  text on rests: rediculous dims
-
-       * fix extender
+       * fix: text on rests: rediculous dims
 
-       * fix fingering 'a-5': font direction broken *again*
-
-       * fix braces
-
-       * ly2dvi barfs on linewidth = -1.
+       * ly2dvi
+         - barfs on linewidth = -1.
+         - bottomnote for ly2dvi
+         - deps for ly2dvi
 
        * fix midi output:
           - default duration?  duration must be not entered
@@ -107,9 +93,6 @@ BUGS:
        * fix height of / collisions with lyrics (chords), 
           see input/test/vertical-text.ly; input/test/repeat.ly
 
-       * repeat/volta:
-         - one volta spanner per score
-
        * latex bla.tex broken (titles / \lilyfooter stuff?)
 
        * check/set minimum slur/tie length
@@ -172,11 +155,11 @@ STUFF
 
        * Align_element::padding  ?
 
-       * uniformise property names.
-
-       * ydirection <-> yDirection
-
-       * typo checks on property names?
+       * uniformise property names...
+         - ydirection <-> yDirection
+         - rather allow '_' in identifiers first (i.e. junk ^ and _),
+           and do y_direction?
+         - typo checks on property names?
 
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
@@ -205,8 +188,6 @@ STUFF
 
        * mi2mu empty staffs.
 
-       * midi_instrument -> midiInstrument
-
        * horizontal centering of dynamics 
 
        * \font\fontA=feta20.afm (.afm?)
@@ -256,7 +237,7 @@ ydirection and hshift preset
        - NEWS: ... Musical_pitch (analogous to Duration and Rhythmic_req)
          think about, analogous to pitch: 
           * { a4 a16 } c <-- duration of c?
-          * <a4 b8> c <-- duration of c?
+          * < a4 b8 > c <-- duration of c?
 
        * \tempo 4. = 90;
 
@@ -270,8 +251,6 @@ ydirection and hshift preset
 
        * add a Duration_convert member to Duration_iter to set parameters.
        Junk global duration settings. 
-       * deps for ly2dvi
 
        * minimum length second part broken tie
  
@@ -307,16 +286,13 @@ ydirection and hshift preset
        * check for groff / troff/ nroff et
 
        * more intelligent file searching
-       - make LilyPond RPM fully relocatable
 
-       * nicen examples:
-       - break-up heavily-nested score blocks
+       * make LilyPond RPM fully relocatable
 
        * disable spaces in TeX stuff
        
        * handle ^C for tmp/file creation.
 
-       
        * dots & rest collisions.
 
        * documentation
@@ -346,51 +322,46 @@ ydirection and hshift preset
 
        * integrate midi-elts from mi2mu and lily?
 
-       * score-bar-scripts
-       FMR: Free memory read:
-         * This is occurring while in:
-               Bar_column::do_substitute_dependency(Score_element*,Score_element*) [bar
-       -column.cc:29]
-               Score_element::unlink() [score-elem.cc:383]
-               Paper_score::set_breaking(const Array<Column_x_positions>&) [p-score.cc:
-       150]
-               Paper_score::calc_breaking() [p-score.cc:189]
-               Paper_score::process() [p-score.cc:203]
-               Score::run_translator(Music_output_def*) [score.cc:117]
-         * Reading 4 bytes from 0x65d3a0 in the heap.
-         * Address 0x65d3a0 is 160 bytes into a freed  block at 0x65d300 of 208 bytes.
-         * This block was allocated from:
-               malloc         [rtlib.o]
-               __builtin_new  [libgcc.a]
-               Span_score_bar::clone()const [span-score-bar.hh:20]
-               Item::copy_breakable_items() [item.cc:69]
-               Item::do_breakable_col_processing() [item.cc:89]
-               Score_element::calcalute_dependencies(int,int,void(Score_element::*)()*)
-        [score-elem.cc:171]
-         * There have been 22 frees since this block was freed from:
-               free           [rtlib.o]
-               __builtin_delete [libgcc.a]
-               Span_score_bar::~Span_score_bar() [span-score-bar.hh:18]
-               Paper_score::set_breaking(const Array<Column_x_positions>&) [p-score.cc:
-       156]
-               Paper_score::calc_breaking() [p-score.cc:189]
-               Paper_score::process() [p-score.cc:203]
-       Postprocessing elements... 
-       TeX output to score-bar-scripts.tex...
-
 
 3RD PARTY BUGS:
+****************
+/*
+ICE
+*/
+signature S {
+  int foo ();
+};
 
-       * make GCC warn about ctor that leaves member vars  uninitialised.
+signature V {
+  S * s();
+};
 
-       * redhat (v?) graphical install bomb-out?
 
-       * GNU diff 2.7: diff -rN does not see a new directory with empty file
+V*v();
+f ()
+{
+  return v( )->foo ();
+}
+
+/*
+
+  egcs-1.1
 
-       * GNU patch 2.1: <must find simple example> if patch chokes on a
-         hunk, or on allegedly unsorted hunks in a diff, it may stop 
-         without a trace of failure (create .rej file, print error or 
-         dump core) and just ignore any further diffs.
+foo.cc: In function `int f()':
+foo.cc:6: label `b' used but not defined
+*/
+void
+f ()
+{
+  bool b;
+  if (b && && b)
+        ;      
+}
+***************
+
+       * make GCC warn about ctor that leaves member vars  uninitialised.
+
+       * GNU diff 2.7: diff -rN does not see a new directory with empty file
 
        * glibc 2.0:
 
@@ -399,8 +370,6 @@ ydirection and hshift preset
 
 3RD PARTY PROJECTS:
 
-       * GNU indent: handle C++
-
        * GNU patch 
          - 'double-fix' mode: ignore identical fix, rather than suggest 
            to revert patch direction when (more or less? exactly) the same 
@@ -507,8 +476,6 @@ PROJECTS
        - quiet/ignore-version options
        - logfile output
 
-       * piano staff
-
        * elaborate Staff_side baseclass:
        - scripts
        - text
@@ -519,7 +486,6 @@ PROJECTS
        - PS lines to .eps files
        - write custom prolog
 
-
        * Output an output format independent (ofi) typeset file; and 
          make ofi2 TeX, MusiXTex, Display PostScript, PostScript,
          Ascii... interpreters. (difficult)
@@ -571,8 +537,6 @@ PROJECTS
        - saving them
        - specify number of lines
 
-       * markers
-
 INPUTLANGUAGE
 
        * c4 4 4 4 for c4 c4 c4 c4?
@@ -659,13 +623,6 @@ IDEAS
 
        * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
 
-       * use an embedded language: Python, Scheme
-       for:
-               - Score_elems
-               - Translators
-
-       * y -dims in internote? Staff-space? X-dimensions?
-
        * Spacing_request for manually adjusting spacing
 
        * caching breakpoints
diff --git a/VERSION b/VERSION
index 3559b6d9235c2f357e961f3f158335860ec63f92..56d25e8daf2bf4844732925fb785ede5de8c4eda 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=23
-MY_PATCH_LEVEL=ms2
+PATCH_LEVEL=24
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 88eaf5d612c8bc3c276d5becde079271ddc9f7bf..4d4b505197d1469b1b98914af14595ac21b90224 100644 (file)
@@ -112,7 +112,7 @@ class Indentable_file(File):
 
 class Afm_file (File):
     def print_f_dimen(self, f):
-       f = f 
+       f = f * 1000
     
        dimstr = '%.2f' % f
 
index 6e698cdc85bb1919225cc986f7fa51de6da01fa7..f819163aa5204a3f9588d03ad32d4dbe4bf27a6e 100755 (executable)
@@ -6,6 +6,7 @@ PACKAGE_NAME=LilyPond
 export PACKAGE_NAME
 prefix=$HOME/usr
 sources=$prefix/src
+
 #
 #
 . ./stepmake/bin/package-zet.sh
@@ -47,9 +48,8 @@ ln -sf $LILYPOND_SOURCEDIR/scripts/out/mudela-book $prefix/bin/mudela-book
 chmod 755 $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh
 ln -sf $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh $prefix/bin/ps-to-gifs
 ln -sf $LILYPOND_SOURCEDIR/mf/out/ afm
-mkdir -p $prefix/share/lilypond
-ln -sf $LILYPOND_SOURCEDIR/ $prefix/share/lilypond
-rm $prefix/share/lilypond
+mkdir -p $prefix/share/
+ln -sf $prefix/lilypond/ $sources/lilypond
 
 if [ -f ../.gdbinit ];
 then
index c7db1bd6ce9cc8009a2282fa664a28a634aa35aa..a13bedba995ded4d120ddbe5acb61b6fc161486a 100644 (file)
--- a/dstreamrc
+++ b/dstreamrc
@@ -3,7 +3,7 @@
 # the debugging.
 
 # class name           silence?
-Dstream                        1
+Dstream                        0
 
 # yydebug
 InitParser             1
@@ -27,14 +27,20 @@ Vector                      1
 # lily
 Absolute_dynamic_req   1
 Atom                   1
-Axis_group_administration      0
+Axis_group_administration      1
+Axis_group_spanner     1
+Auto_beam_engraver     0
+Audio_column           1
+Audio_element          1
+Audio_item             1
+Audio_note             1
 Bar                    1
 Bar_req                        1
-Beam                   0
+Beam                   1
 Bezier                 1
 Bezier_bow             1
 Bezier_bow_controls    1
-Bezier_controls                0
+Bezier_controls                1
 Bow                    1
 Change_iterator                1
 Change_translator      1
@@ -48,13 +54,14 @@ Collision           1
 Column_info            1
 Column_rod             1
 Duration_identifier    1
-Engraver               0
-Engraver_group_engraver 0
+Engraver               1
+Engraver_group_engraver 1
 General_script_def     1
 Graphical_element      1
+Graphical_axis_group   1
 Group_change_req       1
 Guile                  1
-Head_column            0
+Head_column            1
 Horizontal_align_item  1
 Horizontal_group_item  1 
 Idealspacing           1
@@ -62,40 +69,42 @@ Identifier          1
 Ineq_constrained_qp    1
 Input_translator       1
 int_identifier         1
-Item                   0
+Item                   1
 Key_item               1
 Lookup                 1
 Line_spacer            1
 Melodic_req            1
 Midi_def               1
-Midistrings            0
+Midistrings            1
 Mixed_qp               1
 Music                  1
 Musical_pitch          1
 Music_iterator         1
 Music_output_def       1
-Note_column            0
+Note_column            1
 Note_head              1
 Note_performer         1
 Note_req               1
-Paper_column           0
+Paper_column           1
 Paper_score                    1
 Paper_def              1
+Partial_measure_req    1
+Performance            1
 Performer              1
 Performer_group_performer      1
 Real_identifier                1
 Request                        1
 Request_iterator       1
 Rest_collision         1
-Rest_collision_engraver 0
+Rest_collision_engraver 1
 Rest_req               1
-Rhythmic_head  0
+Rhythmic_head  1
 Rhythmic_req           1
 Scope                  1
-Score                  0
-Score_column           0
-Score_element          0
-Score_engraver         0
+Score                  1
+Score_column           1
+Score_element          1
+Score_engraver         1
 Score_performer                1
 Script_column          1
 Script_def             1
@@ -112,8 +121,10 @@ Skip_req           1
 Staff_commands         1
 Staff_symbol           1
 Stem                   1
-Stem_info              0
+Stem_info              1
 Stem_req               1
+String_identifier      1
+Relative_octave_music  1
 Symtable               1
 Symtables              1
 
@@ -121,9 +132,10 @@ Text_def           1
 Text_item              1
 Text_req               1
 Time_description       1
-Translation_property   0
-Translator             0
-Translator_group       0
+Time_signature_change_req      1
+Translation_property   1
+Translator             1
+Translator_group       1
 Voice                  1
 Voice_iterator         1
 Word_wrap              1
index b541681e87364a77be3de64f1d35fc5d45d092cd..c2fd954a8fc0d6dea71e6c6c7289b3e14be72518 100644 (file)
@@ -19,7 +19,7 @@ unsigned long prime_list (int idx)
   return my_prime_list [idx];
 }
 
-unsigned int hash (String s)
+unsigned int string_hash (String s)
 {
   const char* str = s.ch_C ();
   unsigned int result = 0;
@@ -37,7 +37,9 @@ unsigned int hash (unsigned int i)
   return i;
 }
 
-unsigned int hash (int i)
+unsigned int int_hash (int i)
 {
   return (unsigned) i;
 }
+
+unsigned int hash ( ); 
index 33531e584c442b402d9d6adf807cc93ae434d15b..55176ae9f09284dcbb3eb889edec77922beafdd1 100644 (file)
 #define DICTIONARY_ITER_HH
 
 #include "dictionary.hh"
+#include "hash-table-iter.hh"
 
-template<class K, class V>
-class Hash_table_iter
-{
-  Hash_table<K,V> *dict_l_;
-  int i;
-public:
-  Hash_table_iter(Hash_table<K,V> const &dict)
-    {
-      i =0;
-      dict_l_ =(Hash_table<K,V> *) & dict;
-      next_used ();
-    }
-
-  bool ok ()
-    {
-      return i < dict_l_->fixed_p_->dict_arr_.size ();
-    }
-
-  void next_used ()
-    {
-      while (ok () && dict_l_->fixed_p_->dict_arr_[i].free_b_)
-       {
-         i ++;
-       }
-    }
-  void operator ++(int)
-    {
-      i++;
-      next_used ();
-    }
-
-  K key ()
-    {
-      return dict_l_->fixed_p_->dict_arr_[i].key_;
-    }
-  V val () 
-    {
-      return dict_l_->fixed_p_->dict_arr_[i].value_;      
-    }
-  V &val_ref ()
-    {
-      return dict_l_->fixed_p_->dict_arr_[i].value_;      
-    }
-};
 
 template<class V>
 class Dictionary_iter<V> : public Hash_table_iter<String,V>
index c9b5775f1b7d43ba5460e22dd4874eba23ddeef3..ceaaa496b37e4161c64f6e9ebd8c0777a20fcf6a 100644 (file)
 #include "string.hh"
 #include "array.hh"
 
-unsigned long prime_list (int idx);
-template<class K, class V>
-struct Hash_table_entry
-{
-  K key_;
-  V value_;
-  bool free_b_;
+#include "hash-table.hh"
 
-  Hash_table_entry() {
-    free_b_ = true;
-  }
-  Hash_table_entry (K s, V v)
-    {
-      key_ = s;
-      value_ = v;
-      free_b_ = false;
-    }
-};
 
-unsigned int hash (String);
-unsigned int hash (int);
+unsigned int string_hash (String);
+
 
 template<class V>
 struct Dict_initialiser
@@ -42,188 +26,18 @@ struct Dict_initialiser
   V value_;
 };
 
-/**
-   A hash table of prime size.
-
-   We use quadratic probing.  
- */
-template<class K, class V>
-class Fixed_size_hash_table
-{
-public:
-  Array<Hash_table_entry<K,V> > dict_arr_; 
-  int size_idx_;
-  Fixed_size_hash_table (int size_idx)
-    {
-      size_idx_ = size_idx;
-      int sz = prime_list(size_idx_);
-      dict_arr_.set_size (sz);
-    }
-
-  /// find #s#, or find first empty entry corresponding to #s#
-  int lookup  (K s)
-    {
-      int sz =dict_arr_.size ();
-      int i = hash (s) % sz;
-      int j = 0;
-      while (j <= sz/2) {
-       if (dict_arr_[i].free_b_)
-         return i;
-           
-       if (dict_arr_[i].key_ == s)
-         return i;
-
-       j++;
-       i = (i + j*j) % sz;
-      }
-
-      return -1;
-    }
-
-  /// remove #s# from the hash table.  
-  V remove (K s)
-    {
-      assert (false);          // Untested routine.
-      int sz =dict_arr_.size ();
-      int i = hash (s) % sz;
-      int j = 0;
-      V retval;
-      while (j <= sz/2 && dict_arr_[i].key_ != s)
-       {
-         assert (!dict_arr_[i].free_b_);
-           
-       
-         j ++;
-         i = (i + j*j) % sz;
-       }
-
-      j++;
-      int nexti = (i + j*j) % sz;
-
-      while (j <= sz/2 && !dict_arr_[i].free_b_)
-       {
-         dict_arr_[i] = dict_arr_[nexti];
-         j++;
-         i = nexti;
-         nexti = (nexti + j*j)%sz;
-       }
-      
-      return retval;
-    }
-};
-
-/**
-   Hash table with sliding sizes. 
- */
-template<class K, class V>
-class Hash_table
-{
-  Fixed_size_hash_table<K,V> * fixed_p_;
-
-  /// set size to next prime, and copy contents
-  void enlarge ()
-    {
-      Fixed_size_hash_table<K,V> *f = new Fixed_size_hash_table<K,V> (fixed_p_->size_idx_ +1);
-      for (int i=0; i < fixed_p_->dict_arr_.size(); i++)
-       {
-         if (fixed_p_->dict_arr_[i].free_b_)
-           continue;
-
-         K nm (fixed_p_->dict_arr_[i].key_);
-         int nl = f->lookup (nm);
-         
-         f->dict_arr_[nl] = Hash_table_entry<K,V> (nm, fixed_p_->dict_arr_[i].value_);
-       }
-      delete fixed_p_;
-      fixed_p_ = f;
-    }
-public:
-  Hash_table ()
-    {
-      fixed_p_ = new Fixed_size_hash_table<K,V> (0);
-    }
-  ~Hash_table ()
-    {
-      delete fixed_p_;
-    }
-  void operator = (Hash_table<K,V> const &src)
-    {
-      if (&src == this)
-       return;
-      
-      delete fixed_p_;
-      fixed_p_ = new Fixed_size_hash_table<K,V> (*src.fixed_p_);
-    }
-  Hash_table (Hash_table<K,V> const &src)
-    {
-      fixed_p_ = new Fixed_size_hash_table<K,V> (*src.fixed_p_);
-    }
-
-  void clear ()
-    {
-      int i= fixed_p_->size_idx_;
-      delete fixed_p_;
-      fixed_p_ = new Fixed_size_hash_table<K,V> (i);
-    }
-  bool elem_b (K s) const
-    {
-      int l =  fixed_p_->lookup (s);
-
-      return (l >= 0 && !fixed_p_->dict_arr_[l].free_b_) ;
-    }
-
-  /**
-     Find and return element.  If #s# is not in the table, create an entry in the table, and init
-   */
-  V& elem (K s)
-    {
-      int l;
-      while ((l= fixed_p_->lookup (s)) <0)
-       {
-         enlarge ();
-       }
-
-      
-       fixed_p_->dict_arr_[l].free_b_ = false;
-       fixed_p_->dict_arr_[l].key_ = s;
-       return fixed_p_->dict_arr_[l].value_;
-    }
-  V elem (K s) const
-    {
-      return const_elem (s);
-    }
-  V const_elem (K k) const
-  {
-      V retval;
-      if (elem_b (k))
-       retval = ((Hash_table<K,V>*)this)->elem (k);
-      return retval;
-  }
-  V& operator [] (K k)
-    {
-      return elem (k);
-    }
-
-  V operator [] (K k) const
-    {
-      return const_elem (k);
-    }
-
-  V remove (K s)
-    {
-      return fixed_p_->remove (s);      
-    }
-  friend class Hash_table_iter<K,V>;
-};
 
 template<class V>
 class Dictionary : public Hash_table<String, V>
 {
 public:
   Dictionary ()
-    {}
+    {
+      hash_func_ = string_hash;
+    }
   Dictionary (Dict_initialiser<V> *p)
     {
+      hash_func_ = string_hash;
       for (Dict_initialiser<V> *q = p; q->key_; q++)
        elem (q->key_) = q->value_;
          
diff --git a/flower/include/hash-table-iter.hh b/flower/include/hash-table-iter.hh
new file mode 100644 (file)
index 0000000..61b4a34
--- /dev/null
@@ -0,0 +1,61 @@
+/*   
+  hash-table-iter.hh -- declare Hash_table_iter
+
+  source file of the Flower Library
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef HASH_TABLE_ITER_HH
+#define HASH_TABLE_ITER_HH
+#include "hash-table.hh"
+
+template<class K, class V>
+class Hash_table_iter
+{
+  Hash_table<K,V> *dict_l_;
+  int i;
+public:
+  Hash_table_iter(Hash_table<K,V> const &dict)
+    {
+      i = 0;
+      dict_l_ =(Hash_table<K,V> *) & dict;
+      next_used ();
+    }
+
+  bool ok () const
+    {
+      return i < dict_l_->fixed_p_->dict_arr_.size ();
+    }
+
+  void next_used ()
+    {
+      while (ok () && dict_l_->fixed_p_->dict_arr_[i].free_b_)
+       {
+         i ++;
+       }
+    }
+  void operator ++(int)
+    {
+      i++;
+      next_used ();
+    }
+
+  K key () const
+    {
+      return dict_l_->fixed_p_->dict_arr_[i].key_;
+    }
+  V val () const
+    {
+      return dict_l_->fixed_p_->dict_arr_[i].value_;      
+    }
+  V &val_ref ()
+    {
+      return dict_l_->fixed_p_->dict_arr_[i].value_;      
+    }
+};
+
+
+#endif /* HASH_TABLE_ITER_HH */
+
diff --git a/flower/include/hash-table.hh b/flower/include/hash-table.hh
new file mode 100644 (file)
index 0000000..ef497f1
--- /dev/null
@@ -0,0 +1,215 @@
+/*   
+  hash-table.hh -- declare Hash_table_entry, Hash_table
+  
+  source file of the Flower Library
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef HASH_TABLE_HH
+#define HASH_TABLE_HH
+
+unsigned int int_hash (int);
+unsigned long prime_list (int idx);
+template<class K, class V>
+struct Hash_table_entry
+{
+  K key_;
+  V value_;
+  bool free_b_;
+
+  Hash_table_entry() {
+    free_b_ = true;
+  }
+  Hash_table_entry (K s, V v)
+    {
+      key_ = s;
+      value_ = v;
+      free_b_ = false;
+    }
+};
+
+/**
+   A hash table of prime size.
+
+   We use quadratic probing.  
+ */
+template<class K, class V>
+class Fixed_size_hash_table
+{
+public:
+  Array<Hash_table_entry<K,V> > dict_arr_; 
+  int size_idx_;
+  Fixed_size_hash_table (int size_idx)
+    {
+      size_idx_ = size_idx;
+      int sz = prime_list(size_idx_);
+      dict_arr_.set_size (sz);
+    }
+
+  /// find #s#, or find first empty entry corresponding to #s#
+  int lookup  (K s, unsigned int initial_hash)
+    {
+      int sz =dict_arr_.size ();
+      int i = initial_hash % sz;
+      int j = 0;
+      while (j <= sz/2) {
+       if (dict_arr_[i].free_b_)
+         return i;
+           
+       if (dict_arr_[i].key_ == s)
+         return i;
+
+       j++;
+       i = (i + j*j) % sz;
+      }
+
+      return -1;
+    }
+
+  /// remove #s# from the hash table.  
+  V remove (K s, unsigned int initial_hash)
+    {
+      assert (false);          // Untested routine.
+      int sz =dict_arr_.size ();
+      int i = initial_hash % sz;
+      int j = 0;
+      V retval;
+      while (j <= sz/2 && dict_arr_[i].key_ != s)
+       {
+         assert (!dict_arr_[i].free_b_);
+           
+       
+         j ++;
+         i = (i + j*j) % sz;
+       }
+
+      j++;
+      int nexti = (i + j*j) % sz;
+
+      while (j <= sz/2 && !dict_arr_[i].free_b_)
+       {
+         dict_arr_[i] = dict_arr_[nexti];
+         j++;
+         i = nexti;
+         nexti = (nexti + j*j)%sz;
+       }
+      
+      return retval;
+    }
+};
+
+/**
+   Hash table with sliding sizes. 
+ */
+template<class K, class V>
+class Hash_table
+{
+  Fixed_size_hash_table<K,V> * fixed_p_;
+  /// set size to next prime, and copy contents
+  void enlarge ()
+    {
+      Fixed_size_hash_table<K,V> *f = new Fixed_size_hash_table<K,V> (fixed_p_->size_idx_ +1);
+      
+      for (int i=0; i < fixed_p_->dict_arr_.size(); i++)
+       {
+         if (fixed_p_->dict_arr_[i].free_b_)
+           continue;
+
+         K nm (fixed_p_->dict_arr_[i].key_);
+         unsigned int h = (*hash_func_)(nm);
+         int nl = f->lookup (nm, h);
+         
+         f->dict_arr_[nl] = Hash_table_entry<K,V> (nm, fixed_p_->dict_arr_[i].value_);
+       }
+      delete fixed_p_;
+      fixed_p_ = f;
+    }
+public:
+  Hash_table ()
+    {
+      hash_func_ = 0;
+      fixed_p_ = new Fixed_size_hash_table<K,V> (0);
+    }
+  ~Hash_table ()
+    {
+      delete fixed_p_;
+    }
+  void operator = (Hash_table<K,V> const &src)
+    {
+      if (&src == this)
+       return;
+      
+      delete fixed_p_;
+      fixed_p_ = new Fixed_size_hash_table<K,V> (*src.fixed_p_);
+      hash_func_ = src.hash_func_;
+    }
+  Hash_table (Hash_table<K,V> const &src)
+    {
+      fixed_p_ = new Fixed_size_hash_table<K,V> (*src.fixed_p_);
+      hash_func_ = src.hash_func_;
+    }
+
+  void clear ()
+    {
+      int i= fixed_p_->size_idx_;
+      delete fixed_p_;
+      fixed_p_ = new Fixed_size_hash_table<K,V> (i);
+    }
+  bool elem_b (K s) const
+    {
+      int l =  fixed_p_->lookup (s, (*hash_func_)(s));
+
+      return (l >= 0 && !fixed_p_->dict_arr_[l].free_b_) ;
+    }
+
+  /**
+     Find and return element.  If #s# is not in the table, create an entry in the table, and init
+   */
+  V& elem (K s)
+    {
+      int l;
+      unsigned int h = (*hash_func_)(s);
+      while ((l= fixed_p_->lookup (s,h)) <0)
+       {
+         enlarge ();
+       }
+      
+       fixed_p_->dict_arr_[l].free_b_ = false;
+       fixed_p_->dict_arr_[l].key_ = s;
+       return fixed_p_->dict_arr_[l].value_;
+    }
+  V elem (K s) const
+    {
+      return const_elem (s);
+    }
+  V const_elem (K k) const
+  {
+      V retval;
+      if (elem_b (k))
+       retval = ((Hash_table<K,V>*)this)->elem (k);
+      return retval;
+  }
+  V& operator [] (K k)
+    {
+      return elem (k);
+    }
+
+  V operator [] (K k) const
+    {
+      return const_elem (k);
+    }
+
+  V remove (K s)
+    {
+      return fixed_p_->remove (s, (*hash_func_)(s));
+    }
+  friend class Hash_table_iter<K,V>;
+public:
+  unsigned int (*hash_func_)(K);
+};
+
+
+#endif /* HASH_TABLE_HH */
+
index cf99657acbfd6081f1bd0963c734594ece3fbf57..e99402dbb8a687503f184c1a2d112dc7a0bf8d59 100644 (file)
@@ -179,16 +179,21 @@ Rational::Rational(double x)
       const int FACT = 1 << 20;
 
       /*
-       FIXME
+       Thanks to Afie for this too simple  idea.
+
+       do not blindly substitute by libg++ code, since that uses
+       arbitrary-size integers.  The rationals would overflow too
+       easily.
+      */
 
-       SHOULD TEST THIS
-       
-       suck me gently with a vacuum cleaner.  Thanks to Afie for this wierd idea.
-       */
       num_ = (unsigned int) (mantissa * FACT);
       den_ = (unsigned int) FACT;
+      normalise ();      
+      if (expt < 0)
+       den_ <<= -expt;
+      else
+       num_ <<= expt;
       normalise ();
-      num_ <<= expt;
     }
   else
     {
diff --git a/init/GNUmakefile b/init/GNUmakefile
deleted file mode 100644 (file)
index 6513297..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# init/Makefile
-
-depth = ..
-
-INI_FILES = $(FLY_FILES) $(LY_FILES)
-EXTRA_DIST_FILES = $(SCM_FILES)
-
-INSTALLATION_DIR=$(datadir)/ly/
-INSTALLATION_FILES=$(INI_FILES)
-
-STEPMAKE_TEMPLATES=install
-LOCALSTEPMAKE_TEMPLATES=mutopia
-
-include $(depth)/make/stepmake.make 
-
diff --git a/init/a4.ly b/init/a4.ly
deleted file mode 100644 (file)
index e42ee40..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-% a4.ly
-
-hsize = 210.0 \mm;
-vsize = 296.9 \mm;
diff --git a/init/accordion-defs.ly b/init/accordion-defs.ly
deleted file mode 100644 (file)
index 12c4723..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-% Symbols needed to print accordion music
-% 
-%  2' = T
-%  4' = F
-%  8' = E
-% 16' = S
-%
-
-accDiscant = \script{ "accDiscant" 0 0 1 0 0 }
-accDiscantF = \script{ "accDiscantF" 0 0 1 0 0 }
-accDiscantE = \script{ "accDiscantE" 0 0 1 0 0 }
-accDiscantEh = \script{ "accDiscantEh" 0 0 1 0 0 }
-accDiscantFE = \script{ "accDiscantFE" 0 0 1 0 0 }
-accDiscantFEh = \script{ "accDiscantFEh" 0 0 1 0 0 }
-accDiscantEE = \script{ "accDiscantEE" 0 0 1 0 0 }
-accDiscantFEE = \script{ "accDiscantFEE" 0 0 1 0 0 }
-accDiscantEEE = \script{ "accDiscantEEE" 0 0 1 0 0 }
-accDiscantFEEE = \script{ "accDiscantFEEE" 0 0 1 0 0 }
-accDiscantS = \script{ "accDiscantS" 0 0 1 0 0 }
-accDiscantFS = \script{ "accDiscantFS" 0 0 1 0 0 }
-accDiscantES = \script{ "accDiscantES" 0 0 1 0 0 }
-accDiscantEhS = \script{ "accDiscantEhS" 0 0 1 0 0 }
-accDiscantFES = \script{ "accDiscantFES" 0 0 1 0 0 }
-accDiscantFEhS = \script{ "accDiscantFEhS" 0 0 1 0 0 }
-accDiscantEES = \script{ "accDiscantEES" 0 0 1 0 0 }
-accDiscantFEES = \script{ "accDiscantFEES" 0 0 1 0 0 }
-accDiscantEEES = \script{ "accDiscantEEES" 0 0 1 0 0 }
-accDiscantFEEES = \script{ "accDiscantFEEES" 0 0 1 0 0 }
-accDiscantSS = \script{ "accDiscantSS" 0 0 1 0 0 }
-accDiscantESS = \script{ "accDiscantESS" 0 0 1 0 0 }
-accDiscantEESS = \script{ "accDiscantEESS" 0 0 1 0 0 }
-accDiscantEEESS = \script{ "accDiscantEEESS" 0 0 1 0 0 }
-
-accFreebass = \script{ "accFreebass" 0 0 1 0 0 }
-accFreebassF = \script{ "accFreebassF" 0 0 1 0 0 }
-accFreebassE = \script{ "accFreebassE" 0 0 1 0 0 }
-accFreebassFE = \script{ "accFreebassFE" 0 0 1 0 0 }
-
-accBayanbass = \script{ "accBayanbass" 0 0 1 0 0 }
-accBayanbassT = \script{ "accBayanbassT" 0 0 1 0 0 }
-accBayanbassE = \script{ "accBayanbassE" 0 0 1 0 0 }
-accBayanbassTE = \script{ "accBayanbassTE" 0 0 1 0 0 }
-accBayanbassEE = \script{ "accBayanbassEE" 0 0 1 0 0 }
-accBayanbassTEE = \script{ "accBayanbassTEE" 0 0 1 0 0 }
-
-accStdbass = \script{ "accStdbass" 0 0 1 0 0 }
-accStdbassTp = \script{ "accStdbassTp" 0 0 1 0 0 }
-accStdbassT = \script{ "accStdbassT" 0 0 1 0 0 }
-accStdbassBp = \script{ "accStdbassBp" 0 0 1 0 0 }
-accStdbassM = \script{ "accStdbassM" 0 0 1 0 0 }
-
-accSB = \script{ "accSB" 0 0 1 0 0 }
-accBB = \script{ "accBB" 0 0 1 0 0 }
-accOldEE = \script{ "accOldEE" 0 0 1 0 0 }
-accOldEES = \script{ "accOldEES" 0 0 1 0 0 }
diff --git a/init/book-fragment.ly b/init/book-fragment.ly
deleted file mode 100644 (file)
index 46fd731..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly"
-
-\include "paper16.ly"
-  \paper { \paper_sixteen
-    linewidth = -1.\cm;
-    castingalgorithm = \Wordwrap; 
-    "unusedentry" = "}\\def\\nolilyfooter{";
-  }
-
-\score { 
-  \notes {
-    \maininput
-  }
-\paper{}
-}
diff --git a/init/book-init.ly b/init/book-init.ly
deleted file mode 100644 (file)
index 7cb2e6b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly";
-\include "paper16.ly"
-
- \paper{
-       \paper_sixteen
-}
-
-
-\maininput
diff --git a/init/catalan.ly b/init/catalan.ly
deleted file mode 100644 (file)
index 99ae0dc..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-%{
-
- Common catalan names for notes. "b" means flat (bemoll), "d" means sharp (diesi).
- Also "s" is included for sharp (sostingut).  Both "diesi" and "sostingut" are approved
- by "Diccionari de la Llengua Catalana" from "Institut d'Estudis Catalans".
-
- Adapted from italiano.ly.
-
- English: a   b   c   d   e   f   g
- Catalan: la  si  do  re  mi  fa  sol
-
- For spanish naming just use the sharp sign "s" (sostenido) instead of "s"
-(sostenido) .
-%}
-
-% contributed by Jaume Obrador <jobrador@ipc4.uib.es>
-
-\notenames {
-       dobb    = \musicalpitch { -1 0 -2 }
-       dob     = \musicalpitch { -1 0 -1 }
-       do              = \musicalpitch { -1 0 0 }
-       dod     = \musicalpitch { -1 0 1 }
-       dodd    = \musicalpitch { -1 0 2 }
-       rebb    = \musicalpitch { -1 1 -2 }
-       reb     = \musicalpitch { -1 1 -1 }
-       re              = \musicalpitch { -1 1 0 }
-       red     = \musicalpitch { -1 1 1 }
-       redd    = \musicalpitch { -1 1 2 }
-       mibb    = \musicalpitch { -1 2 -2 }
-       mib             = \musicalpitch { -1 2 -1 }
-       mi              = \musicalpitch { -1 2 0 }
-       mid     = \musicalpitch { -1 2 1 }
-       midd    = \musicalpitch { -1 2 2 }
-       fabb    = \musicalpitch { -1 3 -2 }
-       fab     = \musicalpitch { -1 3 -1 }
-       fa              = \musicalpitch { -1 3 0 }
-       fad     = \musicalpitch { -1 3 1 }
-       fadd    = \musicalpitch { -1 3 2 }
-       solbb   = \musicalpitch { -1 4 -2 }
-       solb    = \musicalpitch { -1 4 -1 }
-       sol     = \musicalpitch { -1 4 0 }
-       sold    = \musicalpitch { -1 4 1 }
-       soldd   = \musicalpitch { -1 4 2 }
-       labb    = \musicalpitch { -1 5 -2 }
-       lab     = \musicalpitch { -1 5 -1 }
-       la              = \musicalpitch { -1 5 0 }
-       lad     = \musicalpitch { -1 5 1 }
-       ladd    = \musicalpitch { -1 5 2 }
-       sibb    = \musicalpitch { -1 6 -2 }
-       sib     = \musicalpitch { -1 6 -1 }
-       si              = \musicalpitch { -1 6 0 }
-       sid     = \musicalpitch { -1 6 1 }
-       sidd    = \musicalpitch { -1 6 2 }
-
-% For using "sostingut" notation, which is also correct
-
-       dos     = \musicalpitch { -1 0 1 }
-       doss    = \musicalpitch { -1 0 2 }
-       res     = \musicalpitch { -1 1 1 }
-       ress    = \musicalpitch { -1 1 2 }
-       mis     = \musicalpitch { -1 2 1 }
-       miss    = \musicalpitch { -1 2 2 }
-       fas     = \musicalpitch { -1 3 1 }
-       fass    = \musicalpitch { -1 3 2 }
-       sols    = \musicalpitch { -1 4 1 }
-       solss   = \musicalpitch { -1 4 2 }
-       las     = \musicalpitch { -1 5 1 }
-       lass    = \musicalpitch { -1 5 2 }
-       sis     = \musicalpitch { -1 6 1 }
-       siss    = \musicalpitch { -1 6 2 }
-}
-
-
diff --git a/init/center-fragment.ly b/init/center-fragment.ly
deleted file mode 100644 (file)
index 72be0ac..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-% Toplevel initialisation file. 
-       
-
-\version "1.0.14";
-
-
-\include "declarations.ly"
-
-\include "paper16.ly";
-
- \paper { 
-  \paper_sixteen
-    linewidth = -1.0\cm;
-    castingalgorithm = \Wordwrap;
-   "unusedentry" = "}\\def\\nolilyfooter{"; 
-}
-
-
-\score { 
-%  \notes\relative c {
-  \notes {
-    \maininput
-  }
-\paper{} 
-}
diff --git a/init/center.ly b/init/center.ly
deleted file mode 100644 (file)
index 500c25a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly"
-\include "paper16.ly"
-
- \paper { 
-  \paper_sixteen;
-%  linewidth = 7.\cm;
-  linewidth = 11.\cm;
-}
-
-\maininput
diff --git a/init/chord-modifiers.ly b/init/chord-modifiers.ly
deleted file mode 100644 (file)
index 48cc2f0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-%{
- chord modifiers
-%}
-
-\chordmodifiers {
-       m       = \musicalpitch { 0 2 -1 }
-       min     = \musicalpitch { 0 2 -1 }
-       aug     = \musicalpitch { 0 4 1 }
-       dim     = \musicalpitch { 0 4 -1 }
-       % urg, not actually a chord-modifier, but it works
-       % c7 -> <c bes>, c 7+ -> c b
-       maj     = \musicalpitch { 0 6 1 }
-       % sus4 should delete 2 too...
-       sus     = \musicalpitch { 0 3 0 }
-}
diff --git a/init/declarations.ly b/init/declarations.ly
deleted file mode 100644 (file)
index 69b33ac..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-
-  
-breve = \duration { -1 0 }
-longa = \duration { -2 0 }
-
-\include "dynamic.ly"
-\include "nederlands.ly"               % dutch
-\include "chord-modifiers.ly"
-\include "script.ly"
-
-
-Gourlay = 1.0
-Wordwrap = 0.0
-
-papersize = "a4"
-
-\include "paper20.ly"
-
-\paper{
-       \paper_twenty
-}
-
-% ugh
-\include "midi.ly"
-
-% declarations for standard directions
-left = -1
-right = 1
-up = 1
-down = -1
-% zillie spellink?
-center=0
-
-break = { \penalty = 10000; }
-nobreak = { \penalty = -10000; }
-
-major = 0
-minor = 3
-
-\include "property.ly"
-
-\scmfile "lily.scm";
-
-% music = "\melodic\relative c"
-
diff --git a/init/deutsch.ly b/init/deutsch.ly
deleted file mode 100644 (file)
index ef247f8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-%
-% common german names for notes. "es" means flat, "is" means sharp
-%
-% by Roland Meier <meier@informatik.th-darmstadt.de>
-% based on swedish.ly by Mats Bengtsson.
-
-
-%
-% Please note that, while these names are used to enter *notes*, they
-% actually are *melodic*s, i.e. they represent a pitch solely. Notes
-% have a rhythmic part too. This is the reason that we don't write 'note { .. }'
-%
-\notenames {
-       ceses   = \musicalpitch { -1 0 -2 }
-       ces     = \musicalpitch { -1 0 -1 }
-       c       = \musicalpitch { -1 0 0 }
-       cis     = \musicalpitch { -1 0 1 }
-       cisis   = \musicalpitch { -1 0 2 }
-       deses   = \musicalpitch { -1 1 -2 }
-       des     = \musicalpitch { -1 1 -1 }
-       d       = \musicalpitch { -1 1 0 }
-       dis     = \musicalpitch { -1 1 1 }
-       disis   = \musicalpitch { -1 1 2 }
-       eses    = \musicalpitch { -1 2 -2 }
-       es      = \musicalpitch { -1 2 -1 }
-       e       = \musicalpitch { -1 2 0 }
-       eis     = \musicalpitch { -1 2 1 }
-       eisis   = \musicalpitch { -1 2 2 }
-       feses   = \musicalpitch { -1 3 -2 }
-       fes     = \musicalpitch { -1 3 -1 }
-       f       = \musicalpitch { -1 3 0 }
-       fis     = \musicalpitch { -1 3 1 }
-       fisis   = \musicalpitch { -1 3 2 }
-       geses   = \musicalpitch { -1 4 -2 }
-       ges     = \musicalpitch { -1 4 -1 }
-       g       = \musicalpitch { -1 4 0 }
-       gis     = \musicalpitch { -1 4 1 }
-       gisis   = \musicalpitch { -1 4 2 }
-       ases    = \musicalpitch { -1 5 -2 }
-       as      = \musicalpitch { -1 5 -1 }
-       a       = \musicalpitch { -1 5 0 }
-       ais     = \musicalpitch { -1 5 1 }
-       aisis   = \musicalpitch { -1 5 2 }
-       heses   = \musicalpitch { -1 6 -2 }
-       b       = \musicalpitch { -1 6 -1 }
-       h       = \musicalpitch { -1 6 0 }
-       his     = \musicalpitch { -1 6 1 }
-       hisis   = \musicalpitch { -1 6 2 }
-
-
-       %
-       % upper case: 1 octave lower.
-       %
-
-
-       Ceses   = \musicalpitch { -2 0 -2 }
-       Ces     = \musicalpitch { -2 0 -1 }
-       C       = \musicalpitch { -2 0 0 }
-       Cis     = \musicalpitch { -2 0 1 }
-       Cisis   = \musicalpitch { -2 0 2 }
-       Deses   = \musicalpitch { -2 1 -2 }
-       Des     = \musicalpitch { -2 1 -1 }
-       D       = \musicalpitch { -2 1 0 }
-       Dis     = \musicalpitch { -2 1 1 }
-       Disis   = \musicalpitch { -2 1 2 }
-       Eses    = \musicalpitch { -2 2 -2 }
-       Es      = \musicalpitch { -2 2 -1 }
-       E       = \musicalpitch { -2 2 0 }
-       Eis     = \musicalpitch { -2 2 1 }
-       Eisis   = \musicalpitch { -2 2 2 }
-       Feses   = \musicalpitch { -2 3 -2 }
-       Fes     = \musicalpitch { -2 3 -1 }
-       F       = \musicalpitch { -2 3 0 }
-       Fis     = \musicalpitch { -2 3 1 }
-       Fisis   = \musicalpitch { -2 3 2 }
-       Geses   = \musicalpitch { -2 4 -2 }
-       Ges     = \musicalpitch { -2 4 -1 }
-       G       = \musicalpitch { -2 4 0 }
-       Gis     = \musicalpitch { -2 4 1 }
-       Gisis   = \musicalpitch { -2 4 2 }
-       Ases    = \musicalpitch { -2 5 -2 }
-       As      = \musicalpitch { -2 5 -1 }
-       A       = \musicalpitch { -2 5 0 }
-       Ais     = \musicalpitch { -2 5 1 }
-       Aisis   = \musicalpitch { -2 5 2 }
-       Heses   = \musicalpitch { -2 6 -2 }
-       B       = \musicalpitch { -2 6 -1 }
-       H       = \musicalpitch { -2 6 0 }
-       His     = \musicalpitch { -2 6 1 }
-       Hisis   = \musicalpitch { -2 6 2 }
-
-
-}
diff --git a/init/dynamic.ly b/init/dynamic.ly
deleted file mode 100644 (file)
index 68f0288..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-%
-% declare the standard dynamic identifiers.
-%
-
-pppppp = \absdynamic { 13 }
-ppppp = \absdynamic { 12 }
-pppp = \absdynamic { 11 }
-ppp = \absdynamic { 10 }
-pp = \absdynamic { 9 }
-p = \absdynamic { 8 }
-mp = \absdynamic { 7 }
-mf = \absdynamic { 6 }
-f = \absdynamic { 5 } % f is a notename too.
-ff = \absdynamic { 4 }
-fff = \absdynamic { 3 }
-ffff = \absdynamic { 2 }
-fffff = \absdynamic { 1 }
-ffffff = \absdynamic { 0 }
-
-fp = \absdynamic { 14 }
-sf = \absdynamic { 15 }
-sff = \absdynamic { 16 }
-sfz = \absdynamic { 17 }
-sp = \absdynamic { 18 }
-spp = \absdynamic { 19 }
-rfz = \absdynamic { 20 }
-
-cr = \spandynamic { 1 1 } 
-decr = \spandynamic { -1 1 }
-rc = \spandynamic { 1 2 } % stop a crescendo
-rced = \spandynamic { 1 2 } % stop a decrescendo
diff --git a/init/english.ly b/init/english.ly
deleted file mode 100644 (file)
index de66eda..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-%{
-     English note names spelled out in full, and abbreviated
-     with s for sharp and f for flat.
-%}
-
-\notenames {
-       cflatflat       = \musicalpitch { -1 0 -2 }
-       cflat           = \musicalpitch { -1 0 -1 }
-       c               = \musicalpitch { -1 0 0 }
-       csharp          = \musicalpitch { -1 0 1 }
-       csharpsharp     = \musicalpitch { -1 0 2 }
-       dflatflat       = \musicalpitch { -1 1 -2 }
-       dflat           = \musicalpitch { -1 1 -1 }
-       d               = \musicalpitch { -1 1 0 }
-       dsharp          = \musicalpitch { -1 1 1 }
-       dsharpsharp     = \musicalpitch { -1 1 2 }
-       eflatflat       = \musicalpitch { -1 2 -2 }
-       eflat           = \musicalpitch { -1 2 -1 }
-       e               = \musicalpitch { -1 2 0 }
-       esharp          = \musicalpitch { -1 2 1 }
-       esharpsharp     = \musicalpitch { -1 2 2 }
-       fflatflat       = \musicalpitch { -1 3 -2 }
-       fflat           = \musicalpitch { -1 3 -1 }
-       f               = \musicalpitch { -1 3 0 }
-       fsharp          = \musicalpitch { -1 3 1 }
-       fsharpsharp     = \musicalpitch { -1 3 2 }
-       gflatflat       = \musicalpitch { -1 4 -2 }
-       gflat           = \musicalpitch { -1 4 -1 }
-       g               = \musicalpitch { -1 4 0 }
-       gsharp          = \musicalpitch { -1 4 1 }
-       gsharpsharp     = \musicalpitch { -1 4 2 }
-       aflatflat       = \musicalpitch { -1 5 -2 }
-       aflat           = \musicalpitch { -1 5 -1 }
-       a               = \musicalpitch { -1 5 0 }
-       asharp          = \musicalpitch { -1 5 1 }
-       asharpsharp     = \musicalpitch { -1 5 2 }
-       bflatflat       = \musicalpitch { -1 6 -2 }
-       bflat           = \musicalpitch { -1 6 -1 }
-       b               = \musicalpitch { -1 6 0 }
-       bsharp          = \musicalpitch { -1 6 1 }
-       bsharpsharp     = \musicalpitch { -1 6 2 }
-
-       cff     = \musicalpitch { -1 0 -2 }
-       cf      = \musicalpitch { -1 0 -1 }
-       c       = \musicalpitch { -1 0 0 }
-       cs      = \musicalpitch { -1 0 1 }
-       css     = \musicalpitch { -1 0 2 }
-       dff     = \musicalpitch { -1 1 -2 }
-       df      = \musicalpitch { -1 1 -1 }
-       d       = \musicalpitch { -1 1 0 }
-       ds      = \musicalpitch { -1 1 1 }
-       dss     = \musicalpitch { -1 1 2 }
-       eff     = \musicalpitch { -1 2 -2 }
-       ef      = \musicalpitch { -1 2 -1 }
-       e       = \musicalpitch { -1 2 0 }
-       es      = \musicalpitch { -1 2 1 }   % es = E-flat in Dutch
-       ess     = \musicalpitch { -1 2 2 }
-       fff     = \musicalpitch { -1 3 -2 }
-       ff      = \musicalpitch { -1 3 -1 }
-       f       = \musicalpitch { -1 3 0 }
-       fs      = \musicalpitch { -1 3 1 }
-       fss     = \musicalpitch { -1 3 2 }
-       gff     = \musicalpitch { -1 4 -2 }
-       gf      = \musicalpitch { -1 4 -1 }
-       g       = \musicalpitch { -1 4 0 }
-       gs      = \musicalpitch { -1 4 1 }
-       gss     = \musicalpitch { -1 4 2 }
-       aff     = \musicalpitch { -1 5 -2 }
-       af      = \musicalpitch { -1 5 -1 }
-       a       = \musicalpitch { -1 5 0 }
-       as      = \musicalpitch { -1 5 1 }   % as = A-flat in Dutch
-       ass     = \musicalpitch { -1 5 2 }
-       bff     = \musicalpitch { -1 6 -2 }
-       bf      = \musicalpitch { -1 6 -1 }
-       b       = \musicalpitch { -1 6 0 }
-       bs      = \musicalpitch { -1 6 1 }
-       bss     = \musicalpitch { -1 6 2 }
-
-
-       %
-       % upper case: 1 octave lower.
-       %
-
-
-       Cflatflat       = \musicalpitch { -2 0 -2 }
-       Cflat           = \musicalpitch { -2 0 -1 }
-       C               = \musicalpitch { -2 0 0 }
-       Csharp          = \musicalpitch { -2 0 1 }
-       Csharpsharp     = \musicalpitch { -2 0 2 }
-       Dflatflat       = \musicalpitch { -2 1 -2 }
-       Dflat           = \musicalpitch { -2 1 -1 }
-       D               = \musicalpitch { -2 1 0 }
-       Dsharp          = \musicalpitch { -2 1 1 }
-       Dsharpsharp     = \musicalpitch { -2 1 2 }
-       Eflatflat       = \musicalpitch { -2 2 -2 }
-       Eflat           = \musicalpitch { -2 2 -1 }
-       E               = \musicalpitch { -2 2 0 }
-       Esharp          = \musicalpitch { -2 2 1 }
-       Esharpsharp     = \musicalpitch { -2 2 2 }
-       Fflatflat       = \musicalpitch { -2 3 -2 }
-       Fflat           = \musicalpitch { -2 3 -1 }
-       F               = \musicalpitch { -2 3 0 }
-       Fsharp          = \musicalpitch { -2 3 1 }
-       Fsharpsharp     = \musicalpitch { -2 3 2 }
-       Gflatflat       = \musicalpitch { -2 4 -2 }
-       Gflat           = \musicalpitch { -2 4 -1 }
-       G               = \musicalpitch { -2 4 0 }
-       Gsharp          = \musicalpitch { -2 4 1 }
-       Gsharpsharp     = \musicalpitch { -2 4 2 }
-       Aflatflat       = \musicalpitch { -2 5 -2 }
-       Aflat           = \musicalpitch { -2 5 -1 }
-       A               = \musicalpitch { -2 5 0 }
-       Asharp          = \musicalpitch { -2 5 1 }
-       Asharpsharp     = \musicalpitch { -2 5 2 }
-       Bflatflat       = \musicalpitch { -2 6 -2 }
-       Bflat           = \musicalpitch { -2 6 -1 }
-       B               = \musicalpitch { -2 6 0 }
-       Bsharp          = \musicalpitch { -2 6 1 }
-       Bsharpsharp     = \musicalpitch { -2 6 2 }
-
-       Cff     = \musicalpitch { -2 0 -2 }
-       Cf      = \musicalpitch { -2 0 -1 }
-       C       = \musicalpitch { -2 0 0 }
-       Cs      = \musicalpitch { -2 0 1 }
-       Css     = \musicalpitch { -2 0 2 }
-       Dff     = \musicalpitch { -2 1 -2 }
-       Df      = \musicalpitch { -2 1 -1 }
-       D       = \musicalpitch { -2 1 0 }
-       Ds      = \musicalpitch { -2 1 1 }
-       Dss     = \musicalpitch { -2 1 2 }
-       Eff     = \musicalpitch { -2 2 -2 }
-       Ef      = \musicalpitch { -2 2 -1 }
-       E       = \musicalpitch { -2 2 0 }
-       Es      = \musicalpitch { -2 2 1 }
-       Ess     = \musicalpitch { -2 2 2 }
-       Fff     = \musicalpitch { -2 3 -2 }
-       Ff      = \musicalpitch { -2 3 -1 }
-       F       = \musicalpitch { -2 3 0 }
-       Fs      = \musicalpitch { -2 3 1 }
-       Fss     = \musicalpitch { -2 3 2 }
-       Gff     = \musicalpitch { -2 4 -2 }
-       Gf      = \musicalpitch { -2 4 -1 }
-       G       = \musicalpitch { -2 4 0 }
-       Gs      = \musicalpitch { -2 4 1 }
-       Gss     = \musicalpitch { -2 4 2 }
-       Aff     = \musicalpitch { -2 5 -2 }
-       Af      = \musicalpitch { -2 5 -1 }
-       A       = \musicalpitch { -2 5 0 }
-       As      = \musicalpitch { -2 5 1 }
-       Ass     = \musicalpitch { -2 5 2 }
-       Bff     = \musicalpitch { -2 6 -2 }
-       Bf      = \musicalpitch { -2 6 -1 }
-       B       = \musicalpitch { -2 6 0 }
-       Bs      = \musicalpitch { -2 6 1 }
-       Bss     = \musicalpitch { -2 6 2 }
-
-
-}
diff --git a/init/engraver.ly b/init/engraver.ly
deleted file mode 100644 (file)
index 089b29a..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-%
-% setup for Request->Element conversion. Guru-only
-%
-
-StaffContext=\translator {
-       \type "Line_group_engraver_group";
-       \name Staff ;
-       barAuto = "1";
-
-%{
-       The Hara_kiri_line_group_engraver is a Line_group_engraver 
-       that will not typeset an empty line of staff, i.e., a line 
-       of staff with only rests in it.  This is needed for orchestral
-       scores.  Comment-out Line_group_engraver_group, and uncomment 
-       Hara_kiri_line_group_engraver.
-%}
-%      \type "Hara_kiri_line_group_engraver";
-
-       \consists "Multi_measure_rest_engraver";
-       \consists "Repeat_engraver";
-       \consists "Bar_engraver";
-       \consists "Clef_engraver";
-       \consists "Key_engraver";
-       \consists "Local_key_engraver";
-       \consists "Time_signature_engraver";
-       \consists "Staff_symbol_engraver";
-       \consists "Collision_engraver";
-       \consists "Rest_collision_engraver";
-
-%{
-       Uncomment to get bar numbers on single staff systems:
-       
-       The Bar_number_engraver puts a number over a staff created
-       at the same level of hierarchy.  This why you have to add it
-       here separately if you want to have numbers on single staff
-       systems: The Bar_number_engraver in Score_engraver will only
-       put numbers on bars that are Score ("system") wide.  Such
-       bars are only created when the toplevel system has multiple
-       children-staffs.
-
-%}
-%{
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-%}
-%{
-       The Staff_margin_engraver puts the name of the instrument
-       (\property Staff.instrument; Staff.instr for subsequent lines)
-       to the left of a staff.
-%}
-       defaultClef = treble;
-
-       marginBreakPriority = "-5";
-
-%{
-       \consists "Staff_margin_engraver";
-%}
-       \consists "Separating_line_group_engraver";
-         
-       \accepts "Voice";
-       dynamicStyle = "dynamic";
-};
-
-\translator{\StaffContext }
-\translator {
-       \type "Line_group_engraver_group";
-       \name ChoirStaff;
-       \consists "Vertical_align_engraver";
-       \consists "Staff_group_bar_engraver";
-       \accepts "Staff";
-       \accepts "RhythmicStaff";
-       \accepts "GrandStaff";
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-}
-
-
-RhythmicStaffContext=\translator{
-       \type "Line_group_engraver_group";
-       numberOfStaffLines  = "1";
-       \consists "Pitch_squash_engraver";
-       \consists "Separating_line_group_engraver";     
-       \name RhythmicStaff;
-
-       \consists "Repeat_engraver";
-       \consists "Bar_engraver";
-       \consists "Time_signature_engraver";
-       \consists "Staff_symbol_engraver";
-       \accepts "Voice";
-};
-\translator{\RhythmicStaffContext}
-VoiceContext = \translator {
-       \type "Engraver_group_engraver";
-       \consists "Dynamic_engraver";
-       \name Voice ;
-       
-       \consists "Rest_engraver";
-       \consists "Dot_column_engraver";
-       \consists "Stem_engraver";
-       \consists "Beam_engraver";
-       \consists "Abbreviation_beam_engraver";
-%      \consists "Multi_measure_rest_engraver";
-
-       % ugh.  Order matters here.
-       \consists "Text_engraver";
-       \consists "Script_engraver";
-       \consists "Rhythmic_column_engraver";
-       \consists "Font_size_engraver";
-       \consists "Slur_engraver";
-       \consists "Tie_engraver";
-       \consists "Tuplet_engraver";    
-       \consists "Note_heads_engraver" ;       
-       \consists "Skip_req_swallow_translator";
-};
-
-\translator {\VoiceContext}
-
-GrandStaffContext=\translator{
-       \type "Line_group_engraver_group";
-       \name GrandStaff;
-       \consists "Span_bar_engraver";
-       \consists "Vertical_align_engraver";
-       \consists "Piano_bar_engraver";
-       minVerticalAlign = 1.5*\staffheight;
-
-       \accepts "Staff";
-};
-\translator{\GrandStaffContext}
-
-\translator {
-       \type "Line_group_engraver_group";
-%      \type "Hara_kiri_line_group_engraver";
-       \consists "Span_bar_engraver";
-       \consists "Vertical_align_engraver";
-       \consists "Staff_group_bar_engraver";
-       \name StaffGroup;
-       \accepts "Staff";
-       \accepts "RhythmicStaff";
-       \accepts "GrandStaff";
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-}
-
-\translator{
-       \type "Line_group_engraver_group";
-
-       \name LyricVoice ;
-       \consists "Separating_line_group_engraver";
-       \consists "Lyric_engraver";
-       \consists "Extender_engraver";
-       \consists "Beam_req_swallow_translator";
-}
-
-\translator {
-       \type "Line_group_engraver_group";
-       \name Lyrics;
-       \consists "Vertical_align_engraver";
-       \accepts "LyricVoice";
-}
-
-\translator{
-       \type "Line_group_engraver_group";
-
-       \name ChordNameVoice ;
-       \consists "Separating_line_group_engraver";
-       \consists "Chord_name_engraver";
-}
-
-\translator {
-       \type "Line_group_engraver_group";
-       \name ChordNames;
-       \consists "Vertical_align_engraver";
-       \accepts "ChordNameVoice";
-}
-
-ScoreContext = \translator {
-       \type Score_engraver;
-       \name Score;
-
-       \consists "Timing_engraver";
-
-       \consists "Bar_column_engraver";
-       \consists "Span_score_bar_engraver";
-       \consists "Score_priority_engraver";
-       \consists "Priority_horizontal_align_engraver";
-       \consists "Vertical_align_engraver";
-
-
-       \accepts "StaffGroup";
-       \accepts "Staff";
-       \accepts "RhythmicStaff";       
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-       \accepts "GrandStaff";
-       \accepts "ChoirStaff";
-};
-\translator { \ScoreContext }
-
-ScoreWithNumbers = \translator {
-       \type "Score_engraver";
-
-       % uncomment to bar numbers on a whole system.
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-
-};
-
-StupidScore = \translator {
-       \type "Score_engraver";
-       \name Score;
-       \consists "Note_heads_engraver";
-};
-
-
-
-BarNumberingStaffContext = \translator {
-       \StaffContext
-       barColumnPriority = "0";
-       marginBreakPriority = "-4";
-       \consists "Mark_engraver";
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-
-};
-
-
-HaraKiriStaffContext = \translator {
-       \type "Hara_kiri_line_group_engraver";
-       \name Staff;
-       barColumnPriority = "0";
-       marginBreakPriority = "-4";
-
-       \consists "Repeat_engraver";
-       \consists "Bar_engraver";
-       \consists "Clef_engraver";
-       \consists "Key_engraver";
-       \consists "Time_signature_engraver";
-       \consists "Local_key_engraver";
-       \consists "Staff_symbol_engraver";
-       \consists "Collision_engraver";
-       \consists "Rest_collision_engraver";
-       \consists "Staff_margin_engraver";
-       \consists "Separating_line_group_engraver";
-         
-       \accepts "Voice";
-};
-
-% huh, Score should do HaraKiri, not Part yes?
-OrchestralPartStaffContext = \translator {
-%      \HaraKiriStaffContext
-       \StaffContext
-       barColumnPriority = "0";
-       marginBreakPriority = "-4";
-       \consists "Mark_engraver";
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-};
-
-% where to put HaraKiri here?
-OrchestralScoreContext= \translator {
-       \type Score_engraver;
-       \name Score;
-       barScriptPadding = "2.0";       % dimension \pt
-       markScriptPadding = "4.0";
-       barColumnPriority = "-4";
-       markBreakPriority = "-4";
-       defaultClef = treble;
-
-       \consists "Timing_engraver";
-
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-       \consists "Mark_engraver";
-       \consists "Span_score_bar_engraver";
-       \consists "Score_priority_engraver";
-       \consists "Priority_horizontal_align_engraver";
-       \consists "Vertical_align_engraver";
-
-       \accepts "ChoirStaff";
-       \accepts "StaffGroup";
-       \accepts "Staff";
-       \accepts "RhythmicStaff";       
-       \accepts "Lyrics";
-       \accepts "ChordNames";
-       \accepts "GrandStaff";
-};
diff --git a/init/fragment.ly b/init/fragment.ly
deleted file mode 100644 (file)
index 3ddb7de..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly"
-
-\include "paper16.ly";
-
-\paper { 
-  \paper_sixteen
-    linewidth = -1.0\cm;
-    castingalgorithm = \Wordwrap;
-    "unusedentry" = "}\\def\\nolilyfooter{";
-}
-
-
-\score { 
-%  \notes\relative c {
-  \notes {
-    \maininput
-  }
-  \paper { }
-
-}
diff --git a/init/init.fly b/init/init.fly
deleted file mode 100644 (file)
index cacdd4b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly"
-
-\score { 
-  \notes\relative c {
-    \maininput
-  }
-  \paper { }  
-  \midi{ }
-}
diff --git a/init/init.ly b/init/init.ly
deleted file mode 100644 (file)
index c01291c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "1.0.14";
-
-
-\include "declarations.ly";
-
-\maininput
diff --git a/init/italiano.ly b/init/italiano.ly
deleted file mode 100644 (file)
index dd600a4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-%{
- Common italian names for notes. "b" means flat (bemolle), "d" means sharp (diesis)
- Adapted from dutch.ly.
-
- English: a   b   c   d   e   f   g
- Italian: la  si  do  re  mi  fa  sol
-
- For french naming just change 'do' in 'ut'.
-%}
-
-% contributed by Paolo Zuliani <zuliap@easynet.it>
-
-\notenames {
-       dobb    = \musicalpitch { -1 0 -2 }
-       dob     = \musicalpitch { -1 0 -1 }
-       do              = \musicalpitch { -1 0 0 }
-       dod     = \musicalpitch { -1 0 1 }
-       dodd    = \musicalpitch { -1 0 2 }
-       rebb    = \musicalpitch { -1 1 -2 }
-       reb     = \musicalpitch { -1 1 -1 }
-       re              = \musicalpitch { -1 1 0 }
-       red     = \musicalpitch { -1 1 1 }
-       redd    = \musicalpitch { -1 1 2 }
-       mibb    = \musicalpitch { -1 2 -2 }
-       mib             = \musicalpitch { -1 2 -1 }
-       mi              = \musicalpitch { -1 2 0 }
-       mid     = \musicalpitch { -1 2 1 }
-       midd    = \musicalpitch { -1 2 2 }
-       fabb    = \musicalpitch { -1 3 -2 }
-       fab     = \musicalpitch { -1 3 -1 }
-       fa              = \musicalpitch { -1 3 0 }
-       fad     = \musicalpitch { -1 3 1 }
-       fadd    = \musicalpitch { -1 3 2 }
-       solbb   = \musicalpitch { -1 4 -2 }
-       solb    = \musicalpitch { -1 4 -1 }
-       sol     = \musicalpitch { -1 4 0 }
-       sold    = \musicalpitch { -1 4 1 }
-       soldd   = \musicalpitch { -1 4 2 }
-       labb    = \musicalpitch { -1 5 -2 }
-       lab     = \musicalpitch { -1 5 -1 }
-       la              = \musicalpitch { -1 5 0 }
-       lad     = \musicalpitch { -1 5 1 }
-       ladd    = \musicalpitch { -1 5 2 }
-       sibb    = \musicalpitch { -1 6 -2 }
-       sib     = \musicalpitch { -1 6 -1 }
-       si              = \musicalpitch { -1 6 0 }
-       sid     = \musicalpitch { -1 6 1 }
-       sidd    = \musicalpitch { -1 6 2 }
-}
diff --git a/init/midi.ly b/init/midi.ly
deleted file mode 100644 (file)
index 114d34f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-\midi {
-        \tempo 4=60;
-       \include "performer.ly"
-}
diff --git a/init/nederlands.ly b/init/nederlands.ly
deleted file mode 100644 (file)
index 9b652a6..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-%{
- common dutch names for notes. "es" means flat, "is" means sharp
-
-
-
-
- Please note that, while these names are used to enter *notes*, they
- actually are *melodic*s, i.e. they represent a pitch solely. Notes
- have a rhythmic part too. This is the reason that we don't write 'note { .. }'
-
-%}
-
-\notenames {
-       ceses   = \musicalpitch { -1 0 -2 }
-       ces     = \musicalpitch { -1 0 -1 }
-       c       = \musicalpitch { -1 0 0 }
-       cis     = \musicalpitch { -1 0 1 }
-       cisis   = \musicalpitch { -1 0 2 }
-       deses   = \musicalpitch { -1 1 -2 }
-       des     = \musicalpitch { -1 1 -1 }
-       d       = \musicalpitch { -1 1 0 }
-       dis     = \musicalpitch { -1 1 1 }
-       disis   = \musicalpitch { -1 1 2 }
-       eeses   = \musicalpitch { -1 2 -2 }
-       eses    = \musicalpitch { -1 2 -2 }
-       ees     = \musicalpitch { -1 2 -1 }
-       es      = \musicalpitch { -1 2 -1 }
-       e       = \musicalpitch { -1 2 0 }
-       eis     = \musicalpitch { -1 2 1 }
-       eisis   = \musicalpitch { -1 2 2 }
-       feses   = \musicalpitch { -1 3 -2 }
-       fes     = \musicalpitch { -1 3 -1 }
-       f       = \musicalpitch { -1 3 0 }
-       fis     = \musicalpitch { -1 3 1 }
-       fisis   = \musicalpitch { -1 3 2 }
-       geses   = \musicalpitch { -1 4 -2 }
-       ges     = \musicalpitch { -1 4 -1 }
-       g       = \musicalpitch { -1 4 0 }
-       gis     = \musicalpitch { -1 4 1 }
-       gisis   = \musicalpitch { -1 4 2 }
-       aeses   = \musicalpitch { -1 5 -2 }
-       ases    = \musicalpitch { -1 5 -2 }
-       aes     = \musicalpitch { -1 5 -1 }
-       as      = \musicalpitch { -1 5 -1 }
-       a       = \musicalpitch { -1 5 0 }
-       ais     = \musicalpitch { -1 5 1 }
-       aisis   = \musicalpitch { -1 5 2 }
-       beses   = \musicalpitch { -1 6 -2 }
-       bes     = \musicalpitch { -1 6 -1 }
-       b       = \musicalpitch { -1 6 0 }
-       bis     = \musicalpitch { -1 6 1 }
-       bisis   = \musicalpitch { -1 6 2 }
-
-
-       %
-       % upper case: 1 octave lower.
-       %
-
-
-       Ceses   = \musicalpitch { -2 0 -2 }
-       Ces     = \musicalpitch { -2 0 -1 }
-       C       = \musicalpitch { -2 0 0 }
-       Cis     = \musicalpitch { -2 0 1 }
-       Cisis   = \musicalpitch { -2 0 2 }
-       Deses   = \musicalpitch { -2 1 -2 }
-       Des     = \musicalpitch { -2 1 -1 }
-       D       = \musicalpitch { -2 1 0 }
-       Dis     = \musicalpitch { -2 1 1 }
-       Disis   = \musicalpitch { -2 1 2 }
-       Eses    = \musicalpitch { -2 2 -2 }
-       Es      = \musicalpitch { -2 2 -1 }
-       E       = \musicalpitch { -2 2 0 }
-       Eis     = \musicalpitch { -2 2 1 }
-       Eisis   = \musicalpitch { -2 2 2 }
-       Feses   = \musicalpitch { -2 3 -2 }
-       Fes     = \musicalpitch { -2 3 -1 }
-       F       = \musicalpitch { -2 3 0 }
-       Fis     = \musicalpitch { -2 3 1 }
-       Fisis   = \musicalpitch { -2 3 2 }
-       Geses   = \musicalpitch { -2 4 -2 }
-       Ges     = \musicalpitch { -2 4 -1 }
-       G       = \musicalpitch { -2 4 0 }
-       Gis     = \musicalpitch { -2 4 1 }
-       Gisis   = \musicalpitch { -2 4 2 }
-       Aeses   = \musicalpitch { -2 5 -2 }
-       Ases    = \musicalpitch { -2 5 -2 }
-       Aes     = \musicalpitch { -2 5 -1 }
-       As      = \musicalpitch { -2 5 -1 }
-       A       = \musicalpitch { -2 5 0 }
-       Ais     = \musicalpitch { -2 5 1 }
-       Aisis   = \musicalpitch { -2 5 2 }
-       Beses   = \musicalpitch { -2 6 -2 }
-       Bes     = \musicalpitch { -2 6 -1 }
-       B       = \musicalpitch { -2 6 0 }
-       Bis     = \musicalpitch { -2 6 1 }
-       Bisis   = \musicalpitch { -2 6 2 }
-
-
-}
-
diff --git a/init/norsk.ly b/init/norsk.ly
deleted file mode 100644 (file)
index 714eb10..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-
-%      $Id: norsk.ly,v 1.1 1998/03/25 11:38:28 arvidg Exp arvidg $     
-
-%{
-
- Common norwegian names for notes, including versions without the
- double s-es to save typing, as well as the traditional names with
- them not to confuse musicians.  "es" or "ess" means flat, "is" or
- "iss" means sharp.
-
- Otherwise, the main difference from the dutch names is the that the
- "b" is called "h" in norwegian, while the dutch "bes" is a norwegian
- "b".
-
- Staying within the (proud?) naming convention for norwegian language
- setup used in LaTeX, this file is called "norsk.ly" instead of
- "norwegian.ly", even if all other languages' files use the english
- name.
-
- This file is based on "dutch.ly".  Basically, I copied "dutch.ly",
- duplicated all lines containing at least one "is" or "es", changed
- every other "is" into an "iss" and every other "es" into an "ess",
- added "ass" et al, and made some b->h-related changes.  There may be
- bugs in here; please tell me (or send patches) if you find any.
-
-                                  Arvid Gr=F8tting <arvidg@ifi.uio.no>
-
-%}
-
-\notenames {
-       ceses   = \musicalpitch { -1 0 -2 }
-       cessess = \musicalpitch { -1 0 -2 }
-       ces     = \musicalpitch { -1 0 -1 }
-       cess    = \musicalpitch { -1 0 -1 }
-       c       = \musicalpitch { -1 0 0 }
-       cis     = \musicalpitch { -1 0 1 }
-       ciss    = \musicalpitch { -1 0 1 }
-       cisis   = \musicalpitch { -1 0 2 }
-       cississ = \musicalpitch { -1 0 2 }
-       deses   = \musicalpitch { -1 1 -2 }
-       dessess = \musicalpitch { -1 1 -2 }
-       des     = \musicalpitch { -1 1 -1 }
-       dess    = \musicalpitch { -1 1 -1 }
-       d       = \musicalpitch { -1 1 0 }
-       dis     = \musicalpitch { -1 1 1 }
-       diss    = \musicalpitch { -1 1 1 }
-       disis   = \musicalpitch { -1 1 2 }
-       dississ = \musicalpitch { -1 1 2 }
-       eeses   = \musicalpitch { -1 2 -2 }
-       eessess = \musicalpitch { -1 2 -2 }
-       eses    = \musicalpitch { -1 2 -2 }
-       essess  = \musicalpitch { -1 2 -2 }
-       ees     = \musicalpitch { -1 2 -1 }
-       eess    = \musicalpitch { -1 2 -1 }
-       es      = \musicalpitch { -1 2 -1 }
-       ess     = \musicalpitch { -1 2 -1 }
-       e       = \musicalpitch { -1 2 0 }
-       eis     = \musicalpitch { -1 2 1 }
-       eiss    = \musicalpitch { -1 2 1 }
-       eisis   = \musicalpitch { -1 2 2 }
-       eississ = \musicalpitch { -1 2 2 }
-       feses   = \musicalpitch { -1 3 -2 }
-       fessess = \musicalpitch { -1 3 -2 }
-       fes     = \musicalpitch { -1 3 -1 }
-       fess    = \musicalpitch { -1 3 -1 }
-       f       = \musicalpitch { -1 3 0 }
-       fis     = \musicalpitch { -1 3 1 }
-       fiss    = \musicalpitch { -1 3 1 }
-       fisis   = \musicalpitch { -1 3 2 }
-       fississ = \musicalpitch { -1 3 2 }
-       geses   = \musicalpitch { -1 4 -2 }
-       gessess = \musicalpitch { -1 4 -2 }
-       ges     = \musicalpitch { -1 4 -1 }
-       gess    = \musicalpitch { -1 4 -1 }
-       g       = \musicalpitch { -1 4 0 }
-       g       = \musicalpitch { -1 4 0 }
-       gis     = \musicalpitch { -1 4 1 }
-       giss    = \musicalpitch { -1 4 1 }
-       gisis   = \musicalpitch { -1 4 2 }
-       gississ = \musicalpitch { -1 4 2 }
-       aeses   = \musicalpitch { -1 5 -2 }
-       aessess = \musicalpitch { -1 5 -2 }
-       ases    = \musicalpitch { -1 5 -2 }
-       assess  = \musicalpitch { -1 5 -2 }
-       aes     = \musicalpitch { -1 5 -1 }
-       aess    = \musicalpitch { -1 5 -1 }
-       as      = \musicalpitch { -1 5 -1 }
-       ass     = \musicalpitch { -1 5 -1 }
-       a       = \musicalpitch { -1 5 0 }
-       ais     = \musicalpitch { -1 5 1 }
-       aiss    = \musicalpitch { -1 5 1 }
-       aisis   = \musicalpitch { -1 5 2 }
-       aississ = \musicalpitch { -1 5 2 }
-       bes     = \musicalpitch { -1 6 -2 }
-       bess    = \musicalpitch { -1 6 -2 }
-       b       = \musicalpitch { -1 6 -1 }
-       b       = \musicalpitch { -1 6 -1 }
-       h       = \musicalpitch { -1 6 0 }
-       his     = \musicalpitch { -1 6 1 }
-       hiss    = \musicalpitch { -1 6 1 }
-       hisis   = \musicalpitch { -1 6 2 }
-       hississ = \musicalpitch { -1 6 2 }
-
-
-       %
-       % upper case: 1 octave lower, as usual.
-       %
-
-
-       Ceses   = \musicalpitch { -2 0 -2 }
-       Cessess = \musicalpitch { -2 0 -2 }
-       Ces     = \musicalpitch { -2 0 -1 }
-       Cess    = \musicalpitch { -2 0 -1 }
-       C       = \musicalpitch { -2 0 0 }
-       Cis     = \musicalpitch { -2 0 1 }
-       Ciss    = \musicalpitch { -2 0 1 }
-       Cisis   = \musicalpitch { -2 0 2 }
-       Cississ = \musicalpitch { -2 0 2 }
-       Deses   = \musicalpitch { -2 1 -2 }
-       Dessess = \musicalpitch { -2 1 -2 }
-       Des     = \musicalpitch { -2 1 -1 }
-       Dess    = \musicalpitch { -2 1 -1 }
-       D       = \musicalpitch { -2 1 0 }
-       D       = \musicalpitch { -2 1 0 }
-       Dis     = \musicalpitch { -2 1 1 }
-       Diss    = \musicalpitch { -2 1 1 }
-       Disis   = \musicalpitch { -2 1 2 }
-       Dississ = \musicalpitch { -2 1 2 }
-       Eses    = \musicalpitch { -2 2 -2 }
-       Essess  = \musicalpitch { -2 2 -2 }
-       Es      = \musicalpitch { -2 2 -1 }
-       Ess     = \musicalpitch { -2 2 -1 }
-       E       = \musicalpitch { -2 2 0 }
-       E       = \musicalpitch { -2 2 0 }
-       Eis     = \musicalpitch { -2 2 1 }
-       Eiss    = \musicalpitch { -2 2 1 }
-       Eisis   = \musicalpitch { -2 2 2 }
-       Eississ = \musicalpitch { -2 2 2 }
-       Feses   = \musicalpitch { -2 3 -2 }
-       Fessess = \musicalpitch { -2 3 -2 }
-       Fes     = \musicalpitch { -2 3 -1 }
-       Fess    = \musicalpitch { -2 3 -1 }
-       F       = \musicalpitch { -2 3 0 }
-       Fis     = \musicalpitch { -2 3 1 }
-       Fiss    = \musicalpitch { -2 3 1 }
-       Fisis   = \musicalpitch { -2 3 2 }
-       Fississ = \musicalpitch { -2 3 2 }
-       Geses   = \musicalpitch { -2 4 -2 }
-       Gessess = \musicalpitch { -2 4 -2 }
-       Ges     = \musicalpitch { -2 4 -1 }
-       Gess    = \musicalpitch { -2 4 -1 }
-       G       = \musicalpitch { -2 4 0 }
-       Gis     = \musicalpitch { -2 4 1 }
-       Giss    = \musicalpitch { -2 4 1 }
-       Gisis   = \musicalpitch { -2 4 2 }
-       Gississ = \musicalpitch { -2 4 2 }
-       Aeses   = \musicalpitch { -2 5 -2 }
-       Aessess = \musicalpitch { -2 5 -2 }
-       Ases    = \musicalpitch { -2 5 -2 }
-       Assess  = \musicalpitch { -2 5 -2 }
-       Aes     = \musicalpitch { -2 5 -1 }
-       Aess    = \musicalpitch { -2 5 -1 }
-       As      = \musicalpitch { -2 5 -1 }
-       Ass     = \musicalpitch { -2 5 -1 }
-       A       = \musicalpitch { -2 5 0 }
-       A       = \musicalpitch { -2 5 0 }
-       Ais     = \musicalpitch { -2 5 1 }
-       Aiss    = \musicalpitch { -2 5 1 }
-       Aisis   = \musicalpitch { -2 5 2 }
-       Aississ = \musicalpitch { -2 5 2 }
-       Bes     = \musicalpitch { -2 6 -2 }
-       Bess    = \musicalpitch { -2 6 -2 }
-       B       = \musicalpitch { -2 6 -1 }
-       H       = \musicalpitch { -2 6 0 }
-       His     = \musicalpitch { -2 6 1 }
-       Hiss    = \musicalpitch { -2 6 1 }
-       Hisis   = \musicalpitch { -2 6 2 }
-       Hississ = \musicalpitch { -2 6 2 }
-
-}
-
-
-
diff --git a/init/paper.ly b/init/paper.ly
deleted file mode 100644 (file)
index 794a69b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-% paper.ly
-
-linewidth20 = \hsize - 2.5 * \staffheight;
-textheight20 = \vsize - 5.0 * \staffheight;
-linewidth = \staffheight/20.0 * \linewidth20;
-textheight = \staffheight/20.0 * \textheight20;
-
-indent = \linewidth / 14.0;
-
diff --git a/init/paper11.ly b/init/paper11.ly
deleted file mode 100644 (file)
index dac7cbd..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-% paper11.ly
-
-\include "table11.ly";
-
-paper_eleven = \paper {
-       staffheight = 11.0\pt;
-
-        % ugh see table11 for sizes
-       quartwidth = 3.63\pt;
-       wholewidth = 5.45\pt;
-
-       arithmetic_basicspace = 2.;
-        arithmetic_multiplier = 4.8\pt;
-       
-       0=\symboltables { \table_eleven }
-       \include "params.ly";
-}
-
diff --git a/init/paper13.ly b/init/paper13.ly
deleted file mode 100644 (file)
index 96f5e61..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-% paper13.ly
-
-\include "table13.ly";
-
-paper_thirteen = \paper {
-       staffheight = 13.0\pt;
-
-       % ugh see table13 for sizes
-       quartwidth = 4.29\pt;
-       wholewidth = 6.44\pt;
-
-
-       arithmetic_basicspace = 2.;
-        arithmetic_multiplier = 4.8\pt;
-       
-       0=\symboltables { \table_thirteen }
-       \include "params.ly";
-}
-
diff --git a/init/paper16.ly b/init/paper16.ly
deleted file mode 100644 (file)
index dc67fab..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-% paper16.ly
-
-\include "table13.ly";
-\include "table11.ly";
-\include "table16.ly";
-
-
-
-\version "1.0.14";
-
-paper_sixteen = \paper {
-       staffheight = 16.0\pt;
-
-       % ugh, see table16 for sizes
-       quartwidth = 5.28\pt;
-       wholewidth = 7.92\pt;
-
-
-       arithmetic_basicspace = 2.;
-        arithmetic_multiplier = 4.8\pt;
-       texsetting = "\\input lilyponddefs \\musixsixteendefs ";
-       pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
-       scmsetting = "(display \"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\");\n";
-       scmsetting = "(display \"\\\\input lilyponddefs \\\\musixsixteendefs\");\n";
-
-       0 = \symboltables { \table_sixteen }
-       -1 = \symboltables { \table_thirteen }
-       -2 = \symboltables { \table_eleven }
-       
-       \include "params.ly";
-}
diff --git a/init/paper20.ly b/init/paper20.ly
deleted file mode 100644 (file)
index 69c36b3..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-% paper20.ly
-
-\include "table20.ly";
-
- \include "table13.ly";
- \include "table16.ly";
-
-\version "1.0.14";
-
-paper_twenty = \paper {
-       staffheight = 20.0\pt;
-
-       % ugh see table20 for sizes
-       quartwidth =  6.61\pt;
-       wholewidth = 9.90\pt;
-
-
-       arithmetic_basicspace = 2.;
-        arithmetic_multiplier = 6.\pt;
-       texsetting = "\\input lilyponddefs \\musixtwentydefs ";
-       pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
-       % urg, debugging only
-       scmsetting = "(display \"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\");\n";
-       scmsetting = "(display \"\\\\input lilyponddefs \\\\musixtwentydefs\");\n";
-
-       -2 = \symboltables { \table_thirteen }  
-       -1 = \symboltables { \table_sixteen }
-       0 = \symboltables { \table_twenty }
-
-       \include "params.ly";
-}
-
diff --git a/init/paper26.ly b/init/paper26.ly
deleted file mode 100644 (file)
index f8d662b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-% paper26.ly
-
-\include "table26.ly";
-
-paper_twentysix = \paper {
-       staffheight = 26.0\pt;
-
-       % ugh see table26 for sizes
-       quartwidth = 8.59\pt;
-       wholewidth = 12.87\pt;
-
-       arithmetic_basicspace = 2.;
-        arithmetic_multiplier = 6.\pt;
-       
-       0=\symboltables { \table_twentysix }
-       \include "params.ly";
-       linewidth = \linewidth20;
-       textheight = \textheight20;
-}
-
diff --git a/init/params.ly b/init/params.ly
deleted file mode 100644 (file)
index 650f517..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-% params.ly
-% generic paper parameters
-
-paperfile = \papersize + ".ly";
-% paperfile = "a4.ly";
-\include \paperfile;
-\include "paper.ly";
-
-interline = \staffheight / 4.0;
-
-
-% thickness of stafflines
-staffline = \interline / 10.0;
-
-beam_thickness = 0.52 * (\interline - \staffline);
-interbeam = (2.0 * \interline - \beam_thickness) / 2.0;
-interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
-
-% stems and beams
-%
-% poor man's array size
-stem_max = 3.0;
-%
-stem_length0 = 3.5*\interline;
-stem_length1 = 2.5 * \interline;
-stem_length2 = 2.0 * \interline;
-stem_length3 = 1.5 * \interline;
-
-% only used for beams
-minimum_stem_length0 = 0.0; % not used
-minimum_stem_length1 = 1.5 * \interline;
-minimum_stem_length2 = 1.25 * \interline;
-minimum_stem_length3 = 1.0 * \interline;
-
-% stems in unnatural (forced) direction should be shortened,
-% according to [Roush & Gourlay].  Their suggestion to knock off
-% a whole staffspace seems a bit drastical: we'll do half.
-%
-forced_stem_shorten0 = 0.5 * \interline;
-forced_stem_shorten1 = \forced_stem_shorten0;
-forced_stem_shorten2 = \forced_stem_shorten1;
-forced_stem_shorten3 = \forced_stem_shorten2;
-
-% there are several ways to calculate the direction of a beam
-% 
-% * MAJORITY : number count of up or down notes
-% * MEAN     : mean centre distance of all notes
-% * MEDIAN   : mean centre distance weighted per note
-%
-% enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
-%
-DOWN = -1.0;
-UP = 1.0;
-MAJORITY = 2.0;
-MEAN = 3.0;
-MEDIAN = 4.0;
-% [Ross]: majority
-beam_dir_algorithm = \MAJORITY;
-
-% catch suspect beam slopes, set slope to zero if
-% outer stem is lengthened more than
-beam_lengthened = 0.2 * \interline;
-% and slope is running away steeper than
-beam_steep_slope = 0.2 / 1.0;
-
-% OSU: suggested gap = ss / 5;
-slur_x_gap = \interline / 5.0;
-slur_x_minimum = 2.0 * \interline;
-slur_slope_damping = 0.5;
-tie_x_minimum = \slur_x_minimum;
-tie_x_gap = \slur_x_gap;
-tie_slope_damping = 0.3;
-
-% ugh: rename to bow (in bezier.cc and fonts.doc too...)
-% slur_thickness = 1.8 * \staffline;
-slur_thickness = 1.4 * \staffline;
-slur_height_limit = \staffheight;
-
-% mmm, try bit flatter slurs
-% slur_ratio = 1.0 / 3.0;
-slur_ratio = 0.3;
-slur_clip_ratio = 1.2;
-slur_clip_height = 3.0 * \staffheight;
-slur_clip_angle = 100.0;
-slur_rc_factor = 2.4;
-
-% ugh
-notewidth = (\quartwidth + \wholewidth) / 2.0;
-
-% ugh
-barsize = \staffheight;
-rulethickness = \staffline;
-stemthickness = \staffline;
-
-
-gourlay_energybound = 100000.;
-%{
-The following bounds the number of measures
-on a line.  Decreasing it greatly reduces computation time
-%}
-gourlay_maxmeasures = 10.;
-castingalgorithm = \Gourlay;
-\include "engraver.ly";
-
diff --git a/init/part-paper.ly b/init/part-paper.ly
deleted file mode 100644 (file)
index 162984e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-%part-paper.ly
-
-\paper {
-       \translator { \OrchestralPartStaffContext }
-       \translator { \ScoreContext skipBars = 1; }
-       % for simple testing only!
-%      castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn
-}
-
diff --git a/init/performer.ly b/init/performer.ly
deleted file mode 100644 (file)
index 105243f..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-%
-% setup for Request->Element conversion. Guru-only
-%
-\translator {
-       \type "Staff_performer";
-       \accepts Voice;
-       \name Staff;
-       \consists "Key_performer";
-       \consists "Time_signature_performer";
-}
-
-\translator
-{
-       \type "Performer_group_performer";
-       \name Thread ;
-       \consists "Note_performer";
-}
-\translator
-{
-       \type "Performer_group_performer";
-       \accepts Thread;
-\name Voice;
-}
-\translator
-{
-       \type "Performer_group_performer";
-       \accepts Staff;
-
-\name GrandStaff;}
-
-\translator {
-       \type "Performer_group_performer";
-       \consists "Lyric_performer";
-\name LyricVoice;
-}
-
-\translator{
-       \type "Performer_group_performer";
-       \name ChoirStaff;
-       \accepts Staff;
-}
-\translator { 
-       \type "Staff_performer";
-       \accepts LyricVoice;
-       \name Lyrics;
-       \consists "Time_signature_performer";
-}
-\translator
-{
-       \type Performer_group_performer;
-
-       \name StaffGroup;
-       \accepts Staff;
-}
-\translator {
-       \type "Score_performer";
-
-
-       \name Score;
-       instrument = piano;
-       \accepts Staff;
-       \accepts GrandStaff;
-       \accepts Lyrics; 
-       \accepts StaffGroup;
-       \accepts ChoirStaff;
-       \consists "Swallow_performer";
-}
-
diff --git a/init/property.ly b/init/property.ly
deleted file mode 100644 (file)
index 5ae7c27..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-% property.ly
-% list of properties that lily recognises
-% and some shorthands (ugh)
-
-%{
-
-PROPERTIES
-
-name                   value   effect                  shorthand
-
-[Voice]
-ydirection             -1      force stem down         \stemdown
-ydirection             0       stem direction free     \stemboth
-ydirection             1       force stem up           \stemup
-
-pletvisibility         0       show nothing
-pletvisibility         1       show number
-pletvisibility         2       show (number and bracket)-if-no-beam
-pletvisibility         3       show number, and bracket-if-no-beam
-pletvisibility         4       show number, and bracket
-
-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
-
-textalignment          -1      left alignment of text
-textalignment          0       center alignment of text
-textalignment          1       right alignment of text
-
-[Score?]
-beamslopedamping       0       no damping              \beamslopeproportional  
-beamslopedamping       1       damping1)               \beamslopedamped
-beamslopedamping       100000  zero slope              \beamslopezero
-
-[Score?]
-beamquantisation       0       no quantisations        \beamposfree
-beamquantisation       1       quantise pos and slope  \beamposnormal
-beamquantisation       2       quantise avoide wedge2) \beampostraditional
-
-[Staff]
-keyoctaviation 0       Key signature only for specified octave \specialkey
-keyoctaviation 1       Key signature for all octaves   \normalkey
-
-[Staff]
-barAlways              0       none
-barAlways              1       generate bar at every moment
-
-[Staff]
-barAuto                        0       none
-barAuto                        1       auto-generate bar every measure
-
-timeSignatureStyle     C       Use C and stroked C for 4/4,2/2
-timeSignatureStyle     old     Use old style mensuration marks
-timeSignatureStyle     1       Use single number
-timeSignatureStyle     ""      Use normal two-digit time signature
-timeSignatureStyle     Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
-timeSignatureStyle     oldn/m  Set symbol explicitly,
-                               n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
-
-[Staff?]
-instrument             ascii   midi instrument table lookup
-
-[Score]
-chordInversion         0/1     Find and display chord with inversion?
-
-
-1) after beam slope damping table suggested in [Wanske]
-2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
-   start sitting on a staffline, and beams sloped downward must not hang 
-   from a staffline (similar for beam-ends).  This would create a wedge
-   that is traditionally being avoided because it could easily be filled-up 
-   with ink.
-   However, avoiding these wedges restricts the freedom of beams quite a lot 
-   while they don't seem to be a problem in modern printing.
-   In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
-   these wedges being avoided.
-
-%}
-
-%hmm, (these) abbrevs suck, imo
-% i guess they're meant as some form of doco
-% that's what i use them for...
-stemup = 
-       \property Voice.ydirection = \up 
-stemboth=      \property Voice.ydirection = \center
-stemdown =     \property Voice.ydirection = \down
-
-slurup = \notes {
-       s1*0
-       \property Voice.slurydirection = \up 
-       }
-slurboth= \notes {
-       s1*0
-       \property Voice.slurydirection = \center
-}
-slurdown = \notes {    
-       s1*0
-       \property Voice.slurydirection = \down
-}
-
-shifton =      \property Voice.hshift = 1
-shiftoff =     \property Voice.hshift = 0
-
-onevoice = {   
-       \stemboth \shiftoff     
-}
-
-voiceone = {   
-       \type Voice = one 
-       \stemup
-}
-
-voicetwo = {   
-       \type Voice = two
-       \stemdown
-}
-
-voicethree = {         
-       \type Voice = three
-       \stemup
-
-}
-
-voicefour = {  
-       \type Voice = four
-       \stemdown
-       \shifton
-}
-
-onestaff = {   
-       \translator Staff=one
-}
-
-staffone = {   
-       \translator Staff=one
-       \property Staff.ydirection = \center
-       \property Staff.hshift = 0
-}
-
-stafftwo = {   
-       \translator Staff=two
-       \property Staff.ydirection = \center
-       \property Staff.hshift = 0
-}
-
-staffthree = {         
-       \translator Staff=three
-       \property Staff.ydirection = \center
-       \property Staff.hshift = 0
-}
-
-stafffour = {  
-       \translator Staff=four
-       \property Staff.ydirection = \center
-       \property Staff.hshift = 0
-}
-
-% ugh, cluttering global namespace...
-none=0
-free=0
-normal=1
-traditional=2
-infinity=10000
-
-beamslopeproportional = {
-       \property Score.beamslopedamping = \none
-}
-
-beamslopedamped = {
-       \property Score.beamslopedamping = \normal
-}
-
-beamslopezero = {
-       \property Score.beamslopedamping = \infinity
-}
-
-% this sucks, you'd want to pass an array, at least
-% (or embedded code: you still can't dictate the slope / stemlength)
-beamposfree = {
-       \property Score.beamquantisation = \none
-}
-
-beamposnormal = {
-       \property Score.beamquantisation = \normal
-}
-
-beampostraditional = {
-       \property Score.beamquantisation = \traditional
-}
-
-slurnormal = {
-       \property Voice.slurdash = 0
-}
-
-slurdotted = {
-       \property Voice.slurdash = 1
-}
-
-%{
- for grace note hack, see input/test/grace.ly
-%}
-pletoff = {
-       \property Voice.pletvisibility = 0
-}
-pleton = {
-       \property Voice.pletvisibility = 3
-}
-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 = 3
-}
-%}
-
-normalkey = {
-       \property Staff.keyoctaviation = 1
-}
-
-specialkey = {
-       \property Staff.keyoctaviation = 0
-}
-
diff --git a/init/scm.ly b/init/scm.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/init/script.ly b/init/script.ly
deleted file mode 100644 (file)
index 7c96a45..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-
-% name = \script {
-% indexstring follow_into_staff same_dir_as_stem above_below_staff symbol_can_beinverted priority }
-%
-
-thumb = \script { "thumb" 0 0 1 0 0 }
-accent = \script { "sforzato"  0 -1 0 0 0 }
-marcato = \script { "marcato" 0 -1 0 1  0 }
-staccatissimo = \script { "staccatissimo" 0  -1 0 1 0 }
-portato= \script { "portato" 0 -1 0 1 0 }
-fermata = \script { "fermata" 0 1 0 1 0 }
-stopped = \script { "stopped" 0 0 1 0 0 }
-staccato = \script { "staccato" 1 -1 0 0 0 }
-tenuto = \script {"tenuto" 1 -1 0 0 0 }
-upbow = \script { "upbow" 0 0 1 0 0 }
-downbow = \script { "downbow" 0 0 1 0 0 }
-lheel = \script { "upedalheel" 0 0 -1  0 0 }
-rheel = \script { "dpedalheel" 0 0 1 0 0 }
-ltoe = \script { "upedaltoe" 0 0 -1 0 0 }
-rtoe = \script { "dpedaltoe" 0 0 1 0 0 }
-turn = \script { "turn" 0 0 1 0 0 }
-open = \script { "open" 0 0 1 0 0 }
-flageolet = \script { "flageolet"  0 0 1 0 0 }
-reverseturn = \script { "reverseturn"   0 0 1 0 0 }
-
-
-% could  we do without this bloat?
-%
-lbheel = \script { "bheel" 0 0 -1  0 0 }
-rbheel = \script { "bheel" 0 0 1 0 0 }
-lbtoe = \script { "btoe" 0 0 -1 0 0 }
-rbtoe = \script { "btoe" 0 0 1 0 0 }
-lfheel = \script { "fheel" 0 0 -1  0 0 }
-rfheel = \script { "fheel" 0 0 1 0 0 }
-lftoe = \script { "ftoe" 0 0 -1 0 0 }
-rftoe = \script { "ftoe" 0 0 1 0 0 }
-
-%
-% left toe:      right heel:
-%
-%                    u     -
-%                    -     u
-%  ---|-----|--   --|x----|x--
-%  ---|-----|--   --|-----|---
-%  --x|----x|--   --|-----|---
-%    ^     -                   
-%    -     ^                   
-%  back  front     back  front
-%
-% 
-% heu, me thought for a moment that order in table_xxx.ly was
-% being translated into priority...
-back = \script { "back" 0 -1 -1  0 0 }
-front = \script { "front" 0 -1 1 0 0 }
-
-trill =\script { "trill" 0 0 1 0 
-       2000   % be above text. 
-}
-
-prall =\script { "prall" 0 0 1 0 0 }
-mordent =\script { "mordent" 0 0 1 0 0 }
-prallprall =\script { "prallprall" 0 0 1 0 0 }
-prallmordent =\script { "prallmordent" 0 0 1 0 0 }
-upprall =\script { "upprall" 0 0 1 0 0 }
-downprall =\script { "downprall" 0 0 1 0 0 }
diff --git a/init/svenska.ly b/init/svenska.ly
deleted file mode 100644 (file)
index d5422ce..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-%
-% common Swedish names for notes. "ess" means flat, "iss" means sharp
-%
-% by Mats Bengtsson.
-
-\notenames {
-       cessess = \musicalpitch { -1 0 -2 }
-       cess    = \musicalpitch { -1 0 -1 }
-       c       = \musicalpitch { -1 0 0 }
-       ciss    = \musicalpitch { -1 0 1 }
-       cississ = \musicalpitch { -1 0 2 }
-       dessess = \musicalpitch { -1 1 -2 }
-       dess    = \musicalpitch { -1 1 -1 }
-       d       = \musicalpitch { -1 1 0 }
-       diss    = \musicalpitch { -1 1 1 }
-       dississ = \musicalpitch { -1 1 2 }
-       essess  = \musicalpitch { -1 2 -2 }
-       ess     = \musicalpitch { -1 2 -1 }
-       e       = \musicalpitch { -1 2 0 }
-       eiss    = \musicalpitch { -1 2 1 }
-       eississ = \musicalpitch { -1 2 2 }
-       fessess = \musicalpitch { -1 3 -2 }
-       fess    = \musicalpitch { -1 3 -1 }
-       f       = \musicalpitch { -1 3 0 }
-       fiss    = \musicalpitch { -1 3 1 }
-       fississ = \musicalpitch { -1 3 2 }
-       gessess = \musicalpitch { -1 4 -2 }
-       gess    = \musicalpitch { -1 4 -1 }
-       g       = \musicalpitch { -1 4 0 }
-       giss    = \musicalpitch { -1 4 1 }
-       gississ = \musicalpitch { -1 4 2 }
-       assess  = \musicalpitch { -1 5 -2 }
-       ass     = \musicalpitch { -1 5 -1 }
-       a       = \musicalpitch { -1 5 0 }
-       aiss    = \musicalpitch { -1 5 1 }
-       aississ = \musicalpitch { -1 5 2 }
-       hessess = \musicalpitch { -1 6 -2 }
-       b       = \musicalpitch { -1 6 -1 }
-       h       = \musicalpitch { -1 6 0 }
-       hiss    = \musicalpitch { -1 6 1 }
-       hississ = \musicalpitch { -1 6 2 }
-
-
-       %
-       % upper case: 1 octave lower.
-       %
-
-
-       Cessess = \musicalpitch { -2 0 -2 }
-       Cess    = \musicalpitch { -2 0 -1 }
-       C       = \musicalpitch { -2 0 0 }
-       Ciss    = \musicalpitch { -2 0 1 }
-       Cississ = \musicalpitch { -2 0 2 }
-       Dessess = \musicalpitch { -2 1 -2 }
-       Dess    = \musicalpitch { -2 1 -1 }
-       D       = \musicalpitch { -2 1 0 }
-       Diss    = \musicalpitch { -2 1 1 }
-       Dississ = \musicalpitch { -2 1 2 }
-       Essess  = \musicalpitch { -2 2 -2 }
-       Ess     = \musicalpitch { -2 2 -1 }
-       E       = \musicalpitch { -2 2 0 }
-       Eiss    = \musicalpitch { -2 2 1 }
-       Eississ = \musicalpitch { -2 2 2 }
-       Fessess = \musicalpitch { -2 3 -2 }
-       Fess    = \musicalpitch { -2 3 -1 }
-       F       = \musicalpitch { -2 3 0 }
-       Fiss    = \musicalpitch { -2 3 1 }
-       Fississ = \musicalpitch { -2 3 2 }
-       Gessess = \musicalpitch { -2 4 -2 }
-       Gess    = \musicalpitch { -2 4 -1 }
-       G       = \musicalpitch { -2 4 0 }
-       Giss    = \musicalpitch { -2 4 1 }
-       Gississ = \musicalpitch { -2 4 2 }
-       Assess  = \musicalpitch { -2 5 -2 }
-       Ass     = \musicalpitch { -2 5 -1 }
-       A       = \musicalpitch { -2 5 0 }
-       Aiss    = \musicalpitch { -2 5 1 }
-       Aississ = \musicalpitch { -2 5 2 }
-       Hessess = \musicalpitch { -2 6 -2 }
-       B       = \musicalpitch { -2 6 -1 }
-       H       = \musicalpitch { -2 6 0 }
-       Hiss    = \musicalpitch { -2 6 1 }
-       Hississ = \musicalpitch { -2 6 2 }
-
-
-}
diff --git a/init/table11.ly b/init/table11.ly
deleted file mode 100644 (file)
index 6df399f..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-% table26.ly
-%
-% spacing info for LilyPond. Do not edit this.
-% It has a lot of hard-wired stringconstants
-%
-
-table_eleven  = \symboltables {
-
-   \font       "feta11"
-
-    % index symbol #parameters         xmin xmax ymin ymax
-
-     "style" = \table {
-               "bold"  "setbold"       1       0.0\pt  7.50\pt 0.0\pt  8.0\pt
-               "dynamic"       "setdynamic"    1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "finger"        "setfinger"     1       0.0\pt  0.0\pt  0.0\pt  5.0\pt
-               "italic"        "setitalic"     1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "large" "setlarge"      1       0.0\pt  9.50\pt 0.0\pt  12.0\pt
-               "number"        "setnumber"     1       0.0\pt  9.50\pt 0.0\pt  12.0\pt
-               "roman" "settext"       1       0.0\pt  7.5\pt  0.0\pt  10.0\pt
-     }
-
-     "dynamics" = \table {
-       
-       "mf" "dynmf"            0
-       "ffffff" "dynffffff"    0
-       "fffff" "dynfffff"      0
-       "ffff" "dynffff"        0
-       "fff" "dynfff"          0
-       "ff" "dynff"            0
-       "f" "dynf"              0
-
-       "mp" "dynmp"            0
-       "p" "dynp"              0
-       "pp" "dynpp"            0
-       "ppp" "dynppp"          0
-       "pppp" "dynpppp"        0
-       "ppppp" "dynppppp"      0
-       "pppppp" "dynpppppp"    0
-
-        "fp" "dynfp"   0
-       "sf" "dynsf"    0
-       "sff" "dynsff"  0
-        "sfz" "dynsfz" 0
-       "sp" "dynsp"    0
-       "spp" "dynspp"  0
-       "rfz" "dynrfz"  0
-       
-       }
-     "align" = \table {
-               "-1"    "leftalign"     1
-               "0"     "centeralign"   1
-               "1"     "rightalign"    1
-       }
-
-
-
-
-    "bars" = \table {
-       "empty" "emptybar"      0
-       ""      "emptybar"      0                       0.0\pt  0.0\pt  0.0\pt  16.0\pt
-       "|"     "maatstreep"    1       0.0\pt  0.64\pt         0.0\pt  20.0\pt
-       "||"    "doublebar"     1               0.0\pt  5.0\pt  0.0\pt  20.0\pt
-       "|."    "finishbar"     1               -5.0\pt 0.0\pt  0.0\pt  20.0\pt
-       ".|"    "startbar"      1               0.0\pt  4.0\pt  0.0\pt  20.0\pt
-       ".|."   "fatdoublebar"  1               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|"    "repeatbar"     0               -10.0\pt        0.0\pt  0.0\pt  20.0\pt
-       "|:"    "startrepeat"   0               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|:"   "repeatbarstartrepeat"  0       0.0\pt 20.0\pt  0.0\pt  20.0\pt
-    }
-
-    "foobar" = \table {
-       "C"     "fourfourmeter" 0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-       "C2"    "allabreve"     0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-    }
-
-    % dims ignored for this table
-    "param" = \table {
-        "brace"    "pianobrace"        1       0.0\pt  0.0\pt  32.0\pt 96.0\pt  
-        "time_signature"       "generalmeter"  2       0.0\pt  10.0\pt -5.0\pt 5.0\pt
-        "stem" "stem"  2
-        "fill" "hbox{}"        0
-        "rule" "rulesym"       2
-     }
-
-}
-
diff --git a/init/table13.ly b/init/table13.ly
deleted file mode 100644 (file)
index 0a38edc..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-% table26.ly
-%
-% spacing info for LilyPond. Do not edit this.
-% It has a lot of hard-wired stringconstants
-%
-
-table_thirteen  = \symboltables {
-
-   \font       "feta13"
-
-    % index symbol #parameters         xmin xmax ymin ymax
-
-     "style" = \table {
-               "bold"  "setbold"       1       0.0\pt  7.50\pt 0.0\pt  8.0\pt
-               "dynamic"       "setdynamic"    1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "finger"        "setfinger"     1       0.0\pt  0.0\pt  0.0\pt  5.0\pt
-               "italic"        "setitalic"     1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "large" "setlarge"      1       0.0\pt  9.50\pt 0.0\pt  12.0\pt
-               "number"        "setnumber"     1       0.0\pt  9.50\pt 0.0\pt  12.0\pt
-               "roman" "settext"       1       0.0\pt  7.5\pt  0.0\pt  10.0\pt
-     }
-
-     "dynamics" = \table {
-       
-       "mf" "dynmf"            0
-        "ffffff" "dynffffff"    0
-        "fffff" "dynfffff"      0
-        "ffff" "dynffff"        0
-        "fff" "dynfff"          0
-        "ff" "dynff"            0
-        "f" "dynf"              0
-
-        "mp" "dynmp"            0
-        "p" "dynp"              0
-        "pp" "dynpp"            0
-        "ppp" "dynppp"          0
-        "pppp" "dynpppp"        0
-        "ppppp" "dynppppp"      0
-        "pppppp" "dynpppppp"    0
-
-        "fp" "dynfp"    0
-        "sf" "dynsf"    0
-        "sff" "dynsff" 0
-       "sfz" "dynsfz"  0
-        "sp" "dynsp"    0
-        "spp" "dynspp" 0
-       "rfz" "dynrfz"  0
-       
-       }
-     "align" = \table {
-               "-1"    "leftalign"     1
-               "0"     "centeralign"   1
-               "1"     "rightalign"    1
-       }
-
-    "bars" = \table {
-       "empty" "emptybar"      0
-       ""      "emptybar"      0                       0.0\pt  0.0\pt  0.0\pt  16.0\pt
-       "|"     "maatstreep"    1       0.0\pt  0.64\pt         0.0\pt  20.0\pt
-       "||"    "doublebar"     1               0.0\pt  5.0\pt  0.0\pt  20.0\pt
-       "|."    "finishbar"     1               -5.0\pt 0.0\pt  0.0\pt  20.0\pt
-       ".|"    "startbar"      1               0.0\pt  4.0\pt  0.0\pt  20.0\pt
-       ".|."   "fatdoublebar"  1               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|"    "repeatbar"     0               -10.0\pt        0.0\pt  0.0\pt  20.0\pt
-       "|:"    "startrepeat"   0               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|:"   "repeatbarstartrepeat"  0       0.0\pt 20.0\pt  0.0\pt  20.0\pt
-    }
-
-    "time_signatures" = \table {
-       "C"     "fourfourmeter" 0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-       "C2"    "allabreve"     0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-    }
-
-    % dims ignored for this table
-    "param" = \table {
-        "brace"    "pianobrace"        1       0.0\pt  0.0\pt  32.0\pt 96.0\pt  
-        "time_signature"       "generalmeter"  2       0.0\pt  10.0\pt -5.0\pt 5.0\pt
-        "stem" "stem"  2
-        "fill" "hbox{}"        0
-        "rule" "rulesym"       2
-     }
-}
-
diff --git a/init/table16.ly b/init/table16.ly
deleted file mode 100644 (file)
index a5b4122..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-% table16.ly
-%
-% spacing info for LilyPond. Do not edit this if you're not a guru.
-% It has a lot of hard-wired stringconstants
-%
-
-
-table_sixteen= 
-\symboltables {
-   \font       "feta16"
-
-   % index symbol #parameters          xmin xmax ymin ymax
-
-     "style" = \table {
-               "bold"  "setbold"       1               0.0\pt  7.50\pt 0.0\pt  8.0\pt
-               "dynamic"       "setdynamic"    1       0.0\pt  0.0\pt  0.0\pt  8.0\pt
-               "finger"        "setfinger"     1       0.0\pt  2.0\pt  0.0\pt  4.0\pt
-               "italic"        "setitalic"     1       0.0\pt  4.\pt   0.0\pt  8.0\pt
-               "typewriter"    "settypewriter" 1       0.0\pt  4.\pt   0.0\pt  8.0\pt
-               "large" "setlarge"      1                       0.0\pt  9.50\pt 0.0\pt  10.0\pt
-               "number"        "setnumber"     1       0.0\pt  6.0\pt  0.0\pt  8.0\pt
-               "number-1"      "setnumber-1"   1       0.0\pt  4.0\pt  0.0\pt  5.0\pt
-               "roman" "settext"       1                       0.0\pt  4.5\pt  0.0\pt  8.0\pt
-     }
-     "dynamics" = \table {
-       
-       "mf" "dynmf"            0
-        "ffffff" "dynffffff"    0
-        "fffff" "dynfffff"      0
-        "ffff" "dynffff"        0
-        "fff" "dynfff"          0
-        "ff" "dynff"            0
-        "f" "dynf"              0
-
-        "mp" "dynmp"            0
-        "p" "dynp"              0
-        "pp" "dynpp"            0
-        "ppp" "dynppp"          0
-        "pppp" "dynpppp"        0
-        "ppppp" "dynppppp"      0
-        "pppppp" "dynpppppp"    0
-
-        "fp" "dynfp"    0
-        "sf" "dynsf"    0
-        "sff" "dynsff" 0
-       "sfz" "dynsfz"  0
-        "sp" "dynsp"    0
-        "spp" "dynspp" 0
-       "rfz" "dynrfz"  0
-
-       }
-     "align" = \table {
-               "-1"    "leftalign"     1
-               "0"     "centeralign"   1
-               "1"     "rightalign"    1
-       }
-
-
-     "bars" = \table {
-       "empty" "emptybar"      0
-       ""      "emptybar"      0                       0.0\pt  0.0\pt  0.0\pt  16.0\pt
-       "|"     "maatstreep"    1       0.0\pt  0.64\pt 0.0\pt  16.0\pt
-       "||"    "doublebar"     1               0.0\pt  4.0\pt  0.0\pt  16.0\pt
-       "|."    "finishbar"     1               -4.0\pt 0.0\pt  0.0\pt  16.0\pt
-       ".|"    "startbar"      1               0.0\pt  4.0\pt  0.0\pt  16.0\pt
-       ".|."   "fatdoublebar"  1               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|"    "repeatbar"     0               -8.0\pt 0.0\pt  0.0\pt  16.0\pt
-       "|:"    "startrepeat"   0               0.0\pt  8.0\pt  0.0\pt 16.0\pt
-       ":|:"   "repeatbarstartrepeat"  0       0.0\pt  16.0\pt 0.0\pt  16.0\pt
-
-     }
-
-     % dims ignored for this table
-     "param" = \table {
-       "brace" "pianobrace"    1       0.0\pt  0.0\pt  32.0\pt 112.0\pt
-       "bracket"       "staffbracket"  1       0.0\pt  4.0\pt  16.0\pt 128.0\pt
-       "extender"      "extender"      1       0.0\pt  0.0\pt  1.0\pt  160.0\pt
-       "time_signature"        "generalmeter"  2       0.0\pt  10.0\pt -8.0\pt 8.0\pt
-       "rule" "rulesym"        2
-       "stem"  "stem"  2
-       "fill"  "hbox{}"        0
-     }
-
-
-}
-
diff --git a/init/table20.ly b/init/table20.ly
deleted file mode 100644 (file)
index 0a1067c..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-% table20.ly
-%
-% spacing info for LilyPond. Do not edit this.
-% It has a lot of hard-wired stringconstants
-%
-
-table_twenty = 
-\symboltables {
-
-   \font       "feta20"
-
-    % index symbol #parameters         xmin xmax ymin ymax
-
-     "style" = \table {
-               "bold"  "setbold"       1       0.0\pt  5.50\pt 0.0\pt  10.0\pt
-               "dynamic"       "setdynamic"    1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "finger"        "setfinger"     1       0.0\pt  4.5\pt  0.0\pt  5.0\pt
-               "typewriter"    "settypewriter" 1       0.0\pt  5.5\pt  0.0\pt  10.0\pt
-               "italic"        "setitalic"     1       0.0\pt  5.5\pt  0.0\pt  10.0\pt
-               "large" "setlarge"      1       0.0\pt  6.50\pt 0.0\pt  12.0\pt
-               "Large" "setLarge"      1       0.0\pt  6.50\pt 0.0\pt  12.0\pt
-               "mark"  "setmark"       1       0.0\pt  6.50\pt 0.0\pt  12.0\pt
-               "number"        "setnumber"     1       0.0\pt  8.0\pt  0.0\pt  10.0\pt
-               "number-1"      "setnumber-1"   1       0.0\pt  6.0\pt  0.0\pt  7.0\pt
-               "roman" "settext"       1       0.0\pt  5.6\pt  0.0\pt  10.0\pt
-     }
-
-     "dynamics" = \table {
-       
-       "mf" "dynmf"            0
-        "ffffff" "dynffffff"    0
-        "fffff" "dynfffff"      0
-        "ffff" "dynffff"        0
-        "fff" "dynfff"          0
-        "ff" "dynff"            0
-        "f" "dynf"              0
-
-        "mp" "dynmp"            0
-        "p" "dynp"              0
-        "pp" "dynpp"            0
-        "ppp" "dynppp"          0
-        "pppp" "dynpppp"        0
-        "ppppp" "dynppppp"      0
-        "pppppp" "dynpppppp"    0
-
-        "fp" "dynfp"    0
-        "sf" "dynsf"    0
-        "sff" "dynsff" 0
-       "sfz" "dynsfz"  0
-        "sp" "dynsp"    0
-       "spp" "dynspp"  0
-        "rfz" "dynrfz"  0
-       
-       }
-     "align" = \table {
-               "-1"    "leftalign"     1
-               "0"     "centeralign"   1
-               "1"     "rightalign"    1
-       }
-
-
-
-
-    "bars" = \table {
-       "empty" "emptybar"      0
-       ""      "emptybar"      0               0.0\pt  0.0\pt  0.0\pt  16.0\pt
-       "|"     "maatstreep"    1       0.0\pt  0.64\pt         0.0\pt  20.0\pt
-       "||"    "doublebar"     1               0.0\pt  5.0\pt  0.0\pt  20.0\pt
-       "|."    "finishbar"     1               -5.0\pt 0.0\pt  0.0\pt  20.0\pt
-       ".|"    "startbar"      1               0.0\pt  4.0\pt  0.0\pt  20.0\pt
-       ".|."   "fatdoublebar"  1               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|"    "repeatbar"     0               -10.0\pt        0.0\pt  0.0\pt  20.0\pt
-       "|:"    "startrepeat"   0               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|:"   "repeatbarstartrepeat"  0       0.0\pt 20.0\pt  0.0\pt  20.0\pt
-    }
-
-    % dims ignored for this table
-    "param" = \table {
-       "bracket"       "staffbracket"  1       0.0\pt  0.0\pt  20.0\pt 160.0\pt
-       "extender"      "extender"      1       0.0\pt  0.0\pt  1.0\pt  160.0\pt
-       "rule" "rulesym"        2
-       "brace"    "pianobrace" 1       0.0\pt  0.0\pt  40.0\pt 140.0\pt         
-        "time_signature"       "generalmeter"  2       0.0\pt  10.0\pt -5.0\pt 5.0\pt
-        "stem" "stem"  2
-        "fill" "hbox{}"        0
-     }
-     
-}
-
diff --git a/init/table26.ly b/init/table26.ly
deleted file mode 100644 (file)
index 90b9313..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-% table26.ly
-%
-% spacing info for LilyPond. Do not edit this.
-% It has a lot of hard-wired stringconstants
-%
-
-table_twentysix  = \symboltables {
-
-   \font       "feta26"
-
-    % index symbol #parameters         xmin xmax ymin ymax
-
-     "style" = \table {
-               "bold"  "setbold"       1       0.0\pt  7.50\pt 0.0\pt  8.0\pt
-               "dynamic"       "setdynamic"    1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "finger"        "setfinger"     1       0.0\pt  0.0\pt  0.0\pt  5.0\pt
-               "italic"        "setitalic"     1       0.0\pt  0.0\pt  0.0\pt  10.0\pt
-               "large" "setlarge"      1       0.0\pt  9.50\pt 0.0\pt  12.0\pt
-               "number"        "setnumber"     1       0.0\pt  8.0\pt  0.0\pt  10.0\pt
-               "roman" "settext"       1       0.0\pt  7.5\pt  0.0\pt  10.0\pt
-     }
-
-     "dynamics" = \table {
-       
-       "mf" "dynmf"            0
-        "ffffff" "dynffffff"    0
-        "fffff" "dynfffff"      0
-        "ffff" "dynffff"        0
-        "fff" "dynfff"          0
-        "ff" "dynff"            0
-        "f" "dynf"              0
-
-        "mp" "dynmp"            0
-        "p" "dynp"              0
-        "pp" "dynpp"            0
-        "ppp" "dynppp"          0
-        "pppp" "dynpppp"        0
-        "ppppp" "dynppppp"      0
-        "pppppp" "dynpppppp"    0
-
-        "fp" "dynfp"    0
-        "sf" "dynsf"    0
-        "sff" "dynsff" 0
-       "sfz" "dynsfz"  0
-        "sp" "dynsp"    0
-       "spp" dynspp"   0
-        "rfz" "dynrfz"  0
-
-       }
-     "align" = \table {
-               "-1"    "leftalign"     1
-               "0"     "centeralign"   1
-               "1"     "rightalign"    1
-       }
-
-
-
-
-    "bars" = \table {
-       "empty" "emptybar"      0
-       ""      "emptybar"      0                       0.0\pt  0.0\pt  0.0\pt  16.0\pt
-       "|"     "maatstreep"    1       0.0\pt  0.64\pt         0.0\pt  20.0\pt
-       "||"    "doublebar"     1               0.0\pt  5.0\pt  0.0\pt  20.0\pt
-       "|."    "finishbar"     1               -5.0\pt 0.0\pt  0.0\pt  20.0\pt
-       ".|"    "startbar"      1               0.0\pt  4.0\pt  0.0\pt  20.0\pt
-       ".|."   "fatdoublebar"  1               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|"    "repeatbar"     0               -10.0\pt        0.0\pt  0.0\pt  20.0\pt
-       "|:"    "startrepeat"   0               0.0\pt  10.0\pt 0.0\pt  20.0\pt
-       ":|:"   "repeatbarstartrepeat"  0       0.0\pt 20.0\pt  0.0\pt  20.0\pt
-    }
-
-    "meters" = \table {
-       "C"     "fourfourmeter" 0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-       "C2"    "allabreve"     0               0.0\pt  10.0\pt -5.0\pt 5.0\pt
-    }
-
-    % dims ignored for this table
-    "param" = \table {
-        "brace"    "pianobrace"        1       0.0\pt  0.0\pt  32.0\pt 96.0\pt  
-        "time_signature"       "generalmeter"  2       0.0\pt  10.0\pt -5.0\pt 5.0\pt
-        "stem" "stem"  2
-        "fill" "hbox{}"        0
-        "rule" "rulesym"       2
-     }
-}
-
index 26dc6aee1a7ec24fa710e5b52586a63f3779e86d..4b8cc939e99c60754ed1c17fa41e7a497f533ccc 100644 (file)
@@ -4,7 +4,7 @@ depth = ..
 
 SUBDIRS=test bugs
 
-examples=praeludium-fuga-E  twinkle-pop star-spangled-banner
+examples=praeludium-fuga-E star-spangled-banner
 flexamples=
 
 LOCALSTEPMAKE_TEMPLATES=mutopia
diff --git a/input/bugs/auto-beam.ly b/input/bugs/auto-beam.ly
new file mode 100644 (file)
index 0000000..622efcc
--- /dev/null
@@ -0,0 +1,21 @@
+\score{
+    \notes \relative c''{
+       \time 2/4;
+       c8
+       \repeat 2 {  % \bar "|:" iknoort-i ook...
+       c8 c8
+       }
+       c8
+    }
+    \paper{
+       \translator{
+           \VoiceContext
+           % add experimental auto-beaming
+           \consists Auto_beam_engraver;
+           beamAuto = 1.;
+           beamAutoEnd8 = "1/4";
+           beamAutoEnd16 = "1/4";
+           beamAutoEnd32 = "1/4";
+       }
+    }
+}
diff --git a/input/bugs/mats.ly b/input/bugs/mats.ly
new file mode 100644 (file)
index 0000000..6409937
--- /dev/null
@@ -0,0 +1,78 @@
+
+corI=\notes\relative c'' {
+\key c;
+
+[g8. \f ( a16 ] ) g2 |
+[g8.  ( a16 ] ) g2_"dim." |
+c2. \p ( |
+) g2 g4 ( |
+) c2. ( |
+) g4 [g8. ( a16 ] ) g4 |
+c2. \p ( |
+) g2 g4 |
+c2 \< ( ~ [ \! c8 \> \! ) g ] |
+g2 \p r4 |
+g \mf ( d' c~ |
+c ) b r |
+R2. |
+}
+
+corII=\notes\relative c'' {
+\key c;
+\time 3/4;
+
+R2.*19 |
+r4 r [g8^"solo" \p (\< \! ) e'] |
+g2 \> ( [e8. ) \! c16 ] | % grace note e8 () g2
+g2 r 4 |
+r r \times 2/3 {[e'8 \p ( g, ) g' ]} |
+g4 \> () \! e r |
+r r \times 2/3 {[g8 \p ( e ) g ]} |
+d4 \> () \! g r |
+r r [g,16 ( \p d' e d ] |
+) g,4 r r |
+R2. |
+r4 r c \p ( |
+) g r r |
+g [g8. ( a16 ] ) g4 |
+R2. |
+r4 r [g8^""^"solo" \mf \< () \! e' ] |
+g2 \> [ \! e8. ( c16 ] |
+) g2 r4 |
+R2. |
+r4 r \times 2/3 {[e'8 \f ( g, ) g'] } |
+g4 () e r |
+r r \times 2/3 {[g8 \f ( e ) g] } 
+d4 () g r |
+r r [d16 \f ( g, e' d ] |
+[g, d' e ) d ] g,4 r |
+r d'2 \f \> ( | % grace note g8 d2
+[g,8. a16 g8. a16 \! g8. ) a16 ] |
+g4 r r |
+}
+
+trpI=\notes\relative c'' {
+\key c;
+\time 3/4;
+
+R2.*30 |
+}
+
+\score{ <
+  \type StaffGroup = brass <
+    \type Staff = cor <
+      \type Voice = corI { \stemup \corI }
+      \type Voice = corII { \stemdown \corII }
+    >
+    \type Staff = trp <
+      \type Voice = trpI { \stemup \trpI }
+    >
+  >
+>
+ \paper {
+    \translator {\OrchestralScoreContext
+       % The following line causes a SIGSEGV
+       \consists "Multi_measure_rest_engraver"; 
+    }
+  }
+}
diff --git a/input/bugs/partial.ly b/input/bugs/partial.ly
new file mode 100644 (file)
index 0000000..af91532
--- /dev/null
@@ -0,0 +1,16 @@
+\score{
+    \notes \relative c''{
+       \time 4/4;
+       c4 c c c 
+       \partial 4*3;
+       c c c
+       \repeat 2 {
+       \partial 4;
+       c
+       c c c c
+       \partial 4*3;
+       c c c
+       }
+    }
+    \paper{  }
+}
index 7ce7cf7a9a89318dddcb997f621d01c5a68461bb..0bb12e66c0920e88a95a60ea593293292dea843c 100644 (file)
@@ -10,61 +10,65 @@ copyright =  "public domain";
 
 % \version "1.0.14";
 
-global = \notes {
-       \key g;
-       \time 3/8;
-       \skip 4.*8;
-% 1.1.9 broken
-%      \bar ":|";
-}
-
 tempi = \notes {
        \property Voice.textstyle = "large"
        s8^"Allegro assai"
 }
 
 dynamics = \notes {
-       \type Voice=i 
        s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p |
        s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p |
 }
 
+global = \notes {
+       \key g;
+       \time 3/8;
+       < 
+               \dynamics 
+               \repeat 2 { s4.*8 } 
+       >
+}
+
 violinei = \notes\relative c''{
-       \type Voice=i 
-       [d8(b)d16] r | g,4. | [a16(b c8)e16] r | g,8~fis4 | 
-       [d''8(b)d16] r | g,4. | [a16(b c8)fis,16] r | fis8~g4 |
+       d8(b)d16 r | g,4. | a16(b c8)e16 r | g,8~fis4 | 
+       d''8(b)d16 r | g,4. | a16(b c8)fis,16 r | fis8~g4
 }
 
 violineii = \notes\relative c'{
-       \type Voice=i 
-       [b8(d)b] | [e(g,)e'] | [e(c)a'] | [a(c)a] | 
+       b8(d)b | e(g,)e' | e(c)a' | a(c)a | 
        % copy from violinei: 5-8
-       [d8(b)d16] r | g,4. | [a16( b c8)fis,16] r | fis8~g4 |
+       d8(b)d16 r | g,4. | a16( b c8)fis,16 r | fis8~g4
 }
 
 viola = \notes\relative c'{
-       \type Voice=i 
        \clef "alto";
-       [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] | 
-       [e(g,)e'] | [e(e,<)a' c,>] | <[a(c,> <fis b,> )b,] |
+       g8(b)g | b(e,)b' | c,(a')c, | c'(d,)c' | b(d)b | 
+       e(g,)e' | e(e,<)a' c,> | < a(c,> <fis b,> )b, 
 }
 
 cello = \notes\relative c'{
-       \type Voice=i 
        \clef "bass";
-       g4 r8 | e'4 r8 | c4 r8 | d4 r8 | [g,,8 b g] | [b(e,)b'] |
-       [c,(a')d,] | [d'(d,)g] |
+       g4 r8 | e'4 r8 | c4 r8 | d4 r8 | g,,8 b g | b(e,)b' |
+       c,(a')d, | d'(d,)g 
 }
 
 \score{
        \type StaffGroup <
-               \type Staff = i < \tempi \global \dynamics \violinei >
-               \type Staff = ii < \global \dynamics \violineii >
-               \type Staff = iii < \global \dynamics \viola >
-               \type Staff = iv < \global \dynamics \cello >
+% broken, 1.1.23
+%              \type Staff = i < \tempi \global \violinei >
+               \type Staff = i < \global \violinei >
+               \type Staff = ii < \global \violineii >
+               \type Staff = iii < \global \viola >
+               \type Staff = iv  < \global \cello >
        >
        \paper{
                \translator { \OrchestralScoreContext }
+               \translator {
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd = "3/8";
+               }
        }
        \midi{ \tempo 4 = 160; }
 }
index f3312161d46ddbc03caa4c21019e16779f9b59b8..d05c396cfa5beea4a2a93ef7ff8cf32221a18730 100644 (file)
@@ -14,46 +14,46 @@ copyright="public domain";
 }
 
 $staff1_voice_1 = \notes {
-  [a8.()fis16] 
-  \repeat 2 { d4 fis4 a4 d'2 [fis'8. e'16] d'4 fis4 gis4 a2 [a8 a8]
-  fis'4. e'8 d'4 cis'2 [b8. cis'16] d'4 d'4 a4 }
-  \alternative { { fis4 d4 [a8. fis16] } { fis4 d4 [fis'8.  fis'16] } } 
-  fis'4 g'4 a'4 a'2 [g'8 fis'8] e'4 fis'4
-  g'4 g'2 g'4 fis'4. e'8 d'4 cis'2 [b8. cis'16] d'4 fis4 gis4 a2 a4
-  d'4 d'4 [d'8()cis'8] b4 b4 b4 e'4 [g'8 ()fis'8] [e'8()d'8]
-  d'4~cis'4 [a8. a16] d'4.~e'8 [fis'8 g'8] a'2 [d'8 e'8] fis'4. g'8
+  a8.()fis16 
+  \repeat 2 { d4 fis4 a4 d'2 fis'8. e'16 d'4 fis4 gis4 a2 a8 a8 
+  fis'4. e'8 d'4 cis'2 b8. cis'16 d'4 d'4 a4 }
+  \alternative { { fis4 d4 a8. fis16 } { fis4 d4 fis'8. fis'16 } } 
+  fis'4 g'4 a'4 a'2 g'8 fis'8 e'4 fis'4
+  g'4 g'2 g'4 fis'4. e'8 d'4 cis'2 b8. cis'16 d'4 fis4 gis4 a2 a4
+  d'4 d'4 d'8()cis'8 b4 b4 b4 e'4 g'8 ()fis'8  e'8()d'8 
+  d'4~cis'4 a8. a16 d'4.~e'8 fis'8 g'8 a'2 d'8 e'8 fis'4. g'8
   e'4 d'2 s4 
 }
 
 $staff1_voice_2 = \notes { 
-  [a8.()fis16] 
-  \repeat 2 { a,4 d4 e4 d4~fis4 [fis8. fis16] fis4 d4 d4 cis2
-  [e8 e8] a4. a8 a4 a2 [a8. a16] a4 a4 a4 }
-  \alternative { { fis4 d4 [a8. fis16] } { fis4 d4 r4 } }
-  a4 a4 d'4 d'2 [a8 a8] cis'4 cis'4 cis'4 cis'2 a4 a4. a8 a4 a2
-  [a8. a16] d4 d4 d4 cis2 e4 fis4 e4 d4 d4 d4 dis4 g4 [g8()dis8] e4 e2
-  [e8. e16] d4.~a8 [a8 a8] a2 [g8 g8] a4. a8 g4 fis2 s4 
+  a8.()fis16 
+  \repeat 2 { a,4 d4 e4 d4~fis4 fis8. fis16 fis4 d4 d4 cis2
+  e8 e8 a4. a8 a4 a2 a8. a16 a4 a4 a4 }
+  \alternative { { fis4 d4 a8. fis16 } { fis4 d4 r4 } }
+  a4 a4 d'4 d'2 a8 a8 cis'4 cis'4 cis'4 cis'2 a4 a4. a8 a4 a2
+  a8. a16 d4 d4 d4 cis2 e4 fis4 e4 d4 d4 d4 dis4 g4 g8()dis8 e4 e2
+  e8. e16 d4.~a8 a8 a8 a2 g8 g8 a4. a8 g4 fis2 s4 
 }
 
 $staff2_voice_1 = \notes { 
   r4 
-  \repeat 2 { fis4 a4 a4 b2 [cis'8. cis'16] b4 b4 b4 a2 [cis'8 cis'8]
-  d'4. cis'8 d'4 e'2 [e'8. e'16] d'4 d'4 a4 }
-  \alternative { { fis4 d4 r4  } { fis4 d4 r4 } }
-  d4 e4 fis4 fis'2 [e'8 d'8] e'4 e'4 e'4 e'2 cis'4  d'4. cis'8 d'4 e'2
-  [e'8. e'16] a4 a4 e4 e2 cis'4 a4 a4 a4 g4 g4 b4 b4 b4 b4 a2
-  [cis'8. cis'16] a4.~cis'8 [d'8 d'8] d'2 [d'8 d'8] d'4. d'8 cis'4
+  \repeat 2 { fis4 a4 a4 b2 cis'8. cis'16 b4 b4 b4 a2 cis'8 cis'8 
+  d'4. cis'8 d'4 e'2 e'8. e'16 d'4 d'4 a4 }
+  \alternative { { fis4 d4 r4 } { fis4 d4 r4 } }
+  d4 e4 fis4 fis'2 e'8 d'8 e'4 e'4 e'4 e'2 cis'4 d'4. cis'8 d'4 e'2
+  e'8. e'16 a4 a4 e4 e2 cis'4 a4 a4 a4 g4 g4 b4 b4 b4 b4 a2
+  cis'8. cis'16 a4.~cis'8 d'8 d'8 d'2 d'8 d'8 d'4. d'8 cis'4
   a2 s4 
 }
 
 $staff2_voice_2 = \notes { 
   r4 
-  \repeat 2 { d4 d4 cis4 b,2 [ais,8. ais,16] b,4 b,4 e4 a,2 [a8 a8] 
-  d4. e8 [fis8 g8] a2 [g8. g16] fis4 fis4 a4 }
+  \repeat 2 { d4 d4 cis4 b,2 ais,8. ais,16 b,4 b,4 e4 a,2 a8 a8 
+  d4. e8 fis8 g8 a2 g8. g16 fis4 fis4 a4 }
   \alternative { { fis4 d4 r4 } { fis4 d4 r4 } } 
-  d4 d4 d4 d2 [d8 d8] a4 a4 a4 a2 a,4 d4. e8 [fis8 g8] a2 [g8. g16] 
-  fis4 d4 e4 a,2 a4 d4 e4 fis4 g4 g4 fis4 e4 [e8()fis8] [g8()gis8] a2 
-  [g8.  g16] fis4.~a,8 [d8 e8] fis2 [b8 b8] a4. a8 a,4 d2 s4 
+  d4 d4 d4 d2 d8 d8 a4 a4 a4 a2 a,4 d4. e8 fis8 g8 a2 g8. g16 
+  fis4 d4 e4 a,2 a4 d4 e4 fis4 g4 g4 fis4 e4 e8()fis8  g8()gis8 a2 
+  g8. g16 fis4.~a,8 d8 e8 fis2 b8 b8 a4. a8 a,4 d2 s4 
 }
 
 $text = \lyrics{
@@ -62,9 +62,8 @@ $text = \lyrics{
   { say. can you see,2 by8. the16 dawn's4 ear- ly light2 What8
   so8 proud-4. ly8 we4 hailed,2 At8. the16 twi-4 light's last gleam-
   ing. Whose8. broad16 }
-  % urg, lyric chords broken: 1.1.22
-%  { stripes4 and bright stars,2 through8. the16 per-4 il- ous fight,2
-%  O'er8 the8 ram-4. parts8 we4 watched,2 were8. so16 gal-4 lant- ly }
+  { stripes4 and bright stars,2 through8. the16 per-4 il- ous fight,2
+  O'er8 the8 ram-4. parts8 we4 watched,2 were8. so16 gal-4 lant- ly }
   >
   stream-4 ing. And8. the16 rock-4 ets' red glare,2 the8 bombs8
   burst-4 ing in air,2 gave4 proof4. through8 the4 night2 that8.
@@ -99,6 +98,7 @@ global = \notes {
                \type Staff=staffB < 
                        \global
                        \clef bass;
+                       \property Staff.voltaVisibility = "0"
                        {\voiceone \$staff2_voice_1 } 
                        {\voicetwo \$staff2_voice_2 } 
                >
@@ -108,11 +108,18 @@ global = \notes {
                textheight = 230.\mm;
                linewidth= 180.\mm;
                \translator {
-                               \GrandStaffContext
-                               \accepts "Lyrics";
+                       \GrandStaffContext
+                       \accepts "Lyrics";
                }
                \translator {
-                               \BarNumberingStaffContext
+                       \BarNumberingStaffContext
+               }
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
                }
        }
 }
diff --git a/input/test/auto-beam.ly b/input/test/auto-beam.ly
new file mode 100644 (file)
index 0000000..02e7711
--- /dev/null
@@ -0,0 +1,49 @@
+%{
+  Currently (1.1.22.jcn5), the auto-beam engraver will only engrave
+  sensible beams (hopefully), which means that it will give up the
+  whole beam if:
+    * a rest is encountered
+    * another beam (entered manually) is encountered
+    * there's a 'gap' in the beam note's durations
+
+  There's no smart algorithm, beginning a beam is considered when
+   
+    now / beamAutoBegin = 0
+
+  the beam will be ended when
+
+    * now / beamAutoEnd = 0
+%}
+       
+\score{
+    \notes \relative c''{
+       \time 2/4;
+       % one beam per measure
+       c8 c c c
+       c16 c c c c c c c
+       % from here on two beams per measure
+       \property Voice.beamAutoEnd = "1/4";
+       c8 c c c
+       % manually override autobeam with weird beaming
+       c8 [c c] c
+       c8 c c r
+       c8 c c4
+       r8 c c c
+       % no autobeaming
+       \property Voice.beamAuto = "0"
+       c8 c c c
+    }
+    \paper{
+       \translator{
+           \VoiceContext
+           % add experimental auto-beaming
+           \consists Auto_beam_engraver;
+           % switch it on (perhaps a bit double, but we want to be able 
+           % to switch it off conveniently
+           beamAuto = 1.;
+           % consider starting beam at every 4 note
+           % beamAutoBegin = "1/4";
+           beamAutoEnd = "1/2";
+       }
+    }
+}
index 90d842fd08bac221b1c781edeac3f001d5b507f6..d618a2073f65c0a8f111e5816c89dc041c4e7913 100644 (file)
@@ -1,7 +1,5 @@
 
-
-
-\version "1.0.14";
+       \version "1.0.14";
 
 onestaff = \type Staff = foo\notes  {
        \property Staff.instr = instr
@@ -18,10 +16,9 @@ grstaff = \notes \type GrandStaff <
        \type Staff = bufl { c1 c2  }
 >
 
-scpaper =  \paper {\translator {\OrchestralScoreContext}}
-
+scpaper = \paper {\translator {\OrchestralScoreContext}}
+stpaper = \paper{ \translator {\BarNumberingStaffContext }}
 
-stpaper =\paper{ \BarNumberingStaffContext }
 scscore = \score { \grstaff \paper {
 \scpaper
 }}
@@ -31,5 +28,5 @@ stscore = \score { \onestaff \paper {
  \stpaper
 }}
 
-\score {\stscore}
-%\score {\scscore}
+%\score {\stscore}
+\score {\scscore}
index d09e796c21d9d89849788fcf2f1b2b2426619605..69cc8dde4eb5366e83b8d974a78a1e0904001291 100644 (file)
@@ -26,6 +26,6 @@
                        minVerticalAlign = 3.0*\staffheight;
                        maxVerticalAlign = 3.0*\staffheight;
                }
-               linewidth=-1.;
+%              linewidth=-1.;
        }
 }
diff --git a/input/test/c.ly b/input/test/c.ly
deleted file mode 100644 (file)
index 3067d98..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-\version "1.0.14";
-
-%{
-Would this be acceptable/good enough/convenient for entry?
-
-   Convention/Standard    Lily
-   
-   C#                     cis
-   Cb                     ces
-   Cm; Cmin               c3-; c m; c min
-   Caug                   c5+; c aug;
-   Cdim                   c5-; c dim
-   Cmaj7                  c7+; c maj
-   C7                     c7
-   Csus; Csus4            c4; c sus
-%}
-
-scales = \notes\transpose c''\chords{
-               <c1 e g>
-               @1c m @c min @4c dim @c aug @c sus @c maj
-                @1c6 @4c7 @c9 @c11 @c13
-               @1c @g @d @a @e @b @fis
-                @1c @f @bes @es @as @des @ges
-       }
-
-keys = \notes{
-                s1
-                s1 s1 s1
-                s1 s1
-                s1
-                \key g; s1
-                \key d; s1 
-                \key a; s1 
-                \key e; s1 
-                \key b; s1 
-                \key fis; s1
-                \key c; s1 
-                \key f; s1 
-                \key bes; s1
-                \key es; s1
-                \key as; s1
-                \key des; s1
-                \key ges; s1
-       }
-
-\score{
-       <
-               \type ChordNames \scales
-               \type Staff < \scales \keys >
-       >
-}
index 84f1511fa12ec3ba1c220fdeb305787db10523cd..1133280d3fc9499753b489e2026653406fb7c824 100644 (file)
@@ -19,6 +19,8 @@ scales = \notes \transpose c'' \chords{
                %<c1 e g>
                c1-m c-min c4-dim c-aug c-sus c-maj
                 c1-6 c4-7 c-9 c-11 c-13
+               c1-7^5 c-13^5^7^9^11
+               % c1-7^5 c-13^5
                c1 g d a e b fis
                 c1 f bes es as des ges
        }
diff --git a/input/test/harmonics.fly b/input/test/harmonics.fly
deleted file mode 100644 (file)
index 59d8925..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-% this should be normal notes:
-c'1 | d2 d | e4 e 
-
-% and this should be harmonics:
-\property Voice.noteheadStyle = "harmonic"
-e8 e e16 e e e32 e
-
-
index a054b62147a41ddeda63987c0ab375c0d0e1db10..160e6c05fe9076358c1517967e1baece7cf4c72a 100644 (file)
@@ -22,7 +22,9 @@ two = \notes\relative c{
        \paper {
                \translator { \OrchestralPartStaffContext 
                        markScriptPadding = "4.0";
-%                      markDirection = \down;
+                       markHangOn  = "Bar";
+                       markHangDepth = "1";
+%                      markDirection = \diown;
                }
        }
 }
diff --git a/input/test/notemode-chords.ly b/input/test/notemode-chords.ly
new file mode 100644 (file)
index 0000000..6ccc59d
--- /dev/null
@@ -0,0 +1,8 @@
+\version "1.0.15";
+
+\score{
+       \notes \transpose c''{
+               @c1@ @c-7@ @c-7^5@-1-3
+       }
+
+}
index d5af51806ebf6b57c640946d88131d80fb936734..2b79795ecc904435fa3c643a2ffe7ffb6f70549e 100644 (file)
@@ -3,8 +3,12 @@
                  \type Staff \notes\relative c'{ 
                          c4 d e f
                          \repeat 2 { g a b c }
-                         \alternative { { c b a g } { f e d c } }
-                         c c c c 
+%                        \alternative { { c b a g } { f e d c } } c c c c
+                         \alternative { { c b a g } { f e d c } { c d e f } }
+                         g g g g
+                         \repeat 2 { c c c c }
+                         \repeat 2 { c c c c }
+                         g g g g
                  }
        >
 }
index 7abd8c0b8c84474c1b10702fd9dc3ab13b9fe62c..914b665f96b10e62094228e048525e15e57ec660 100644 (file)
@@ -1,13 +1,18 @@
 \score{
        <
                  \type Staff \notes\relative c'{ 
-                         c4 d e f
+                         c d e f
                          \repeat 2 { g a b c }
-%                        \alternative { { c b a g } { f e d c } } c c c c
-                         \alternative { { c b a g } { f e d c } { c d e f } }
-                         g g g g
-                         \repeat 2 { c c c c }
-                         \repeat 2 { c c c c }
+                         \alternative { { c b a g } { f e d c } }
+                 }
+                 \type Lyrics \lyrics {
+                         De eer- ste < { maat } { moet } >
+                         \repeat 2 { }
+                         \alternative < 
+                                 { en dan twee keer } 
+                                 { een koe- plet _ } 
+                         > 
+                         en dan nog dit er ach- ter aan
                  }
        >
 }
diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly
deleted file mode 100644 (file)
index 78afbe9..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-\header{
-filename =     "tchaikovsky.ly";
-title =                "Extracts from 6th symphony";
-subtitle =     "Ist movement";
-composer=      "Pjotr Iljitsj Tchaikovsky";
-enteredby =    "Maarten Storm";
-instrument=    "Violoncello";
-}
-
-\version "1.0.14";
-
-% this is an example of extreme dynamics
-
-% adagio mosso - 7 measures before Allegro vivo
-\score{
-       \notes
-         \relative c{
-               \clef "bass";
-               \key D;
-               <a2\ppp\cr d> <gis\rc\p\decr d'> | <a2\rced d> ~ <a8 d> r8 r4 |
-               a2\ppp\cr a2\rc\p\decr | <a2\rced d> ~ <a8 d> r8 r4 |
-               a2\pppp ~ a8 r8 r4 | a2\ppppp ~ a8 r8 r4 | r4 a8_"pizz"
-               r8 r2^\fermata     
-       }
-       \header{
-       piece="example 1";
-       }
-}
-
-% 8 measures before Andante come prima
-\score{
-       \notes
-       \relative c{
-               \clef "bass";
-               \key C;
-               <e1\sff cis'^\downbow> | <cis\sff a'^\downbow> | 
-               <d,\ffff\decr g> ~ <d2 g> ~ <d8\p\rced g> |
-       }
-       \header{ 
-       piece="example 2";
-       }
-}
-
index a49a5ff398a4ba19048573815d7202ac9f8f722a..82a509a8a1f3c8f1b5877c5829bb3c91499851e7 100644 (file)
@@ -1,10 +1,9 @@
 \header{
-filename =      "twinkle.ly";
-title =         "Twinkle Twinkle Little Star";
-
-composer =      "Traditional";
-enteredby =     "HWN & JCN";
-copyright =     "public domain";
+filename =     "twinkle.ly";
+title =                "Twinkle Twinkle Little Star";
+composer =     "Traditional";
+enteredby =    "hwn and jcn";
+copyright =    "public domain";
 }
 
 %{
@@ -17,7 +16,7 @@ traditional song in various languages.
 %}
 
 %{
-Tested Features: lyrics, interleaving lyrics and staffs
+Tested Features: lyrics, interleaving lyrics and staffs, repeats
 %}
 
 \version "1.0.14";
@@ -55,11 +54,6 @@ global = \notes {
 tekst = \lyrics{ 
        Al-4 tijd is Kort- jak- je ziek,2
        midden4 in_de week maar s,_zon- dags niet.2
-% ugly hack: insertion of  empty syllables creates columns on extra 
-% moments.  The net result is more spacing.
-%
-% probably not necessary anymore
-%      midden8 _8 in_de8 _8 week4 maar s,_zon- dags niet.2
        s,_Zon-4 dags gaat ze naar de kerk,2
        met4 een boek vol zil- ver werk.2
        Al-4 tijd is Kort- jak- je ziek,2
@@ -121,45 +115,17 @@ textiii = \lyrics{
        How4 I won- der what you are!2
 }
 
-$top_lyrics = \type Lyrics = top <
-       \tekst
->
-
-$treble_staff = \type Staff = treble <
-       \global
-       \melody 
->
-
-$bass_staff = \type Staff = bass <
-       \global
-       \accompany
->
-
-$middle_lyrics = \type Lyrics = middle <
-       \texte
->
-
-$bottom_lyrics = \type Lyrics = bottom <
-%      \global
-       \texti
-       \textii
-       \textiii
->
-
-$grand_staff = \type GrandStaff <
-       \$treble_staff
-       \$middle_lyrics
-       \$bass_staff
->
-
 \score{
-       \repeat 2 { < 
-               \$treble_staff
-               \$middle_lyrics
-               \$top_lyrics
-               \$grand_staff
-               \$bottom_lyrics
-       > }
+       <
+               \type Staff=i \repeat 2 < \global\melody >
+               \type Lyrics=top \repeat 2 {} \alternative < \tekst \texte >
+               \type GrandStaff <
+                       \type Staff=ii \repeat 2 < \global\melody >
+                       \type Staff=iii \repeat 2 < \global\accompany >
+               >
+               \type Lyrics=bottom \repeat 3 {} 
+                       \alternative < \texti \textii \textiii >
+       >
        \paper{
                gourlay_maxmeasures = 14.0;
        }
index 17a712fa81c37e544a906626037421d9f115b209..951f3a746e95286ca07ceff7be3592d5d58fee74 100644 (file)
@@ -61,3 +61,36 @@ Binary_source_file::line_i (char const* pos_ch_C) const
     return pos_ch_C - ch_C ();
 }
 
+U8
+Binary_source_file::get_U8 ()
+{
+  return *(U8*)forward_ch_C (1);
+}
+
+
+U16
+Binary_source_file::get_U16 ()
+{
+  U16 b;
+
+  b = get_U8 () << 8;
+  b |= get_U8 ();
+
+  return b;
+}
+
+
+U32
+Binary_source_file::get_U32()
+{
+  U32 b;
+  
+  b = get_U8 () << 24;
+  b |= get_U8 () << 16;
+  b |= get_U8 () << 8;
+  b |= get_U8 ();
+
+  return b;
+}
+
+
index 59c35b6a83cfb2804a90e7691e20f0bd1545ee9e..ee59497890486731927a096f89acc7f1cf11a3a7 100644 (file)
@@ -14,9 +14,9 @@ public:
   Binary_source_file (String& filename_str );
   virtual ~Binary_source_file ();
 
-  U8 get_U8 () { return *(U8*)forward_ch_C (1); }
-  U16 get_U16 () { return *(U16*)forward_ch_C (2); }
-  U32 get_U32 () { return *(U32*)forward_ch_C (4); }
+  U8 get_U8 ()
+  U16 get_U16 ();
+  U32 get_U32 ();
   Byte get_Byte () {return get_U8 (); }
   int get_int () { return get_U32 (); }
   
index afc6f7b9ceef32314c8303f0b4fd139d44061c8d..ecb97a5f755e9f1f5accb664362be0a1ba0d6a34 100644 (file)
@@ -4,26 +4,26 @@
 void
 error (String s)
 {
-    cerr <<  _ ("error: ") << s << '\n';
+  cerr <<  _ ("error: ") << s << '\n';
 
-    exit (1);
+  exit (1);
 }
 
 void
 non_fatal_error (String s)
 {
-    cerr <<  _ ("error: ") << s << '\n';
+  cerr <<  _ ("error: ") << s << '\n';
 }
 
 void
 warning (String m)
 {
-    cerr << _ ("warning: ") <<m <<endl;
+  cerr << _ ("warning: ") <<m <<endl;
 
 }
 
 void
 message (String m)
 {
-    cerr << m<<endl;
+  cerr << m<<endl;
 }
diff --git a/lily/afm-list.cc b/lily/afm-list.cc
deleted file mode 100644 (file)
index d22ff0b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "pointer.hh"
-#include "main.hh"
-#include "all-fonts.hh"
-#include "debug.hh"
-#include "warn.hh"
-#include "afm.hh"
-
-const char * default_font_sz_ = "cmr10";
-
-
-
-All_font_metrics::All_font_metrics (String path)
-{
-  search_path_.parse_path (path);
-  
-  String f = default_font_sz_ + String (".afm");
-  f = search_path_.find (f);
-  if (f.empty_b ())
-    error (_f("Can't find default font (PATH = %s)", path));
-  
-
-  afm_p_dict_[default_font_sz_] = new Adobe_font_metric (read_afm_file (f));
-}
-
-Adobe_font_metric *
-All_font_metrics::find_font (String name)
-{
-  if (!afm_p_dict_.elem_b (name))
-    {
-      String path = name  + ".afm";
-      path = search_path_.find (path);
-      if (path.empty_b ())
-       {
-         warning (_f ("Can't find `%s'", name));
-         return afm_p_dict_[default_font_sz_];
-       }
-      
-      *mlog << "[" << path;
-      Adobe_font_metric
-       * afm_p = new Adobe_font_metric (read_afm_file (path));
-      *mlog << "]" << flush ;
-
-      afm_p_dict_[name] = afm_p;
-    }
-
-  return afm_p_dict_[name];
-}
-
-
index e81bf3ad106d96a392019406c44cadc6343b5a01..e98155d12e53c66cf320db819116bc8b5b03fdb9 100644 (file)
@@ -39,6 +39,9 @@ Adobe_font_char_metric::width ()
 
 Adobe_font_char_metric::Adobe_font_char_metric ()
 {
+  B_ = Box( Interval(0,0), Interval (0,0));
+  WX_ = 0.0;
+  C_ = 0;
   C_ = -1;
 }
 
@@ -51,6 +54,19 @@ Adobe_font_metric::Adobe_font_metric ()
 }
 
 
+Box
+Adobe_font_char_metric::dimensions () const
+{
+  Box b= B_;
+  
+  b[X_AXIS] *= 1/1000.0;
+  b[Y_AXIS] *= 1/1000.0;
+
+  return b;
+}
+
+
+
 #define APPEND_CHAR_METRIC_ELT(k)  outstr += to_str (#k) + " "  + to_str (k ## _)  + "; "
 
 String
@@ -101,19 +117,38 @@ Adobe_font_metric::str () const
   return outstr;
 }
 
-/*
-  UGH. should have hashtable.
- */
-Adobe_font_char_metric
+Adobe_font_char_metric dummy_static_char_metric;
+
+Adobe_font_char_metric const &
 Adobe_font_metric::find_char (String nm, bool warn) const
 {
   if (warn && !name_to_metric_dict_.elem_b (nm))
     {
-      Adobe_font_char_metric m;
       warning (_f ("can't find character called `%s'", nm.ch_C()));
-      return m;
+      return dummy_static_char_metric;
     }
   
   return char_metrics_[name_to_metric_dict_ [nm]];
 }
 
+
+Character_metric *
+Adobe_font_metric::get_char (int code, bool warn) const
+{
+  return &find_ascii (code,warn);
+}
+
+Adobe_font_char_metric const &
+Adobe_font_metric::find_ascii (int a , bool warn) const
+{
+  int  code = ascii_to_metric_idx_[a];
+  if (code>=0)
+    {
+      return char_metrics_[code];
+    }
+  else if (warn )
+    {
+      warning (_f ("can't find character number %d", a));
+    }
+  return dummy_static_char_metric;
+}
diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc
new file mode 100644 (file)
index 0000000..e01062b
--- /dev/null
@@ -0,0 +1,77 @@
+#include "pointer.hh"
+#include "main.hh"
+#include "all-fonts.hh"
+#include "debug.hh"
+#include "warn.hh"
+#include "afm.hh"
+#include "tfm.hh"
+
+const char * default_font_sz_ = "cmr10";
+
+
+
+All_font_metrics::All_font_metrics (String path)
+{
+  search_path_.parse_path (path);
+}
+
+
+Adobe_font_metric *
+All_font_metrics::find_afm (String name)
+{
+  if (!afm_p_dict_.elem_b (name))
+    {
+      String path = name  + ".afm";
+      path = search_path_.find (path);
+      if (path.empty_b ())
+       return 0;
+      
+      *mlog << "[" << path;
+      Adobe_font_metric
+       * afm_p = new Adobe_font_metric (read_afm_file (path));
+      *mlog << "]" << flush ;
+
+      afm_p_dict_[name] = afm_p;
+    }
+  return afm_p_dict_[name];  
+}
+
+Tex_font_metric *
+All_font_metrics::find_tfm (String name)
+{
+  if (!tfm_p_dict_.elem_b (name))
+    {
+      String path = name  + ".tfm";
+      path = search_path_.find (path);
+      if (path.empty_b ())
+       return 0;
+      
+      *mlog << "[" << path;
+      Tex_font_metric  * tfm_p = new Tex_font_metric;
+      tfm_p->read_file (path);
+      *mlog << "]" << flush ;
+
+      tfm_p_dict_[name] = tfm_p;
+    }
+  return tfm_p_dict_[name];  
+}
+
+
+Font_metric *
+All_font_metrics::find_font (String name)
+{
+  Font_metric * f= find_afm (name);
+  if (f)
+    return f;
+
+  f = find_tfm (name);
+  if (f)
+    return f;
+
+  f =  find_tfm (default_font_sz_);
+  if (f)
+    return f;
+  String s = _f("Can't find default font `%s\', giving up.", default_font_sz_);
+  s += String ("\n") + _f ("search path = %s", search_path_.str ());
+  error (s);
+}
index e237f75b7095d594cf775c3867f873fbf1425406..0d71f4e240ae769ea5289d11bbdd5c066a61558a 100644 (file)
@@ -64,6 +64,12 @@ Atom::extent () const
   return b;
 }
 
+Interval
+Atom::extent (Axis a) const
+{
+  return dim_[a] + off_[a];
+}
+
 
 
 Atom::Atom ()
diff --git a/lily/bar-column-engraver.cc b/lily/bar-column-engraver.cc
deleted file mode 100644 (file)
index d3c0a1a..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-  bar-column-grav.cc -- implement Bar_column_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#include "bar-column-engraver.hh"
-#include "bar-column.hh"
-#include "request.hh"
-#include "script.hh"
-#include "bar.hh"
-#include <typeinfo>
-
-Bar_column_engraver::Bar_column_engraver()
-{
-  bar_l_ =0;
-  barcol_p_ =0;
-  break_priority_i_ = 0;
-}
-
-void
-Bar_column_engraver::do_creation_processing ()
-{
-}
-
-
-void
-Bar_column_engraver::do_process_requests ()
-{
-  Scalar pri = get_property ("barColumnPriority", 0);
-  if (pri.length_i() && pri.isnum_b ())
-    {
-      break_priority_i_ = int(pri);
-    }
-}
-
-void
-Bar_column_engraver::create_column ()
-{
-  if (!barcol_p_)
-    {
-      barcol_p_ = new Bar_column;
-      barcol_p_->breakable_b_ =true;
-      barcol_p_->break_priority_i_ = break_priority_i_;
-      announce_element (Score_element_info (barcol_p_, 0));      
-    }
-}
-
-
-void
-Bar_column_engraver::acknowledge_element (Score_element_info info)
-{
-  Item * it = dynamic_cast <Item *> (info.elem_l_);
-  if (!it)
-    return;
-  Script *s = dynamic_cast<Script*> (it);
-  Bar *b = dynamic_cast<Bar*> (it);
-  if (s
-      && it->breakable_b_
-      && info.origin_grav_l_arr_.size() == 1
-      && it->break_priority_i_ == break_priority_i_)
-    {
-      create_column ();
-      barcol_p_->add_script (s);
-    }
-  else if (info.origin_grav_l_arr_.size() == 1
-          && it->break_priority_i_ == break_priority_i_
-          && it->breakable_b_
-          &&b)
-
-    {
-      create_column ();
-      barcol_p_->set_bar (b);
-    }
-}
-
-
-void
-Bar_column_engraver::process_acknowledged ()
-{
-}
-
-
-
-void
-Bar_column_engraver::do_pre_move_processing()
-{
-  if (barcol_p_) 
-    {
-      typeset_element (barcol_p_);
-      barcol_p_ =0;
-    }
-}
-
-void
-Bar_column_engraver::do_post_move_processing()
-{
-  script_l_arr_.clear();
-  bar_l_ =0;
-}
-
-
-ADD_THIS_TRANSLATOR(Bar_column_engraver);
diff --git a/lily/bar-column.cc b/lily/bar-column.cc
deleted file mode 100644 (file)
index 625b2da..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-  bar-column.cc -- implement Bar_column
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#include "bar.hh"
-#include "bar-column.hh"
-
-Bar_column::Bar_column()
-{
-  bar_l_ =0;
-  breakable_b_ = true;
-}
-
-void
-Bar_column::set_bar (Bar*b)
-{
-  Script_column::add_support (b);
-  bar_l_ = b;  
-}
-
-void
-Bar_column::do_substitute_dependency (Score_element*o,Score_element*n)
-{
-  Script_column::do_substitute_dependency (o,n);
-  if (o == bar_l_) 
-    {
-      bar_l_ =  dynamic_cast<Bar *> (n);
-    }
-}
-
-
-
index 59ab434cf64087bbe26b61c1b4a870161a851914..57436ae70f2bee7ae42f3f120d3951537f952166 100644 (file)
@@ -31,7 +31,6 @@ Bar_engraver::do_try_music (Music*r_l)
        return false;
       
       bar_req_l_ = b;
-
       return true;
     }
   
@@ -69,21 +68,7 @@ Bar_engraver::create_bar ()
 void
 Bar_engraver::request_bar (String type_str)
 {
-#if 0 // will dump core at announce_element (invalid daddy_grav_l_...)
   create_bar ();
-#else
-  if (!bar_p_)
-    {
-      bar_p_ = new Bar;
-      bar_p_->break_priority_i_  = 0;
-      // urg: "" != empty...
-      String default_type = get_property ("defaultBarType", 0);
-      if (default_type.length_i ())
-       {
-         bar_p_->type_str_ = default_type;
-       }
-    }
-#endif
   if (((type_str == "|:") && (bar_p_->type_str_ == ":|"))
     || ((type_str == ":|") && (bar_p_->type_str_ == "|:")))
     bar_p_->type_str_ = ":|:";
@@ -119,6 +104,11 @@ Bar_engraver::do_process_requests()
       create_bar ();    
       bar_p_->type_str_ = bar_req_l_->type_str_;
     }
+  else if (!now_moment ())
+    {
+      create_bar ();
+      bar_p_->type_str_ = "";
+    }
   else 
     {
       Scalar always = get_property ("barAlways", 0);
index 2d0412f42741fb4b8a12e8da47820a03a761deb5..7adc8dcdea11546bd76121830c06bfdba24698e5 100644 (file)
@@ -8,74 +8,33 @@
 
 
 #include "bar-number-engraver.hh"
-#include "script.hh"
-#include "text-def.hh"
-#include "paper-def.hh"
-#include "command-request.hh"
-#include "bar.hh"
-#include "span-bar.hh"
-#include "stem.hh"
 #include "time-description.hh"
+#include "timing-engraver.hh"
+#include "engraver-group.hh"
+#include "g-text-item.hh"
 
 Bar_number_engraver::Bar_number_engraver()
 {
-  script_p_ =0;
+  axis_ = Y_AXIS;
+  type_ = "barNumber";
+  visibility_lambda_
+    = gh_eval_str ("(lambda (d) (if (= d 1) '(#f . #f) '(#t . #t)))");
 }
 
 void
-Bar_number_engraver::acknowledge_element (Score_element_info i)
+Bar_number_engraver::do_process_requests ()
 {
-  Bar *b =dynamic_cast <Bar *> (i.elem_l_);
-  if (script_p_ || !b)
-      return;
+  Translator *tr = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
+  Timing_translator *timer = dynamic_cast<Timing_translator*>(tr);
+  Time_description *time = &timer->time_;
 
-  /* Only put numbers on bars that are at our own level (don't put
-    numbers over the staffs of a GrandStaff, only over the GrandStaff
-    itself */
-  if (i.origin_grav_l_arr_.size() != 1)
-    return;
-
-  Time_description const * time = get_staff_info().time_C_;
-  if (!time || time->cadenza_b_)
-    return;
-  
-  script_p_ = new Script;
-  Text_def *td_p = new Text_def;
-  td_p->text_str_ = to_str (time->bars_i_);
-
-  td_p->align_dir_ = LEFT;
-
-  script_p_->dir_ = UP;
-  script_p_->axis_ = Y_AXIS;
-  script_p_->specs_p_ = td_p->clone ();
-  script_p_->breakable_b_ = true;
-
-  Scalar pri = get_property ("barNumberBreakPriority", 0);
-  if (pri.length_i () && pri.isnum_b ())
+  if (!time->whole_in_measure_ && !time->cadenza_b_ && now_moment () > Moment (0))
     {
-      script_p_->break_priority_i_ = int (pri);
+      create_items (0);
+       
+      text_p_->text_str_ = to_str (time->bars_i_);
+      text_p_->style_str_ = "roman";
     }
-  else
-    script_p_->break_priority_i_ = b->break_priority_i_;
-
-  Scalar padding = get_property ("barScriptPadding", 0);
-  if (padding.length_i() && padding.isnum_b ())
-    {
-      script_p_->padding_f_ = Real(padding);
-    }
-
-  announce_element (Score_element_info (script_p_,0));
 }
 
-void
-Bar_number_engraver::do_pre_move_processing()
-{
-  if (script_p_) 
-    {
-      typeset_element (script_p_);
-      script_p_ =0;
-    }
-}
-
-
 ADD_THIS_TRANSLATOR(Bar_number_engraver);
diff --git a/lily/bar-script-engraver.cc b/lily/bar-script-engraver.cc
new file mode 100644 (file)
index 0000000..51cbfec
--- /dev/null
@@ -0,0 +1,100 @@
+/*   
+  bar-script-engraver.cc --  implement Bar_script_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#include "bar-script-engraver.hh"
+#include "bar.hh"
+#include "g-staff-side.hh"
+#include "g-text-item.hh"
+#include "lily-guile.hh"
+
+Bar_script_engraver::Bar_script_engraver ()
+{
+  axis_ = Y_AXIS;
+  staff_side_p_ = 0;
+  text_p_ =0;
+  visibility_lambda_ 
+    = gh_eval_str ("(lambda (d) (if (= d -1) '(#t . #t) '(#f . #f)))");
+}
+
+void
+Bar_script_engraver::acknowledge_element (Score_element_info i)
+{
+  Axis other_axis = Axis((axis_ + 1)%2);
+  
+  if (staff_side_p_ && !staff_side_p_->dim_cache_[other_axis].parent_l_) 
+    {
+      Bar * bar_l = dynamic_cast<Bar*> (i.elem_l_);
+      if (!bar_l)
+       return;
+      
+      /* Only put numbers on bars that are at our own level (don't put
+        numbers over the staffs of a GrandStaff, only over the GrandStaff
+        itself */
+      if (i.origin_grav_l_arr_.size () == 1)
+       {
+         staff_side_p_->dim_cache_[other_axis].parent_l_ =  &bar_l->dim_cache_[other_axis];
+         staff_side_p_->add_support (i.elem_l_);
+       }
+    }
+}
+
+void 
+Bar_script_engraver::do_pre_move_processing ()
+{
+  if (text_p_)
+    {
+      text_p_->breakable_b_ = true; // ugh
+      typeset_element (text_p_);
+      text_p_ =0;
+    }
+  
+  if (staff_side_p_) 
+    {
+      staff_side_p_->breakable_b_ = true; // ugh
+      typeset_element (staff_side_p_);
+      staff_side_p_ = 0;
+    }
+}
+
+
+void
+Bar_script_engraver::create_items (Request *rq)
+{
+  if (staff_side_p_ || text_p_)
+    return;
+  
+  staff_side_p_ = new G_staff_side_item;
+  staff_side_p_->axis_ = axis_;
+  
+  text_p_ = new G_text_item;
+
+  Scalar prop = get_property (type_ + "Direction", 0);
+  if (prop.isnum_b ())
+    {
+      staff_side_p_->dir_ = (Direction) (int) prop;
+    }
+  else 
+    {
+      staff_side_p_->dir_ = UP;
+    }
+
+  staff_side_p_->set_victim(text_p_);
+  
+  Scalar padding = get_property (type_ + "ScriptPadding", 0);
+  if (padding.length_i() && padding.isnum_b ())
+    {
+      staff_side_p_->padding_f_ = Real(padding);
+    }
+
+  staff_side_p_->visibility_lambda_  = visibility_lambda_;
+  text_p_->visibility_lambda_ = visibility_lambda_;  
+  
+  announce_element (Score_element_info (text_p_, rq));
+  announce_element (Score_element_info (staff_side_p_, rq));
+}
index 58e4ab9ed650f2df7d61220064801e664454084d..824e2316a1116f6f545408250a30eee448727ca3 100644 (file)
@@ -14,7 +14,6 @@
 #include "debug.hh"
 
 
-
 Bar::Bar ()
 {
   breakable_b_ = true;
@@ -33,9 +32,8 @@ Molecule*
 Bar::do_brew_molecule_p () const
 {    
   Paper_def *p = paper ();
-  Atom s = lookup_l ()->bar (type_str_, p->get_var ("barsize"));
+  Molecule *output = new Molecule (lookup_l ()->bar (type_str_, p->get_var ("barsize")));
   
-  Molecule*output = new Molecule (Atom (s));
   return output;
 }
 
index ebd09d3dffd8705e91373ad97d5623c14060b92d..ac7a02a26b2dbc1ef504bcbd977675c8ae3b187c 100644 (file)
@@ -33,7 +33,7 @@ Beam_engraver::do_try_music (Music *m)
 
       if (d == STOP && !beam_p_)
        {
-         m->warning ("No Beam to end");
+         m->warning (_ ("No Beam to end"));
          return false;
        }
       reqs_drul_[d ] = c;
@@ -49,7 +49,7 @@ Beam_engraver::do_process_requests ()
   if (reqs_drul_[STOP])
     {
       if (!beam_p_)
-       reqs_drul_[STOP]->warning (_("No beam to stop"));
+       reqs_drul_[STOP]->warning (_("No beam to end"));
       finished_beam_p_ = beam_p_;
       finished_grouping_p_ = grouping_p_;
 
@@ -61,7 +61,7 @@ Beam_engraver::do_process_requests ()
     {
       if (beam_p_)
        {
-         reqs_drul_[START]->warning ("Already have a Beam");
+         reqs_drul_[START]->warning (_ ("Already have a Beam"));
          return;
        }
 
@@ -126,7 +126,7 @@ Beam_engraver::do_removal_processing ()
   typeset_beam ();
   if (beam_p_)
     {
-      warning ("Unfinished beam");
+      warning (_ ("Unfinished beam"));
       finished_beam_p_ = beam_p_;
       finished_grouping_p_ = grouping_p_;
       typeset_beam ();
@@ -146,9 +146,9 @@ Beam_engraver::acknowledge_element (Score_element_info info)
        Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
        if (!rhythmic_req)
          {
-           String s=_("Stem must have Rhythmic structure.");
+           String s = _ ("Stem must have Rhythmic structure.");
            if (info.req_l_)
-             info.req_l_->warning(s);
+             info.req_l_->warning (s);
            else
              ::warning (s);
          
@@ -159,7 +159,7 @@ Beam_engraver::acknowledge_element (Score_element_info info)
        if (rhythmic_req->duration_.durlog_i_<= 2)
          {
            rhythmic_req->warning (_ ("stem doesn't fit in beam"));
-           reqs_drul_[LEFT]->warning (_("beam was started here"));
+           reqs_drul_[LEFT]->warning (_ ("beam was started here"));
            return;
          }
 
@@ -170,7 +170,7 @@ Beam_engraver::acknowledge_element (Score_element_info info)
 
        if (!grouping_p_->child_fit_b (start))
          {
-           String s (_("please fix me") + ": " 
+           String s (_ ("please fix me") + ": " 
                      + _f ("stem at %s doesn't fit in beam", now_moment ().str ()));
 
            if (info.req_l_)
index 79190f393ba793d15f787f5d8e8b5eb3314b1d37..df90680dc4e703e3f8f6566b1ef0f6245313960d 100644 (file)
@@ -8,7 +8,6 @@
 
 #include "chord-name-engraver.hh"
 #include "musical-request.hh"
-#include "text-item.hh"
 #include "paper-def.hh"
 #include "lookup.hh"
 #include "paper-def.hh"
@@ -40,11 +39,72 @@ Chord_name_engraver::do_try_music (Music* m)
   return false;
 }
 
-/*
-  UGH.
+  /*
+    find tonic: after longest line of triads
+   */
+int
+Chord_name_engraver::find_tonic_i () const
+{
+  int tonic_i = 0;
+  int longest_i = 0;
+  for (int i = 0; i < pitch_arr_.size (); i++)
+    for (int j = 0; j < pitch_arr_.size (); j++)
+      {
+       int gap = pitch_arr_[(i + j + 1) % pitch_arr_.size ()].notename_i_
+         - pitch_arr_[(i + j) % pitch_arr_.size ()].notename_i_;
+       while (gap < 0)
+         gap += 7;
+       gap %= 7;
+       if (gap != 2)
+         {
+           if (j > longest_i)
+             {
+               longest_i = j;
+               tonic_i = i;
+             }
+           break;
+         }
+      }
+
+  int biggest_i = 0;
+  if (!longest_i)
+    for (int i = 0; i < pitch_arr_.size (); i++)
+      {
+       int gap = pitch_arr_[i].notename_i_
+         - pitch_arr_[(i - 1 + pitch_arr_.size ()) 
+         % pitch_arr_.size ()].notename_i_;
+       while (gap < 0)
+         gap += 7;
+       gap %= 7;
+       if (gap > biggest_i)
+         {
+           biggest_i = gap;
+           tonic_i = i;
+         }
+      }
+  return tonic_i;
+}
+
+Array<Musical_pitch>
+Chord_name_engraver::rebuild_pitch_arr (int tonic_i) const
+{
+  Musical_pitch last (0, 0, -5);
+  Array<Musical_pitch> pitches;
+  for (int i = 0; i < pitch_arr_.size (); i++)
+    {
+      Musical_pitch p = pitch_arr_[(tonic_i + i) % pitch_arr_.size ()];
+      if (p < last)
+       {
+         p.octave_i_ = last.octave_i_;
+         if (p < last)
+           p.octave_i_++;
+       }
+      pitches.push (p);
+      last = p;
+    }
+  return pitches;
+}
 
-  Split this routine into neat packets
- */
 void
 Chord_name_engraver::do_process_requests ()
 {
@@ -65,74 +125,44 @@ Chord_name_engraver::do_process_requests ()
 
    */
 
-  
-  /*
-    find tonic: after longest line of triads
-   */
-
   int tonic_i = 0;
+  Musical_pitch inversion = pitch_arr_[0];
   Scalar chord_inversions = get_property ("chordInversion", 0);
   if (chord_inversions.to_bool ())
     {
-      int longest_i = 0;
-      for (int i = 0; i < pitch_arr_.size (); i++)
-       for (int j = 0; j < pitch_arr_.size (); j++)
-         {
-           int gap = pitch_arr_[(i + j + 1) % pitch_arr_.size ()].notename_i_
-             - pitch_arr_[(i + j) % pitch_arr_.size ()].notename_i_;
-           while (gap < 0)
-             gap += 7;
-           gap %= 7;
-           if (gap != 2)
-             {
-               if (j > longest_i)
-                 {
-                   longest_i = j;
-                   tonic_i = i;
-                 }
-               break;
-             }
-         }
-
-      int biggest_i = 0;
-      if (!longest_i)
-       for (int i = 0; i < pitch_arr_.size (); i++)
-         {
-           int gap = pitch_arr_[i].notename_i_
-             - pitch_arr_[(i - 1 + pitch_arr_.size ()) 
-             % pitch_arr_.size ()].notename_i_;
-           while (gap < 0)
-             gap += 7;
-           gap %= 7;
-           if (gap > biggest_i)
-             {
-               biggest_i = gap;
-               tonic_i = i;
-             }
-         }
+      tonic_i = find_tonic_i ();
+      if (tonic_i)
+       pitch_arr_ = rebuild_pitch_arr (tonic_i);
     }
+    
 
-  Musical_pitch inversion = pitch_arr_[0];
-  if (tonic_i)
+  G_text_item* item_p =  new G_text_item;
+
+  item_p->text_str_ = banter_str (pitch_arr_, tonic_i, inversion);
+  
+  Scalar style = get_property ("textstyle", 0);
+  if (style.length_i ())
+    item_p->style_str_ = style;
+  
+  text_p_arr_.push (item_p);
+  announce_element (Score_element_info (item_p, 0));
+}
+
+void
+Chord_name_engraver::do_pre_move_processing ()
+{
+  for (int i=0; i < text_p_arr_.size (); i++)
     {
-      Musical_pitch last (0, 0, -5);
-      Array<Musical_pitch> pitches;
-      for (int i = 0; i < pitch_arr_.size (); i++)
-       {
-         Musical_pitch p = pitch_arr_[(tonic_i + i) % pitch_arr_.size ()];
-         if (p < last)
-           {
-             p.octave_i_ = last.octave_i_;
-             if (p < last)
-               p.octave_i_++;
-           }
-         pitches.push (p);
-         last = p;
-       }
-      pitch_arr_ = pitches;
+      typeset_element (text_p_arr_[i]);
     }
+  text_p_arr_.clear ();
+  pitch_arr_.clear ();
+}
 
-  Musical_pitch tonic = pitch_arr_[0];
+String
+Chord_name_engraver::banter_str (Array<Musical_pitch> pitch_arr, int tonic_i, Musical_pitch inversion) const
+{
+  Musical_pitch tonic = pitch_arr[0];
 
   Array<Musical_pitch> scale;
   scale.push (Musical_pitch (0)); // c
@@ -155,16 +185,25 @@ Chord_name_engraver::do_process_requests ()
     + acc[tonic.accidental_i_ + 2];
 
   String add_str;
+  String sub_str;
   String sep_str;
-  for (int i=1; i < pitch_arr_.size (); i++)
+  int last_trap = 1;
+  for (int i=1; i < pitch_arr.size (); i++)
     {
-      Musical_pitch p = pitch_arr_[i];
-      int trap = p.notename_i_ - tonic.notename_i_ 
+      Musical_pitch p = pitch_arr[i];
+      int trap = p.notename_i_ - tonic.notename_i_
         + (p.octave_i_ - tonic.octave_i_) * 7 + 1;
+      while (trap - last_trap > 2)
+       {
+         last_trap += 2;
+         sub_str += sep_str + "no" + to_str (last_trap);
+         sep_str = "/";
+       }
+      last_trap = trap;
       int accidental = p.accidental_i_ - scale[(trap - 1) % 7].accidental_i_;
       if ((trap == 3) && (accidental == -1))
         tonic_str += "m"; // hmm
-      else if (accidental || (!(trap % 2) || ((i + 1 == pitch_arr_.size ()) && (trap > 5))))
+      else if (accidental || (!(trap % 2) || ((i + 1 == pitch_arr.size ()) && (trap > 5))))
         {
          add_str += sep_str;
           if ((trap == 7) && (accidental == 1))
@@ -187,27 +226,7 @@ Chord_name_engraver::do_process_requests ()
        + acc[tonic.accidental_i_ + 2];
 
     }
-  
-  G_text_item* item_p =  new G_text_item;
-
 
-  item_p->text_str_ = tonic_str + "$^{" + add_str + "}$" + inversion_str;
-  Scalar style = get_property ("textstyle", 0);
-  if (style.length_i ())
-    item_p->style_str_ = style;
-  
-  text_p_arr_.push (item_p);
-  announce_element (Score_element_info (item_p, 0));
+  String str = tonic_str + "$^{" + add_str + sub_str + "}$" + inversion_str;
+  return str;
 }
-
-void
-Chord_name_engraver::do_pre_move_processing ()
-{
-  for (int i=0; i < text_p_arr_.size (); i++)
-    {
-      typeset_element (text_p_arr_[i]);
-    }
-  text_p_arr_.clear ();
-  pitch_arr_.clear ();
-}
-
index e65cd806760114bced5163a3077c90dbd60a2709..a41cb38f27b600b4990c2b2e7ae47e6e435dfff5 100644 (file)
 #include "paper-def.hh"
 #include "lookup.hh"
 #include "clef-engraver.hh"
-#include "text-item.hh"
+#include "g-text-item.hh"
+#include "p-score.hh"
 
 void
 Clef_item::do_pre_processing()
 {
+  dim_cache_[Y_AXIS].translate (paper()->internote_f () * y_position_i_);
+  
   bool b= (break_status_dir() != RIGHT);
   change_b_ = b;
 
@@ -39,13 +42,30 @@ Clef_item::Clef_item()
   octave_dir_ = CENTER;
   symbol_ = "treble";
   y_position_i_ = -2;
-  
-  // Ugh: This should be const, I guess.
-  octave_marker_td_p_.set_p (new Text_def());// UGH!
-  octave_marker_td_p_->text_str_ = "8";
-  octave_marker_td_p_->style_str_ = "italic";
 }
 
+void
+Clef_item::do_add_processing ()
+{
+  if (!break_status_dir_       // broken stuff takes care of their own texts
+      && octave_dir_)
+    {
+      G_text_item *g = new G_text_item;
+      pscore_l_->typeset_element (g);
+      
+      g->text_str_ = "8";
+      g->style_str_ = "italic";
+      g->dim_cache_[Y_AXIS].parent_l_ = &dim_cache_[Y_AXIS];
+      g->dim_cache_[X_AXIS].parent_l_ = &dim_cache_[X_AXIS];
+      add_dependency (g);      // just to be sure.
+
+      Real r = do_height ()[octave_dir_] + g->extent (Y_AXIS)[-octave_dir_];
+      g->dim_cache_[Y_AXIS].set_offset (r);
+    }
+
+}
+
+
 
 
 
@@ -55,26 +75,12 @@ Clef_item::do_brew_molecule_p() const
   String t = symbol_;
   if  (change_b_)
     t += "_change";
+  //  Atom s = lookup_l ()-> text ("roman", to_str (break_status_dir ()));
+    
   Atom s = lookup_l ()->clef (t);
   Molecule*output = new Molecule (Atom (s));
-  output->translate_axis (paper()->internote_f () * y_position_i_, Y_AXIS);
-  if (octave_dir_) {
-    Molecule octave_marker = Molecule(octave_marker_td_p_->get_atom(paper(),
-                                                               CENTER));
-    Real offset = output->extent()[Y_AXIS][octave_dir_]
-                  - octave_marker.extent()[Y_AXIS][- octave_dir_];
-    if (octave_dir_ == DOWN)
-      offset += octave_marker.extent()[Y_AXIS][UP] * 0.35 ;
-    octave_marker.translate_axis (offset, Y_AXIS);
-    output->add_molecule (octave_marker);
-  }
   return output;
 }
 
 
 
-
-#include "pointer.tcc"
-template class P<Text_def>;    // ugh
-
-
index dd36db400b7215294dea6a6ba2df4acad8ba43ed..2a28d1541015979918d777f3fc09f78bca66e96b 100644 (file)
@@ -9,7 +9,6 @@
 #include "crescendo.hh"
 #include "dynamic-engraver.hh"
 #include "musical-request.hh"
-#include "text-item.hh"
 #include "lookup.hh"
 #include "paper-def.hh"
 #include "score-column.hh"
@@ -96,7 +95,7 @@ Dynamic_engraver::do_process_requests()
          String loud = absd->loudness_str ();
 
          text_p_ = new G_text_item;
-         text_p_->text_str_ =  paper ()->lookup_l (0)->dynamic (loud).str_;
+         text_p_->text_str_ =  "dyn" + loud; // ugh
          Scalar prop = get_property ("dynamicStyle", 0);
 
          text_p_->style_str_ = prop.length_i () ? prop :  "dynamic";
index 2ca52271e633efea1ff78a124b507be638c08042..7c727b128cc20e77c0f402c16a9cf2a72691055e 100644 (file)
@@ -14,7 +14,6 @@
 #include "p-col.hh"
 #include "paper-def.hh"
 #include "extender-spanner.hh"
-#include "text-item.hh"
 #include "text-def.hh"
 
 Extender_spanner::Extender_spanner ()
@@ -92,9 +91,8 @@ Extender_spanner::do_post_processing ()
   Direction d = LEFT;
   do
     {
-      Item* t = item_l_drul_[d] ? item_l_drul_[d] : item_l_drul_[(Direction)-d];
-
-      dy_f_drul_[d] += t->extent (Y_AXIS).length () / 2;
+      Item* t = item_l_drul_[d]
+       ? item_l_drul_[d] : item_l_drul_[(Direction)-d];
       if (d == LEFT)
         dx_f_drul_[d] += t->extent (X_AXIS).length ();
       else
index 3988f0b9e99c52a73a6d4dab7936885363cc992b..72f952d89f9294367a38cbf573fe95fe77366629 100644 (file)
@@ -9,11 +9,23 @@
 
 #include "g-staff-side.hh"
 
+G_staff_side_item::G_staff_side_item ()
+{
+  dir_ = CENTER;
+  to_position_l_ = 0;
+  transparent_b_ = true;
+  padding_f_ = 0;
+}
+
+
 void
 G_staff_side_item::do_pre_processing ()
 {
   if (!dir_)
     set_default_direction ();
+
+  if (axis_ == X_AXIS)
+    position_self ();
 }
 
 void
@@ -22,13 +34,6 @@ G_staff_side_item::set_default_direction ()
   dir_ = DOWN;
 }
 
-G_staff_side_item::G_staff_side_item ()
-{
-  dir_ = CENTER;
-  to_position_l_ = 0;
-  transparent_b_ = true;
-  padding_f_ = 0;
-}
 
 void
 G_staff_side_item::set_victim (Score_element *e)
@@ -55,26 +60,33 @@ G_staff_side_item::do_substitute_dependency (Score_element*o, Score_element*n)
     support_l_arr_.unordered_substitute (o,n);
 }
 
-
 void
-G_staff_side_item::do_post_processing ()
+G_staff_side_item::position_self ()
 {
   if (!support_l_arr_.size ())
     return ;
   
   Dimension_cache *common = common_group (typecast_array (support_l_arr_, (Graphical_element*)0),
-                                         Y_AXIS);
+                                         axis_);
 
   Interval dim;
   for (int i=0; i < support_l_arr_.size (); i++)
     {
       Score_element * e = support_l_arr_ [i];
-      Real coord = e->relative_coordinate (common, Y_AXIS);
-      dim.unite (coord + e->extent (Y_AXIS));
+      Real coord = e->relative_coordinate (common, axis_);
+      dim.unite (coord + e->extent (axis_));
     }
 
-  Interval sym_dim = to_position_l_->extent (Y_AXIS);
-  Real off = dim_cache_[Y_AXIS].relative_coordinate (common) - padding_f_ * dir_;
+  Interval sym_dim = to_position_l_->extent (axis_);
+  Real off = dim_cache_[axis_].relative_coordinate (common) - padding_f_ * dir_;
   
-  dim_cache_[Y_AXIS].set_offset (dim[dir_] - sym_dim[-dir_] - off);
+  dim_cache_[axis_].set_offset (dim[dir_] - sym_dim[-dir_] - off);
 }
+
+void
+G_staff_side_item::do_post_processing ()
+{
+  if (axis_ == Y_AXIS)
+    position_self ();
+}
+
index 4e894ba4383d46692e6d7bb8f0f44a4768c29b9a..c2d52cf13912e4aba58aad175d858f08dd855fa4 100644 (file)
@@ -49,9 +49,6 @@ Note_heads_engraver::do_process_requests()
       note_p->steps_i_ = note_req_l->pitch_.steps ();
       //      note_p->position_i_ = note_req_l->pitch_.steps ();
 
-      String noteheadstyle = get_property ("noteheadStyle", 0);
-      if (noteheadstyle.length_i ())
-        note_p->note_head_type_str_ = noteheadstyle;
   
       Score_element_info itinf (note_p,note_req_l);
       announce_element (itinf);
index b9e422a366504db689e0eca74c7f9a19ec69c563..7fd434274c8c9ba3e7fcf83def438bc1e835478c 100644 (file)
@@ -13,7 +13,6 @@
 #include "identifier.hh"
 #include "my-lily-lexer.hh"
 #include "debug.hh"
-#include "symtable.hh"
 #include "script-def.hh"
 #include "request.hh"
 #include "translator.hh"
@@ -85,7 +84,6 @@ Class ## _identifier::do_print () const { \
 
 DEFAULT_PRINT(General_script_def);
 DEFAULT_PRINT(Translator);
-DEFAULT_PRINT(Symtables);
 DEFAULT_PRINT(Music);
 DEFAULT_PRINT(Request);
 DEFAULT_PRINT(Score);
@@ -103,7 +101,6 @@ Class ## _identifier::do_str () const { \
 DUMMY_STR(Notename_table);
 DUMMY_STR(General_script_def);
 DUMMY_STR(Translator);
-DUMMY_STR(Symtables);
 DUMMY_STR(Music);
 DUMMY_STR(Request);
 DUMMY_STR(Score);
@@ -175,7 +172,6 @@ IMPLEMENT_ID_CLASS(int);
 IMPLEMENT_ID_CLASS(Real);
 IMPLEMENT_ID_CLASS(String);
 IMPLEMENT_ID_CLASS(General_script_def);
-IMPLEMENT_ID_CLASS(Symtables);
 IMPLEMENT_ID_CLASS(Music);
 IMPLEMENT_ID_CLASS(Score);
 IMPLEMENT_ID_CLASS(Request);
@@ -191,7 +187,6 @@ DEFAULT_ACCESSOR(Duration);
 DEFAULT_ACCESSOR(int);
 DEFAULT_ACCESSOR(Real);
 DEFAULT_ACCESSOR(String);
-DEFAULT_ACCESSOR(Symtables);
 DEFAULT_ACCESSOR(Score);
 DEFAULT_ACCESSOR(Midi_def);
 DEFAULT_ACCESSOR(Paper_def);
index 3be52df478b9425f4eaa151ae41b8dad4b4142b7..fea4592ad5fc2ced77e818cccc72dec761ffa9d0 100644 (file)
@@ -14,8 +14,9 @@
 #include "box.hh"
 #include "array.hh"
 #include "dictionary.hh"
+#include "font-metric.hh"
 
-struct Adobe_font_char_metric {
+struct Adobe_font_char_metric : Character_metric {
   int C_;
   Real WX_;
   String N_;
@@ -27,9 +28,11 @@ struct Adobe_font_char_metric {
   
   String str () const;
   Adobe_font_char_metric ();
+
+  Box dimensions () const;
 };
 
-struct Adobe_font_metric {
+struct Adobe_font_metric : Font_metric {
   String  FontName_;
   String FullName_;
   String FamilyName_;
@@ -46,11 +49,14 @@ struct Adobe_font_metric {
   Array<int> ascii_to_metric_idx_;
   Dictionary<int> name_to_metric_dict_;
   
-  Adobe_font_char_metric find_char (String name, bool warn=true) const;
-  Adobe_font_char_metric find_ascii (int ascii) const;
+  Adobe_font_char_metric const &find_char (String name, bool warn=true) const;
+  Adobe_font_char_metric const &find_ascii (int ascii,bool warn) const;
   String str () const;
   Adobe_font_metric ();
   void read_char_metrics (Data_file &input);
+
+
+  Character_metric *get_char (int, bool) const;
 };
 
 Adobe_font_metric read_afm_file (String fn);
index da9f91e48cb60d2b8eb554592e4fa8586e637e5b..f9203954bb3ae41736dbef2c621d32e5aac8fa29 100644 (file)
@@ -13,6 +13,7 @@
 #include "dictionary.hh"
 #include "file-path.hh"
 #include "lily-proto.hh"
+#include "font-metric.hh"
 
 /**
    Interface to all .afm files living in the filesystem.
 class All_font_metrics
 {
   Dictionary<Adobe_font_metric*> afm_p_dict_;
+  Dictionary<Tex_font_metric*> tfm_p_dict_;  
   File_path search_path_;
 public:
   
-  Adobe_font_metric *find_font (String name);
+  Adobe_font_metric *find_afm (String name);
+  Tex_font_metric *find_tfm (String);
+  Font_metric *find_font (String name);  
   All_font_metrics (String search_path);
 };
 
index 1fd7ef262c91113a61c7eab2eaee858f19eebf2c..22c5d15a0cf4ca32584431c295d5ecbee805468e 100644 (file)
@@ -36,6 +36,7 @@ public:
   void translate_axis (Real r,Axis a);
   /// how big is #this#?
   Box extent() const;
+  Interval extent (Axis)const;
   void print() const;
   bool check_infinity_b () const;
   bool empty() const;
diff --git a/lily/include/bar-column-engraver.hh b/lily/include/bar-column-engraver.hh
deleted file mode 100644 (file)
index 2cb233b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  bar-column-engraver.hh -- declare Bar_column_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef BAR_COLUMN_GRAV_HH
-#define BAR_COLUMN_GRAV_HH
-
-#include "engraver.hh"
-#include "parray.hh"
-
-/// couple bars and appropriate scripts
-class Bar_column_engraver :public Engraver {
-  Bar_column *barcol_p_;
-  Link_array<Script>  script_l_arr_;
-  int break_priority_i_;
-
-  Bar *bar_l_;
-  void create_column ();
-protected:
-  virtual void acknowledge_element (Score_element_info);
-  virtual void process_acknowledged ();
-  virtual void do_pre_move_processing ();
-  virtual void do_creation_processing ();
-  virtual void do_process_requests ();
-  virtual void do_post_move_processing();
-public:
-  VIRTUAL_COPY_CONS(Translator);
-  Bar_column_engraver();
-  
-};
-
-#endif // BAR_COLUMN_GRAV_HH
diff --git a/lily/include/bar-column.hh b/lily/include/bar-column.hh
deleted file mode 100644 (file)
index 8e9219c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-  bar-column.hh -- declare Bar_column
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef BAR_COLUMN_HH
-#define BAR_COLUMN_HH
-
-#include "script-column.hh"
-
-/**  
-  The scripts  over  a and the bar itself.
- */
-class Bar_column : public Script_column {
-    Bar * bar_l_;
-
-public:
-    Bar_column();
-    void set_bar (Bar*);
-protected:
-    VIRTUAL_COPY_CONS(Score_element);
-    void do_substitute_dependency (Score_element*,Score_element*);
-    
-};
-
-#endif // BAR_COLUMN_HH
index 0497ff76d0e8d83acad31527b01faae9d85ac030..013dc4370236cbad46193ef3924d3f8eeec1ce72 100644 (file)
 #ifndef BAR_NUMBER_GRAV_HH
 #define BAR_NUMBER_GRAV_HH
 
-#include "engraver.hh"
+#include "bar-script-engraver.hh"
 
-/**
-  catch bars, and put a number over them.
- */
-class Bar_number_engraver : public Engraver {
-  Script * script_p_;
+class Bar_number_engraver : public Bar_script_engraver {
 protected:
-
-  void acknowledge_element (Score_element_info);
-  void do_pre_move_processing();
+  void do_process_requests ();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
-  
 };
 #endif // BAR_NUMBER_GRAV_HH
diff --git a/lily/include/bar-script-engraver.hh b/lily/include/bar-script-engraver.hh
new file mode 100644 (file)
index 0000000..cfd2b7c
--- /dev/null
@@ -0,0 +1,36 @@
+/*   
+  bar-script-engraver.hh -- declare Bar_script_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef BAR_SCRIPT_ENGRAVER_HH
+#define BAR_SCRIPT_ENGRAVER_HH
+#include "engraver.hh"
+#include "protected-scm.hh"
+
+/**
+  put stuff over or next to  bars
+ */
+class Bar_script_engraver : public Engraver
+{
+protected:
+  G_staff_side_item* staff_side_p_;
+  G_text_item* text_p_;
+  Protected_scm visibility_lambda_;
+  String type_;
+  Axis axis_;
+
+protected:
+  Bar_script_engraver ();
+  virtual void do_pre_move_processing ();
+  virtual void acknowledge_element (Score_element_info);
+  void create_items(Request*);
+};
+
+
+#endif /* BAR_SCRIPT_ENGRAVER_HH */
+
index 834467858f9ec4c90d0e2202da7b1df08ecae357..898e8b048d778a8d3d1fa1d6b548513eace63d11 100644 (file)
@@ -1,5 +1,5 @@
 /*   
-  cbeam-engraver.hh -- declare Beam_engraver
+  beam-engraver.hh -- declare Beam_engraver
   
   source file of the GNU LilyPond music typesetter
   
@@ -7,8 +7,8 @@
   
  */
 
-#ifndef CBEAM_ENGRAVER_HH
-#define CBEAM_ENGRAVER_HH
+#ifndef BEAM_ENGRAVER_HH
+#define BEAM_ENGRAVER_HH
 
 #include "engraver.hh"
 #include "drul-array.hh"
@@ -35,5 +35,5 @@ public:
   VIRTUAL_COPY_CONS (Translator);
 };
 
-#endif /* CBEAM_ENGRAVER_HH */
+#endif /* BEAM_ENGRAVER_HH */
 
index fb45ae53d2c123d3df698f17ed9c9ac8a9269230..72b221fe1ea7dc97773350df1d536ff471ba2ea9 100644 (file)
@@ -30,6 +30,10 @@ public:
 private:
   Array<Musical_pitch> pitch_arr_;
   Link_array<Item> text_p_arr_;
+
+  String banter_str (Array<Musical_pitch> pitch_arr, int tonic_i, Musical_pitch inversion) const;
+  int find_tonic_i () const;
+  Array<Musical_pitch> rebuild_pitch_arr (int tonic_i) const;
 };
 
 #endif // CHORD_NAME_ENGRAVER_HH
index c634382a80a50db63fff116865598fd12950b627..9855313bceb437965a27d46dfbbe5b0a0190f93f 100644 (file)
@@ -18,6 +18,7 @@ class Clef_item : public Item {
 protected:
   virtual void do_pre_processing();
   virtual Molecule* do_brew_molecule_p() const;
+  virtual void do_add_processing ();
 public:
     
   String symbol_;
@@ -32,10 +33,6 @@ public:
   /// should we print an octave symbol (8), and where? (up=1, down=-1)?
   Direction octave_dir_;
 
-  /// text def to put above/below clef?
-  P<Text_def> octave_marker_td_p_;
-
-  
   VIRTUAL_COPY_CONS(Score_element);
   Clef_item();
 };
diff --git a/lily/include/const.hh b/lily/include/const.hh
deleted file mode 100644 (file)
index 531d002..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-    global constants
-    */
-#ifndef CONST_HH
-#define CONST_HH
-#include <limits.h>
-#include <math.h>
-#include "real.hh"
-
-#error
-
-#endif
index e15bc9b5b14c98a8865037e8704dba2cee296458..6e153eea147b72748739b75c9e991ea109b05182 100644 (file)
@@ -41,14 +41,14 @@ public:
   
   Dimension_cache * parent_l_;
   Link_array<Dimension_cache> dependencies_l_arr_;
-  
+  Graphical_element *element_l () { return elt_l_; }
   Real absolute_coordinate () const;
   void invalidate ();
   void invalidate_dependencies ();
   
   Dimension_cache(Dimension_cache const&);
   Dimension_cache ();
-  void set_group_l (Graphical_axis_group*);
+
   Real relative_coordinate (Dimension_cache *d) const;
   Dimension_cache*common_group (Dimension_cache const* s) const;
   Dimension_cache*common_group (Link_array<Dimension_cache> caches) const;
diff --git a/lily/include/elem-group.hh b/lily/include/elem-group.hh
deleted file mode 100644 (file)
index d1092d9..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-  elem-group.hh -- declare Horizontal_vertical_group_element
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef ELEM_GROUP_HH
-#define ELEM_GROUP_HH
-
-#include "score-element.hh"
-#include "axis-group-element.hh"
-
-
-
-
-#error
-#endif // ELEM_GROUP_HH
diff --git a/lily/include/font-metric.hh b/lily/include/font-metric.hh
new file mode 100644 (file)
index 0000000..2878cfc
--- /dev/null
@@ -0,0 +1,36 @@
+/*   
+  font-metric.hh -- declare Font_metric
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef FONT_METRIC_HH
+#define FONT_METRIC_HH
+
+#include "box.hh"
+/*
+  sigh.  
+
+  signature -> Internal compiler error
+*/
+
+struct Character_metric
+{
+  virtual Box dimensions () const=0;
+  virtual ~Character_metric () {}
+};
+
+struct Font_metric
+{
+  virtual Character_metric *get_char (int ascii, bool warn) const=0;
+  virtual ~Font_metric () {}
+};
+
+
+
+
+#endif /* FONT_METRIC_HH */
+
index add3ff2d5cca3a0152e6692cf418724e62c39883..47be75ff6e78bf3954f51b625f19c4b5c641b04a 100644 (file)
 
 #include "item.hh"
 
-/*
-  DO NOT USE AS BREAKABLE ITEM!
-
-  (-> core dump!)
- */
 class G_staff_side_item : public Item
 {
+  void position_self ();
 public:
   Score_element * to_position_l_;
   Direction dir_;
   Link_array<Score_element> support_l_arr_;
   Real padding_f_;
+  Axis axis_;
   
   G_staff_side_item ();
   void set_victim (Score_element*);
diff --git a/lily/include/graphical-lisp-element.hh b/lily/include/graphical-lisp-element.hh
deleted file mode 100644 (file)
index 33dc70d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-  graphical-lisp-element.hh -- declare Graphical_lisp_element
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1998 Jan Nieuwenhuizen <janneke@gnu.org>
-*/
-
-
-#ifndef GRAPHICAL_LISP_ELEMENT_HH
-#define GRAPHICAL_LISP_ELEMENT_HH
-#error
-#include "lily-guile.hh"
-#include "lily-proto.hh"
-#include "string.hh"
-
-#define virtual
-#define static
-#include "virtual-methods.hh"
-
-class Graphical_lisp_element 
-{
-public:
-  
-
-  Graphical_lisp_element (String);
-
-  void* access (String);
-  void call (String, void*);
-
-private:
-  String type_str_;
-};
-
-#undef virtual
-#undef static
-
-#endif // GRAPHICAL_LISP_ELEMENT_HH
-
index 80b39df71cdc79d1ddb3d6764a2b20e84bf792ad..b0771939289f11f923d5681f4fc44077ac2ef67a 100644 (file)
@@ -13,6 +13,7 @@
 #include "string.hh"
 #include "score-element.hh"
 #include "drul-array.hh"
+#include "protected-scm.hh"
 
 /**
   A horizontally fixed size element of the score.
   
 */
 class Item : public virtual Score_element {
+  void do_break ();
+  void try_visibility_lambda ();
+
 public:
   Link_array<Spanner> attached_span_l_arr_;
   Drul_array<Item*> broken_to_drul_;
   Item *unbroken_original_l_;
 
+  /**
+     
+     visibility_lambda :: int -> (bool . bool)
+     
+     @in
+     break direction
+     
+     @out
+     (transparent, empty) cons
+     
+   */
+  Protected_scm visibility_lambda_;
   /// should be put in a breakable col.
   bool breakable_b_;
   Direction break_status_dir_;
@@ -57,6 +73,8 @@ protected:
   virtual void do_print() const;
   virtual bool linked_b() const;
 
+  virtual void handle_prebroken_dependents ();
+
   void copy_breakable_items();
 };
 
index 105b3ba4939656394bb31665e36bbb1fe5a3ab40..bc9f969f73dad3dcc2fb7244937c0152b8e1b96f 100644 (file)
 #include <libguile.h>
 
 SCM ly_symbol (String name);
+String symbol_to_string (SCM);
 SCM ly_set_scm (String name , SCM val);
 
 SCM ly_append (SCM a, SCM b);
 SCM ly_eval (SCM a);
 SCM ly_func_o (char const* name);
 SCM ly_quote_scm (SCM s);
+void ly_display_scm (SCM s);
 
 
 #include "array.hh"
index fb8f26e12f8bd6c9129c28d6ca18b11e1d47a4ca..a066878859c06cd4f15b2242bd229c420238004a 100644 (file)
@@ -15,8 +15,6 @@ struct Abbreviation;
 struct Abbreviation_beam; 
 struct Abbreviation_beam_req;
 struct Abbreviation_beam_engraver;
-struct G_staff_side_item;
-struct G_text_item;
 struct Abbreviation_req;
 struct Adobe_font_metric;
 struct Adobe_font_char_metric;
@@ -31,6 +29,7 @@ struct Audio_note;
 struct Audio_note_off;
 struct Audio_staff;
 struct Audio_tempo;
+struct Auto_beam_engraver;
 struct Axis_group_element;
 struct Axis_group;
 struct Bar;
@@ -81,6 +80,8 @@ struct Engraver;
 struct Engraver_group_engraver;
 struct Extender;
 struct Extender_req;
+struct G_staff_side_item;
+struct G_text_item;
 struct General_script_def;
 struct Graphical_element;
 
@@ -173,7 +174,7 @@ struct Performer;
 struct Plet;
 struct Plet_engraver;
 struct Plet_req;
-struct Plet_spanner;
+struct Tuplet_spanner;
 struct Piano_brace;
 struct Performer;
 struct Performer_group_performer;
diff --git a/lily/include/lily-proto.hh.orig b/lily/include/lily-proto.hh.orig
deleted file mode 100644 (file)
index b44dab4..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
-  lily-proto.hh -- declare class names.
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#ifndef LILY_PROTO_HH
-#define LILY_PROTO_HH
-#include "proto.hh"
-
-struct Absolute_dynamic_req;
-struct Abbreviation;
-struct Abbreviation_beam; 
-struct Abbreviation_beam_req;
-struct Abbreviation_beam_engraver;
-struct G_staff_side_item;
-struct G_text_item;
-struct Abbreviation_req;
-struct Adobe_font_metric;
-struct Adobe_font_char_metric;
-struct All_font_metrics;
-struct Atom;
-struct Audio_element;
-struct Audio_column;
-struct Audio_item;
-struct Audio_key;
-struct Audio_time_signature;
-struct Audio_note;
-struct Audio_note_off;
-struct Audio_staff;
-struct Audio_tempo;
-struct Axis_group_element;
-struct Axis_group;
-struct Bar;
-struct Bar_column_engraver;
-struct Bar_column;
-struct Bar_engraver;
-struct Bar_req;
-struct Barcheck_req;
-struct Beam;
-struct Beam_engraver;
-struct Beam_req;
-struct Blank_req;
-struct Bow;
-struct Box;
-struct Bracket_req;
-struct Break_align_item;
-struct Break_req;
-struct Cadenza_req;
-struct Change_iterator;
-struct Change_translator;
-struct Chord_name_engraver;
-struct Clef_change_req;
-struct Clef_item;
-struct Clef_engraver;
-struct Clef_performer;
-struct Column_x_positions;
-struct Column_info;
-struct Collision;
-struct Collision_engraver;
-struct Command_req;
-struct Command_script_req;
-struct Command_tie_engraver;
-struct Command_tie_req;
-struct Compressed_music;
-struct Compressed_music_iterator;
-struct Cresc_req;
-struct Crescendo ;
-struct Decresc_req;
-struct Dots;
-struct Dot_column;
-struct Directional_spanner;
-struct Durational_req;
-struct Dynamic;
-struct Dynamic_req;
-struct Element_group;
-struct Element_group_item;
-struct Engraver;
-struct Engraver_group_engraver;
-struct Extender;
-struct Extender_req;
-struct General_script_def;
-struct Graphical_element;
-
-struct Graphical_axis_group;
-struct Global_translator;
-struct Hara_kiri_line_group_engraver;
-struct Hara_kiri_vertical_group_spanner;
-struct Head_column;
-
-struct Horizontal_align_item;
-struct Horizontal_group_element;
-struct Horizontal_group_item;
-struct Horizontal_vertical_group;
-struct Idealspacing;
-struct Identifier;
-struct Input_file;
-struct Item;
-struct Key;
-struct Key_change_req;
-struct Key_item;
-struct Key_engraver;
-struct Key_performer;
-struct Keyword;
-struct Keyword_table;
-struct Lily_stream;
-struct Line_group_engraver;
-struct Line_of_score;
-struct Line_of_staff;
-struct Line_spacer;
-struct Linestaff;
-struct Local_key;
-struct Local_key_item;
-struct Local_key_engraver;
-struct Lookup;
-struct Lyric_item;
-struct Lyric_req;
-struct Mark_req;
-struct Measure_grouping_req;
-struct Melodic_req;
-struct Midi_def;
-struct Midi_duration;
-struct Midi_header;
-struct Midi_item;
-struct Midi_key;
-struct Midi_time_signature;
-struct Midi_note;
-struct Midi_note_event;
-struct Midi_note_off;
-struct Midi_output;
-struct Midi_score;
-struct Midi_stream;
-struct Midi_tempo;
-struct Midi_track;
-struct Midi_walker;
-struct Mixed_qp;
-struct Molecule;
-struct Multi_measure_rest;
-struct Multi_measure_rest_req;
-struct Multi_measure_rest_engraver;
-struct Music;
-struct Musical_req;
-struct Musical_span_req;
-struct Musical_script_req;
-struct Music_list;
-struct Music_list_iterator;
-struct Music_output;
-struct Music_output_def;
-struct Musical_pitch;
-struct Music_sequence;
-struct Music_wrapper;
-struct Music_wrapper_iterator;
-struct My_lily_lexer;
-struct My_lily_parser;
-struct Note_column;
-struct Note_column_engraver;
-struct Note_performer;
-struct Note_req;
-struct Note_head;
-struct Note_head_engraver;
-struct Notename_table;
-struct Offset;
-struct Paper_column;
-struct Paper_def;
-struct Paper_outputter;
-struct Paper_score;
-struct Paper_stream;
-struct Partial_measure_req;
-struct Performance;
-struct Performer;
-struct Plet;
-struct Plet_engraver;
-struct Plet_req;
-struct Plet_spanner;
-struct Piano_brace;
-struct Performer;
-struct Performer_group_performer;
-struct Property_iterator;
-struct Rational;
-struct Request;
-struct Request_column;
-struct Relative_octave_music;
-struct Repeat_engraver;
-struct Repeated_music;
-struct Repeated_music_iterator;
-struct Rest;
-struct Rest_collision;
-struct Rest_collision_engraver;
-struct Rest_req;
-struct Rhythmic_grouping;
-struct Rhythmic_head;
-struct Rhythmic_grouping_req;
-struct Rhythmic_req;
-struct Scope;
-struct Separating_group_spanner;
-struct Score;
-struct Score_column;
-struct Score_element;
-struct Score_element_info;
-struct Score_performer;
-struct Script;
-struct Script_column;
-struct Script_def;
-struct Script_engraver;
-struct Script_req;
-struct Simple_music;
-struct Simultaneous_music;
-struct Single_malt_grouping_item;
-struct Skip_req;
-struct Slur;
-struct Slur_engraver;
-struct Slur_req;
-struct Spacing_req;
-struct Span_bar;
-struct Span_score_bar;
-struct Span_dynamic_req;
-struct Span_req;
-struct Spanner;
-struct Spring_spacer;
-struct Staff_bracket;
-struct Staff_performer;
-struct Staff_side;
-struct Staff_symbol;
-struct Stem;
-struct Stem_beam_engraver;
-struct Stem_req;
-struct String;
-struct Symtable;
-struct Symtables;
-struct Super_element;
-struct Translation_property;
-struct Tempo_req;
-struct Text_def;
-struct Text_gob;
-struct Text_item ;
-struct Text_engraver;
-struct Text_req;
-struct Text_spanner;
-struct Tie;
-struct Tie_engraver;
-struct Tie_req;
-struct Time_description;
-struct Time_signature;
-struct Time_signature_change_req;
-struct Time_signature_engraver;
-struct Time_signature_performer;
-struct Translator;
-struct Translator_group;
-struct Timing_req;
-struct Vertical_brace;
-struct Vertical_spanner;
-struct Vertical_group_element;
-struct Vertical_group_spanner;
-struct Vertical_align_spanner;
-struct Vertical_align_engraver;
-struct Volta_spanner;
-struct Align_element;
-struct Sequential_music;
-struct Request_chord;
-
-typedef Rational Moment;
-typedef Scope Header;
-
-#endif // LILY_PROTO_HH
diff --git a/lily/include/linespace.hh b/lily/include/linespace.hh
deleted file mode 100644 (file)
index 8b230ff..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  linespace.hh -- declare  Spacing_problem
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#error
-
-#ifndef LINESPACE_HH
-#define LINESPACE_HH
-
-#include "plist.hh"
-#include "array.hh"
-#include "vector.hh"
-#include "interval.hh"
-#include "pointer.hh"
-
-
-/** the problem, given by the columns (which include constraints) and
-    intercolumn spacing. The problem is:
-
-    Generate a spacing which
-    \begin{itemize}
-    \item
-    Satisfies spacing constraints (notes can't be printed through each other)
-    \item
-    Looks good, ie tries to conform to  an ideal spacing as much as possible.
-    \end{itemize}
-    This is converted by regarding idealspacing as "springs" attached
-    to columns. The equilibrium of one spring is the ideal
-    distance. The columns have a size, this imposes "hard" constraints
-    on the distances. This transforms the problem into a quadratic
-    programming problem with linear constraints.
-
-    The quality is given by the total potential energy in the
-    springs. The lower the energy, the better the configuration.
-
-    TODO: make item widths work per pstaff.
-
-*/
-class Spacing_problem {
-    PointerList<Idealspacing *> ideal_p_list_;
-    Array<Column_info> cols;
-    Array<Column_info> loose_col_arr_;
-    
-    /// mark column #i# as being loose.
-    void loosen_column (int i);
-    /// the index of #c# in #cols#
-    int col_id (Paper_column const *c) const;
-
-    /// generate an (nonoptimal) solution
-    Vector find_initial_solution() const;
-
-    /// check if problem is too tight
-    bool check_feasible() const;
-
-    /// does #this# contain the column #w#? 
-    bool contains (Paper_column const *w);
-
-    /// make the energy function
-    void make_matrices (Matrix &quad, Vector &lin,Real&) const;
-
-    /// generate the LP constraints
-    void make_constraints (Mixed_qp& lp) const;
-
-
-    void handle_loose_cols();
-    void position_loose_cols (Vector &) const;
-    void print_ideal (Idealspacing const *) const; 
-    Vector try_initial_solution() const;
-    void calcideal();
-
-    Score_column* scol_l (int);
-    void connect (int i,int j, Real,Real);
-public:
-    static Line_spacer *constructor() {
-       return new Line_spacer;
-    }
-    Array<Paper_column*> error_pcol_l_arr() const;
-
-    virtual   Array<Real> solve() const;
-    virtual void add_column (Paper_column  *, bool fixed=false, Real fixpos=0.0);
-
-    virtual Vector default_solution() contains { 
-       return try_initial_solution() ; 
-    }
-    virtual   bool check_constraints (Vector v) const;
-    virtual    void OK() const;
-    virtual    void print() const;
-    virtual    void prepare();
-};
index c0fc047926fc654f7f08e741a30aba61f53ac0c9..78a01267869769ba7de34621776164c89832adc2 100644 (file)
@@ -15,8 +15,6 @@
 #include "fproto.hh"
 #include "scalar.hh"
 #include "direction.hh"
-#include "curve.hh"
-#include "symtable.hh"
 #include "box.hh"
 
 /** handy interface to symbol table
@@ -26,28 +24,21 @@ class Lookup
 public:
   Lookup ();
   Lookup (Lookup const&);
-  Lookup (Symtables const&);
-  ~Lookup ();
   
+  Atom simple_bar (String s, Real w) const;
   Molecule accidental (int, bool cautionary) const;
-  void add (String, Symtable*);
   Atom afm_find (String, bool warn=true) const;
   Atom ball (int) const;
-  //
-  Atom special_ball (int, String) const;
-  //
-  Atom bar (String, Real height) const;
+  Molecule bar (String, Real height) const;
   Atom beam (Real, Real, Real) const;
   Atom clef (String) const;
   Atom dashed_slur (Array<Offset> controls, Real thick, Real dash) const;
   Atom dots () const;
-  Atom dynamic (String) const;
   Atom extender (Real) const;
   Atom fill (Box b) const;
   Atom flag (int, Direction) const;
   Atom hairpin (Real width, bool decresc, bool continued) const;
   Atom plet (Real dy, Real dx, Direction dir) const;
-  void print () const;
   Atom rest (int, bool outside) const;
   Atom rule_symbol (Real height, Real width) const;
   Atom script (String idx) const;
@@ -62,7 +53,6 @@ public:
   Atom time_signature (Array<int>) const;
 
   Paper_def * paper_l_;
-  Symtables *symtables_p_;
 
   String font_name_;
   Adobe_font_metric * afm_l_;
index 2b63cb16049a329fc5e8dedbfcc668993fb7914a..bcad25c6a085e100d7894bd98ceb0d8c6d5ec17d 100644 (file)
@@ -7,6 +7,7 @@
 */
 #ifndef MAIN_HH
 #define MAIN_HH
+
 #include "lily-proto.hh"
 
 void debug_init();
@@ -16,7 +17,6 @@ void clear_scores();
 void add_score (Score* s);
 void set_default_output (String s);
 String find_file (String);
-String get_version_str();
 void call_constructors ();
 
 extern Sources* source_global_l;
index f498b34f5c4611d5c61db832b49f9d29063fcf83..d78c4286c689b00b589520ea0d4c12543f58a28b 100644 (file)
 #ifndef MARK_ENGRAVER_HH
 #define MARK_ENGRAVER_HH
 
-#include "engraver.hh"
-
-class G_staff_side_item;
-class G_text_item;
+#include "bar-script-engraver.hh"
 
 /**
   */
-class Mark_engraver : public Engraver 
+class Mark_engraver : public Bar_script_engraver 
 {
 public:
   Mark_engraver ();
-
   VIRTUAL_COPY_CONS(Translator);
-  
-
 protected:
   virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests ();
-  virtual void do_pre_move_processing ();
-  virtual void acknowledge_element (Score_element_info);
-
+  virtual void do_post_move_processing ();
 private:
   Mark_req * mark_req_l_;
-  G_staff_side_item* staff_side_p_;
-  G_text_item* text_p_;
 };
 
 #endif // MARK_ENGRAVER_HH
index 7907be0ae440c479d588b73aa08716a397c6a800..757a26ac3443b7858f986887bcf7307e3a15ff08 100644 (file)
@@ -23,7 +23,7 @@ struct Molecule {
   Molecule() { }
   Molecule (Atom const &a);
 
-  void add_at_edge (Axis a, Direction d, const Molecule &m);
+  void add_at_edge (Axis a, Direction d, const Molecule &m, Real padding);
   
   void add_molecule (Molecule const &m);
   void translate (Offset);
@@ -31,7 +31,7 @@ struct Molecule {
   void add_atom (Atom const & a) ;
   /// how big is #this#? 
   Box extent() const;
-
+  Interval extent (Axis) const;
 
   Molecule (const Molecule&s);
   void print() const;
index b9d47c91588fa42018545c5da3bbb416880b07b8..e4e7c3fb31b91822312e3059c15bdc841f3f4ed8 100644 (file)
@@ -29,10 +29,7 @@ protected:
   virtual void do_post_move_processing ();
 
 private:
-  Moment rest_stop_mom_;
-//  Moment rest_item_creation_mom_;
-  Moment rest_start_mom_;
-
+  Drul_array<Moment> rest_moments_;
   
   int start_measure_i_;
   Multi_measure_rest_req* multi_measure_req_l_;
index 1bf988c09e43bb62c2f29f344e31774f1e0d60af..f42a50cfa02e4635c0fdc1c4a814d1636edef3e8 100644 (file)
@@ -66,21 +66,6 @@ public:
   REQUESTMETHODS(Spacing_req);
 };
 
-/// Put a text above or below (?) this staff.
-class Text_req  : public virtual Musical_req  {
-public:
-  /// preferred position (above/below)
-  Direction dir_;
-  /// the characteristics of the text
-  Text_def *tdef_p_;
-
-  Text_req (int d, Text_def*);
-  ~Text_req();
-  Text_req (Text_req const&);
-
-  REQUESTMETHODS(Text_req);
-};
-
 /** a syllable  or lyric is a string with rhythm.
   */
 class Lyric_req  : public  Rhythmic_req  {
@@ -185,7 +170,8 @@ public:
     for FP, SF, SFZ (FP is *not* louder than FFF)
    */
   enum Loudness {
-    FFFFFF, FFFFF, FFFF, FFF, FF, F, MF, MP, P, PP, PPP, PPPP, PPPPP, PPPPPP, FP, SF, SFF, SFZ, SP, SPP, RFZ };
+    FFF, FF, F, MF, MP, P, PP, PPP, FP, SF, SFZ
+  };
   static String loudness_static_str (Loudness);
   REQUESTMETHODS(Dynamic_req);
 };
index 853fee35817515bfd2ebc538f29350e607bd9498..1cc0bad9b891ffe129e7fd75d68cec4e745d53c0 100644 (file)
@@ -18,8 +18,6 @@
 class Note_head : public Rhythmic_head {
 public:
   
-  String note_head_type_str_;
-
   /// position of top line (5 linestaff: 8)
   int position_i_;
 
index 898c2b6082504393eb8b1bee324763efcf3a4b5b..df73bea785c5c5668039ac6e2288de572a5c5b8d 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef PAPER_DEF_HH
 #define PAPER_DEF_HH
 #include "lily-proto.hh"
-
+#include "lily-guile.hh"
 #include "real.hh"
 
 #include "moment.hh"
@@ -47,8 +47,8 @@ public:
   
 
   Array<Interval> shape_int_a_;
-
-  Real get_var (String) const;
+  Real get_realvar (SCM symbol) const;
+  Real get_var (String id) const;
   void reinit ();
   Paper_def ();
   void set_lookup (int, Lookup*);
index 7a8510484678b71197410afa2d8d33f009d49667..ff329dd1a36d0ff2f2a26a3e601cdf54be720fef 100644 (file)
@@ -12,7 +12,6 @@
 String * get_scriptdef (char c);
 Request* get_script_req (char);
 Request*get_script_req (int d , Script_def*def);
-Request*get_text_req (int d , Text_def*def);
 Request*get_grouping_req (Array<int> i_arr);
 
 #endif // PARSECONSTRUCT_HH
index afc7b43e6825e3ed30b481d4f780559538f4928b..c16ed213ec0308b77aae398612c0969e4a6825da 100644 (file)
@@ -25,7 +25,7 @@ public:
 protected:
   virtual Interval do_width() const;
   virtual void do_post_processing();
-  virtual Atom get_bar_sym (Real) const;
+  virtual Molecule get_bar_sym (Real) const;
 };
 
 
index e3d6f9ef3ad4320250fb55323c2db4a53e2f4a44..cef330a7187953b1a8b1acdf70d295bb6500123b 100644 (file)
@@ -31,7 +31,8 @@ protected:
 private:
   Link_array<Repeated_music> repeated_music_arr_;
   Link_array<Music> alternative_music_arr_;
-  Link_array<Bar> bar_p_arr_;
+  //  Link_array<Bar> bar_p_arr_;
+  Array<bool> bar_b_arr_;
   Link_array<Volta_spanner> volta_p_arr_;
   Array<Moment> stop_mom_arr_;
   Array<Moment> alternative_start_mom_arr_;
index f9980f2db87c0174c2286d23be252b577efbbf69..bf3e3e63180223415a421ed1b3a91c0d220e68ce 100644 (file)
 
 #include "dictionary.hh"
 #include "lily-proto.hh"
+#include "lily-guile.hh"
+#include "dictionary-iter.hh"
+#include "protected-scm.hh"
 
-class Scope : public Dictionary<Identifier*> {
+class Scope : private Hash_table<Protected_scm,Identifier*> {
 public:
   void print () const;
+  bool elem_b (String ) const;
+  bool elem_b (SCM s) const;
+  Identifier *&elem (String);
+  Identifier *&elem (SCM s);  
   Scope ();
+  
   Scope (Scope const &);
   ~Scope ();
+  friend class Scope_iter;
+};
+
+class Scope_iter : public Hash_table_iter<Protected_scm,Identifier*> {
+public:
+  Scope_iter(Scope const&);
+  String key () const;
+  SCM scm_key () const;
 };
 
 #endif /* SCOPE_HH */
index c36e446816e8333eb08f75cf4ea49883ca54c546..919333c9a6edd79b22e52db776cc9cd4c01b9913 100644 (file)
@@ -106,6 +106,7 @@ protected:
   virtual void do_break_processing ();
   virtual void handle_broken_dependencies ();
   virtual void handle_prebroken_dependencies ();
+  virtual void handle_prebroken_dependents ();
   virtual Link_array<Score_element> get_extra_dependencies () const;
   virtual void do_unlink ();
   virtual void do_junk_links ();
index 22a710d7f5208aaf171e4f84d5126825ac472c5f..410b527a1b8157c66f625b1084d9f1b01889c102 100644 (file)
@@ -31,7 +31,7 @@ protected:
     
     virtual void do_substitute_dependency (Score_element*,Score_element*);
     virtual Molecule * do_brew_molecule_p() const;
-    virtual Atom get_bar_sym (Real dy) const;
+    virtual Molecule get_bar_sym (Real dy) const;
 };
 
 #endif // SPAN_BAR_HH
index f63a113141853744badd309b75963dfe33cf0fe1..3360ac32cd80080d5cbb1abfa9cdcc830a09539a 100644 (file)
@@ -20,7 +20,7 @@ public:
 protected:
   virtual Interval do_width() const;
   virtual void do_post_processing();
-  virtual Atom get_bar_sym (Real) const;
+  virtual Molecule get_bar_sym (Real) const;
 };
 
 
index 2ad18843d86649776d4e61e3ddb83d92261c5792..240b44f794f1e24de1ad72d8b59a2332479cff0a 100644 (file)
 #ifndef STAFF_MARGIN_ENGRAVER_HH
 #define STAFF_MARGIN_ENGRAVER_HH
 
-#include "engraver.hh"
+#include "bar-script-engraver.hh"
 
 /**
   put (instrument) text to left of line
  */
-class Staff_margin_engraver : public Engraver 
+class Staff_margin_engraver : public Bar_script_engraver
 {
 public:
   VIRTUAL_COPY_CONS(Translator);
-  
-
   Staff_margin_engraver ();
-
 protected:
   void acknowledge_element (Score_element_info);
-  void do_pre_move_processing ();
-
-private:
-  Script * script_p_;
 };
 
 #endif // STAFF_MARGIN_ENGRAVER_HH
diff --git a/lily/include/symtable.hh b/lily/include/symtable.hh
deleted file mode 100644 (file)
index b0f8a77..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-  symtable.hh -- declare Symtable, Symtables
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef SYMTABLE_HH
-#define SYMTABLE_HH
-
-#include "dictionary.hh"
-#include "string.hh"
-#include "atom.hh"
-
-struct  Symtable : public Dictionary<Atom> {
-  String id_str;
-    
-  Atom lookup (String) const;
-  void print() const;
-};
-
-
-struct Symtables : private Dictionary<Symtable*>
-{
-  Symtables();
-  Symtables (Symtables const&);
-  ~Symtables();
-
-  Symtable* operator()(String s);
-  void add (String, Symtable*);
-  void print() const;
-
-  String font_name_;
-};
-
-
-#endif
-
diff --git a/lily/include/text-item.hh b/lily/include/text-item.hh
deleted file mode 100644 (file)
index 536fbd8..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-  text-item.hh -- part of GNU LilyPond
-
-  (c) 1996--1998 Han-Wen Nienhuys
-*/
-
-#ifndef TEXT_ITEM_HH
-#define TEXT_ITEM_HH
-
-#include "text-def.hh"
-#include "item.hh"
-#include "staff-side.hh"
-
-/**
-  print a fixed width text above or below the staff.
- */
-class Text_item : public Item ,public Staff_side
-{
-public:
-    /// do I have width?
-    bool fat_b_;
-
-  Text_item (General_script_def* ,Direction dir=CENTER);
-    General_script_def* tdef_p_;
-
-protected:
-    virtual ~Text_item ();
-    virtual Interval symbol_height () const;
-    virtual Molecule* do_brew_molecule_p () const;
-    virtual void do_pre_processing ();
-    virtual Real get_position_f () const;
-};
-
-
-#endif // TEXT_HH
-
index 685c92120165be802572a07abf744dcb2fd5630c..182fded427da3bbd2a3d6e5b1d43fd261ca58679 100644 (file)
@@ -4,7 +4,10 @@
   source file of the GNU LilyPond music typesetter
   
   (c) 1999 Jan Nieuwenhuizen <janneke@gnu.org>
-  
+
+
+  revamped code from GNU Fontutils-0.6
+
  */
 
 #ifndef TFM_HH
@@ -13,6 +16,7 @@
 #include "string.hh"
 #include "array.hh"
 #include "lily-proto.hh"
+#include "font-metric.hh"
 
 /* The type.  */
 typedef long Fix;
@@ -121,7 +125,7 @@ struct Tfm_kern
   Real kern;
 };
 
-struct Tex_font_char_metric
+struct Tex_font_char_metric : Character_metric
 {
   bool exists_b_;
   Char_code code_;
@@ -132,14 +136,18 @@ struct Tex_font_char_metric
 
   String str () const;
   Tex_font_char_metric ();
+
+  Box dimensions () const; 
 };
 
 
-class Tex_font_metric
+class Tex_font_metric : public Font_metric
 {
 public:
+  Character_metric *get_char (int, bool) const;
+  
   Tex_font_metric ();
-  Tex_font_char_metric find_ascii (int ascii, bool warn=true) const;
+  Tex_font_char_metric const &find_ascii (int ascii, bool warn=true) const;
   String str () const;
 
   /// the reader
@@ -160,7 +168,7 @@ private:
   void read_char_metrics (Binary_source_file* input);
   Tex_font_char_metric read_char_metric (Binary_source_file* input, Char_code code);
   Tex_font_char_metric read_char (Binary_source_file* input);
-  void read_lig_kern_program (Binary_source_file* input, Array <Tfm_ligature>* ligature_arr_p, Array <Tfm_kern>* kern_arr_p);
+  void read_lig_kern_program (Binary_source_file* input, Array<Tfm_ligature>* ligature_arr_p, Array <Tfm_kern>* kern_arr_p);
 };
 
 
index b76f12e440c2e205167a309a5501b0113ef84096..f376092f7635645a12de81ce8aa90f35b3e5af05 100644 (file)
@@ -22,7 +22,7 @@ public:
 protected:
   Link_array<Compressed_music> compressed_music_arr_;
   Array<Moment> stop_moments_;
-  Link_array<Plet_spanner> started_span_p_arr_;
+  Link_array<Tuplet_spanner> started_span_p_arr_;
 
 
   virtual void do_removal_processing ();
index 356e4a51e0ffaebe5de892bb21f4b1eb88553138..4310faac2c3737348e7fc59537fad77743ec5b87 100644 (file)
@@ -4,18 +4,18 @@
   (c)  1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
-#ifndef PLET_SPANNER_HH
-#define PLET_SPANNER_HH
+#ifndef Tuplet_spanner_HH
+#define Tuplet_spanner_HH
 #include "text-def.hh"
 #include "pointer.hh"
 #include "directional-spanner.hh"
 
 /** supportable plet: triplets, eentweetjes, ottava, etc.  */
 
-class Plet_spanner : public Directional_spanner
+class Tuplet_spanner : public Directional_spanner
 {
 public:
-  Plet_spanner ();
+  Tuplet_spanner ();
  
   void add_column (Note_column*);
   void set_beam (Beam*);
@@ -36,5 +36,5 @@ protected:
   virtual void do_substitute_dependency (Score_element*,Score_element*);
 };
 
-#endif // PLET_SPANNER_HH
+#endif // Tuplet_spanner_HH
 
index a64f7ef08ab56a6b6ac917bde094017c7b23f0c1..eca97a825215afeade9381e334e1c911873d858e 100644 (file)
@@ -26,6 +26,7 @@ public:
   Link_array<Bar> column_arr_;
   Link_array<Note_column> note_column_arr_;
   bool last_b_;
+  bool visible_b_;
  
 protected:
   virtual Molecule* do_brew_molecule_p () const;
index 7ae4f06b53647c8a73835103057896f2a5a571df..2ba9b270451836129db87de1dd70b6d376ca19ba 100644 (file)
@@ -21,8 +21,6 @@ Item::Item ()
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
 }
 
-
-
 void
 Item::do_print() const
 {
@@ -42,7 +40,7 @@ Item::hpos_f() const
 Line_of_score *
 Item::line_l() const
 {
-  Graphical_element *g =parent_l (X_AXIS);
+  Graphical_element *g = parent_l (X_AXIS);
   if (!g)
     return 0;
   return dynamic_cast <Score_element *> (g)-> line_l ();
@@ -63,36 +61,63 @@ Item::copy_breakable_items()
   Direction  i=LEFT;
   do 
     {
-      Item * item_p = dynamic_cast<Item*>(clone());
+      Score_element * dolly = clone();
+      Item * item_p = dynamic_cast<Item*>(dolly);
 
       item_p->break_status_dir_ =  i;
       pscore_l_->typeset_element (item_p);
-      item_p->handle_prebroken_dependencies();
       new_copies[i] =item_p;
     }
   while (flip(&i) != LEFT);
   broken_to_drul_= new_copies;
+
+  do 
+    {
+       broken_to_drul_[i]->handle_prebroken_dependencies();
+       broken_to_drul_[i]->try_visibility_lambda();
+    }
+  while (flip(&i) != LEFT);
+  try_visibility_lambda ();
 }
 
 void
-Item::do_breakable_col_processing()
+Item::try_visibility_lambda ()
 {
-  if (!breakable_b_)
-    return;
-
-  if (!column_l ()->breakable_b_)
-    return;
+  if (visibility_lambda_)
+    {
+      SCM args = scm_listify (gh_int2scm (break_status_dir_), SCM_UNDEFINED);
+      SCM result = gh_apply (visibility_lambda_, args);
+      int trans = gh_scm2bool (gh_car (result));
+      int empty = gh_scm2bool (gh_cdr (result));
+
+      if (empty)
+       set_empty (true);
+      if (trans)
+       transparent_b_ = true;
+    }
+}
 
+void
+Item::do_break ()
+{
   copy_breakable_items();
   handle_prebroken_dependencies();
-
+  
   /*
     Otherwise the broken items won't be pre_process()'ed.
   */
   add_dependency (broken_to_drul_[LEFT]);
-  add_dependency (broken_to_drul_[RIGHT]);    
+  add_dependency (broken_to_drul_[RIGHT]);
+
 }
 
+void
+Item::do_breakable_col_processing()
+{
+  if (breakable_b_)
+    do_break ();
+
+}
 Item*
 Item::find_prebroken_piece (Line_of_score*l) const
 {
@@ -176,8 +201,34 @@ Item::Item (Item const &s)
   unbroken_original_l_ = &s;
   /* do not copy attached_span_l_arr_ */
   breakable_b_ = s.breakable_b_;
+  visibility_lambda_ = s.visibility_lambda_;
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT] =0;
   break_status_dir_ = s.break_status_dir_;
   break_priority_i_ = s.break_priority_i_;
 }
 
+
+void
+Item::handle_prebroken_dependents ()
+{
+  Dimension_cache * dim = dim_cache_[X_AXIS].parent_l_;
+  if (!dim)
+    return;
+  
+  Item * parent =  dynamic_cast<Item*> (dim->element_l ());
+  if (parent && parent->broken_to_drul_[LEFT])
+    {
+      if(!(broken_to_drul_[LEFT] || broken_to_drul_[RIGHT]))
+       do_break ();
+
+      Direction d = LEFT;
+      do
+       {
+         broken_to_drul_[d]->dim_cache_[X_AXIS].parent_l_ =
+           &parent->broken_to_drul_[d]->dim_cache_[X_AXIS];
+         parent->broken_to_drul_[d]->add_dependency (broken_to_drul_[d]);
+       }
+      while ((flip (&d))!=LEFT);
+    }
+}
+
index 268d847686328adc356a6ce75e71794f731d1993..152148dac9be9aaa13e5c958db85f70098aa51f0 100644 (file)
@@ -73,7 +73,9 @@ Key_item::calculate_position(int p, int a) const
 }
 
 /*
-  TODO space the `natural' signs wider
+  TODO
+  - space the `natural' signs wider
+  - dehair this
  */
 Molecule*
 Key_item::do_brew_molecule_p() const
@@ -97,7 +99,7 @@ Key_item::do_brew_molecule_p() const
             {
               Molecule m =lookup_l ()->accidental (0,false);
               m.translate_axis (calculate_position(old_pitch_arr_[i], old_acc_arr_[i]) * inter, Y_AXIS);
-              output->add_at_edge (X_AXIS, RIGHT, m);  
+              output->add_at_edge (X_AXIS, RIGHT, m,0);        
             }
         }
 
@@ -109,14 +111,14 @@ Key_item::do_brew_molecule_p() const
       Interval x(0, inter);
       Interval y(0,0);
 
-      output->add_at_edge (X_AXIS, RIGHT, lookup_l()->fill (Box(x,y)));
+      output->add_at_edge (X_AXIS, RIGHT, lookup_l()->fill (Box(x,y)),0);
     }
  
   for (int i =0; i < pitch_arr_.size(); i++) 
     {
       Molecule m =lookup_l ()->accidental (acc_arr_[i],false);
       m.translate_axis (calculate_position(pitch_arr_[i], acc_arr_[i]) * inter, Y_AXIS);
-      output->add_at_edge (X_AXIS, RIGHT, m);  
+      output->add_at_edge (X_AXIS, RIGHT, m, 0);
     }
   if (pitch_arr_.size()) 
     {
@@ -124,7 +126,7 @@ Key_item::do_brew_molecule_p() const
                                          Interval (0, paper()->note_width ()),
                                          Interval (0,0))));
       
-      output->add_at_edge (X_AXIS, RIGHT, m);
+      output->add_at_edge (X_AXIS, RIGHT, m,0 );
     }
   return output;
 }
index 26e32488b86d14c05cdd646b666377b157143c7a..265a14578a2e5a262aa6289eff837a11eb170cf4 100644 (file)
@@ -42,8 +42,14 @@ ly_symbol (String name)
   return gh_car (scm_intern (name.ch_C(), name.length_i()));
 }
 
+String
+symbol_to_string (SCM s)
+{
+  return String((Byte*)SCM_CHARS (s), (int) SCM_LENGTH(s));
+}
+
 SCM
-ly_set_scm (String name , SCM val)
+ly_set_scm (String name, SCM val)
 {
   return scm_sysintern (name.ch_C(), val);
   
@@ -75,3 +81,10 @@ read_lily_scm_file (String fn)
   *mlog << ']' << flush;  
 }
 
+
+void
+ly_display_scm (SCM s)
+{
+  gh_display (s);
+  gh_newline ();
+}
index 18696cbd3161d8dce5cdeb6c89a438826e6d56f7..5dcfcdcac5dd1b68a0923ff2d0558bc86465fb89 100644 (file)
@@ -1,21 +1,35 @@
-#include <stdio.h>
+/*
+  lily-version.cc -- implement version strings
+
+  source file of the GNU LilyPond music typesetter
+
+  (c)  1999 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
 
 #include "config.hh"
 #include "version.hh"
+#include "lily-version.hh"
 
-#define VERSION_SZ  MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL "." MY_PATCH_LEVEL
-
-static char *s = "GNU LilyPond " VERSION_SZ ;
+#define VERSION MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL "." MY_PATCH_LEVEL
 
+String
+version_str ()
+{
+  String str = VERSION;
+  return str;
+}
 
-char const *
-lily_version_number_sz()
+String 
+gnu_lilypond_str ()
 {
-  return VERSION_SZ;
+  String str = "GNU LilyPond";
+  return str;
 }
 
-char const * 
-lily_version_sz()
+String 
+gnu_lilypond_version_str ()
 {
-  return s;
+  String str = gnu_lilypond_str () + " " + version_str ();
+  return str;
 }
+
index 43177a7322958231fe7838c4690bd9b8e8a98cbe..92c6e2300afb482a8da4d651595c898e4adc6c5e 100644 (file)
@@ -74,7 +74,7 @@ Local_key_item::do_brew_molecule_p() const
              accidental_pitch_arr_[i].cautionary_b_));
 
       m.translate_axis (dy, Y_AXIS);
-      octave_mol_p->add_at_edge (X_AXIS, RIGHT, m);
+      octave_mol_p->add_at_edge (X_AXIS, RIGHT, m, 0);
     }
 
   if (octave_mol_p)
@@ -89,7 +89,7 @@ Local_key_item::do_brew_molecule_p() const
     {
       Box b(Interval (0, paper()->internote_f ()), Interval (0,0));
       Molecule m (lookup_l ()->fill (b));
-      output->add_at_edge (X_AXIS, RIGHT, m);
+      output->add_at_edge (X_AXIS, RIGHT, m, 0);
     }
 
   Interval x_int;
index f777dee42aa1a0f0aaf1407ad4c6edd79d9bf550..757cf25535c2980c2b0b5eb137598183bc152018 100644 (file)
@@ -15,7 +15,6 @@
 #include "lookup.hh"
 #include "debug.hh"
 #include "dimensions.hh"
-#include "symtable.hh"
 #include "scalar.hh"
 #include "paper-def.hh"
 #include "string-convert.hh"
@@ -24,6 +23,8 @@
 #include "lily-guile.hh"
 #include "all-fonts.hh"
 #include "afm.hh"
+#include "scope.hh"
+#include "molecule.hh"
 
 SCM
 array_to_list (SCM *a , int l)
@@ -40,30 +41,17 @@ array_to_list (SCM *a , int l)
 Lookup::Lookup ()
 {
   paper_l_ = 0;
-  symtables_p_ = new Symtables;
   afm_l_ = 0;  
 }
 
 Lookup::Lookup (Lookup const& s)
 {
   font_name_ = s.font_name_;
-  paper_l_ = s.paper_l_;
-  symtables_p_ = new Symtables (*s.symtables_p_);
+  paper_l_ = 0;
   afm_l_ = 0;  
 }
 
-Lookup::Lookup (Symtables const& s)
-{
-  font_name_ = s.font_name_;
-  paper_l_ = 0;
-  symtables_p_ = new Symtables (s);
-  afm_l_ = 0;
-}
 
-Lookup::~Lookup ()
-{
-  delete symtables_p_;
-}
 
 Molecule
 Lookup::accidental (int j, bool cautionary) const
@@ -71,28 +59,21 @@ Lookup::accidental (int j, bool cautionary) const
   Molecule m(afm_find (String ("accidentals") + String ("-") + to_str (j)));
   if (cautionary) 
     {
-      m.add_at_edge(X_AXIS, LEFT, 
-                    Molecule(afm_find (String ("accidentals") + String ("-("))))
-;
-      m.add_at_edge(X_AXIS, RIGHT, 
-                    Molecule(afm_find (String ("accidentals") + String ("-)"))))
-;
+      Atom open = afm_find (String ("accidentals") + String ("-("));
+      Atom close = afm_find (String ("accidentals") + String ("-)"));
+      m.add_at_edge(X_AXIS, LEFT, Molecule(open), 0);
+      m.add_at_edge(X_AXIS, RIGHT, Molecule(close), 0);
     }
   return m;
 }
 
-void
-Lookup::add (String s, Symtable*p)
-{
-  symtables_p_->add (s, p);
-}
 
 
 Atom
 Lookup::afm_find (String s, bool warn) const
 {
   if (!afm_l_)      
-    ((Lookup*)this)->afm_l_ = all_fonts_global_p->find_font (font_name_);
+    ((Lookup*)this)->afm_l_ = all_fonts_global_p->find_afm (font_name_);
   
   Adobe_font_char_metric m = afm_l_->find_char (s, warn);
 
@@ -101,14 +82,13 @@ Lookup::afm_find (String s, bool warn) const
     return a;
   
   a.dim_ = m.B_;
-  //  a.dim_[X_AXIS] *= 1 / 1000.0;
-  //  a.dim_[Y_AXIS] *= 1 / 1000.0;
+  a.dim_[X_AXIS] *= 1 / 1000.0;
+  a.dim_[Y_AXIS] *= 1 / 1000.0;
 
   
   a.lambda_ = gh_list (ly_symbol ("char"),
                       gh_int2scm (m.code ()),
                       SCM_UNDEFINED);
-  a.str_ = "afm_find: " + s;
   a.font_ = font_name_;
   return a;
 }
@@ -123,29 +103,92 @@ Lookup::ball (int j) const
 }
 
 Atom
-Lookup::special_ball (int j, String kind_of_ball) const
+Lookup::simple_bar (String type, Real h) const
 {
-  if (j > 2)
-    j = 2;
+  SCM thick = ly_symbol ("barthick_" + type);
+  Real w = 0.1 PT;
+  if (paper_l_->scope_p_->elem_b (thick))
+    {
+      w = paper_l_->get_realvar (thick);
+    }
+  
+  Atom a;
+  a.lambda_ = gh_list (ly_symbol ("filledbox"),
+                      gh_double2scm (0),
+                      gh_double2scm (w),                      
+                      gh_double2scm (h/2),
+                      gh_double2scm (h/2),                    
+                      SCM_UNDEFINED);
 
-  return afm_find (String ("balls") + String ("-") + kind_of_ball);
+  a.dim_[X_AXIS] = Interval(0,w);
+  a.dim_[Y_AXIS] = Interval (-h/2, h/2);
+  return a;
 }
 
-Atom
+  
+Molecule
 Lookup::bar (String str, Real h) const
 {
+  Real kern = paper_l_->get_var ("bar_kern");
+  Real thinkern = paper_l_->get_var ("bar_thinkern");  
+  Atom thin = simple_bar ("thin", h);
+  Atom thick = simple_bar ("thick", h);
+  Atom colon = afm_find ("dots-repeatcolon");  
 
-  Atom a = (*symtables_p_) ("bars")->lookup (str);
-  
-  
-  a.lambda_ = gh_list (ly_symbol (a.str_.ch_C()),
-                      gh_double2scm (h),
-                      SCM_UNDEFINED);
+  Molecule m;
 
+  if (str == "")
+    {
+      return fill (Box (Interval(0,0),Interval (-h/2, h/2)));
+    }
+  else if (str == "|")
+    {
+      return thin;
+    }
+  else if (str == "|.")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, 0);      
+      m.add_at_edge (X_AXIS, LEFT, thin,kern);
+    }
+  else if (str == ".|")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thick, kern);
+      m.add_at_edge (X_AXIS, RIGHT, thin, 0);
+    }
+  else if (str == ":|")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick, 0);
+      m.add_at_edge (X_AXIS, LEFT, thin, kern);
+      m.add_at_edge (X_AXIS, LEFT, colon, kern);      
+    }
+  else if (str == "|:")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thick,0);
+      m.add_at_edge (X_AXIS, RIGHT, thin,kern);
+      m.add_at_edge (X_AXIS, RIGHT, colon,kern);      
+    }
+  else if (str == ":|:")
+    {
+      m.add_at_edge (X_AXIS, LEFT, thick,kern/2);
+      m.add_at_edge (X_AXIS, LEFT, thin,kern);
+      m.add_at_edge (X_AXIS, LEFT, colon,kern);      
+      m.add_at_edge (X_AXIS, RIGHT, thick,kern);
+      m.add_at_edge (X_AXIS, RIGHT, thin,kern);
+      m.add_at_edge (X_AXIS, RIGHT, colon,kern);      
+    }
+  else if (str == "||")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thin,0);
+      m.add_at_edge (X_AXIS, RIGHT, thin,thinkern);      
+    }
 
-  a.dim_.y () = Interval (-h/2, h/2);
-  a.font_ = font_name_;
-  return a;
+  else if (str == ".|.")
+    {
+      m.add_at_edge (X_AXIS, RIGHT, thick, 0);
+      m.add_at_edge (X_AXIS, RIGHT, thick, kern);      
+    }
+
+  return m;
 }
 
 Atom 
@@ -207,7 +250,6 @@ Lookup::dashed_slur (Array<Offset> controls, Real thick, Real dash) const
             ly_quote_scm (array_to_list (sc, 4)),
             SCM_UNDEFINED);
 
-  a.str_ = "dashed_slur";
   return a;
 }
 
@@ -217,20 +259,18 @@ Lookup::dots () const
   return afm_find (String ("dots") + String ("-") + String ("dot"));
 }
 
-Atom
-Lookup::dynamic (String st) const
-{
-  return (*symtables_p_) ("dynamics")->lookup (st);
-}
 
 Atom
 Lookup::extender (Real width) const
 {
-  Atom a = (*symtables_p_) ("param")->lookup ("extender");
-  a.lambda_ = gh_list (ly_symbol (a.str_),
+  Atom a;
+  a.lambda_ = gh_list (ly_symbol ("extender"),
                       gh_double2scm (width),
                       SCM_UNDEFINED);
-  a.str_ = "extender";
+
+  a.dim_[X_AXIS] = Interval (0, width);
+  a.dim_[Y_AXIS] = Interval (0,0);
+  
   a.font_ = font_name_;
   return a;
 }
@@ -251,16 +291,6 @@ Lookup::flag (int j, Direction d) const
   return a;
 }
 
-void
-Lookup::print () const
-{
-#ifndef NPRINT
-  DOUT << "Lookup {\n";
-  symtables_p_->print ();
-  DOUT << "}\n";
-#endif
-}
-
 Atom
 Lookup::rest (int j, bool o) const
 {
@@ -323,9 +353,9 @@ Lookup::stem (Real y1, Real y2) const
 
   Real stem_width = paper_l_->get_var ("stemthickness");
 
-  a.lambda_ = gh_list (ly_symbol ("stem"),
-                      gh_double2scm(-stem_width /2),
-                      gh_double2scm(stem_width),
+  a.lambda_ = gh_list (ly_symbol ("filledbox"),
+                      gh_double2scm(stem_width /2),
+                      gh_double2scm(stem_width/2),
                       gh_double2scm(y2),
                       gh_double2scm(-y1),
                       SCM_UNDEFINED);
@@ -361,21 +391,23 @@ static Dictionary<char const *> cmr_dict (cmr_init);
 Atom
 Lookup::text (String style, String text) const
 {
-  Atom a =  (*symtables_p_) ("style")->lookup (style);
-
-  a.lambda_ = gh_list(ly_symbol (a.str_),
+  Atom a;
+  a.lambda_ = gh_list(ly_symbol ("set" + style),
                      gh_str02scm (text.ch_C()),
                      SCM_UNDEFINED);
-  
-  Real font_w = a.dim_.x ().length ();
-  Real font_h = a.dim_.y ().length ();
 
+  Real font_h = paper_l_->get_var ("font_normal");
+  if (paper_l_->scope_p_->elem_b ("font_" + style))
+    {
+      font_h = paper_l_->get_var ("font_" + style);
+    }
+  
   if (cmr_dict.elem_b (style))
     {
       style = String (cmr_dict [style]) + to_str  ((int)font_h); // ugh
     }
   Real w = 0;
-  Adobe_font_metric* afm_l = all_fonts_global_p->find_font (style);
+  Font_metric* afm_l = all_fonts_global_p->find_font (style);
   DOUT << "\nChars: ";
   
   for (int i = 0; i < text.length_i (); i++) 
@@ -385,16 +417,11 @@ Lookup::text (String style, String text) const
          ;
       else
        {
-         int c = text[i];
-         int code = afm_l->ascii_to_metric_idx_[c];
-         if (code >=0)
-           {
-             Adobe_font_char_metric m = afm_l->char_metrics_[code];
-             w += m.B_.x ().length ();
-             DOUT << to_str (m.B_.x ().length ()) << " ";
-           }
+         Character_metric *c = afm_l->get_char (text[i],false);
+         w += c->dimensions()[X_AXIS].length ();
        }
     }
+
   DOUT << "\n" << to_str (w) << "\n";
   a.dim_.x () = Interval (0, w);
   a.font_ = font_name_;
@@ -402,14 +429,21 @@ Lookup::text (String style, String text) const
 }
   
 
+/*
+  TODO: should return a molecule with 2 stacked nums.
+ */
 Atom
 Lookup::time_signature (Array<int> a) const
 {
-  Atom s ((*symtables_p_) ("param")->lookup ("time_signature"));
-  s.lambda_ = gh_list (ly_symbol (s.str_),
+  Atom s;
+  s.lambda_ = gh_list (ly_symbol ("generalmeter"),
                       gh_int2scm (a[0]),
                       gh_int2scm (a[1]),
                       SCM_UNDEFINED);
+
+  Real r = paper_l_->interline_f () ;
+  s.dim_[Y_AXIS] =  Interval (-2*r, 2*r);
+  s.dim_[X_AXIS] = Interval (0, 2*r);
   return s;
 }
 
@@ -422,6 +456,7 @@ Lookup::vbrace (Real &y) const
                       SCM_UNDEFINED
                       );
   a.dim_[Y_AXIS] = Interval (-y/2,y/2);
+  a.dim_[X_AXIS] = Interval (0,0);
   a.font_ = font_name_;
   return a;
 }
@@ -488,7 +523,6 @@ Lookup::vbracket (Real &y) const
   a.lambda_ =  gh_list (ly_symbol ("bracket"),
                        gh_double2scm (y),
                        SCM_UNDEFINED);
-  a.str_ = "vbracket";
   a.dim_[Y_AXIS] = Interval (-y/2,y/2);
   a.dim_[X_AXIS] = Interval (0,4 PT);
   return a;
@@ -502,7 +536,7 @@ Lookup::volta (Real w, bool last_b) const
                       gh_double2scm (w),
                       gh_int2scm (last_b),
                       SCM_UNDEFINED);
-  a.str_ = "volta";
+
   Real interline_f = paper_l_->interline_f ();
 
   a.dim_[Y_AXIS] = Interval (-interline_f, interline_f);
index c5447ad97ed05200baea881cc766d9d06e0baadf..b2942c91fc4eae2cb831a6a4f498d330019cde27 100644 (file)
@@ -8,15 +8,9 @@
 */
 
 #include "musical-request.hh"
-#include "text-item.hh"
-#include "paper-def.hh"
-#include "lookup.hh"
-#include "paper-def.hh"
 #include "main.hh"
 #include "dimensions.hh"
 #include "g-text-item.hh"
-
-
 #include "engraver.hh"
 #include "array.hh"
 #include "lily-proto.hh"
@@ -71,6 +65,8 @@ Lyric_engraver::do_process_requests()
       Scalar style = get_property ("textstyle", 0);
       if (style.length_i ())
        item_p->style_str_ = style;
+      // urg, when/how can one get the height of this thing?
+      item_p->translate (Offset (0, - i * 12 PT));
       
       text_p_arr_.push (item_p);
       announce_element (Score_element_info (item_p, request_l));
index 4e41395e422387e42380d7efd912a29beb74ba88..64c5f1757556d86e5453d533c4579064ac740d90 100644 (file)
@@ -11,6 +11,7 @@
 #include <assert.h>
 #include <locale.h>
 #include "lily-guile.hh"
+#include "lily-version.hh"
 
 #include "all-fonts.hh"
 #include "proto.hh"
@@ -128,8 +129,8 @@ usage ()
     "  -V, --ignore-version   ignore mudela version\n"
     );
   cout  << _ (
-    "  -w, --warranty         show warranty and copyright\n"
-    );
+             "  -w, --warranty         show warranty and copyright\n"
+             );
   cout << '\n';
   cout << _ ("GNU LilyPond was compiled with the following settings:");
   cout << '\n';
@@ -143,9 +144,9 @@ usage ()
 #ifdef STRING_UTILS_INLINED
     "STRING_UTILS_INLINED "
 #endif
-        "datadir=" DIR_DATADIR
-       "\n"
-        "localedir=" DIR_LOCALEDIR
+    "datadir=" DIR_DATADIR
+    "\n"
+    "localedir=" DIR_LOCALEDIR
 
     "\n";
 
@@ -157,8 +158,8 @@ about ()
 {
   cout << '\n';
   cout << 
-  #include "BLURB.hh"
-  cout << '\n';
+#include "BLURB.hh"
+    cout << '\n';
   cout << _ ("GNU LilyPond is Free software, see --warranty");
   cout << '\n';
   cout << '\n';
@@ -181,25 +182,25 @@ notice ()
   cout << "  " + _ ("Jan Nieuwenhuizen <janneke@gnu.org>") + "\n";
   cout << '\n';
   cout << _ (
-    "    This program is free software; you can redistribute it and/or\n"
-    "modify it under the terms of the GNU General Public License version 2\n"
-    "as published by the Free Software Foundation.\n"
-    "\n"
-    "    This program is distributed in the hope that it will be useful,\n"
-    "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
-    "General Public License for more details.\n"
-    "\n"
-    "    You should have received a copy (refer to the file COPYING) of the\n"
-    "GNU General Public License along with this program; if not, write to\n"
-    "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
-    "USA.\n");
+            "    This program is free software; you can redistribute it and/or\n"
+            "modify it under the terms of the GNU General Public License version 2\n"
+            "as published by the Free Software Foundation.\n"
+            "\n"
+            "    This program is distributed in the hope that it will be useful,\n"
+            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+            "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+            "General Public License for more details.\n"
+            "\n"
+            "    You should have received a copy (refer to the file COPYING) of the\n"
+            "GNU General Public License along with this program; if not, write to\n"
+            "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+            "USA.\n");
 }
 
 void
 identify ()
 {
-  *mlog << get_version_str () << endl;
+  *mlog << gnu_lilypond_version_str () << endl;
 }
 
 void
@@ -234,33 +235,22 @@ setup_paths ()
     global_path.parse_path (env_sz);
 
 
-  char *suffixes[] = {"ly", "afm", "scm", "init", 0};
+  char *suffixes[] = {"ly", "afm", "scm", "tfm", 0};
   for (char **s = suffixes; *s; s++){
-      if (!prefix_directory.empty_b())
-         global_path.add (prefix_directory + to_str ('/') + String (*s));
-      else
-         global_path.add (String (DIR_DATADIR) + to_str ('/') + String(*s));
+    if (!prefix_directory.empty_b())
+      global_path.add (prefix_directory + to_str ('/') + String (*s));
+    else
+      global_path.add (String (DIR_DATADIR) + to_str ('/') + String(*s));
   }
 }
 
-#define TESTING_TFM
-#ifdef TESTING_TFM
-#include "tfm.hh"
-#endif
 
 void
 main_prog (int argc, char **argv)
 {
+  call_constructors ();
   default_outname_base_global = "lelie";
   all_fonts_global_p = new All_font_metrics (global_path.str ());
-
-#ifdef TESTING_TFM
-  Tex_font_metric tfm;
-  tfm.read_file ("cmr10.tfm");
-  String str = tfm.str ();
-  cout << str;
-  return;
-#endif
   
   int p=0;
   const char *arg ;
@@ -308,13 +298,12 @@ main_prog (int argc, char **argv)
   exit( exit_status_i_);
 }
 
+
 int
 main (int argc, char **argv)
 {
   identify ();
-  call_constructors ();
   debug_init ();               // should be first
-
   setup_paths ();
 
   oparser_global_p = new Getopt_long(argc, argv,theopts);
index 0322590da11f908dfc6082d5b5b9458421e8201d..f8246342083d4f89d80bda76aab1071d4450d070 100644 (file)
@@ -5,31 +5,28 @@
 
  (c) 1998 Jan Nieuwenhuizen <janneke@gnu.org>
 */
-
-#include "mark-engraver.hh"
-#include "text-def.hh"
-#include "script.hh"
-#include "paper-def.hh"
 #include "command-request.hh"
-#include "time-description.hh"
+#include "mark-engraver.hh"
 #include "engraver-group.hh"
-#include "staff-sym.hh"
 #include "g-text-item.hh"
-#include "g-staff-side.hh"
-#include "stem.hh"
-#include "rhythmic-head.hh"
-#include "align-element.hh"
-#include "vertical-group-element.hh"
+
 
 ADD_THIS_TRANSLATOR (Mark_engraver);
 
 Mark_engraver::Mark_engraver ()
 {
   mark_req_l_ = 0;
-  staff_side_p_ = 0;
-  text_p_ = 0;
+  axis_ = Y_AXIS;
+  type_ = "mark";
+}
+
+void
+Mark_engraver::do_post_move_processing ()
+{
+  mark_req_l_ = 0;
 }
 
+
 bool
 Mark_engraver::do_try_music (Music* r_l)
 {
@@ -43,77 +40,12 @@ Mark_engraver::do_try_music (Music* r_l)
 
 void
 Mark_engraver::do_process_requests ()
-{  
-  if (!mark_req_l_ || staff_side_p_)
-    return;
-
-  staff_side_p_ = new G_staff_side_item;
-
-  text_p_ = new G_text_item;
-
-  text_p_->text_str_ = mark_req_l_->str_;
-  //  text_p_->align_dir_ = CENTER;
-
-  text_p_->style_str_ = text_p_->text_str_.index_any_i ("0123456789") >= 0 
-    ? "mark" : "Large";
-
-  Scalar prop = get_property ("markDirection", 0);
-  if (prop.isnum_b ())
-    {
-      staff_side_p_->dir_ = (Direction) (int) prop;
-    }
-  else 
-    {
-      staff_side_p_->dir_ = UP;
-    }
-
-  staff_side_p_->set_victim(text_p_);
-  
-  Scalar padding = get_property ("markScriptPadding", 0);
-  if (padding.length_i() && padding.isnum_b ())
-    {
-      staff_side_p_->padding_f_ = Real(padding);
-    }
-  //  Scalar break_priority = get_property ("markBreakPriority", 0);
-  //  if (break_priority.length_i() && break_priority.isnum_b ())
-  //    {
-  //      staff_side_p_->break_priority_i_ = int(break_priority);
-  //    }
-
-  
-  announce_element (Score_element_info (text_p_, mark_req_l_));
-  announce_element (Score_element_info (staff_side_p_, mark_req_l_));
-}
-
-void 
-Mark_engraver::do_pre_move_processing ()
-{
-  if (staff_side_p_) 
-    {
-      Staff_symbol* s_l = get_staff_info().staff_sym_l_;
-      if (s_l != 0)
-       {
-         staff_side_p_->add_support (s_l);
-       }
-      typeset_element (text_p_);
-      typeset_element (staff_side_p_);
-      text_p_ = 0;
-      staff_side_p_ = 0;
-      mark_req_l_ = 0;
-    }
-}
-
-void
-Mark_engraver::acknowledge_element (Score_element_info i)
 {
-  if (staff_side_p_) 
+  if (mark_req_l_)
     {
-      if (dynamic_cast<Stem *> (i.elem_l_) ||
-         //      dynamic_cast<Align_element *> (i.elem_l_) ||
-         dynamic_cast<Vertical_group_element *> (i.elem_l_) ||
-         dynamic_cast<Rhythmic_head *> (i.elem_l_))
-       {
-         staff_side_p_->add_support (i.elem_l_);
-       }
+      create_items (mark_req_l_);
+      text_p_->text_str_ = mark_req_l_->str_;
+      text_p_->style_str_ = text_p_->text_str_.index_any_i ("0123456789") >= 0 
+       ? "mark" : "Large";
     }
 }
index def5674fcf2bb2c398b411352e04c1940544e9a2..4e0bb337667a553918cbc633908ce4a51183e2be 100644 (file)
@@ -21,6 +21,15 @@ Molecule::extent() const
   return b;
 }
 
+Interval
+Molecule::extent(Axis a) const
+{
+  Interval i;
+  for (iter_top (atoms_,c); c.ok(); c++)
+    i.unite (c->extent(a));
+  return i;
+}
+
 void
 Molecule::translate (Offset o)
 {
@@ -46,16 +55,15 @@ Molecule::add_molecule (Molecule const &m)
 
 
 void
-Molecule::add_at_edge (Axis a, Direction d, Molecule const &m)
+Molecule::add_at_edge (Axis a, Direction d, Molecule const &m, Real padding)
 {
-  if (!atoms_.size()) 
-    {
-      add_molecule (m);
-      return;
-    }
-  Real offset = extent ()[a][d] - m.extent ()[a][-d];
+  Real my_extent= atoms_.size()
+    ? extent ()[a][d] 
+    : 0.0;
+  
+  Real offset = my_extent -  m.extent ()[a][-d];
   Molecule toadd (m);
-  toadd.translate_axis (offset, a);
+  toadd.translate_axis (offset + d * padding, a);
   add_molecule (toadd);
 }
 
index 6f3ba9597aed4d8991bea7340982d8710dc76710..8dd071d6d5acbe89dd185b897644eafbb2cf3673 100644 (file)
@@ -24,8 +24,8 @@ ADD_THIS_TRANSLATOR (Multi_measure_rest_engraver);
 Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
 {
   start_measure_i_ = 0;
-  rest_stop_mom_ =0;
-  // rest_item_creation_mom_ = 0;
+  rest_moments_[START] =
+    rest_moments_[STOP] =0;
   multi_measure_req_l_ = 0;
   mmrest_p_ = 0;
 }
@@ -49,13 +49,13 @@ Multi_measure_rest_engraver::do_try_music (Music* req_l)
    {
      if (multi_measure_req_l_)
        if (!multi_measure_req_l_->equal_b (mr)
-          || rest_start_mom_ != now_moment ())
+          || rest_moments_[START] != now_moment ())
         return false;
   
      multi_measure_req_l_ = mr;
-     rest_start_mom_ = now_moment ();
+     rest_moments_[START] = now_moment ();
      
-     rest_stop_mom_ = rest_start_mom_ + multi_measure_req_l_->duration_.length ();
+     rest_moments_[STOP] = rest_moments_[START] + multi_measure_req_l_->duration_.length ();
      return true;
    }
  return false;
@@ -78,7 +78,7 @@ Multi_measure_rest_engraver::do_pre_move_processing ()
 {
   Moment now (now_moment ());
   Time_description const *time = get_staff_info().time_C_;
-  if (mmrest_p_ && (now >= rest_start_mom_
+  if (mmrest_p_ && (now >= rest_moments_[START]
     && !time->whole_in_measure_
     && (mmrest_p_->column_arr_.size () >= 2))
     {
@@ -107,7 +107,7 @@ Multi_measure_rest_engraver::do_post_move_processing ()
       mmrest_p_ = 0;
     }
 
-  if (now >= rest_stop_mom_)
+  if (now >= rest_moments_[STOP])
     {
       multi_measure_req_l_ = 0;
       mmrest_p_ = 0;
index 83d97ab59b3ccf392b0f414b1be27da0c2fe524d..4622d11526283d967e25a8cfb0f14e3323822e48 100644 (file)
@@ -13,6 +13,7 @@
 #include "dictionary-iter.hh"
 #include "identifier.hh"
 #include "main.hh"
+#include "lily-guile.hh"
 
 int
 Music_output_def::get_next_default_count () const
@@ -39,7 +40,7 @@ Music_output_def::Music_output_def (Music_output_def const &s)
   scope_p_ = new Scope (*s.scope_p_);
   translator_p_dict_p_ = new Scope (*s.translator_p_dict_p_);
   
-  for (Dictionary_iter<Identifier*> i (*translator_p_dict_p_);  i.ok (); i++)
+  for (Scope_iter i (*translator_p_dict_p_);  i.ok (); i++)
     {
       Translator * t = i.val ()->access_content_Translator (false);
       t-> output_def_l_ = this;
@@ -53,7 +54,7 @@ Music_output_def::assign_translator (Translator*tp)
   if (translator_p_dict_p_->elem_b (s))
     delete translator_p_dict_p_->elem (s);
   
-  (*translator_p_dict_p_)[s] = new Translator_identifier (tp, 0);
+  translator_p_dict_p_->elem (s) = new Translator_identifier (tp, 0);
   tp ->output_def_l_ = this;
 }
 
@@ -61,10 +62,10 @@ Translator*
 Music_output_def::find_translator_l (String name) const
 {
   if (translator_p_dict_p_->elem_b (name))
-    return  (*translator_p_dict_p_)[name]->access_content_Translator (false);
+    return translator_p_dict_p_->elem (name)->access_content_Translator (false);
 
   if (global_translator_dict_p->elem_b (name))
-    return (*global_translator_dict_p)[name];
+    return global_translator_dict_p->elem(name);
 
   return 0;
 }
@@ -95,9 +96,12 @@ Music_output_def::print () const
 String
 Music_output_def::get_default_output () const
 {
-  if (safe_global_b || !scope_p_->elem_b ("output"))
+  static SCM output_sym;
+  if (!output_sym)
+    output_sym = scm_protect_object (ly_symbol ("output"));
+  if (safe_global_b || !scope_p_->elem_b (output_sym))
     return "";
-  Identifier * id = (*scope_p_) ["output"];
+  Identifier * id = scope_p_->elem (output_sym);
 
   String *p = id->access_content_String (false);
   return p ? *p : String ("");
index 573e86f4997165ea4f110d36ac45d943c598fabb..540bc6b6a07f8dd30f47f3034cd2e515c5300023 100644 (file)
@@ -305,34 +305,6 @@ Script_req::~Script_req ()
   delete scriptdef_p_;
 }
 
-
-Text_req::~Text_req ()
-{
-  delete tdef_p_;
-  tdef_p_ = 0;
-}
-
-Text_req::Text_req (Text_req const& src)
-{
-  tdef_p_ = new Text_def (*src.tdef_p_);
-  dir_ = src.dir_;
-}
-
-Text_req::Text_req (int dir_i, Text_def* tdef_p)
-{
-  dir_ = Direction (dir_i);
-  tdef_p_ = tdef_p;
-}
-
-void
-Text_req::do_print () const
-{
-#ifndef NPRINT
-  DOUT << " dir " << dir_;
-  tdef_p_->print ();
-#endif
-}
-
 void
 Skip_req::do_print () const
 {
@@ -368,9 +340,6 @@ Dynamic_req::loudness_static_str (Loudness l)
 {
   switch (l)
     {
-    case FFFFFF: return "ffffff";
-    case FFFFF : return "fffff";
-    case FFFF: return "ffff";
     case FFF: return "fff";
     case FF: return "ff";
     case F: return "f";
@@ -379,17 +348,9 @@ Dynamic_req::loudness_static_str (Loudness l)
     case P: return "p";
     case PP: return "pp";
     case PPP: return "ppp";
-    case PPPP: return "pppp";
-    case PPPPP: return "ppppp";
-    case PPPPPP: return "pppppp";    
-
     case FP: return "fp";
     case SF: return "sf";
-    case SFF: return "sff";
     case SFZ: return "sfz";
-    case SP: return "sp";
-    case SPP: return "spp";
-    case RFZ: return "rfz";
     }
   return "";
 }
index 059ab68dddde627a3199c5c9537fb52f9a2a672c..d7acdd9f79600c13e34614fcf5654a42a3beceef 100644 (file)
@@ -62,9 +62,7 @@ static Keyword_ent the_key_tab[]={
   {"script", SCRIPT},
   {"shape", SHAPE},
   {"skip", SKIP},
-  {"table", TABLE},
   {"spandynamic", SPANDYNAMIC},
-  {"symboltables", SYMBOLTABLES},
   {"tempo", TEMPO},
   {"translator", TRANSLATOR},
   {"type", TYPE},
@@ -93,9 +91,11 @@ My_lily_lexer::lookup_keyword (String s)
 Identifier*
 My_lily_lexer::lookup_identifier (String s)
 {
+  SCM sym = ly_symbol (s.ch_C());
+  
   for (int i = scope_l_arr_.size (); i--; )
-    if (scope_l_arr_[i]->elem_b (s))
-      return (*scope_l_arr_[i])[s];
+    if (scope_l_arr_[i]->elem_b (sym))
+      return scope_l_arr_[i]->elem(sym);
   return 0;
 }
 
@@ -136,7 +136,7 @@ My_lily_lexer::set_identifier (String name_str, Identifier* i, bool )
       warning (  _f ("Identifier name is a keyword (`%s')", name_str));
     }
   
-  (*scope_l_arr_.top ())[name_str] = i;
+  scope_l_arr_.top ()->elem (name_str) = i;
 }
 
 My_lily_lexer::~My_lily_lexer()
index 5f733ef6dbcf19403d9b5f8f37ac03a03ff46ae8..d29b14ff5f6d68d01c01103946c10ffd884def24 100644 (file)
@@ -165,7 +165,7 @@ My_lily_parser::get_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p,
   for (int i = 0; i < sub_arr_p->size (); i++)
     {
       Musical_pitch p = tonic;
-      Musical_pitch q = (*add_arr_p)[i];
+      Musical_pitch q = (*sub_arr_p)[i];
       // duh, c7 should mean <c bes>
       if (q.notename_i_ == 6)
         q.accidental_i_--;
@@ -257,11 +257,19 @@ My_lily_parser::get_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p,
       int j = 0;
       for (; j < sub_arr_p->size (); j++)
        if (p == (*sub_arr_p)[j])
-         break;
+         {
+           sub_arr_p->del (j);
+           j = -1;
+           break;
+         }
       if (j == sub_arr_p->size ())
         pitch_arr.push (p);
     }
 
+  for (int i = 0; i < sub_arr_p->size (); i++)
+    warning (_f ("invalid subtraction: not part of chord: %s",
+                (*sub_arr_p)[i].str ()));
+
   if (inversion_p)
     {
       int i = 0;
@@ -270,7 +278,8 @@ My_lily_parser::get_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p,
          && (pitch_arr[i].accidental_i_ == inversion_p->accidental_i_))
          break;
       if (i == pitch_arr.size ())
-       warning (_ ("invalid inversion pitch (not part of chord)"));
+       warning (_f ("invalid inversion pitch: not part of chord: %s",
+                     inversion_p->str ()));
       else
         {
          Array<Musical_pitch> pitches;
@@ -333,7 +342,6 @@ My_lily_parser::get_parens_request (int t)
       reqs.push (new Tie_req);
       break;
 
-      /* fall through */
     case '[':
     case ']':
       {
index f26cfc4c51d1d026302d22fb59204f569181d1ad..10cb7b1c2518df970620ddd0f609c3b71448ff28 100644 (file)
@@ -65,24 +65,10 @@ Note_head::do_brew_molecule_p() const
     ? 0
     : (abs(position_i_) - staff_size_i_/2) /2;
   
-  //Atom  s = lookup_l()->ball (balltype_i_);
-  
-  Atom  s; // = lookup_l()->ball (balltype_i_);
-
-  if (note_head_type_str_.length_i ()) {
-    if (note_head_type_str_ == "normal")
-      note_head_type_str_ = "";
-    s = lookup_l()->special_ball (balltype_i_, note_head_type_str_);
-    }
-  else
-    s = lookup_l()->ball (balltype_i_);
+  Atom  s = lookup_l()->ball (balltype_i_);
   out = new Molecule (Atom (s));
   out->translate_axis (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS);
 
-
-  //out = new Molecule (Atom (s));
-  //out->translate_axis (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS);
-
   if (streepjes_i) 
     {
       int dir = sign (position_i_);
index e347d9d96490d9609fed45d8052a4442364de9bb..626881eea545ea2ceeb02e324039d32ffaca00bc 100644 (file)
 #include "paper-outputter.hh"
 #include "paper-stream.hh"
 
+
+#define SCMVAR(s)  { static SCM sym; \
+       if (!sym)\
+               sym = scm_protect_object (ly_symbol (#s));\
+       return get_realvar (sym); }
+
+
 Paper_def::Paper_def ()
 {
   lookup_p_tab_p_ = new Hash_table<int, Lookup*>;
+  lookup_p_tab_p_->hash_func_ = int_hash;
 }
 
 
@@ -42,6 +50,8 @@ Paper_def::Paper_def (Paper_def const&s)
   : Music_output_def (s)
 {
   lookup_p_tab_p_ = new Hash_table<int, Lookup*>;
+  lookup_p_tab_p_->hash_func_ = int_hash;
+  
   for (Hash_table_iter<int, Lookup*> ai(*s.lookup_p_tab_p_); ai.ok (); ai++)
     {
       Lookup * l = new Lookup (*ai.val ());
@@ -52,13 +62,19 @@ Paper_def::Paper_def (Paper_def const&s)
 
 Real
 Paper_def::get_var (String s) const
+{
+  return get_realvar (ly_symbol (s));
+}
+
+Real
+Paper_def::get_realvar (SCM s) const
 {
   if (!scope_p_->elem_b (s))
-    error (_f ("unknown paper variable: `%s\'", s));
+    error (_f ("unknown paper variable: `%s\'", symbol_to_string (s)));
   Real * p = scope_p_->elem (s)->access_content_Real (false);
   if (!p)
     {
-      error (_ ("not a real variable"));
+      error (_("not a real variable"));
       return 0.0;
     }
 
@@ -83,13 +99,13 @@ Paper_def::line_dimensions_int (int n) const
 Real
 Paper_def::beam_thickness_f () const
 {
-  return get_var ("beam_thickness");
+SCMVAR(beam_thickness);
 }
 
 Real
 Paper_def::linewidth_f () const
 {
-  return get_var ("linewidth");
+SCMVAR(linewidth);
 }
 
 Real
@@ -131,49 +147,50 @@ Paper_def::set_lookup (int i, Lookup*l)
   (*lookup_p_tab_p_)[i] = l;
 }
 
+
 Real
 Paper_def::interline_f () const
 {
-  return get_var ("interline");
+  SCMVAR(interline)
 }
 
 Real
 Paper_def::rule_thickness () const
 {
-  return get_var ("rulethickness");
+  SCMVAR(rulethickness);
 }
 
 Real
 Paper_def::staffline_f () const
 {
-  return get_var ("rulethickness");
+  SCMVAR(rulethickness)
 }
 
 Real
 Paper_def::staffheight_f () const
 {
-  return get_var ("staffheight");
+  SCMVAR(staffheight)
 }
 
 Real
 Paper_def::interbeam_f (int multiplicity_i) const
 {
   if (multiplicity_i <= 3)
-    return get_var ("interbeam");
+    SCMVAR(interbeam)
   else
-    return get_var ("interbeam4");
+    SCMVAR(interbeam4)
 }
 
 Real
 Paper_def::internote_f () const
 {
-  return get_var ("interline") /2.0 ;
+  return interline_f () /2.0 ;
 }
 
 Real
 Paper_def::note_width () const
 {
-  return get_var ("notewidth");
+SCMVAR(notewidth)
 }
 
 void
@@ -185,8 +202,7 @@ Paper_def::print () const
 
   for (Hash_table_iter<int, Lookup*> ai(*lookup_p_tab_p_); ai.ok (); ai++)
     {
-      DOUT << "Lookup: " << ai.key () ;
-      ai.val ()->print ();
+      DOUT << "Lookup: " << ai.key () << " = " << ai.val ()->font_name_ << '\n';
     }
 
   DOUT << "}\n";
@@ -215,8 +231,6 @@ Paper_def::reset_default_count()
   default_count_i_ = 0;
 }
 
-extern char const* lily_version_number_sz ();
-
 Paper_outputter*
 Paper_def::paper_outputter_p (Paper_stream* os_p, Header* header_l, String origin_str) const
 {
index b023ea14eaf521e1c7fbe20c1af2633b97a8dad5..8ad55ac3a1e97947c908223f68df635b2c63d54f 100644 (file)
@@ -23,6 +23,7 @@
 #include "main.hh"
 #include "scope.hh"
 #include "identifier.hh"
+#include "lily-version.hh"
 
 Paper_outputter::Paper_outputter (Paper_stream *s)
 {
@@ -50,12 +51,13 @@ Paper_outputter::output_header ()
   
   String creator;
   if (no_timestamps_global_b)
-    creator = "GNU LilyPond\n";
+    creator = gnu_lilypond_str ();
   else
-    creator = get_version_str ();
+    creator = gnu_lilypond_version_str ();
+  
   String generate;
   if (no_timestamps_global_b)
-    generate = ".";
+    generate = ".\n";
   else
     {
       generate = _ (", at ");
@@ -167,7 +169,7 @@ Paper_outputter::output_scheme (SCM scm)
 void
 Paper_outputter::output_scope (Scope *scope, String prefix)
 {
-  for (Dictionary_iter<Identifier*> i (*scope); i.ok (); i++)
+  for (Scope_iter i (*scope); i.ok (); i++)
     {
       if (dynamic_cast<String_identifier*> (i.val ()))
        {
@@ -197,7 +199,7 @@ Paper_outputter::output_version ()
   if (no_timestamps_global_b)
     id_str += ".";
   else
-    id_str += String (", ") + get_version_str ();
+    id_str += String (", ") + version_str ();
   output_String_def ( "LilyIdString", id_str);
 }
 
index 405d9c1e30c40ff2ee018c7d16a80f4b41dfb437..50e13b4fa35367c7ecc22b265c57d5a2c2a5d234 100644 (file)
@@ -15,7 +15,6 @@
 #include "scalar.hh"
 #include "translation-property.hh"
 #include "script-def.hh"
-#include "symtable.hh"
 #include "lookup.hh"
 #include "misc.hh"
 #include "my-lily-lexer.hh"
@@ -47,7 +46,7 @@
 
 // mmm
 Mudela_version oldest_version ("1.0.14");
-Mudela_version version ("1.0.14");
+Mudela_version version ("1.0.15");
 
 
 // needed for bison.simple's malloc() and free()
@@ -94,8 +93,6 @@ Paper_def* current_paper = 0;
     Array<Musical_pitch> *pitch_arr;
     Array<String> * strvec;
     Array<int> *intvec;
-    Atom * symbol;
-    Box *box;
     Notename_table *chordmodifiertab;
     Duration *duration;
     General_script_def * script;
@@ -118,8 +115,6 @@ Paper_def* current_paper = 0;
     Scalar *scalar;
     Simultaneous_music *chord;
     String *string;
-    Symtable * symtable;
-    Symtables* symtables;
     Tempo_req *tempo;
     Text_def * textdef;
     Translator* trans;
@@ -189,8 +184,6 @@ yylex (YYSTYPE *s,  void * v_l)
 %token SHAPE
 %token SKIP
 %token SPANDYNAMIC
-%token SYMBOLTABLES
-%token TABLE
 %token TEMPO
 %token TIME_T
 %token TIMES
@@ -229,7 +222,6 @@ yylex (YYSTYPE *s,  void * v_l)
 
 %type <outputdef> output_def
 %type <scope>  mudela_header mudela_header_body
-%type <box>    box
 %type <i>      open_request_parens close_request_parens
 %type <i>      sub_quotes sup_quotes
 %type <music>  simple_element  request_chord command_element Simple_music  Composite_music 
@@ -241,9 +233,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <id>     identifier_init simple_identifier_init block_identifier
 %type <duration> steno_duration notemode_duration
 %type <duration> entered_notemode_duration explicit_duration
-%type <interval>       dinterval
 %type <intvec> intastint_list int_list
-%type <symtables>      symtables symtables_body
 
 %type <pitch>   explicit_musical_pitch steno_musical_pitch musical_pitch absolute_musical_pitch
 %type <pitch>   steno_tonic_pitch
@@ -271,14 +261,11 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <script> script_definition script_body mudela_script gen_script_def
 %type <textdef> text_def finger
 %type <string> script_abbreviation
-%type <symbol> symboldef
-%type <symtable>       symtable symtable_body
 %type <trans>  translator_spec translator_spec_body
 %type <tempo>  tempo_request
 %type <notenametab> notenames_body notenames_block chordmodifiers_block
 
-/* 5 extra for notemode_chord */
-%expect 15
+%expect 7
 
 
 %left '-' '+'
@@ -431,9 +418,6 @@ block_identifier:
                $$ = new Midi_def_identifier ($1, MIDI_IDENTIFIER);
 
        }
-       | symtables {
-               $$ = new Symtables_identifier ($1, IDENTIFIER);
-       }
        | translator_spec {
                $$ = new Translator_identifier ($1, TRANS_IDENTIFIER);
        }
@@ -606,8 +590,10 @@ paper_def_body:
                THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
                $$ = p;
        }
-       | paper_def_body int '=' symtables              { // ugh, what a syntax
-               Lookup * l = new Lookup (*$4);
+       | paper_def_body int '=' FONT STRING            { // ugh, what a syntax
+               Lookup * l = new Lookup;
+               l->font_name_ = *$5;
+               delete $5;
                $$->set_lookup ($2, l);
        }
        | paper_def_body assignment ';' {
@@ -1395,7 +1381,7 @@ simple_element:
                        THIS->parser_error (_ ("have to be in Chord mode for chords"));
                $$ = $1;
        }
-       | '@' notemode_chord {
+       | '@' notemode_chord '@' {
                if (!THIS->lexer_p_->note_state_b ())
                        THIS->parser_error (_ ("have to be in Note mode for @chords"));
                $$ = $2;
@@ -1403,12 +1389,12 @@ simple_element:
        ;
 
 chord:
-       steno_tonic_pitch notemode_duration chord_additions chord_subtractions chord_inversion {
+       steno_tonic_pitch duration_length chord_additions chord_subtractions chord_inversion {
                 $$ = THIS->get_chord (*$1, $3, $4, $5, *$2);
         };
 
 notemode_chord:
-       steno_musical_pitch notemode_duration chord_additions chord_subtractions notemode_chord_inversion {
+       steno_musical_pitch duration_length chord_additions chord_subtractions notemode_chord_inversion {
                 $$ = THIS->get_chord (*$1, $3, $4, $5, *$2);
         };
 
@@ -1416,12 +1402,9 @@ chord_additions:
        {
                $$ = new Array<Musical_pitch>;
        } 
-       | '-' {
-               $$ = new Array<Musical_pitch>;
-       } 
-       | chord_additions chord_addsub {
+       | chord_additions '-' chord_addsub {
                $$ = $1;
-               $$->push (*$2);
+               $$->push (*$3);
        }
        ;
 
@@ -1449,19 +1432,19 @@ notemode_chord_inversion:
        ;
 
 chord_note:
-       UNSIGNED {
+       unsigned {
                $$ = new Musical_pitch;
                $$->notename_i_ = ($1 - 1) % 7;
                $$->octave_i_ = $1 > 7 ? 1 : 0;
                $$->accidental_i_ = 0;
         } 
-       | UNSIGNED '+' {
+       | unsigned '+' {
                $$ = new Musical_pitch;
                $$->notename_i_ = ($1 - 1) % 7;
                $$->octave_i_ = $1 > 7 ? 1 : 0;
                $$->accidental_i_ = 1;
        }
-       | UNSIGNED '-' {
+       | unsigned '-' {
                $$ = new Musical_pitch;
                $$->notename_i_ = ($1 - 1) % 7;
                $$->octave_i_ = $1 > 7 ? 1 : 0;
@@ -1473,12 +1456,9 @@ chord_subtractions:
        {
                $$ = new Array<Musical_pitch>;
        }
-       | '^' {
-               $$ = new Array<Musical_pitch>;
-       }
-       | chord_subtractions chord_addsub {
+       | chord_subtractions '^' chord_addsub {
                $$ = $1;
-               $$->push (*$2);
+               $$->push (*$3);
        }
        ;
 
@@ -1540,70 +1520,8 @@ string:
 
 
 
-/*
-       symbol tables
-*/
-symtables:
-       SYMBOLTABLES '{' symtables_body '}'     { $$ = $3; }
-       ;
-
-symtables_body:
-                       {
-               $$ = new Symtables;
-       }
-       | IDENTIFIER            {
-               $$ = $1->access_content_Symtables (true);
-       }
-       | symtables_body FONT STRING            {
-               $$->font_name_ = *$3;
-               delete $3;
-       }
-       | symtables_body STRING '=' symtable            {
-               $$->add (*$2, $4);
-               delete $2;
-       }
-       ;
 
-symtable:
-       TABLE '{' symtable_body '}' { $$ = $3; }
-       ;
 
-symtable_body:
-                               { $$ = new Symtable; }
-       | symtable_body STRING  symboldef {
-               $$->elem (*$2) = *$3;
-               delete $2;
-               delete $3;
-       }
-       ;
-
-symboldef:
-       STRING unsigned box             {
-               // ignore #args
-               $$ = new Atom (*$1, *$3);
-               delete $1;
-               delete $3;
-       }
-       | STRING unsigned {
-               Box b (Interval (0,0), Interval (0,0));
-               // ignore #args
-               $$ = new Atom (*$1, b);
-               delete $1;
-       }
-       ;
-
-box:
-       dinterval dinterval     {
-               $$ = new Box (*$1, *$2);
-               delete $1;
-               delete $2;
-       }
-       ;
-
-dinterval: real        real            {
-               $$ = new Interval ($1, $2);
-       }
-       ;
 
 %%
 
index 7ae2ea35bebd2862fdeba7a570924eb24b86596b..49dc2f308b9d4867436b0fc65b34ec7b56b5fa25 100644 (file)
@@ -19,6 +19,7 @@
 #include "performance.hh"
 #include "score.hh"
 #include "file-results.hh"
+#include "lily-version.hh"
 
 Performance::Performance ()
 {
@@ -53,9 +54,10 @@ Performance::output_header_track (Midi_stream& midi_stream_r)
   // perhaps multiple text events?
   String str = String (_("Creator: "));
   if (no_timestamps_global_b)
-    str += "GNU LilyPond\n";
+    str += gnu_lilypond_str ();
   else
-      str += get_version_str() + "\n";
+    str += gnu_lilypond_version_str();
+  str += "\n";
 
   Midi_text creator (Midi_text::TEXT, str);
   midi_track.add (Moment (0), &creator);
index 6d17cbc6ad3b50a3a72d73bf64e42e3017459c64..a1094140a23b946b634a4ee9f8e07b897a0d7bd9 100644 (file)
@@ -18,7 +18,7 @@ Piano_brace::Piano_brace ()
   extra_move_left_f_ = 0.0;
 }
 
-Atom
+Molecule
 Piano_brace::get_bar_sym (Real dy) const
 {
   Atom a = lookup_l ()->vbrace (dy);
index f8d438d258989604021330072cc3f69fedc16d3d..51a657dad4a356d0567039373954e7f07aac9111 100644 (file)
@@ -93,72 +93,37 @@ Repeat_engraver::acknowledge_element (Score_element_info i)
 void
 Repeat_engraver::do_removal_processing ()
 {
-  for (int i = 0; i < bar_p_arr_.size (); i++)
-    if (bar_p_arr_[i])
-      typeset_element (bar_p_arr_[i]);
   for (int i = 0; i < volta_p_arr_.size (); i++)
     if (volta_p_arr_[i])
       typeset_element (volta_p_arr_[i]);
 }
 
-#define URG
-
 void
 Repeat_engraver::do_process_requests ()
 {  
   Moment now = now_moment ();
-  Time_description const *time = get_staff_info().time_C_;
   Bar_engraver* bar_engraver_l = dynamic_cast <Bar_engraver*>
-    (paper ()->find_translator_l ("Bar_engraver"));
-  for (int i = bar_p_arr_.size (); i < repeated_music_arr_.size (); i++)
+    (daddy_grav_l ()->get_simple_translator ("Bar_engraver"));
+  for (int i = bar_b_arr_.size (); i < repeated_music_arr_.size (); i++)
     {
-#ifndef URG
-      //suck me plenty
-      // nou hw, ik heb 't geprobeerd, maar ik snap er geen ruk van:
-      // zodra ik het via gevonden bar-engraver doe, dumpt ze koor
-      // in create_bar::announce_element, of ze zet helemaal geen ":|".
-      // het lijkt erop alsof ik een heel andere bar-engraver vind
-      // dan die ik zoek, ofzo??
       if (bar_engraver_l && (now > Moment (0)))
-       bar_engraver_l->request_bar (":|");
-      else
-#endif
-       if (now > Moment (0))
-       {
-         Bar* bar_p = new Bar;
-         bar_p-> type_str_ = "|:";
-         bar_p_arr_.push (bar_p);
-#ifndef URG
-         announce_element (Score_element_info (bar_p,
-                                               repeated_music_arr_[i])); 
-#endif
-       }
+       bar_engraver_l->request_bar ("|:");
+      bar_b_arr_.push (true);
     }
-  for (int i = 0; i < bar_p_arr_.size (); i++)
+  for (int i = 0; i < bar_b_arr_.size (); i++)
     {
-      if (!bar_p_arr_[i] && (now >= stop_mom_arr_[i]))
+      if (!bar_b_arr_[i] && (now >= stop_mom_arr_[i]))
         {
-#ifndef URG
-         //suck me plenty
          if (bar_engraver_l)
-           bar_engraver_l->request_bar ("|:");
-         else
-#endif
-           {
-             Bar* bar_p = new Bar;
-             bar_p-> type_str_ = ":|";
-             bar_p_arr_[i] = bar_p;
-#ifndef URG
-             announce_element (Score_element_info (bar_p,
-                                                   repeated_music_arr_[i]));
-#endif
-           }
+           bar_engraver_l->request_bar (":|");
        }
     }
   int bees = volta_p_arr_.size ();
   for (int i = volta_p_arr_.size (); i < alternative_music_arr_.size (); i++)
     {
       Volta_spanner* v = new Volta_spanner;
+      Scalar prop = get_property ("voltaVisibility", 0);
+      v->visible_b_ = prop.to_bool ();
       if (i == alternative_music_arr_.size () - 1)
         v->last_b_ = true;
       Text_def* t = new Text_def;
@@ -173,31 +138,21 @@ void
 Repeat_engraver::do_pre_move_processing ()
 {
   Moment now = now_moment ();
-  for (int i = bar_p_arr_.size (); i--; )
+  for (int i = bar_b_arr_.size (); i--; )
     {
-      if (bar_p_arr_[i])
-        {
-         if (now > Moment (0))
-           typeset_element (bar_p_arr_[i]);
-         else
-           delete bar_p_arr_[i];
-         bar_p_arr_[i] = 0;
-       }
+      if (bar_b_arr_[i])
+       bar_b_arr_[i] = false;
       if (now >= stop_mom_arr_[i])
        {
-         bar_p_arr_.del (i);
+         bar_b_arr_.del (i);
          stop_mom_arr_.del (i);
          repeated_music_arr_.del (i);
        }
     }
-  Time_description const *time = get_staff_info().time_C_;
   for (int i = volta_p_arr_.size (); i--; )
     {
       if (volta_p_arr_[i] && (now >= alternative_stop_mom_arr_[i])
          && (volta_p_arr_[i]->column_arr_.size () >= 1))
-         // if (volta_p_arr_[i] && (now > alternative_stop_mom_arr_[i])
-                 // && !time->whole_in_measure_
-                 // && (volta_p_arr_[i]->column_arr_.size () > 1))
         {
          typeset_element (volta_p_arr_[i]);
          volta_p_arr_[i] = 0;
index 7ff133cc285076329bf9b73364fef02fe928c488..39e91b3065d23539eb61b6daa40a5623ba3156a5 100644 (file)
@@ -16,7 +16,7 @@ void
 Scope::print () const
 {
   bool init_b = false;         // ugh
-  for (Dictionary_iter<Identifier*> ai (*this);  ai.ok(); ai++)
+  for (Scope_iter ai (*this);  ai.ok(); ai++)
     {
       if (ai.val()->init_b_ == init_b)
        {
@@ -28,7 +28,7 @@ Scope::print () const
 
 Scope::~Scope ()
 {
-  for (Dictionary_iter<Identifier*>     ai (*this); ai.ok(); ai++)
+  for (Scope_iter       ai (*this); ai.ok(); ai++)
     {
       DOUT << "deleting: " << ai.key() << '\n';
       delete ai.val ();
@@ -36,15 +36,64 @@ Scope::~Scope ()
 }
 
 Scope::Scope (Scope const&s)
-  : Dictionary<Identifier*> (s)
+  : Hash_table<Protected_scm,Identifier*> (s)
 {
-  for (Dictionary_iter<Identifier*> ai (s); ai.ok(); ai++)
+  for (Scope_iter ai (s); ai.ok(); ai++)
     {
-      (*this)[ai.key ()] = ai.val ()->clone ();
+      (*this)[ai.scm_key ()] = ai.val ()->clone ();
     }
 }
 
+unsigned int scm_hash (Protected_scm s)
+{
+  return scm_ihashv (s, ~1u);
+}
+
 Scope::Scope ()
-{}
+{
+  hash_func_ = scm_hash;
+}
+
+bool
+Scope::elem_b (String s) const
+{
+  return elem_b (ly_symbol (s.ch_C()));
+}
+
+
+Identifier *&
+Scope::elem (String s) 
+{
+  return elem (ly_symbol (s.ch_C()));
+}
+
 
+Scope_iter::Scope_iter (Scope const &s)
+  : Hash_table_iter<Protected_scm,Identifier*>(s)
+{
+}
 
+String
+Scope_iter::key () const
+{
+  SCM s= Hash_table_iter<Protected_scm,Identifier*>::key ();
+  return symbol_to_string (s);
+}
+
+bool
+Scope::elem_b (SCM s) const
+{
+  return Hash_table<Protected_scm,Identifier*> ::elem_b (s);
+}
+
+Identifier* &
+Scope::elem (SCM s)
+{
+  return Hash_table<Protected_scm,Identifier*> ::elem (s);
+}
+
+SCM
+Scope_iter::scm_key () const
+{
+  return Hash_table_iter<Protected_scm,Identifier*>::key ();
+}
index 3ee87e09e5b13972993df61d48e0ce52006dbda1..a25e7ed3c444103cb75a18ebeed16d1771f299b4 100644 (file)
 #include "score-bar.hh"
 
 
+
+void
+Score_bar::do_pre_processing ()
+{
+  type_str_ = "|";
+  if (break_status_dir() != RIGHT) 
+    {
+      set_empty (true);
+      transparent_b_ = true;
+    }
+}
index c5e5fed03c78eec68dbfb8dbac15d17d9ea23e4c..c78a0bef0d510a055be671c7847ff3019166ae11 100644 (file)
@@ -376,6 +376,11 @@ Score_element::handle_prebroken_dependencies()
       substitute_dependency (old_arr[i], new_arr[i]);
 }
 
+void
+Score_element::handle_prebroken_dependents()
+{
+}
+
 
 void
 Score_element::junk_links ()
index 264ed283a58a2a4c79adecc476deff9ad724e60f..a23e06a157ea89dcb7777459935d25f13681977c 100644 (file)
@@ -16,6 +16,7 @@
 
 Score_priority_engraver::Score_priority_engraver()
 {
+  align_p_tab_.hash_func_ = int_hash;
 }
 
 void
index 5ac2645737c1bc777e6151c33827ab4be53e3922..8ed0c3b163ff3ca97e90d5f28e88c553d7cf1af9 100644 (file)
@@ -17,6 +17,7 @@
 #include "file-results.hh"
 #include "my-lily-parser.hh"
 #include "source.hh"
+#include "lily-version.hh"
 
 Sources* source_global_l = 0;
 Array<String> inclusion_global_array;
@@ -36,7 +37,7 @@ void write_dependency_file (String fn, Array<String> targets,
   if (!f)
     warning (_f ("can't open file: `%s\'", fn));
 
-  f << "# Automatically generated by " << get_version_str ()  << '\n';
+  f << "# Automatically generated by " << gnu_lilypond_version_str ()  << '\n';
   String out;
   for (int i=0; i < targets.size (); i ++)
      out += targets[i] + " ";
index bd5101039ab8cf7ce375876678b4f98f8f07228a..69140eb0244963f82e31da08ccf019709a4f086d 100644 (file)
@@ -33,7 +33,12 @@ Single_malt_grouping_item::my_width () const
   for (int i=0; i < item_l_arr_.size (); i++)
     {
       Item *il = item_l_arr_[i];
-      assert (pc == il->column_l ());
+      if (pc != il->column_l ())
+       {
+         /* this shouldn't happen, but let's continue anyway. */
+         warning (_("Single_malt_grouping_item: I've been drinking too much (fixme)"));
+         continue;             /*UGH UGH*/ 
+       }
       w.unite  (il->extent (X_AXIS) + il->relative_coordinate (&pc->dim_cache_[X_AXIS], X_AXIS));
     }
 
index 4b37e846ee6a667da8a76f51a7e7fd52fc77955d..fab0b28aaafd37ca8793d3d365b99e18247a62a2 100644 (file)
@@ -36,7 +36,9 @@ Span_bar::set_align (Align_element *a)
 Interval
 Span_bar::do_width () const
 {
-  return lookup_l ()->bar (type_str_, 40 PT).dim_.x (); // ugh
+  Molecule m = lookup_l ()->bar (type_str_, 40 PT);
+  
+  return m.extent (X_AXIS);
 }
 
 void
@@ -80,7 +82,7 @@ Span_bar::evaluate_empty ()
     }
 }
 
-Atom
+Molecule
 Span_bar::get_bar_sym (Real dy) const
 {
   if (dy < paper ()->staffheight_f () / 2)
@@ -104,8 +106,7 @@ Span_bar::do_brew_molecule_p () const
       y_int.unite (y + spanning_l_arr_[i]->extent(Y_AXIS));
     }
 
-  Atom s = get_bar_sym (y_int.length ());
-  Molecule*output = new Molecule (Atom (s));
+  Molecule*output = new Molecule (get_bar_sym (y_int.length ()));
   output->translate_axis (y_int.center (), Y_AXIS);
   return output;
 }
index c6a42439078f14b561668ecbde615d5716f992a5..0e80464e42892a82d1e87e5c8dc0854dcd90c0ad 100644 (file)
@@ -16,16 +16,6 @@ Span_score_bar::Span_score_bar()
 {
 }
 
-void
-Score_bar::do_pre_processing ()
-{
-  type_str_ = "|";
-  if (break_status_dir() != RIGHT) 
-    {
-      set_empty (true);
-      transparent_b_ = true;
-    }
-}
 
 void
 Span_score_bar::do_pre_processing()
index 9a6fcb660fd7c7bbd8b36e52030528f8b5e932d0..2e1bd73419b45587245fff8484548be51642116f 100644 (file)
 #include "lookup.hh"
 #include "main.hh"
 
-Atom
+Molecule
 Staff_bracket::get_bar_sym (Real dy) const
 {
   Atom a = lookup_l ()->vbracket (dy);
-
   a.translate_axis (- 1.33 * a.extent ().x ().length (), X_AXIS);
-  return a;
+  return Molecule (a);
 }
 
 Interval
index 4caa9650397427a2fb69b6cf44b4a636ed86a146..4a24e656a52dda1544eb3901e14ab27a69046d12 100644 (file)
@@ -7,20 +7,18 @@
 */
 
 #include "staff-margin-engraver.hh"
-#include "script.hh"
-#include "text-def.hh"
-#include "paper-def.hh"
-#include "command-request.hh"
 #include "bar.hh"
-#include "stem.hh"
 #include "time-description.hh"
-
+#include "g-text-item.hh"
 
 ADD_THIS_TRANSLATOR (Staff_margin_engraver);
 
 Staff_margin_engraver::Staff_margin_engraver ()
 {
-  script_p_ = 0;
+  axis_ = X_AXIS;
+  type_ = "margin";
+  visibility_lambda_
+    = gh_eval_str ("(lambda (d) (if (= d 1) '(#f . #f) '(#t . #t)))");
 }
 
 
@@ -40,51 +38,25 @@ Staff_margin_engraver::Staff_margin_engraver ()
 void
 Staff_margin_engraver::acknowledge_element (Score_element_info i)
 {
-  Item * it =  dynamic_cast <Item *> (i.elem_l_);
+  Bar * b =dynamic_cast<Bar *> (i.elem_l_);
+  if (!b)
+    return ;
 
-  if (!it
-      || script_p_ 
-      || !(dynamic_cast<Bar *> (it))
-      || (i.origin_grav_l_arr_.size() != 1))
+  if (i.origin_grav_l_arr_.size() != 1)
     return;
 
-  String string = get_property ("instrument", 0);
+
+  String long_str = get_property ("instrument", 0);
   String str = get_property ("instr", 0);
   if (now_moment () > Moment (0))
-    string = str;
+    long_str = str;
 
-  if (!string.length_i ())
+  if (!long_str.empty_b ())
     return;
 
-  script_p_ = new Script;
-  script_p_->axis_ = X_AXIS;
-  
-  Text_def *td_p =new Text_def;
-  td_p->align_dir_ = LEFT;
-  td_p->text_str_ = string;
-  script_p_->dir_ = LEFT;
-  script_p_->specs_p_ = td_p;
-  script_p_->breakable_b_ = true;
-
-  
-  Scalar pri = get_property ("marginBreakPriority", 0);
-  if (pri.length_i () && pri.isnum_b ())
-    {
-      script_p_->break_priority_i_ = int (pri);
-    }
-  else
-    script_p_ ->break_priority_i_ = it->break_priority_i_;
-
-  announce_element (Score_element_info (script_p_, 0));
+  create_items (0);
+  text_p_->text_str_ = long_str;
+  Bar_script_engraver::acknowledge_element(i);
 }
 
-void
-Staff_margin_engraver::do_pre_move_processing ()
-{
-  if (script_p_) 
-    {
-      typeset_element (script_p_);
-      script_p_ =0;
-    }
-}
 
index 45bc674b8dc78cda2105996a1f28293abf7a970e..72cb1a93d1d219e0ab8b267f4e086dbbeb02b0cf 100644 (file)
@@ -46,8 +46,6 @@ Staff_symbol::do_brew_molecule_p() const
   Real w = extent (X_AXIS).length ();
   Real left_dx = -spanned_drul_[LEFT]->extent (X_AXIS)[LEFT];
   Real right_dx = spanned_drul_[RIGHT]->extent (X_AXIS)[RIGHT];
-  //  w += right_dx+ left_dx;
-
   
   Paper_def * p = paper();
   Atom rule  = lookup_l ()->rule_symbol (p->get_var ("rulethickness"),
index 095ee454be6ffe44089d05a88fd73fe6ed39d0e4..0704e8c4e2875b4465872b6bbdabed32d3c282c7 100644 (file)
@@ -27,6 +27,7 @@ enum Score_element_status {
   ORPHAN=0,                    // not yet added to pstaff
   VIRGIN,                      // added to pstaff
   PREBROKEN,
+  PREBROKEN_SECOND,
   PRECALCING,
   PRECALCED,           // calcs before spacing done
   SPACING,
@@ -60,6 +61,7 @@ void
 Super_element::breakable_col_processing ()
 {
   calculate_dependencies (PREBROKEN, PREBROKEN, &Score_element::do_breakable_col_processing);
+  calculate_dependencies (PREBROKEN_SECOND, PREBROKEN_SECOND, &Score_element::handle_prebroken_dependents);
 }
 
 void
diff --git a/lily/symtable.cc b/lily/symtable.cc
deleted file mode 100644 (file)
index ccf1eb1..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  symtable.cc -- implement Symbol_table
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#include "misc.hh"
-#include "debug.hh"
-#include "real.hh"
-#include "atom.hh"
-#include "dictionary-iter.hh"
-#include "symtable.hh"
-
-Symtables::Symtables()
-{
-}
-
-
-Symtables::Symtables (Symtables const &s)
-  : Dictionary<Symtable*> (s)
-{
-  font_name_ = s.font_name_;
-
-  for (Dictionary_iter< Symtable*>  i (s); i.ok(); i++)
-    {
-      add (i.key(), new Symtable (*i.val ()));
-    }
-}
-
-Symtables::~Symtables()
-{
-  for (Dictionary_iter<Symtable*>  i (*this); i.ok(); i++)
-    {
-      delete i.val();
-    }
-}
-
-Atom
-Symtable::lookup (String s) const
-{
-  if (elem_b (s))
-    {
-      Atom a (elem(s));
-      return a;
-    }
-  else
-    {
-      warning (_f ("Symtable `%s\': unknown symbol: `%s\'", id_str, s));
-      Atom sy;
-      return sy;
-    }
-}
-
-Symtable*
-Symtables::operator()(String s)
-{
-  if (!elem_b (s))
-    {
-      error (_f ("Symtable `%s\' unknown", s));
-      /* 
-        We can 't return, because we would dump core anyway.
-       */
-      return 0;
-    }
-  else
-    return elem(s);
-}
-void
-Symtables::print() const
-{
-  for (Dictionary_iter<Symtable*>  i (*this); i.ok(); i++)
-    {
-      DOUT << "table \'" << i.key () << "\' {\n";
-      i.val()->print ();
-      DOUT << "}\n";
-    }
-}
-void
-Symtable::print() const
-{
-  for (Dictionary_iter<Atom>  i (*this); i.ok(); i++)
-    {
-      DOUT << "\'" << i.key() << "\'->" << i.val ().str () << '\n';
-    }
-}
-
-void
-Symtables::add (String s, Symtable*p)
-{
-  p-> id_str = s;
-  Dictionary<Symtable*>::elem  (s) = p;
-}
index ba8e2911bb617ffe40c9dec2da589292ae6cc656..bf1b59765418a1a8cf52c6c9bab6e47b13312f1e 100644 (file)
@@ -2,11 +2,11 @@
   text-item.cc -- implement Text_item
 
   source file of the GNU LilyPond music typesetter
-
+  
   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-
+#if 0
 #include "musical-request.hh"
 #include "paper-def.hh"
 #include "text-item.hh"
@@ -15,6 +15,7 @@
 #include "lookup.hh"
 #include "debug.hh"
 
+
 Text_item::Text_item (General_script_def* tdef_l, Direction d) 
 {
   dir_ = d;
@@ -87,3 +88,4 @@ Text_item::do_brew_molecule_p () const
 
 
 
+#endif
index 14a83e2776442fa741f045d13635be5362fb6b3e..d06707a66d5bc198d9198473afdbaf5f684b6eef 100644 (file)
@@ -36,7 +36,12 @@ real_to_fix (Real r)
 #endif
 
 
-
+Box
+Tex_font_char_metric::dimensions () const
+{
+  Real d = -depth_;
+  return Box (Interval (0, width_),Interval ( d <? height_, d >? height_));
+}
 
 Tex_font_char_metric::Tex_font_char_metric ()
 {
@@ -67,17 +72,26 @@ Tex_font_metric::Tex_font_metric ()
 {
 }
 
-Tex_font_char_metric
+static Tex_font_char_metric dummy_static_char_metric;
+
+Tex_font_char_metric const &
 Tex_font_metric::find_ascii (int ascii, bool warn) const
 {
-  if (warn && (ascii_to_metric_idx_[ascii] == -1))
+  if (ascii_to_metric_idx_[ascii] >= 0)
+    return char_metrics_[ascii_to_metric_idx_ [ascii]];
+  else if (warn)
+
     {
-      Tex_font_char_metric m;
       warning (_f ("can't find ascii character `%d'", ascii));
-      return m;
+
     }
-  
-  return char_metrics_[ascii_to_metric_idx_ [ascii]];
+  return dummy_static_char_metric;  
+}
+
+Character_metric*
+Tex_font_metric::get_char (int a, bool w) const
+{
+  return &find_ascii (a, w);
 }
 
 
index 534d3f2f31e3503cb6e4000fac8db618b93c5318..8e8d58a76d1cce368b55da74997c734a0faffd18 100644 (file)
@@ -93,7 +93,6 @@ Timing_translator::do_process_requests()
              time_.whole_in_measure_ = 0; // resync
              time_.error_b_ = true;
            }
-
        }
       else if (Cadenza_req *cr = dynamic_cast <Cadenza_req *> (tr_l))
        {
index ea76b89d45b847f669f3ab572939fe21316e9d34..5bcfa0aa5660741356f81e24b26e2fec00d44018 100644 (file)
@@ -38,7 +38,7 @@ Tuplet_engraver::do_process_requests ()
   for (int i= started_span_p_arr_.size ();
        i < compressed_music_arr_.size (); i++)
     {
-      Plet_spanner* glep = new Plet_spanner;
+      Tuplet_spanner* glep = new Tuplet_spanner;
       started_span_p_arr_.push (glep);
 
       Text_def *t = new Text_def;
index e6d43c2b33011bd8bd2ceb1dd4d8fe6c08e381d0..8793d78271057721f38f6a8f7eb2aec26bcca751 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  plet-spanner.cc -- implement Plet_spanner
+  plet-spanner.cc -- implement Tuplet_spanner
 
   source file of the GNU LilyPond music typesetter
 
@@ -21,7 +21,7 @@
 #include "text-def.hh"
 #include "note-column.hh"
 
-Plet_spanner::Plet_spanner ()
+Tuplet_spanner::Tuplet_spanner ()
 {
   beam_l_ =0;
   bracket_visibility_b_ = true;
@@ -33,7 +33,7 @@ Plet_spanner::Plet_spanner ()
 }
 
 Molecule*
-Plet_spanner::do_brew_molecule_p () const
+Tuplet_spanner::do_brew_molecule_p () const
 {
   Molecule* mol_p = new Molecule;
 
@@ -64,7 +64,7 @@ Plet_spanner::do_brew_molecule_p () const
 }
   
 void
-Plet_spanner::do_add_processing ()
+Tuplet_spanner::do_add_processing ()
 {
   if (column_arr_.size ())
     {
@@ -74,7 +74,7 @@ Plet_spanner::do_add_processing ()
 }
   
 void
-Plet_spanner::do_post_processing ()
+Tuplet_spanner::do_post_processing ()
 {
   if (column_arr_.size())
     translate_axis (column_arr_[0]->extent (Y_AXIS)[dir_], Y_AXIS);
@@ -89,7 +89,7 @@ Plet_spanner::do_post_processing ()
 }
 
 void
-Plet_spanner::do_substitute_dependency (Score_element* o, Score_element* n)
+Tuplet_spanner::do_substitute_dependency (Score_element* o, Score_element* n)
 {
   if (Note_column *onc = dynamic_cast <Note_column *> (o))
     column_arr_.substitute (onc, dynamic_cast<Note_column*> (n));
@@ -99,9 +99,9 @@ Plet_spanner::do_substitute_dependency (Score_element* o, Score_element* n)
        beam_l_ = dynamic_cast<Beam*> (n);
     }
 }
-  
+
 void
-Plet_spanner::set_default_dir ()
+Tuplet_spanner::set_default_dir ()
 {
   dir_ = UP;
   for (int i=0; i < column_arr_.size (); i ++) 
@@ -115,14 +115,14 @@ Plet_spanner::set_default_dir ()
 }
 
 void
-Plet_spanner::set_beam (Beam *b)
+Tuplet_spanner::set_beam (Beam *b)
 {
   beam_l_ = b;
   add_dependency (b);
 }
 
 void
-Plet_spanner::add_column (Note_column*n)
+Tuplet_spanner::add_column (Note_column*n)
 {
   column_arr_.push (n);
   add_dependency (n);
diff --git a/lily/version.cc b/lily/version.cc
deleted file mode 100644 (file)
index 787f001..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "main.hh"
-#include "string.hh"
-
-char const * lily_version_sz();
-
-String 
-get_version_str()
-{
-  String s = lily_version_sz();
-  return s;
-}
index b0c5ea4b7de8e8663f0430cc7c12526e59cae74f..0a376776ac7939d61dad0c94f09556590d12638d 100644 (file)
 #include "lookup.hh"
 #include "molecule.hh"
 #include "note-column.hh"
-#include "p-col.hh" // urg
-#include "bar.hh"
 #include "p-col.hh"
+#include "bar.hh"
 #include "paper-def.hh"
 #include "volta-spanner.hh"
 #include "stem.hh"
 #include "text-def.hh"
+#include "pointer.tcc"
+
+template class P<Text_def>;            // UGH
+
 
 Volta_spanner::Volta_spanner ()
 {
   last_b_ = false;
+  visible_b_ = true;
   number_p_.set_p (new Text_def);
   number_p_->align_dir_ = LEFT;
   dot_p_.set_p (new Text_def);
@@ -37,9 +41,12 @@ Volta_spanner::do_brew_molecule_p () const
   if (!column_arr_.size ())
     return mol_p;
 
+  if (!visible_b_)
+    return mol_p;
+
   Real internote_f = paper ()->internote_f ();
   Real dx = internote_f;
-  Real w = extent (X_AXIS).length () - 2 * dx;
+  Real w = extent (X_AXIS).length () - dx;
   Atom volta (lookup_l ()->volta (w, last_b_));
   Real h = volta.dim_.y ().length ();
   Atom num (number_p_->get_atom (paper (), LEFT));
@@ -65,7 +72,7 @@ Volta_spanner::do_brew_molecule_p () const
   mol_p->add_atom (volta);
   mol_p->add_atom (num);
   mol_p->add_atom (dot);
-  mol_p->translate (Offset (dx, dy));
+  mol_p->translate (Offset (0, dy));
   return mol_p;
 }
   
@@ -75,12 +82,9 @@ Volta_spanner::do_add_processing ()
   if (column_arr_.size ())
     {
       set_bounds (LEFT, column_arr_[0]);
-      //      set_bounds (RIGHT, column_arr_.top ());  
-      // huh?
-      // array.top () == last element??
-      // list.top () == first element
-      set_bounds (RIGHT, column_arr_[column_arr_.size () - 1]);  
+      set_bounds (RIGHT, column_arr_.top ());  
     }
+
   number_p_->style_str_ = "number-1";
   dot_p_->text_str_ = ".";
   dot_p_->style_str_ = "bold";
diff --git a/ly/GNUmakefile b/ly/GNUmakefile
new file mode 100644 (file)
index 0000000..6513297
--- /dev/null
@@ -0,0 +1,15 @@
+# init/Makefile
+
+depth = ..
+
+INI_FILES = $(FLY_FILES) $(LY_FILES)
+EXTRA_DIST_FILES = $(SCM_FILES)
+
+INSTALLATION_DIR=$(datadir)/ly/
+INSTALLATION_FILES=$(INI_FILES)
+
+STEPMAKE_TEMPLATES=install
+LOCALSTEPMAKE_TEMPLATES=mutopia
+
+include $(depth)/make/stepmake.make 
+
diff --git a/ly/a4.ly b/ly/a4.ly
new file mode 100644 (file)
index 0000000..e42ee40
--- /dev/null
+++ b/ly/a4.ly
@@ -0,0 +1,4 @@
+% a4.ly
+
+hsize = 210.0 \mm;
+vsize = 296.9 \mm;
diff --git a/ly/accordion-defs.ly b/ly/accordion-defs.ly
new file mode 100644 (file)
index 0000000..12c4723
--- /dev/null
@@ -0,0 +1,55 @@
+% Symbols needed to print accordion music
+% 
+%  2' = T
+%  4' = F
+%  8' = E
+% 16' = S
+%
+
+accDiscant = \script{ "accDiscant" 0 0 1 0 0 }
+accDiscantF = \script{ "accDiscantF" 0 0 1 0 0 }
+accDiscantE = \script{ "accDiscantE" 0 0 1 0 0 }
+accDiscantEh = \script{ "accDiscantEh" 0 0 1 0 0 }
+accDiscantFE = \script{ "accDiscantFE" 0 0 1 0 0 }
+accDiscantFEh = \script{ "accDiscantFEh" 0 0 1 0 0 }
+accDiscantEE = \script{ "accDiscantEE" 0 0 1 0 0 }
+accDiscantFEE = \script{ "accDiscantFEE" 0 0 1 0 0 }
+accDiscantEEE = \script{ "accDiscantEEE" 0 0 1 0 0 }
+accDiscantFEEE = \script{ "accDiscantFEEE" 0 0 1 0 0 }
+accDiscantS = \script{ "accDiscantS" 0 0 1 0 0 }
+accDiscantFS = \script{ "accDiscantFS" 0 0 1 0 0 }
+accDiscantES = \script{ "accDiscantES" 0 0 1 0 0 }
+accDiscantEhS = \script{ "accDiscantEhS" 0 0 1 0 0 }
+accDiscantFES = \script{ "accDiscantFES" 0 0 1 0 0 }
+accDiscantFEhS = \script{ "accDiscantFEhS" 0 0 1 0 0 }
+accDiscantEES = \script{ "accDiscantEES" 0 0 1 0 0 }
+accDiscantFEES = \script{ "accDiscantFEES" 0 0 1 0 0 }
+accDiscantEEES = \script{ "accDiscantEEES" 0 0 1 0 0 }
+accDiscantFEEES = \script{ "accDiscantFEEES" 0 0 1 0 0 }
+accDiscantSS = \script{ "accDiscantSS" 0 0 1 0 0 }
+accDiscantESS = \script{ "accDiscantESS" 0 0 1 0 0 }
+accDiscantEESS = \script{ "accDiscantEESS" 0 0 1 0 0 }
+accDiscantEEESS = \script{ "accDiscantEEESS" 0 0 1 0 0 }
+
+accFreebass = \script{ "accFreebass" 0 0 1 0 0 }
+accFreebassF = \script{ "accFreebassF" 0 0 1 0 0 }
+accFreebassE = \script{ "accFreebassE" 0 0 1 0 0 }
+accFreebassFE = \script{ "accFreebassFE" 0 0 1 0 0 }
+
+accBayanbass = \script{ "accBayanbass" 0 0 1 0 0 }
+accBayanbassT = \script{ "accBayanbassT" 0 0 1 0 0 }
+accBayanbassE = \script{ "accBayanbassE" 0 0 1 0 0 }
+accBayanbassTE = \script{ "accBayanbassTE" 0 0 1 0 0 }
+accBayanbassEE = \script{ "accBayanbassEE" 0 0 1 0 0 }
+accBayanbassTEE = \script{ "accBayanbassTEE" 0 0 1 0 0 }
+
+accStdbass = \script{ "accStdbass" 0 0 1 0 0 }
+accStdbassTp = \script{ "accStdbassTp" 0 0 1 0 0 }
+accStdbassT = \script{ "accStdbassT" 0 0 1 0 0 }
+accStdbassBp = \script{ "accStdbassBp" 0 0 1 0 0 }
+accStdbassM = \script{ "accStdbassM" 0 0 1 0 0 }
+
+accSB = \script{ "accSB" 0 0 1 0 0 }
+accBB = \script{ "accBB" 0 0 1 0 0 }
+accOldEE = \script{ "accOldEE" 0 0 1 0 0 }
+accOldEES = \script{ "accOldEES" 0 0 1 0 0 }
diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly
new file mode 100644 (file)
index 0000000..46fd731
--- /dev/null
@@ -0,0 +1,20 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly"
+
+\include "paper16.ly"
+  \paper { \paper_sixteen
+    linewidth = -1.\cm;
+    castingalgorithm = \Wordwrap; 
+    "unusedentry" = "}\\def\\nolilyfooter{";
+  }
+
+\score { 
+  \notes {
+    \maininput
+  }
+\paper{}
+}
diff --git a/ly/book-init.ly b/ly/book-init.ly
new file mode 100644 (file)
index 0000000..7cb2e6b
--- /dev/null
@@ -0,0 +1,14 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly";
+\include "paper16.ly"
+
+ \paper{
+       \paper_sixteen
+}
+
+
+\maininput
diff --git a/ly/catalan.ly b/ly/catalan.ly
new file mode 100644 (file)
index 0000000..99ae0dc
--- /dev/null
@@ -0,0 +1,73 @@
+%{
+
+ Common catalan names for notes. "b" means flat (bemoll), "d" means sharp (diesi).
+ Also "s" is included for sharp (sostingut).  Both "diesi" and "sostingut" are approved
+ by "Diccionari de la Llengua Catalana" from "Institut d'Estudis Catalans".
+
+ Adapted from italiano.ly.
+
+ English: a   b   c   d   e   f   g
+ Catalan: la  si  do  re  mi  fa  sol
+
+ For spanish naming just use the sharp sign "s" (sostenido) instead of "s"
+(sostenido) .
+%}
+
+% contributed by Jaume Obrador <jobrador@ipc4.uib.es>
+
+\notenames {
+       dobb    = \musicalpitch { -1 0 -2 }
+       dob     = \musicalpitch { -1 0 -1 }
+       do              = \musicalpitch { -1 0 0 }
+       dod     = \musicalpitch { -1 0 1 }
+       dodd    = \musicalpitch { -1 0 2 }
+       rebb    = \musicalpitch { -1 1 -2 }
+       reb     = \musicalpitch { -1 1 -1 }
+       re              = \musicalpitch { -1 1 0 }
+       red     = \musicalpitch { -1 1 1 }
+       redd    = \musicalpitch { -1 1 2 }
+       mibb    = \musicalpitch { -1 2 -2 }
+       mib             = \musicalpitch { -1 2 -1 }
+       mi              = \musicalpitch { -1 2 0 }
+       mid     = \musicalpitch { -1 2 1 }
+       midd    = \musicalpitch { -1 2 2 }
+       fabb    = \musicalpitch { -1 3 -2 }
+       fab     = \musicalpitch { -1 3 -1 }
+       fa              = \musicalpitch { -1 3 0 }
+       fad     = \musicalpitch { -1 3 1 }
+       fadd    = \musicalpitch { -1 3 2 }
+       solbb   = \musicalpitch { -1 4 -2 }
+       solb    = \musicalpitch { -1 4 -1 }
+       sol     = \musicalpitch { -1 4 0 }
+       sold    = \musicalpitch { -1 4 1 }
+       soldd   = \musicalpitch { -1 4 2 }
+       labb    = \musicalpitch { -1 5 -2 }
+       lab     = \musicalpitch { -1 5 -1 }
+       la              = \musicalpitch { -1 5 0 }
+       lad     = \musicalpitch { -1 5 1 }
+       ladd    = \musicalpitch { -1 5 2 }
+       sibb    = \musicalpitch { -1 6 -2 }
+       sib     = \musicalpitch { -1 6 -1 }
+       si              = \musicalpitch { -1 6 0 }
+       sid     = \musicalpitch { -1 6 1 }
+       sidd    = \musicalpitch { -1 6 2 }
+
+% For using "sostingut" notation, which is also correct
+
+       dos     = \musicalpitch { -1 0 1 }
+       doss    = \musicalpitch { -1 0 2 }
+       res     = \musicalpitch { -1 1 1 }
+       ress    = \musicalpitch { -1 1 2 }
+       mis     = \musicalpitch { -1 2 1 }
+       miss    = \musicalpitch { -1 2 2 }
+       fas     = \musicalpitch { -1 3 1 }
+       fass    = \musicalpitch { -1 3 2 }
+       sols    = \musicalpitch { -1 4 1 }
+       solss   = \musicalpitch { -1 4 2 }
+       las     = \musicalpitch { -1 5 1 }
+       lass    = \musicalpitch { -1 5 2 }
+       sis     = \musicalpitch { -1 6 1 }
+       siss    = \musicalpitch { -1 6 2 }
+}
+
+
diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly
new file mode 100644 (file)
index 0000000..72be0ac
--- /dev/null
@@ -0,0 +1,25 @@
+% Toplevel initialisation file. 
+       
+
+\version "1.0.14";
+
+
+\include "declarations.ly"
+
+\include "paper16.ly";
+
+ \paper { 
+  \paper_sixteen
+    linewidth = -1.0\cm;
+    castingalgorithm = \Wordwrap;
+   "unusedentry" = "}\\def\\nolilyfooter{"; 
+}
+
+
+\score { 
+%  \notes\relative c {
+  \notes {
+    \maininput
+  }
+\paper{} 
+}
diff --git a/ly/center.ly b/ly/center.ly
new file mode 100644 (file)
index 0000000..500c25a
--- /dev/null
@@ -0,0 +1,15 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly"
+\include "paper16.ly"
+
+ \paper { 
+  \paper_sixteen;
+%  linewidth = 7.\cm;
+  linewidth = 11.\cm;
+}
+
+\maininput
diff --git a/ly/chord-modifiers.ly b/ly/chord-modifiers.ly
new file mode 100644 (file)
index 0000000..48cc2f0
--- /dev/null
@@ -0,0 +1,15 @@
+%{
+ chord modifiers
+%}
+
+\chordmodifiers {
+       m       = \musicalpitch { 0 2 -1 }
+       min     = \musicalpitch { 0 2 -1 }
+       aug     = \musicalpitch { 0 4 1 }
+       dim     = \musicalpitch { 0 4 -1 }
+       % urg, not actually a chord-modifier, but it works
+       % c7 -> <c bes>, c 7+ -> c b
+       maj     = \musicalpitch { 0 6 1 }
+       % sus4 should delete 2 too...
+       sus     = \musicalpitch { 0 3 0 }
+}
diff --git a/ly/declarations.ly b/ly/declarations.ly
new file mode 100644 (file)
index 0000000..69b33ac
--- /dev/null
@@ -0,0 +1,45 @@
+
+  
+breve = \duration { -1 0 }
+longa = \duration { -2 0 }
+
+\include "dynamic.ly"
+\include "nederlands.ly"               % dutch
+\include "chord-modifiers.ly"
+\include "script.ly"
+
+
+Gourlay = 1.0
+Wordwrap = 0.0
+
+papersize = "a4"
+
+\include "paper20.ly"
+
+\paper{
+       \paper_twenty
+}
+
+% ugh
+\include "midi.ly"
+
+% declarations for standard directions
+left = -1
+right = 1
+up = 1
+down = -1
+% zillie spellink?
+center=0
+
+break = { \penalty = 10000; }
+nobreak = { \penalty = -10000; }
+
+major = 0
+minor = 3
+
+\include "property.ly"
+
+\scmfile "lily.scm";
+
+% music = "\melodic\relative c"
+
diff --git a/ly/deutsch.ly b/ly/deutsch.ly
new file mode 100644 (file)
index 0000000..ef247f8
--- /dev/null
@@ -0,0 +1,93 @@
+%
+% common german names for notes. "es" means flat, "is" means sharp
+%
+% by Roland Meier <meier@informatik.th-darmstadt.de>
+% based on swedish.ly by Mats Bengtsson.
+
+
+%
+% Please note that, while these names are used to enter *notes*, they
+% actually are *melodic*s, i.e. they represent a pitch solely. Notes
+% have a rhythmic part too. This is the reason that we don't write 'note { .. }'
+%
+\notenames {
+       ceses   = \musicalpitch { -1 0 -2 }
+       ces     = \musicalpitch { -1 0 -1 }
+       c       = \musicalpitch { -1 0 0 }
+       cis     = \musicalpitch { -1 0 1 }
+       cisis   = \musicalpitch { -1 0 2 }
+       deses   = \musicalpitch { -1 1 -2 }
+       des     = \musicalpitch { -1 1 -1 }
+       d       = \musicalpitch { -1 1 0 }
+       dis     = \musicalpitch { -1 1 1 }
+       disis   = \musicalpitch { -1 1 2 }
+       eses    = \musicalpitch { -1 2 -2 }
+       es      = \musicalpitch { -1 2 -1 }
+       e       = \musicalpitch { -1 2 0 }
+       eis     = \musicalpitch { -1 2 1 }
+       eisis   = \musicalpitch { -1 2 2 }
+       feses   = \musicalpitch { -1 3 -2 }
+       fes     = \musicalpitch { -1 3 -1 }
+       f       = \musicalpitch { -1 3 0 }
+       fis     = \musicalpitch { -1 3 1 }
+       fisis   = \musicalpitch { -1 3 2 }
+       geses   = \musicalpitch { -1 4 -2 }
+       ges     = \musicalpitch { -1 4 -1 }
+       g       = \musicalpitch { -1 4 0 }
+       gis     = \musicalpitch { -1 4 1 }
+       gisis   = \musicalpitch { -1 4 2 }
+       ases    = \musicalpitch { -1 5 -2 }
+       as      = \musicalpitch { -1 5 -1 }
+       a       = \musicalpitch { -1 5 0 }
+       ais     = \musicalpitch { -1 5 1 }
+       aisis   = \musicalpitch { -1 5 2 }
+       heses   = \musicalpitch { -1 6 -2 }
+       b       = \musicalpitch { -1 6 -1 }
+       h       = \musicalpitch { -1 6 0 }
+       his     = \musicalpitch { -1 6 1 }
+       hisis   = \musicalpitch { -1 6 2 }
+
+
+       %
+       % upper case: 1 octave lower.
+       %
+
+
+       Ceses   = \musicalpitch { -2 0 -2 }
+       Ces     = \musicalpitch { -2 0 -1 }
+       C       = \musicalpitch { -2 0 0 }
+       Cis     = \musicalpitch { -2 0 1 }
+       Cisis   = \musicalpitch { -2 0 2 }
+       Deses   = \musicalpitch { -2 1 -2 }
+       Des     = \musicalpitch { -2 1 -1 }
+       D       = \musicalpitch { -2 1 0 }
+       Dis     = \musicalpitch { -2 1 1 }
+       Disis   = \musicalpitch { -2 1 2 }
+       Eses    = \musicalpitch { -2 2 -2 }
+       Es      = \musicalpitch { -2 2 -1 }
+       E       = \musicalpitch { -2 2 0 }
+       Eis     = \musicalpitch { -2 2 1 }
+       Eisis   = \musicalpitch { -2 2 2 }
+       Feses   = \musicalpitch { -2 3 -2 }
+       Fes     = \musicalpitch { -2 3 -1 }
+       F       = \musicalpitch { -2 3 0 }
+       Fis     = \musicalpitch { -2 3 1 }
+       Fisis   = \musicalpitch { -2 3 2 }
+       Geses   = \musicalpitch { -2 4 -2 }
+       Ges     = \musicalpitch { -2 4 -1 }
+       G       = \musicalpitch { -2 4 0 }
+       Gis     = \musicalpitch { -2 4 1 }
+       Gisis   = \musicalpitch { -2 4 2 }
+       Ases    = \musicalpitch { -2 5 -2 }
+       As      = \musicalpitch { -2 5 -1 }
+       A       = \musicalpitch { -2 5 0 }
+       Ais     = \musicalpitch { -2 5 1 }
+       Aisis   = \musicalpitch { -2 5 2 }
+       Heses   = \musicalpitch { -2 6 -2 }
+       B       = \musicalpitch { -2 6 -1 }
+       H       = \musicalpitch { -2 6 0 }
+       His     = \musicalpitch { -2 6 1 }
+       Hisis   = \musicalpitch { -2 6 2 }
+
+
+}
diff --git a/ly/dynamic.ly b/ly/dynamic.ly
new file mode 100644 (file)
index 0000000..737a4ff
--- /dev/null
@@ -0,0 +1,21 @@
+%
+% declare the standard dynamic identifiers.
+%
+
+ppp = \absdynamic {7 }
+pp = \absdynamic { 6 }
+p = \absdynamic { 5 }
+mp = \absdynamic { 4 }
+mf = \absdynamic { 3 }
+f = \absdynamic { 2 } % f is a notename too.
+ff = \absdynamic { 1 }
+fff = \absdynamic { 0 }
+
+fp = \absdynamic { 8 }
+sf = \absdynamic { 9 }
+sfz = \absdynamic { 10 }
+
+cr = \spandynamic { 1 1 } 
+decr = \spandynamic { -1 1 }
+rc = \spandynamic { 1 2 } % stop a crescendo
+rced = \spandynamic { 1 2 } % stop a decrescendo
diff --git a/ly/english.ly b/ly/english.ly
new file mode 100644 (file)
index 0000000..de66eda
--- /dev/null
@@ -0,0 +1,158 @@
+%{
+     English note names spelled out in full, and abbreviated
+     with s for sharp and f for flat.
+%}
+
+\notenames {
+       cflatflat       = \musicalpitch { -1 0 -2 }
+       cflat           = \musicalpitch { -1 0 -1 }
+       c               = \musicalpitch { -1 0 0 }
+       csharp          = \musicalpitch { -1 0 1 }
+       csharpsharp     = \musicalpitch { -1 0 2 }
+       dflatflat       = \musicalpitch { -1 1 -2 }
+       dflat           = \musicalpitch { -1 1 -1 }
+       d               = \musicalpitch { -1 1 0 }
+       dsharp          = \musicalpitch { -1 1 1 }
+       dsharpsharp     = \musicalpitch { -1 1 2 }
+       eflatflat       = \musicalpitch { -1 2 -2 }
+       eflat           = \musicalpitch { -1 2 -1 }
+       e               = \musicalpitch { -1 2 0 }
+       esharp          = \musicalpitch { -1 2 1 }
+       esharpsharp     = \musicalpitch { -1 2 2 }
+       fflatflat       = \musicalpitch { -1 3 -2 }
+       fflat           = \musicalpitch { -1 3 -1 }
+       f               = \musicalpitch { -1 3 0 }
+       fsharp          = \musicalpitch { -1 3 1 }
+       fsharpsharp     = \musicalpitch { -1 3 2 }
+       gflatflat       = \musicalpitch { -1 4 -2 }
+       gflat           = \musicalpitch { -1 4 -1 }
+       g               = \musicalpitch { -1 4 0 }
+       gsharp          = \musicalpitch { -1 4 1 }
+       gsharpsharp     = \musicalpitch { -1 4 2 }
+       aflatflat       = \musicalpitch { -1 5 -2 }
+       aflat           = \musicalpitch { -1 5 -1 }
+       a               = \musicalpitch { -1 5 0 }
+       asharp          = \musicalpitch { -1 5 1 }
+       asharpsharp     = \musicalpitch { -1 5 2 }
+       bflatflat       = \musicalpitch { -1 6 -2 }
+       bflat           = \musicalpitch { -1 6 -1 }
+       b               = \musicalpitch { -1 6 0 }
+       bsharp          = \musicalpitch { -1 6 1 }
+       bsharpsharp     = \musicalpitch { -1 6 2 }
+
+       cff     = \musicalpitch { -1 0 -2 }
+       cf      = \musicalpitch { -1 0 -1 }
+       c       = \musicalpitch { -1 0 0 }
+       cs      = \musicalpitch { -1 0 1 }
+       css     = \musicalpitch { -1 0 2 }
+       dff     = \musicalpitch { -1 1 -2 }
+       df      = \musicalpitch { -1 1 -1 }
+       d       = \musicalpitch { -1 1 0 }
+       ds      = \musicalpitch { -1 1 1 }
+       dss     = \musicalpitch { -1 1 2 }
+       eff     = \musicalpitch { -1 2 -2 }
+       ef      = \musicalpitch { -1 2 -1 }
+       e       = \musicalpitch { -1 2 0 }
+       es      = \musicalpitch { -1 2 1 }   % es = E-flat in Dutch
+       ess     = \musicalpitch { -1 2 2 }
+       fff     = \musicalpitch { -1 3 -2 }
+       ff      = \musicalpitch { -1 3 -1 }
+       f       = \musicalpitch { -1 3 0 }
+       fs      = \musicalpitch { -1 3 1 }
+       fss     = \musicalpitch { -1 3 2 }
+       gff     = \musicalpitch { -1 4 -2 }
+       gf      = \musicalpitch { -1 4 -1 }
+       g       = \musicalpitch { -1 4 0 }
+       gs      = \musicalpitch { -1 4 1 }
+       gss     = \musicalpitch { -1 4 2 }
+       aff     = \musicalpitch { -1 5 -2 }
+       af      = \musicalpitch { -1 5 -1 }
+       a       = \musicalpitch { -1 5 0 }
+       as      = \musicalpitch { -1 5 1 }   % as = A-flat in Dutch
+       ass     = \musicalpitch { -1 5 2 }
+       bff     = \musicalpitch { -1 6 -2 }
+       bf      = \musicalpitch { -1 6 -1 }
+       b       = \musicalpitch { -1 6 0 }
+       bs      = \musicalpitch { -1 6 1 }
+       bss     = \musicalpitch { -1 6 2 }
+
+
+       %
+       % upper case: 1 octave lower.
+       %
+
+
+       Cflatflat       = \musicalpitch { -2 0 -2 }
+       Cflat           = \musicalpitch { -2 0 -1 }
+       C               = \musicalpitch { -2 0 0 }
+       Csharp          = \musicalpitch { -2 0 1 }
+       Csharpsharp     = \musicalpitch { -2 0 2 }
+       Dflatflat       = \musicalpitch { -2 1 -2 }
+       Dflat           = \musicalpitch { -2 1 -1 }
+       D               = \musicalpitch { -2 1 0 }
+       Dsharp          = \musicalpitch { -2 1 1 }
+       Dsharpsharp     = \musicalpitch { -2 1 2 }
+       Eflatflat       = \musicalpitch { -2 2 -2 }
+       Eflat           = \musicalpitch { -2 2 -1 }
+       E               = \musicalpitch { -2 2 0 }
+       Esharp          = \musicalpitch { -2 2 1 }
+       Esharpsharp     = \musicalpitch { -2 2 2 }
+       Fflatflat       = \musicalpitch { -2 3 -2 }
+       Fflat           = \musicalpitch { -2 3 -1 }
+       F               = \musicalpitch { -2 3 0 }
+       Fsharp          = \musicalpitch { -2 3 1 }
+       Fsharpsharp     = \musicalpitch { -2 3 2 }
+       Gflatflat       = \musicalpitch { -2 4 -2 }
+       Gflat           = \musicalpitch { -2 4 -1 }
+       G               = \musicalpitch { -2 4 0 }
+       Gsharp          = \musicalpitch { -2 4 1 }
+       Gsharpsharp     = \musicalpitch { -2 4 2 }
+       Aflatflat       = \musicalpitch { -2 5 -2 }
+       Aflat           = \musicalpitch { -2 5 -1 }
+       A               = \musicalpitch { -2 5 0 }
+       Asharp          = \musicalpitch { -2 5 1 }
+       Asharpsharp     = \musicalpitch { -2 5 2 }
+       Bflatflat       = \musicalpitch { -2 6 -2 }
+       Bflat           = \musicalpitch { -2 6 -1 }
+       B               = \musicalpitch { -2 6 0 }
+       Bsharp          = \musicalpitch { -2 6 1 }
+       Bsharpsharp     = \musicalpitch { -2 6 2 }
+
+       Cff     = \musicalpitch { -2 0 -2 }
+       Cf      = \musicalpitch { -2 0 -1 }
+       C       = \musicalpitch { -2 0 0 }
+       Cs      = \musicalpitch { -2 0 1 }
+       Css     = \musicalpitch { -2 0 2 }
+       Dff     = \musicalpitch { -2 1 -2 }
+       Df      = \musicalpitch { -2 1 -1 }
+       D       = \musicalpitch { -2 1 0 }
+       Ds      = \musicalpitch { -2 1 1 }
+       Dss     = \musicalpitch { -2 1 2 }
+       Eff     = \musicalpitch { -2 2 -2 }
+       Ef      = \musicalpitch { -2 2 -1 }
+       E       = \musicalpitch { -2 2 0 }
+       Es      = \musicalpitch { -2 2 1 }
+       Ess     = \musicalpitch { -2 2 2 }
+       Fff     = \musicalpitch { -2 3 -2 }
+       Ff      = \musicalpitch { -2 3 -1 }
+       F       = \musicalpitch { -2 3 0 }
+       Fs      = \musicalpitch { -2 3 1 }
+       Fss     = \musicalpitch { -2 3 2 }
+       Gff     = \musicalpitch { -2 4 -2 }
+       Gf      = \musicalpitch { -2 4 -1 }
+       G       = \musicalpitch { -2 4 0 }
+       Gs      = \musicalpitch { -2 4 1 }
+       Gss     = \musicalpitch { -2 4 2 }
+       Aff     = \musicalpitch { -2 5 -2 }
+       Af      = \musicalpitch { -2 5 -1 }
+       A       = \musicalpitch { -2 5 0 }
+       As      = \musicalpitch { -2 5 1 }
+       Ass     = \musicalpitch { -2 5 2 }
+       Bff     = \musicalpitch { -2 6 -2 }
+       Bf      = \musicalpitch { -2 6 -1 }
+       B       = \musicalpitch { -2 6 0 }
+       Bs      = \musicalpitch { -2 6 1 }
+       Bss     = \musicalpitch { -2 6 2 }
+
+
+}
diff --git a/ly/engraver.ly b/ly/engraver.ly
new file mode 100644 (file)
index 0000000..0b83367
--- /dev/null
@@ -0,0 +1,293 @@
+%
+% setup for Request->Element conversion. Guru-only
+%
+
+StaffContext=\translator {
+       \type "Line_group_engraver_group";
+       \name Staff ;
+       barAuto = "1";
+       voltaVisibility = "1";
+
+%{
+       The Hara_kiri_line_group_engraver is a Line_group_engraver 
+       that will not typeset an empty line of staff, i.e., a line 
+       of staff with only rests in it.  This is needed for orchestral
+       scores.  Comment-out Line_group_engraver_group, and uncomment 
+       Hara_kiri_line_group_engraver.
+%}
+%      \type "Hara_kiri_line_group_engraver";
+
+       \consists "Multi_measure_rest_engraver";
+       \consists "Repeat_engraver";
+       \consists "Bar_engraver";
+       \consists "Clef_engraver";
+       \consists "Key_engraver";
+       \consists "Local_key_engraver";
+       \consists "Time_signature_engraver";
+       \consists "Staff_symbol_engraver";
+       \consists "Collision_engraver";
+       \consists "Rest_collision_engraver";
+
+%{
+       Uncomment to get bar numbers on single staff systems:
+       
+       The Bar_number_engraver puts a number over a staff created
+       at the same level of hierarchy.  This why you have to add it
+       here separately if you want to have numbers on single staff
+       systems: The Bar_number_engraver in Score_engraver will only
+       put numbers on bars that are Score ("system") wide.  Such
+       bars are only created when the toplevel system has multiple
+       children-staffs.
+
+%}
+%{
+       \consists "Bar_number_engraver";
+%}
+%{
+       The Staff_margin_engraver puts the name of the instrument
+       (\property Staff.instrument; Staff.instr for subsequent lines)
+       to the left of a staff.
+%}
+       defaultClef = treble;
+
+       marginBreakPriority = "-5";
+
+%{
+       \consists "Staff_margin_engraver";
+%}
+       \consists "Separating_line_group_engraver";
+         
+       \accepts "Voice";
+       dynamicStyle = "dynamic";
+};
+
+\translator{\StaffContext }
+\translator {
+       \type "Line_group_engraver_group";
+       \name ChoirStaff;
+       \consists "Vertical_align_engraver";
+       \consists "Staff_group_bar_engraver";
+       \accepts "Staff";
+       \accepts "RhythmicStaff";
+       \accepts "GrandStaff";
+       \accepts "PianoStaff";
+       
+       \accepts "Lyrics";
+       \accepts "ChordNames";
+}
+
+
+RhythmicStaffContext=\translator{
+       \type "Line_group_engraver_group";
+       numberOfStaffLines  = "1";
+       \consists "Pitch_squash_engraver";
+       \consists "Separating_line_group_engraver";     
+       \name RhythmicStaff;
+
+       \consists "Repeat_engraver";
+       \consists "Bar_engraver";
+       \consists "Time_signature_engraver";
+       \consists "Staff_symbol_engraver";
+       \accepts "Voice";
+};
+\translator{\RhythmicStaffContext}
+VoiceContext = \translator {
+       \type "Engraver_group_engraver";
+       \consists "Dynamic_engraver";
+       \name Voice ;
+       
+       \consists "Rest_engraver";
+       \consists "Dot_column_engraver";
+       \consists "Stem_engraver";
+       \consists "Beam_engraver";
+       \consists "Abbreviation_beam_engraver";
+%      \consists "Multi_measure_rest_engraver";
+
+       % ugh.  Order matters here.
+       \consists "Text_engraver";
+       \consists "Script_engraver";
+       \consists "Rhythmic_column_engraver";
+       \consists "Font_size_engraver";
+       \consists "Slur_engraver";
+       \consists "Tie_engraver";
+       \consists "Tuplet_engraver";    
+       \consists "Note_heads_engraver" ;       
+       \consists "Skip_req_swallow_translator";
+};
+
+\translator {\VoiceContext}
+
+GrandStaffContext=\translator{
+       \type "Line_group_engraver_group";
+       \name GrandStaff;
+       \consists "Span_bar_engraver";
+       \consists "Vertical_align_engraver";
+       \consists "Piano_bar_engraver";
+       minVerticalAlign = 1.5*\staffheight;
+
+       \accepts "Staff";
+};
+\translator{\GrandStaffContext}
+\translator{\GrandStaffContext
+       minVerticalAlign = 3.0*\staffheight;
+       maxVerticalAlign = 3.0*\staffheight;
+       \name "PianoStaff";
+       
+}
+\translator {
+       \type "Line_group_engraver_group";
+%      \type "Hara_kiri_line_group_engraver";
+       \consists "Span_bar_engraver";
+       \consists "Vertical_align_engraver";
+       \consists "Staff_group_bar_engraver";
+       \name StaffGroup;
+       \accepts "Staff";
+       \accepts "RhythmicStaff";
+       \accepts "GrandStaff";
+       \accepts "PianoStaff";
+       
+       \accepts "Lyrics";
+       \accepts "ChordNames";
+}
+
+\translator{
+       \type "Line_group_engraver_group";
+
+       \name LyricVoice ;
+       \consists "Separating_line_group_engraver";
+       \consists "Lyric_engraver";
+       \consists "Extender_engraver";
+       \consists "Beam_req_swallow_translator";
+}
+
+\translator {
+       \type "Line_group_engraver_group";
+       \name Lyrics;
+       \consists "Vertical_align_engraver";
+       \accepts "LyricVoice";
+}
+
+\translator{
+       \type "Line_group_engraver_group";
+
+       \name ChordNameVoice ;
+       \consists "Separating_line_group_engraver";
+       \consists "Chord_name_engraver";
+}
+
+\translator {
+       \type "Line_group_engraver_group";
+       \name ChordNames;
+       \consists "Vertical_align_engraver";
+       \accepts "ChordNameVoice";
+}
+
+ScoreContext = \translator {
+       \type Score_engraver;
+       \name Score;
+
+       \consists "Timing_engraver";
+
+       \consists "Span_score_bar_engraver";
+       \consists "Score_priority_engraver";
+       \consists "Priority_horizontal_align_engraver";
+       \consists "Vertical_align_engraver";
+
+
+       \accepts "StaffGroup";
+       \accepts "Staff";
+       \accepts "RhythmicStaff";       
+       \accepts "Lyrics";
+       \accepts "ChordNames";
+       \accepts "GrandStaff";
+       \accepts "ChoirStaff";
+       \accepts "PianoStaff";
+};
+\translator { \ScoreContext }
+
+ScoreWithNumbers = \translator {
+       \type "Score_engraver";
+
+       % uncomment to bar numbers on a whole system.
+       \consists "Bar_number_engraver";
+
+};
+
+StupidScore = \translator {
+       \type "Score_engraver";
+       \name Score;
+       \consists "Note_heads_engraver";
+};
+
+
+
+BarNumberingStaffContext = \translator {
+       \StaffContext
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+       \consists "Mark_engraver";
+       \consists "Bar_number_engraver";
+
+};
+
+
+HaraKiriStaffContext = \translator {
+       \type "Hara_kiri_line_group_engraver";
+       \name Staff;
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+
+       \consists "Repeat_engraver";
+       \consists "Bar_engraver";
+       \consists "Clef_engraver";
+       \consists "Key_engraver";
+       \consists "Time_signature_engraver";
+       \consists "Local_key_engraver";
+       \consists "Staff_symbol_engraver";
+       \consists "Collision_engraver";
+       \consists "Rest_collision_engraver";
+       \consists "Staff_margin_engraver";
+       \consists "Separating_line_group_engraver";
+         
+       \accepts "Voice";
+};
+
+% huh, Score should do HaraKiri, not Part yes?
+OrchestralPartStaffContext = \translator {
+%      \HaraKiriStaffContext
+       \StaffContext
+       barColumnPriority = "0";
+       marginBreakPriority = "-4";
+       \consists "Mark_engraver";
+       \consists "Bar_number_engraver";
+};
+
+% where to put HaraKiri here?
+OrchestralScoreContext= \translator {
+       \type Score_engraver;
+       \name Score;
+       barScriptPadding = "2.0";       % dimension \pt
+       markScriptPadding = "4.0";
+       barColumnPriority = "-4";
+       markBreakPriority = "-4";
+       defaultClef = treble;
+
+       \consists "Timing_engraver";
+
+       \consists "Bar_number_engraver";
+       \consists "Mark_engraver";
+       \consists "Span_score_bar_engraver";
+       \consists "Score_priority_engraver";
+       \consists "Priority_horizontal_align_engraver";
+       \consists "Vertical_align_engraver";
+
+       \accepts "ChoirStaff";
+       \accepts "StaffGroup";
+       \accepts "Staff";
+       \accepts "RhythmicStaff";       
+       \accepts "Lyrics";
+       \accepts "ChordNames";
+       \accepts "GrandStaff";
+       \accepts "PianoStaff";
+       
+};
diff --git a/ly/fragment.ly b/ly/fragment.ly
new file mode 100644 (file)
index 0000000..3ddb7de
--- /dev/null
@@ -0,0 +1,25 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly"
+
+\include "paper16.ly";
+
+\paper { 
+  \paper_sixteen
+    linewidth = -1.0\cm;
+    castingalgorithm = \Wordwrap;
+    "unusedentry" = "}\\def\\nolilyfooter{";
+}
+
+
+\score { 
+%  \notes\relative c {
+  \notes {
+    \maininput
+  }
+  \paper { }
+
+}
diff --git a/ly/init.fly b/ly/init.fly
new file mode 100644 (file)
index 0000000..cacdd4b
--- /dev/null
@@ -0,0 +1,14 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly"
+
+\score { 
+  \notes\relative c {
+    \maininput
+  }
+  \paper { }  
+  \midi{ }
+}
diff --git a/ly/init.ly b/ly/init.ly
new file mode 100644 (file)
index 0000000..c01291c
--- /dev/null
@@ -0,0 +1,8 @@
+% Toplevel initialisation file. 
+       
+\version "1.0.14";
+
+
+\include "declarations.ly";
+
+\maininput
diff --git a/ly/italiano.ly b/ly/italiano.ly
new file mode 100644 (file)
index 0000000..dd600a4
--- /dev/null
@@ -0,0 +1,49 @@
+%{
+ Common italian names for notes. "b" means flat (bemolle), "d" means sharp (diesis)
+ Adapted from dutch.ly.
+
+ English: a   b   c   d   e   f   g
+ Italian: la  si  do  re  mi  fa  sol
+
+ For french naming just change 'do' in 'ut'.
+%}
+
+% contributed by Paolo Zuliani <zuliap@easynet.it>
+
+\notenames {
+       dobb    = \musicalpitch { -1 0 -2 }
+       dob     = \musicalpitch { -1 0 -1 }
+       do              = \musicalpitch { -1 0 0 }
+       dod     = \musicalpitch { -1 0 1 }
+       dodd    = \musicalpitch { -1 0 2 }
+       rebb    = \musicalpitch { -1 1 -2 }
+       reb     = \musicalpitch { -1 1 -1 }
+       re              = \musicalpitch { -1 1 0 }
+       red     = \musicalpitch { -1 1 1 }
+       redd    = \musicalpitch { -1 1 2 }
+       mibb    = \musicalpitch { -1 2 -2 }
+       mib             = \musicalpitch { -1 2 -1 }
+       mi              = \musicalpitch { -1 2 0 }
+       mid     = \musicalpitch { -1 2 1 }
+       midd    = \musicalpitch { -1 2 2 }
+       fabb    = \musicalpitch { -1 3 -2 }
+       fab     = \musicalpitch { -1 3 -1 }
+       fa              = \musicalpitch { -1 3 0 }
+       fad     = \musicalpitch { -1 3 1 }
+       fadd    = \musicalpitch { -1 3 2 }
+       solbb   = \musicalpitch { -1 4 -2 }
+       solb    = \musicalpitch { -1 4 -1 }
+       sol     = \musicalpitch { -1 4 0 }
+       sold    = \musicalpitch { -1 4 1 }
+       soldd   = \musicalpitch { -1 4 2 }
+       labb    = \musicalpitch { -1 5 -2 }
+       lab     = \musicalpitch { -1 5 -1 }
+       la              = \musicalpitch { -1 5 0 }
+       lad     = \musicalpitch { -1 5 1 }
+       ladd    = \musicalpitch { -1 5 2 }
+       sibb    = \musicalpitch { -1 6 -2 }
+       sib     = \musicalpitch { -1 6 -1 }
+       si              = \musicalpitch { -1 6 0 }
+       sid     = \musicalpitch { -1 6 1 }
+       sidd    = \musicalpitch { -1 6 2 }
+}
diff --git a/ly/midi.ly b/ly/midi.ly
new file mode 100644 (file)
index 0000000..114d34f
--- /dev/null
@@ -0,0 +1,5 @@
+
+\midi {
+        \tempo 4=60;
+       \include "performer.ly"
+}
diff --git a/ly/nederlands.ly b/ly/nederlands.ly
new file mode 100644 (file)
index 0000000..9b652a6
--- /dev/null
@@ -0,0 +1,100 @@
+%{
+ common dutch names for notes. "es" means flat, "is" means sharp
+
+
+
+
+ Please note that, while these names are used to enter *notes*, they
+ actually are *melodic*s, i.e. they represent a pitch solely. Notes
+ have a rhythmic part too. This is the reason that we don't write 'note { .. }'
+
+%}
+
+\notenames {
+       ceses   = \musicalpitch { -1 0 -2 }
+       ces     = \musicalpitch { -1 0 -1 }
+       c       = \musicalpitch { -1 0 0 }
+       cis     = \musicalpitch { -1 0 1 }
+       cisis   = \musicalpitch { -1 0 2 }
+       deses   = \musicalpitch { -1 1 -2 }
+       des     = \musicalpitch { -1 1 -1 }
+       d       = \musicalpitch { -1 1 0 }
+       dis     = \musicalpitch { -1 1 1 }
+       disis   = \musicalpitch { -1 1 2 }
+       eeses   = \musicalpitch { -1 2 -2 }
+       eses    = \musicalpitch { -1 2 -2 }
+       ees     = \musicalpitch { -1 2 -1 }
+       es      = \musicalpitch { -1 2 -1 }
+       e       = \musicalpitch { -1 2 0 }
+       eis     = \musicalpitch { -1 2 1 }
+       eisis   = \musicalpitch { -1 2 2 }
+       feses   = \musicalpitch { -1 3 -2 }
+       fes     = \musicalpitch { -1 3 -1 }
+       f       = \musicalpitch { -1 3 0 }
+       fis     = \musicalpitch { -1 3 1 }
+       fisis   = \musicalpitch { -1 3 2 }
+       geses   = \musicalpitch { -1 4 -2 }
+       ges     = \musicalpitch { -1 4 -1 }
+       g       = \musicalpitch { -1 4 0 }
+       gis     = \musicalpitch { -1 4 1 }
+       gisis   = \musicalpitch { -1 4 2 }
+       aeses   = \musicalpitch { -1 5 -2 }
+       ases    = \musicalpitch { -1 5 -2 }
+       aes     = \musicalpitch { -1 5 -1 }
+       as      = \musicalpitch { -1 5 -1 }
+       a       = \musicalpitch { -1 5 0 }
+       ais     = \musicalpitch { -1 5 1 }
+       aisis   = \musicalpitch { -1 5 2 }
+       beses   = \musicalpitch { -1 6 -2 }
+       bes     = \musicalpitch { -1 6 -1 }
+       b       = \musicalpitch { -1 6 0 }
+       bis     = \musicalpitch { -1 6 1 }
+       bisis   = \musicalpitch { -1 6 2 }
+
+
+       %
+       % upper case: 1 octave lower.
+       %
+
+
+       Ceses   = \musicalpitch { -2 0 -2 }
+       Ces     = \musicalpitch { -2 0 -1 }
+       C       = \musicalpitch { -2 0 0 }
+       Cis     = \musicalpitch { -2 0 1 }
+       Cisis   = \musicalpitch { -2 0 2 }
+       Deses   = \musicalpitch { -2 1 -2 }
+       Des     = \musicalpitch { -2 1 -1 }
+       D       = \musicalpitch { -2 1 0 }
+       Dis     = \musicalpitch { -2 1 1 }
+       Disis   = \musicalpitch { -2 1 2 }
+       Eses    = \musicalpitch { -2 2 -2 }
+       Es      = \musicalpitch { -2 2 -1 }
+       E       = \musicalpitch { -2 2 0 }
+       Eis     = \musicalpitch { -2 2 1 }
+       Eisis   = \musicalpitch { -2 2 2 }
+       Feses   = \musicalpitch { -2 3 -2 }
+       Fes     = \musicalpitch { -2 3 -1 }
+       F       = \musicalpitch { -2 3 0 }
+       Fis     = \musicalpitch { -2 3 1 }
+       Fisis   = \musicalpitch { -2 3 2 }
+       Geses   = \musicalpitch { -2 4 -2 }
+       Ges     = \musicalpitch { -2 4 -1 }
+       G       = \musicalpitch { -2 4 0 }
+       Gis     = \musicalpitch { -2 4 1 }
+       Gisis   = \musicalpitch { -2 4 2 }
+       Aeses   = \musicalpitch { -2 5 -2 }
+       Ases    = \musicalpitch { -2 5 -2 }
+       Aes     = \musicalpitch { -2 5 -1 }
+       As      = \musicalpitch { -2 5 -1 }
+       A       = \musicalpitch { -2 5 0 }
+       Ais     = \musicalpitch { -2 5 1 }
+       Aisis   = \musicalpitch { -2 5 2 }
+       Beses   = \musicalpitch { -2 6 -2 }
+       Bes     = \musicalpitch { -2 6 -1 }
+       B       = \musicalpitch { -2 6 0 }
+       Bis     = \musicalpitch { -2 6 1 }
+       Bisis   = \musicalpitch { -2 6 2 }
+
+
+}
+
diff --git a/ly/norsk.ly b/ly/norsk.ly
new file mode 100644 (file)
index 0000000..714eb10
--- /dev/null
@@ -0,0 +1,183 @@
+
+%      $Id: norsk.ly,v 1.1 1998/03/25 11:38:28 arvidg Exp arvidg $     
+
+%{
+
+ Common norwegian names for notes, including versions without the
+ double s-es to save typing, as well as the traditional names with
+ them not to confuse musicians.  "es" or "ess" means flat, "is" or
+ "iss" means sharp.
+
+ Otherwise, the main difference from the dutch names is the that the
+ "b" is called "h" in norwegian, while the dutch "bes" is a norwegian
+ "b".
+
+ Staying within the (proud?) naming convention for norwegian language
+ setup used in LaTeX, this file is called "norsk.ly" instead of
+ "norwegian.ly", even if all other languages' files use the english
+ name.
+
+ This file is based on "dutch.ly".  Basically, I copied "dutch.ly",
+ duplicated all lines containing at least one "is" or "es", changed
+ every other "is" into an "iss" and every other "es" into an "ess",
+ added "ass" et al, and made some b->h-related changes.  There may be
+ bugs in here; please tell me (or send patches) if you find any.
+
+                                  Arvid Gr=F8tting <arvidg@ifi.uio.no>
+
+%}
+
+\notenames {
+       ceses   = \musicalpitch { -1 0 -2 }
+       cessess = \musicalpitch { -1 0 -2 }
+       ces     = \musicalpitch { -1 0 -1 }
+       cess    = \musicalpitch { -1 0 -1 }
+       c       = \musicalpitch { -1 0 0 }
+       cis     = \musicalpitch { -1 0 1 }
+       ciss    = \musicalpitch { -1 0 1 }
+       cisis   = \musicalpitch { -1 0 2 }
+       cississ = \musicalpitch { -1 0 2 }
+       deses   = \musicalpitch { -1 1 -2 }
+       dessess = \musicalpitch { -1 1 -2 }
+       des     = \musicalpitch { -1 1 -1 }
+       dess    = \musicalpitch { -1 1 -1 }
+       d       = \musicalpitch { -1 1 0 }
+       dis     = \musicalpitch { -1 1 1 }
+       diss    = \musicalpitch { -1 1 1 }
+       disis   = \musicalpitch { -1 1 2 }
+       dississ = \musicalpitch { -1 1 2 }
+       eeses   = \musicalpitch { -1 2 -2 }
+       eessess = \musicalpitch { -1 2 -2 }
+       eses    = \musicalpitch { -1 2 -2 }
+       essess  = \musicalpitch { -1 2 -2 }
+       ees     = \musicalpitch { -1 2 -1 }
+       eess    = \musicalpitch { -1 2 -1 }
+       es      = \musicalpitch { -1 2 -1 }
+       ess     = \musicalpitch { -1 2 -1 }
+       e       = \musicalpitch { -1 2 0 }
+       eis     = \musicalpitch { -1 2 1 }
+       eiss    = \musicalpitch { -1 2 1 }
+       eisis   = \musicalpitch { -1 2 2 }
+       eississ = \musicalpitch { -1 2 2 }
+       feses   = \musicalpitch { -1 3 -2 }
+       fessess = \musicalpitch { -1 3 -2 }
+       fes     = \musicalpitch { -1 3 -1 }
+       fess    = \musicalpitch { -1 3 -1 }
+       f       = \musicalpitch { -1 3 0 }
+       fis     = \musicalpitch { -1 3 1 }
+       fiss    = \musicalpitch { -1 3 1 }
+       fisis   = \musicalpitch { -1 3 2 }
+       fississ = \musicalpitch { -1 3 2 }
+       geses   = \musicalpitch { -1 4 -2 }
+       gessess = \musicalpitch { -1 4 -2 }
+       ges     = \musicalpitch { -1 4 -1 }
+       gess    = \musicalpitch { -1 4 -1 }
+       g       = \musicalpitch { -1 4 0 }
+       g       = \musicalpitch { -1 4 0 }
+       gis     = \musicalpitch { -1 4 1 }
+       giss    = \musicalpitch { -1 4 1 }
+       gisis   = \musicalpitch { -1 4 2 }
+       gississ = \musicalpitch { -1 4 2 }
+       aeses   = \musicalpitch { -1 5 -2 }
+       aessess = \musicalpitch { -1 5 -2 }
+       ases    = \musicalpitch { -1 5 -2 }
+       assess  = \musicalpitch { -1 5 -2 }
+       aes     = \musicalpitch { -1 5 -1 }
+       aess    = \musicalpitch { -1 5 -1 }
+       as      = \musicalpitch { -1 5 -1 }
+       ass     = \musicalpitch { -1 5 -1 }
+       a       = \musicalpitch { -1 5 0 }
+       ais     = \musicalpitch { -1 5 1 }
+       aiss    = \musicalpitch { -1 5 1 }
+       aisis   = \musicalpitch { -1 5 2 }
+       aississ = \musicalpitch { -1 5 2 }
+       bes     = \musicalpitch { -1 6 -2 }
+       bess    = \musicalpitch { -1 6 -2 }
+       b       = \musicalpitch { -1 6 -1 }
+       b       = \musicalpitch { -1 6 -1 }
+       h       = \musicalpitch { -1 6 0 }
+       his     = \musicalpitch { -1 6 1 }
+       hiss    = \musicalpitch { -1 6 1 }
+       hisis   = \musicalpitch { -1 6 2 }
+       hississ = \musicalpitch { -1 6 2 }
+
+
+       %
+       % upper case: 1 octave lower, as usual.
+       %
+
+
+       Ceses   = \musicalpitch { -2 0 -2 }
+       Cessess = \musicalpitch { -2 0 -2 }
+       Ces     = \musicalpitch { -2 0 -1 }
+       Cess    = \musicalpitch { -2 0 -1 }
+       C       = \musicalpitch { -2 0 0 }
+       Cis     = \musicalpitch { -2 0 1 }
+       Ciss    = \musicalpitch { -2 0 1 }
+       Cisis   = \musicalpitch { -2 0 2 }
+       Cississ = \musicalpitch { -2 0 2 }
+       Deses   = \musicalpitch { -2 1 -2 }
+       Dessess = \musicalpitch { -2 1 -2 }
+       Des     = \musicalpitch { -2 1 -1 }
+       Dess    = \musicalpitch { -2 1 -1 }
+       D       = \musicalpitch { -2 1 0 }
+       D       = \musicalpitch { -2 1 0 }
+       Dis     = \musicalpitch { -2 1 1 }
+       Diss    = \musicalpitch { -2 1 1 }
+       Disis   = \musicalpitch { -2 1 2 }
+       Dississ = \musicalpitch { -2 1 2 }
+       Eses    = \musicalpitch { -2 2 -2 }
+       Essess  = \musicalpitch { -2 2 -2 }
+       Es      = \musicalpitch { -2 2 -1 }
+       Ess     = \musicalpitch { -2 2 -1 }
+       E       = \musicalpitch { -2 2 0 }
+       E       = \musicalpitch { -2 2 0 }
+       Eis     = \musicalpitch { -2 2 1 }
+       Eiss    = \musicalpitch { -2 2 1 }
+       Eisis   = \musicalpitch { -2 2 2 }
+       Eississ = \musicalpitch { -2 2 2 }
+       Feses   = \musicalpitch { -2 3 -2 }
+       Fessess = \musicalpitch { -2 3 -2 }
+       Fes     = \musicalpitch { -2 3 -1 }
+       Fess    = \musicalpitch { -2 3 -1 }
+       F       = \musicalpitch { -2 3 0 }
+       Fis     = \musicalpitch { -2 3 1 }
+       Fiss    = \musicalpitch { -2 3 1 }
+       Fisis   = \musicalpitch { -2 3 2 }
+       Fississ = \musicalpitch { -2 3 2 }
+       Geses   = \musicalpitch { -2 4 -2 }
+       Gessess = \musicalpitch { -2 4 -2 }
+       Ges     = \musicalpitch { -2 4 -1 }
+       Gess    = \musicalpitch { -2 4 -1 }
+       G       = \musicalpitch { -2 4 0 }
+       Gis     = \musicalpitch { -2 4 1 }
+       Giss    = \musicalpitch { -2 4 1 }
+       Gisis   = \musicalpitch { -2 4 2 }
+       Gississ = \musicalpitch { -2 4 2 }
+       Aeses   = \musicalpitch { -2 5 -2 }
+       Aessess = \musicalpitch { -2 5 -2 }
+       Ases    = \musicalpitch { -2 5 -2 }
+       Assess  = \musicalpitch { -2 5 -2 }
+       Aes     = \musicalpitch { -2 5 -1 }
+       Aess    = \musicalpitch { -2 5 -1 }
+       As      = \musicalpitch { -2 5 -1 }
+       Ass     = \musicalpitch { -2 5 -1 }
+       A       = \musicalpitch { -2 5 0 }
+       A       = \musicalpitch { -2 5 0 }
+       Ais     = \musicalpitch { -2 5 1 }
+       Aiss    = \musicalpitch { -2 5 1 }
+       Aisis   = \musicalpitch { -2 5 2 }
+       Aississ = \musicalpitch { -2 5 2 }
+       Bes     = \musicalpitch { -2 6 -2 }
+       Bess    = \musicalpitch { -2 6 -2 }
+       B       = \musicalpitch { -2 6 -1 }
+       H       = \musicalpitch { -2 6 0 }
+       His     = \musicalpitch { -2 6 1 }
+       Hiss    = \musicalpitch { -2 6 1 }
+       Hisis   = \musicalpitch { -2 6 2 }
+       Hississ = \musicalpitch { -2 6 2 }
+
+}
+
+
+
diff --git a/ly/paper.ly b/ly/paper.ly
new file mode 100644 (file)
index 0000000..794a69b
--- /dev/null
@@ -0,0 +1,9 @@
+% paper.ly
+
+linewidth20 = \hsize - 2.5 * \staffheight;
+textheight20 = \vsize - 5.0 * \staffheight;
+linewidth = \staffheight/20.0 * \linewidth20;
+textheight = \staffheight/20.0 * \textheight20;
+
+indent = \linewidth / 14.0;
+
diff --git a/ly/paper11.ly b/ly/paper11.ly
new file mode 100644 (file)
index 0000000..8dc410b
--- /dev/null
@@ -0,0 +1,18 @@
+% paper11.ly
+
+
+paper_eleven = \paper {
+       staffheight = 11.0\pt;
+
+        % ugh see table11 for sizes
+       quartwidth = 3.63\pt;
+       wholewidth = 5.45\pt;
+
+       arithmetic_basicspace = 2.;
+        arithmetic_multiplier = 4.8\pt;
+       
+       0=\font "feta11"
+
+       \include "params.ly";
+}
+
diff --git a/ly/paper13.ly b/ly/paper13.ly
new file mode 100644 (file)
index 0000000..fa73ad3
--- /dev/null
@@ -0,0 +1,17 @@
+% paper13.ly
+
+paper_thirteen = \paper {
+       staffheight = 13.0\pt;
+
+       % ugh see table13 for sizes
+       quartwidth = 4.29\pt;
+       wholewidth = 6.44\pt;
+
+
+       arithmetic_basicspace = 2.;
+        arithmetic_multiplier = 4.8\pt;
+       
+       0=\font "feta13"
+       \include "params.ly";
+}
+
diff --git a/ly/paper16.ly b/ly/paper16.ly
new file mode 100644 (file)
index 0000000..8a40d38
--- /dev/null
@@ -0,0 +1,35 @@
+% paper16.ly
+
+
+
+\version "1.0.14";
+
+paper_sixteen = \paper {
+       staffheight = 16.0\pt;
+
+       % ugh, see table16 for sizes
+       quartwidth = 5.28\pt;
+       wholewidth = 7.92\pt;
+       
+       font_large = 12.;
+       font_Large = 10.;
+       font_normal = 8.;
+       font_finger = 4.;
+       "font_number-1" = 5.;
+       
+
+       
+
+       arithmetic_basicspace = 2.;
+        arithmetic_multiplier = 4.8\pt;
+       texsetting = "\\input lilyponddefs \\musixsixteendefs ";
+       pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
+       scmsetting = "(display \"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\");\n";
+       scmsetting = "(display \"\\\\input lilyponddefs \\\\musixsixteendefs\");\n";
+
+       0 = \font "feta16" 
+       -1 = \font "feta13"
+       -2 = \font "feta11"
+       
+       \include "params.ly";
+}
diff --git a/ly/paper20.ly b/ly/paper20.ly
new file mode 100644 (file)
index 0000000..2f4958a
--- /dev/null
@@ -0,0 +1,34 @@
+% paper20.ly
+
+
+\version "1.0.14";
+
+paper_twenty = \paper {
+       staffheight = 20.0\pt;
+
+       font_large = 12.;
+       font_Large = 12.;       
+       font_normal = 10.;
+       font_finger = 5.;
+       "font_number-1" = 7.;
+       
+       % ugh see table20 for sizes
+       quartwidth =  6.61\pt;
+       wholewidth = 9.90\pt;
+
+
+       arithmetic_basicspace = 2.;
+        arithmetic_multiplier = 6.\pt;
+       texsetting = "\\input lilyponddefs \\musixtwentydefs ";
+       pssetting = "(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\n";
+       % urg, debugging only
+       scmsetting = "(display \"(lilyponddefs.ps) findlibfile {exch pop //systemdict /run get exec} { /undefinedfilename signalerror } ifelse\");\n";
+       scmsetting = "(display \"\\\\input lilyponddefs \\\\musixtwentydefs\");\n";
+
+       -2 = \font "feta13"
+       -1 = \font "feta16"
+       0 = \font "feta20"
+
+       \include "params.ly";
+}
+
diff --git a/ly/paper26.ly b/ly/paper26.ly
new file mode 100644 (file)
index 0000000..67640bd
--- /dev/null
@@ -0,0 +1,18 @@
+% paper26.ly
+
+paper_twentysix = \paper {
+       staffheight = 26.0\pt;
+
+       % ugh see table26 for sizes
+       quartwidth = 8.59\pt;
+       wholewidth = 12.87\pt;
+
+       arithmetic_basicspace = 2.;
+        arithmetic_multiplier = 6.\pt;
+       
+       0=\font "feta26"
+       \include "params.ly";
+       linewidth = \linewidth20;
+       textheight = \textheight20;
+}
+
diff --git a/ly/params.ly b/ly/params.ly
new file mode 100644 (file)
index 0000000..1989c2b
--- /dev/null
@@ -0,0 +1,115 @@
+% params.ly
+% generic paper parameters
+
+paperfile = \papersize + ".ly";
+% paperfile = "a4.ly";
+\include \paperfile;
+\include "paper.ly";
+
+interline = \staffheight / 4.0;
+
+
+% thickness of stafflines
+staffline = \interline / 10.0;
+
+beam_thickness = 0.52 * (\interline - \staffline);
+interbeam = (2.0 * \interline - \beam_thickness) / 2.0;
+interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
+
+% stems and beams
+%
+% poor man's array size
+stem_max = 3.0;
+%
+stem_length0 = 3.5*\interline;
+stem_length1 = 2.5 * \interline;
+stem_length2 = 2.0 * \interline;
+stem_length3 = 1.5 * \interline;
+
+% only used for beams
+minimum_stem_length0 = 0.0; % not used
+minimum_stem_length1 = 1.5 * \interline;
+minimum_stem_length2 = 1.25 * \interline;
+minimum_stem_length3 = 1.0 * \interline;
+
+% stems in unnatural (forced) direction should be shortened,
+% according to [Roush & Gourlay].  Their suggestion to knock off
+% a whole staffspace seems a bit drastical: we'll do half.
+%
+forced_stem_shorten0 = 0.5 * \interline;
+forced_stem_shorten1 = \forced_stem_shorten0;
+forced_stem_shorten2 = \forced_stem_shorten1;
+forced_stem_shorten3 = \forced_stem_shorten2;
+
+% there are several ways to calculate the direction of a beam
+% 
+% * MAJORITY : number count of up or down notes
+% * MEAN     : mean centre distance of all notes
+% * MEDIAN   : mean centre distance weighted per note
+%
+% enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
+%
+DOWN = -1.0;
+UP = 1.0;
+MAJORITY = 2.0;
+MEAN = 3.0;
+MEDIAN = 4.0;
+% [Ross]: majority
+beam_dir_algorithm = \MAJORITY;
+
+% catch suspect beam slopes, set slope to zero if
+% outer stem is lengthened more than
+beam_lengthened = 0.2 * \interline;
+% and slope is running away steeper than
+beam_steep_slope = 0.2 / 1.0;
+
+% OSU: suggested gap = ss / 5;
+slur_x_gap = \interline / 5.0;
+slur_x_minimum = 2.0 * \interline;
+slur_slope_damping = 0.5;
+tie_x_minimum = \slur_x_minimum;
+tie_x_gap = \slur_x_gap;
+tie_slope_damping = 0.3;
+
+% ugh: rename to bow (in bezier.cc and fonts.doc too...)
+% slur_thickness = 1.8 * \staffline;
+slur_thickness = 1.4 * \staffline;
+slur_height_limit = \staffheight;
+
+% mmm, try bit flatter slurs
+% slur_ratio = 1.0 / 3.0;
+slur_ratio = 0.3;
+slur_clip_ratio = 1.2;
+slur_clip_height = 3.0 * \staffheight;
+slur_clip_angle = 100.0;
+slur_rc_factor = 2.4;
+
+% ugh
+notewidth = (\quartwidth + \wholewidth) / 2.0;
+
+% ugh
+barsize = \staffheight;
+rulethickness = \staffline;
+stemthickness = \staffline;
+
+
+gourlay_energybound = 100000.;
+%{
+The following bounds the number of measures
+on a line.  Decreasing it greatly reduces computation time
+%}
+gourlay_maxmeasures = 10.;
+castingalgorithm = \Gourlay;
+
+%{
+Ross. page 151
+%}
+bar_kern = 0.5 * \interline;
+bar_thinkern = 0.75 * \interline;
+barthick_thick = 0.5* \interline;
+barthick_thin = 0.1*\interline;
+
+
+\include "engraver.ly";
+
+
diff --git a/ly/part-paper.ly b/ly/part-paper.ly
new file mode 100644 (file)
index 0000000..162984e
--- /dev/null
@@ -0,0 +1,9 @@
+%part-paper.ly
+
+\paper {
+       \translator { \OrchestralPartStaffContext }
+       \translator { \ScoreContext skipBars = 1; }
+       % for simple testing only!
+%      castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn
+}
+
diff --git a/ly/performer.ly b/ly/performer.ly
new file mode 100644 (file)
index 0000000..105243f
--- /dev/null
@@ -0,0 +1,68 @@
+%
+% setup for Request->Element conversion. Guru-only
+%
+\translator {
+       \type "Staff_performer";
+       \accepts Voice;
+       \name Staff;
+       \consists "Key_performer";
+       \consists "Time_signature_performer";
+}
+
+\translator
+{
+       \type "Performer_group_performer";
+       \name Thread ;
+       \consists "Note_performer";
+}
+\translator
+{
+       \type "Performer_group_performer";
+       \accepts Thread;
+\name Voice;
+}
+\translator
+{
+       \type "Performer_group_performer";
+       \accepts Staff;
+
+\name GrandStaff;}
+
+\translator {
+       \type "Performer_group_performer";
+       \consists "Lyric_performer";
+\name LyricVoice;
+}
+
+\translator{
+       \type "Performer_group_performer";
+       \name ChoirStaff;
+       \accepts Staff;
+}
+\translator { 
+       \type "Staff_performer";
+       \accepts LyricVoice;
+       \name Lyrics;
+       \consists "Time_signature_performer";
+}
+\translator
+{
+       \type Performer_group_performer;
+
+       \name StaffGroup;
+       \accepts Staff;
+}
+\translator {
+       \type "Score_performer";
+
+
+       \name Score;
+       instrument = piano;
+       \accepts Staff;
+       \accepts GrandStaff;
+       \accepts Lyrics; 
+       \accepts StaffGroup;
+       \accepts ChoirStaff;
+       \consists "Swallow_performer";
+}
+
diff --git a/ly/property.ly b/ly/property.ly
new file mode 100644 (file)
index 0000000..d572351
--- /dev/null
@@ -0,0 +1,274 @@
+% property.ly
+% list of properties that lily recognises
+% and some shorthands (ugh)
+
+%{
+
+PROPERTIES
+
+name                   value   effect                  shorthand
+
+[Voice]
+ydirection             -1      force stem down         \stemdown
+ydirection             0       stem direction free     \stemboth
+ydirection             1       force stem up           \stemup
+
+pletvisibility         0       show nothing
+pletvisibility         1       show number
+pletvisibility         2       show (number and bracket)-if-no-beam
+pletvisibility         3       show number, and bracket-if-no-beam
+pletvisibility         4       show number, and bracket
+
+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
+
+textalignment          -1      left alignment of text
+textalignment          0       center alignment of text
+textalignment          1       right alignment of text
+
+[Score?]
+beamslopedamping       0       no damping              \beamslopeproportional  
+beamslopedamping       1       damping1)               \beamslopedamped
+beamslopedamping       100000  zero slope              \beamslopezero
+
+[Score?]
+beamquantisation       0       no quantisations        \beamposfree
+beamquantisation       1       quantise pos and slope  \beamposnormal
+beamquantisation       2       quantise avoide wedge2) \beampostraditional
+
+[Staff]
+keyoctaviation 0       Key signature only for specified octave \specialkey
+keyoctaviation 1       Key signature for all octaves   \normalkey
+
+[Staff]
+barAlways              0       none
+barAlways              1       generate bar at every moment
+
+[Staff]
+barAuto                        0       none
+barAuto                        1       auto-generate bar every measure
+
+[Staff]
+beamAuto                0/1     auto-beam on/off
+beamAutoEnd            "num/den"    end auto-beam
+beamAutoEnd8           "num/den"    end auto-beam of 8ths
+beamAutoEnd16          "num/den"    end auto-beam of 16ths
+
+timeSignatureStyle     C       Use C and stroked C for 4/4,2/2
+timeSignatureStyle     old     Use old style mensuration marks
+timeSignatureStyle     1       Use single number
+timeSignatureStyle     ""      Use normal two-digit time signature
+timeSignatureStyle     Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
+timeSignatureStyle     oldn/m  Set symbol explicitly,
+                               n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
+[Staff]
+voltaVisibility         0/1     on/off
+
+[Staff?]
+instrument             ascii   midi instrument table lookup
+
+[Score]
+chordInversion         0/1     Find and display chord with inversion?
+
+
+1) after beam slope damping table suggested in [Wanske]
+2) [Wanske] as well as [Ross] suggests that beams sloped upward must not 
+   start sitting on a staffline, and beams sloped downward must not hang 
+   from a staffline (similar for beam-ends).  This would create a wedge
+   that is traditionally being avoided because it could easily be filled-up 
+   with ink.
+   However, avoiding these wedges restricts the freedom of beams quite a lot 
+   while they don't seem to be a problem in modern printing.
+   In no piece of sheetmusic engraved after 1953 (Baerenreiter) i've seen 
+   these wedges being avoided.
+
+%}
+
+%hmm, (these) abbrevs suck, imo
+% i guess they're meant as some form of doco
+% that's what i use them for...
+stemup = 
+       \property Voice.ydirection = \up 
+stemboth=      \property Voice.ydirection = \center
+stemdown =     \property Voice.ydirection = \down
+
+slurup = \notes {
+       s1*0
+       \property Voice.slurydirection = \up 
+       }
+slurboth= \notes {
+       s1*0
+       \property Voice.slurydirection = \center
+}
+slurdown = \notes {    
+       s1*0
+       \property Voice.slurydirection = \down
+}
+
+shifton =      \property Voice.hshift = 1
+shiftoff =     \property Voice.hshift = 0
+
+onevoice = {   
+       \stemboth \shiftoff     
+}
+
+voiceone = {   
+       \type Voice = one 
+       \stemup
+}
+
+voicetwo = {   
+       \type Voice = two
+       \stemdown
+}
+
+voicethree = {         
+       \type Voice = three
+       \stemup
+
+}
+
+voicefour = {  
+       \type Voice = four
+       \stemdown
+       \shifton
+}
+
+onestaff = {   
+       \translator Staff=one
+}
+
+staffone = {   
+       \translator Staff=one
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+stafftwo = {   
+       \translator Staff=two
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+staffthree = {         
+       \translator Staff=three
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+stafffour = {  
+       \translator Staff=four
+       \property Staff.ydirection = \center
+       \property Staff.hshift = 0
+}
+
+% ugh, cluttering global namespace...
+none=0
+free=0
+normal=1
+traditional=2
+infinity=10000
+
+beamslopeproportional = {
+       \property Score.beamslopedamping = \none
+}
+
+beamslopedamped = {
+       \property Score.beamslopedamping = \normal
+}
+
+beamslopezero = {
+       \property Score.beamslopedamping = \infinity
+}
+
+% this sucks, you'd want to pass an array, at least
+% (or embedded code: you still can't dictate the slope / stemlength)
+beamposfree = {
+       \property Score.beamquantisation = \none
+}
+
+beamposnormal = {
+       \property Score.beamquantisation = \normal
+}
+
+beampostraditional = {
+       \property Score.beamquantisation = \traditional
+}
+
+slurnormal = {
+       \property Voice.slurdash = 0
+}
+
+slurdotted = {
+       \property Voice.slurdash = 1
+}
+
+%{
+ for grace note hack, see input/test/grace.ly
+%}
+pletoff = {
+       \property Voice.pletvisibility = 0
+}
+pleton = {
+       \property Voice.pletvisibility = 3
+}
+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 = 3
+}
+%}
+
+normalkey = {
+       \property Staff.keyoctaviation = 1
+}
+
+specialkey = {
+       \property Staff.keyoctaviation = 0
+}
+
diff --git a/ly/script.ly b/ly/script.ly
new file mode 100644 (file)
index 0000000..7c96a45
--- /dev/null
@@ -0,0 +1,65 @@
+
+% name = \script {
+% indexstring follow_into_staff same_dir_as_stem above_below_staff symbol_can_beinverted priority }
+%
+
+thumb = \script { "thumb" 0 0 1 0 0 }
+accent = \script { "sforzato"  0 -1 0 0 0 }
+marcato = \script { "marcato" 0 -1 0 1  0 }
+staccatissimo = \script { "staccatissimo" 0  -1 0 1 0 }
+portato= \script { "portato" 0 -1 0 1 0 }
+fermata = \script { "fermata" 0 1 0 1 0 }
+stopped = \script { "stopped" 0 0 1 0 0 }
+staccato = \script { "staccato" 1 -1 0 0 0 }
+tenuto = \script {"tenuto" 1 -1 0 0 0 }
+upbow = \script { "upbow" 0 0 1 0 0 }
+downbow = \script { "downbow" 0 0 1 0 0 }
+lheel = \script { "upedalheel" 0 0 -1  0 0 }
+rheel = \script { "dpedalheel" 0 0 1 0 0 }
+ltoe = \script { "upedaltoe" 0 0 -1 0 0 }
+rtoe = \script { "dpedaltoe" 0 0 1 0 0 }
+turn = \script { "turn" 0 0 1 0 0 }
+open = \script { "open" 0 0 1 0 0 }
+flageolet = \script { "flageolet"  0 0 1 0 0 }
+reverseturn = \script { "reverseturn"   0 0 1 0 0 }
+
+
+% could  we do without this bloat?
+%
+lbheel = \script { "bheel" 0 0 -1  0 0 }
+rbheel = \script { "bheel" 0 0 1 0 0 }
+lbtoe = \script { "btoe" 0 0 -1 0 0 }
+rbtoe = \script { "btoe" 0 0 1 0 0 }
+lfheel = \script { "fheel" 0 0 -1  0 0 }
+rfheel = \script { "fheel" 0 0 1 0 0 }
+lftoe = \script { "ftoe" 0 0 -1 0 0 }
+rftoe = \script { "ftoe" 0 0 1 0 0 }
+
+%
+% left toe:      right heel:
+%
+%                    u     -
+%                    -     u
+%  ---|-----|--   --|x----|x--
+%  ---|-----|--   --|-----|---
+%  --x|----x|--   --|-----|---
+%    ^     -                   
+%    -     ^                   
+%  back  front     back  front
+%
+% 
+% heu, me thought for a moment that order in table_xxx.ly was
+% being translated into priority...
+back = \script { "back" 0 -1 -1  0 0 }
+front = \script { "front" 0 -1 1 0 0 }
+
+trill =\script { "trill" 0 0 1 0 
+       2000   % be above text. 
+}
+
+prall =\script { "prall" 0 0 1 0 0 }
+mordent =\script { "mordent" 0 0 1 0 0 }
+prallprall =\script { "prallprall" 0 0 1 0 0 }
+prallmordent =\script { "prallmordent" 0 0 1 0 0 }
+upprall =\script { "upprall" 0 0 1 0 0 }
+downprall =\script { "downprall" 0 0 1 0 0 }
diff --git a/ly/svenska.ly b/ly/svenska.ly
new file mode 100644 (file)
index 0000000..d5422ce
--- /dev/null
@@ -0,0 +1,86 @@
+%
+% common Swedish names for notes. "ess" means flat, "iss" means sharp
+%
+% by Mats Bengtsson.
+
+\notenames {
+       cessess = \musicalpitch { -1 0 -2 }
+       cess    = \musicalpitch { -1 0 -1 }
+       c       = \musicalpitch { -1 0 0 }
+       ciss    = \musicalpitch { -1 0 1 }
+       cississ = \musicalpitch { -1 0 2 }
+       dessess = \musicalpitch { -1 1 -2 }
+       dess    = \musicalpitch { -1 1 -1 }
+       d       = \musicalpitch { -1 1 0 }
+       diss    = \musicalpitch { -1 1 1 }
+       dississ = \musicalpitch { -1 1 2 }
+       essess  = \musicalpitch { -1 2 -2 }
+       ess     = \musicalpitch { -1 2 -1 }
+       e       = \musicalpitch { -1 2 0 }
+       eiss    = \musicalpitch { -1 2 1 }
+       eississ = \musicalpitch { -1 2 2 }
+       fessess = \musicalpitch { -1 3 -2 }
+       fess    = \musicalpitch { -1 3 -1 }
+       f       = \musicalpitch { -1 3 0 }
+       fiss    = \musicalpitch { -1 3 1 }
+       fississ = \musicalpitch { -1 3 2 }
+       gessess = \musicalpitch { -1 4 -2 }
+       gess    = \musicalpitch { -1 4 -1 }
+       g       = \musicalpitch { -1 4 0 }
+       giss    = \musicalpitch { -1 4 1 }
+       gississ = \musicalpitch { -1 4 2 }
+       assess  = \musicalpitch { -1 5 -2 }
+       ass     = \musicalpitch { -1 5 -1 }
+       a       = \musicalpitch { -1 5 0 }
+       aiss    = \musicalpitch { -1 5 1 }
+       aississ = \musicalpitch { -1 5 2 }
+       hessess = \musicalpitch { -1 6 -2 }
+       b       = \musicalpitch { -1 6 -1 }
+       h       = \musicalpitch { -1 6 0 }
+       hiss    = \musicalpitch { -1 6 1 }
+       hississ = \musicalpitch { -1 6 2 }
+
+
+       %
+       % upper case: 1 octave lower.
+       %
+
+
+       Cessess = \musicalpitch { -2 0 -2 }
+       Cess    = \musicalpitch { -2 0 -1 }
+       C       = \musicalpitch { -2 0 0 }
+       Ciss    = \musicalpitch { -2 0 1 }
+       Cississ = \musicalpitch { -2 0 2 }
+       Dessess = \musicalpitch { -2 1 -2 }
+       Dess    = \musicalpitch { -2 1 -1 }
+       D       = \musicalpitch { -2 1 0 }
+       Diss    = \musicalpitch { -2 1 1 }
+       Dississ = \musicalpitch { -2 1 2 }
+       Essess  = \musicalpitch { -2 2 -2 }
+       Ess     = \musicalpitch { -2 2 -1 }
+       E       = \musicalpitch { -2 2 0 }
+       Eiss    = \musicalpitch { -2 2 1 }
+       Eississ = \musicalpitch { -2 2 2 }
+       Fessess = \musicalpitch { -2 3 -2 }
+       Fess    = \musicalpitch { -2 3 -1 }
+       F       = \musicalpitch { -2 3 0 }
+       Fiss    = \musicalpitch { -2 3 1 }
+       Fississ = \musicalpitch { -2 3 2 }
+       Gessess = \musicalpitch { -2 4 -2 }
+       Gess    = \musicalpitch { -2 4 -1 }
+       G       = \musicalpitch { -2 4 0 }
+       Giss    = \musicalpitch { -2 4 1 }
+       Gississ = \musicalpitch { -2 4 2 }
+       Assess  = \musicalpitch { -2 5 -2 }
+       Ass     = \musicalpitch { -2 5 -1 }
+       A       = \musicalpitch { -2 5 0 }
+       Aiss    = \musicalpitch { -2 5 1 }
+       Aississ = \musicalpitch { -2 5 2 }
+       Hessess = \musicalpitch { -2 6 -2 }
+       B       = \musicalpitch { -2 6 -1 }
+       H       = \musicalpitch { -2 6 0 }
+       Hiss    = \musicalpitch { -2 6 1 }
+       Hississ = \musicalpitch { -2 6 2 }
+
+
+}
index 8809726e7c41abbda6e415e2e3b3df47b37af4fb..5c53037cd5164e9ffe92721adbcba306488da53a 100644 (file)
@@ -1,6 +1,6 @@
 
 export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
 export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(MFINPUTS)$(PATHSEP)$(PATHSEP)
-export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(topdir)/ps/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)$(PATHSEP)
-export LILYINCLUDE:=$(topdir)/scm$(PATHSEP)$(topdir)/init$(PATHSEP)$(topdir)/mf/out$(PATHSEP)$(LILYINCLUDE)
+export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(topdir)/ps/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)..$(PATHSEP)$(PATHSEP)
+export LILYINCLUDE:=$(topdir)/scm$(PATHSEP)$(topdir)/ly$(PATHSEP)$(topdir)/mf/out$(PATHSEP)$(PATHSEP)$(topdir)/tfm:$(LILYINCLUDE)
 
index 55fb08b15a8523d924a74ff2988cb0586910c3ac..291318a82dde64c6cc3c8a29692ec9fa82a1b860 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.23
-Inschrijf datum: 20JAN99
+Versie: 1.1.24
+Inschrijf datum: 25JAN99
 Beschrijving: @FLAPTEKST@
 Trefwoorden: muziek typezetten midi notatie
 Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       770k lilypond-1.1.23.tar.gz 
+       770k lilypond-1.1.24.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.23.tar.gz 
+       770k lilypond-1.1.24.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index e75b2cef3e33461221586f9fb62af35933adbed6..ad9601aeb722f3e0ef51791e48da36293f684a0a 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.23
-Entered-date: 20JAN99
+Version: 1.1.24
+Entered-date: 25JAN99
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.1.23.tar.gz 
+       770k lilypond-1.1.24.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.23.tar.gz 
+       770k lilypond-1.1.24.tar.gz 
 Copying-policy: GPL
 End
index 553585de9f9192015a94c31d9333fa2c170247f8..1ae0955c19b96041cc629d7c8609751b23ae036a 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.23
+Version: 1.1.24
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.23.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.24.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index 43374bd1ba20a85b5511650ae38f9bdf1958adbd..aefe381a0df6c605082a923c9d22fe80cc71e53d 100644 (file)
@@ -9,7 +9,7 @@ depth = .
 # descent order into subdirectories:
 #
 SUBDIRS = scripts buildscripts  flower lib lily mf mi2mu po debian \
-       Documentation init input tex make mutopia test intl stepmake\
+       Documentation ly input tex make mutopia test intl stepmake\
        ps  scm
 #
 
index b533da3a4fb410c39b43a7e1a7f5b8c8920bf97e..69c1f018d9d5517818cb5d4d72a4d5b8b089a3b7 100644 (file)
@@ -12,10 +12,8 @@ FET_FILES = $(wildcard feta[0-9]*.mf) feta-din10.mf \
 LYTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.ly))
 LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
 TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
-AFM_IN_FILES = $(wildcard *.afm.in)
-AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) \
-  $(addprefix $(outdir)/, $(AFM_IN_FILES:.in=))
 XPM_FONTS = feta20
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) 
 
 ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES)
 
diff --git a/mf/cmbx12.afm.in b/mf/cmbx12.afm.in
deleted file mode 100644 (file)
index 845e102..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0;   Character-0; B 0.00 0.00        9.83040 7.19440 
-C 1;   Character-1; B 0.00 0.00        9.83040 7.19440 
-C 2;   Character-2; B 0.00 0.00        9.17504 7.19440 
-C 3;   Character-3; B 0.00 0.00        8.25269 7.19440 
-C 4;   Character-4; B 0.00 0.00        7.86432 7.19440 
-C 5;   Character-5; B 0.00 0.00        9.22360 7.19440 
-C 6;   Character-6; B 0.00 0.00        8.51968 7.19440 
-C 7;   Character-7; B 0.00 0.00        9.17504 7.19440 
-C 8;   Character-8; B 0.00 0.00        8.51968 7.19440 
-C 9;   Character-9; B 0.00 0.00        9.17504 7.19440 
-C 10;  Character-10; B 0.00 0.00       8.51968 7.19440 
-C 11;  Character-11; B 0.00 0.00       6.88128 7.28177 
-C 12;  Character-12; B 0.00 0.00       6.55360 7.28177 
-C 13;  Character-13; B 0.00 0.00       6.55360 7.28177 
-C 14;  Character-14; B 0.00 0.00       9.83040 7.28177 
-C 15;  Character-15; B 0.00 0.00       9.83040 7.28177 
-C 16;  Character-16; B 0.00 0.00       3.27680 4.66033 
-C 17;  Character-17; B 0.00 0.00       3.60448 4.66033 
-C 18;  Character-18; B 0.00 0.00       5.89824 7.28177 
-C 19;  Character-19; B 0.00 0.00       5.89824 7.28177 
-C 20;  Character-20; B 0.00 0.00       5.89824 6.62641 
-C 21;  Character-21; B 0.00 0.00       5.89824 7.28177 
-C 22;  Character-22; B 0.00 0.00       5.89824 6.21473 
-C 23;  Character-23; B 0.00 0.00       8.90805 7.28177 
-C 24;  Character-24; B 0.00 0.00       5.24288 0 
-C 25;  Character-25; B 0.00 0.00       6.01961 7.28177 
-C 26;  Character-26; B 0.00 0.00       8.51968 4.66033 
-C 27;  Character-27; B 0.00 0.00       9.17504 4.66033 
-C 28;  Character-28; B 0.00 0.00       5.89824 5.67979 
-C 29;  Character-29; B 0.00 0.00       10.67995 7.19440 
-C 30;  Character-30; B 0.00 0.00       11.99067 7.19440 
-C 31;  Character-31; B 0.00 0.00       9.17504 7.70412 
-C 32;  Character-32; B 0.00 0.00       3.27680 4.66033 
-C 33;  Character-33; B 0.00 0.00       3.59235 7.28177 
-C 34;  Character-34; B 0.00 0.00       6.09243 7.28177 
-C 35;  Character-35; B 0.00 0.00       9.83040 7.28177 
-C 36;  Character-36; B 0.00 0.00       5.89824 7.86432 
-C 37;  Character-37; B 0.00 0.00       9.83040 7.86432 
-C 38;  Character-38; B 0.00 0.00       9.17504 7.28177 
-C 39;  Character-39; B 0.00 0.00       3.27680 7.28177 
-C 40;  Character-40; B 0.00 0.00       4.58752 7.86432 
-C 41;  Character-41; B 0.00 0.00       4.58752 7.86432 
-C 42;  Character-42; B 0.00 0.00       5.89824 7.86432 
-C 43;  Character-43; B 0.00 0.00       9.17504 6.55360 
-C 44;  Character-44; B 0.00 0.00       3.27680 1.50491 
-C 45;  Character-45; B 0.00 0.00       3.93216 4.66033 
-C 46;  Character-46; B 0.00 0.00       3.27680 1.50491 
-C 47;  Character-47; B 0.00 0.00       5.89824 7.86432 
-C 48;  Character-48; B 0.00 0.00       5.89824 6.75749 
-C 49;  Character-49; B 0.00 0.00       5.89824 6.75749 
-C 50;  Character-50; B 0.00 0.00       5.89824 6.75749 
-C 51;  Character-51; B 0.00 0.00       5.89824 6.75749 
-C 52;  Character-52; B 0.00 0.00       5.89824 6.75749 
-C 53;  Character-53; B 0.00 0.00       5.89824 6.75749 
-C 54;  Character-54; B 0.00 0.00       5.89824 6.75749 
-C 55;  Character-55; B 0.00 0.00       5.89824 6.75749 
-C 56;  Character-56; B 0.00 0.00       5.89824 6.75749 
-C 57;  Character-57; B 0.00 0.00       5.89824 6.75749 
-C 58;  Character-58; B 0.00 0.00       3.27680 4.66033 
-C 59;  Character-59; B 0.00 0.00       3.27680 4.66033 
-C 60;  Character-60; B 0.00 0.00       3.59235 5.24288 
-C 61;  Character-61; B 0.00 0.00       9.17504 4.05159 
-C 62;  Character-62; B 0.00 0.00       5.57056 5.24288 
-C 63;  Character-63; B 0.00 0.00       5.57056 7.28177 
-C 64;  Character-64; B 0.00 0.00       9.17504 7.28177 
-C 65;  Character-65; B 0.00 0.00       8.90805 7.19440 
-C 66;  Character-66; B 0.00 0.00       8.38619 7.19440 
-C 67;  Character-67; B 0.00 0.00       8.51968 7.19440 
-C 68;  Character-68; B 0.00 0.00       9.04155 7.19440 
-C 69;  Character-69; B 0.00 0.00       7.74296 7.19440 
-C 70;  Character-70; B 0.00 0.00       7.41528 7.19440 
-C 71;  Character-71; B 0.00 0.00       9.27213 7.19440 
-C 72;  Character-72; B 0.00 0.00       9.22360 7.19440 
-C 73;  Character-73; B 0.00 0.00       4.39335 7.19440 
-C 74;  Character-74; B 0.00 0.00       6.09243 7.19440 
-C 75;  Character-75; B 0.00 0.00       9.23573 7.19440 
-C 76;  Character-76; B 0.00 0.00       7.08760 7.19440 
-C 77;  Character-77; B 0.00 0.00       11.18968 7.19440 
-C 78;  Character-78; B 0.00 0.00       9.22360 7.19440 
-C 79;  Character-79; B 0.00 0.00       8.85949 7.19440 
-C 80;  Character-80; B 0.00 0.00       8.05851 7.19440 
-C 81;  Character-81; B 0.00 0.00       8.85949 7.19440 
-C 82;  Character-82; B 0.00 0.00       8.79883 7.19440 
-C 83;  Character-83; B 0.00 0.00       6.55360 7.19440 
-C 84;  Character-84; B 0.00 0.00       8.20413 7.19440 
-C 85;  Character-85; B 0.00 0.00       9.06583 7.19440 
-C 86;  Character-86; B 0.00 0.00       8.90805 7.19440 
-C 87;  Character-87; B 0.00 0.00       12.18485 7.19440 
-C 88;  Character-88; B 0.00 0.00       8.90805 7.19440 
-C 89;  Character-89; B 0.00 0.00       8.90805 7.19440 
-C 90;  Character-90; B 0.00 0.00       7.20896 7.19440 
-C 91;  Character-91; B 0.00 0.00       3.27680 7.86432 
-C 92;  Character-92; B 0.00 0.00       6.09243 7.28177 
-C 93;  Character-93; B 0.00 0.00       3.27680 7.86432 
-C 94;  Character-94; B 0.00 0.00       5.89824 7.28177 
-C 95;  Character-95; B 0.00 0.00       3.27680 7.28177 
-C 96;  Character-96; B 0.00 0.00       3.27680 7.28177 
-C 97;  Character-97; B 0.00 0.00       5.73440 4.66033 
-C 98;  Character-98; B 0.00 0.00       6.55360 7.28177 
-C 99;  Character-99; B 0.00 0.00       5.24288 4.66033 
-C 100; Character-100; B 0.00 0.00      6.55360 7.28177 
-C 101; Character-101; B 0.00 0.00      5.38245 4.66033 
-C 102; Character-102; B 0.00 0.00      3.60448 7.28177 
-C 103; Character-103; B 0.00 0.00      5.89824 4.66033 
-C 104; Character-104; B 0.00 0.00      6.55360 7.28177 
-C 105; Character-105; B 0.00 0.00      3.27680 7.28177 
-C 106; Character-106; B 0.00 0.00      3.60448 7.28177 
-C 107; Character-107; B 0.00 0.00      6.22592 7.28177 
-C 108; Character-108; B 0.00 0.00      3.27680 7.28177 
-C 109; Character-109; B 0.00 0.00      9.83040 4.66033 
-C 110; Character-110; B 0.00 0.00      6.55360 4.66033 
-C 111; Character-111; B 0.00 0.00      5.89824 4.66033 
-C 112; Character-112; B 0.00 0.00      6.55360 4.66033 
-C 113; Character-113; B 0.00 0.00      6.22592 4.66033 
-C 114; Character-114; B 0.00 0.00      4.81812 4.66033 
-C 115; Character-115; B 0.00 0.00      4.65307 4.66033 
-C 116; Character-116; B 0.00 0.00      4.58752 6.65763 
-C 117; Character-117; B 0.00 0.00      6.55360 4.66033 
-C 118; Character-118; B 0.00 0.00      6.22592 4.66033 
-C 119; Character-119; B 0.00 0.00      8.51968 4.66033 
-C 120; Character-120; B 0.00 0.00      6.22592 4.66033 
-C 121; Character-121; B 0.00 0.00      6.22592 4.66033 
-C 122; Character-122; B 0.00 0.00      5.24288 4.66033 
-C 123; Character-123; B 0.00 0.00      5.89824 4.66033 
-C 124; Character-124; B 0.00 0.00      11.79648 4.66033 
-C 125; Character-125; B 0.00 0.00      5.89824 7.28177 
-C 126; Character-126; B 0.00 0.00      5.89824 7.28177 
-C 127; Character-127; B 0.00 0.00      5.89824 7.28177 
-EndCharMetrics
-EndFontMetrics
diff --git a/mf/cmr10.afm.in b/mf/cmr10.afm.in
deleted file mode 100644 (file)
index 78a59e7..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0;   Character-0; B 0.00 0.00        8.73816 7.16526 
-C 1;   Character-1; B 0.00 0.00        8.73816 7.16526 
-C 2;   Character-2; B 0.00 0.00        8.15562 7.16526 
-C 3;   Character-3; B 0.00 0.00        7.28179 7.16526 
-C 4;   Character-4; B 0.00 0.00        6.99053 7.16526 
-C 5;   Character-5; B 0.00 0.00        7.86434 7.16526 
-C 6;   Character-6; B 0.00 0.00        7.57307 7.16526 
-C 7;   Character-7; B 0.00 0.00        8.15562 7.16526 
-C 8;   Character-8; B 0.00 0.00        7.57307 7.16526 
-C 9;   Character-9; B 0.00 0.00        8.15562 7.16526 
-C 10;  Character-10; B 0.00 0.00       7.57307 7.16526 
-C 11;  Character-11; B 0.00 0.00       6.11672 7.28178 
-C 12;  Character-12; B 0.00 0.00       5.82544 7.28178 
-C 13;  Character-13; B 0.00 0.00       5.82544 7.28178 
-C 14;  Character-14; B 0.00 0.00       8.73816 7.28178 
-C 15;  Character-15; B 0.00 0.00       8.73816 7.28178 
-C 16;  Character-16; B 0.00 0.00       2.91272 4.51470 
-C 17;  Character-17; B 0.00 0.00       3.20400 4.51470 
-C 18;  Character-18; B 0.00 0.00       5.24290 7.28178 
-C 19;  Character-19; B 0.00 0.00       5.24290 7.28178 
-C 20;  Character-20; B 0.00 0.00       5.24290 6.59002 
-C 21;  Character-21; B 0.00 0.00       5.24290 7.28178 
-C 22;  Character-22; B 0.00 0.00       5.24290 5.95357 
-C 23;  Character-23; B 0.00 0.00       7.86434 7.28178 
-C 24;  Character-24; B 0.00 0.00       4.66035 0.0
-C 25;  Character-25; B 0.00 0.00       5.24291 7.28178 
-C 26;  Character-26; B 0.00 0.00       7.57307 4.51470 
-C 27;  Character-27; B 0.00 0.00       8.15562 4.51470 
-C 28;  Character-28; B 0.00 0.00       5.24290 5.53416 
-C 29;  Character-29; B 0.00 0.00       9.46634 7.16526 
-C 30;  Character-30; B 0.00 0.00       10.63142 7.16526 
-C 31;  Character-31; B 0.00 0.00       8.15562 7.67499 
-C 32;  Character-32; B 0.00 0.00       2.91272 4.51470 
-C 33;  Character-33; B 0.00 0.00       2.91272 7.28178 
-C 34;  Character-34; B 0.00 0.00       5.24290 7.28178 
-C 35;  Character-35; B 0.00 0.00       8.73816 7.28178 
-C 36;  Character-36; B 0.00 0.00       5.24290 7.86432 
-C 37;  Character-37; B 0.00 0.00       8.73816 7.86432 
-C 38;  Character-38; B 0.00 0.00       8.15562 7.28178 
-C 39;  Character-39; B 0.00 0.00       2.91272 7.28178 
-C 40;  Character-40; B 0.00 0.00       4.07781 7.86432 
-C 41;  Character-41; B 0.00 0.00       4.07781 7.86432 
-C 42;  Character-42; B 0.00 0.00       5.24290 7.86432 
-C 43;  Character-43; B 0.00 0.00       8.15562 6.11670 
-C 44;  Character-44; B 0.00 0.00       2.91272 1.10683 
-C 45;  Character-45; B 0.00 0.00       3.49526 4.51470 
-C 46;  Character-46; B 0.00 0.00       2.91272 1.10683 
-C 47;  Character-47; B 0.00 0.00       5.24290 7.86432 
-C 48;  Character-48; B 0.00 0.00       5.24290 6.75749 
-C 49;  Character-49; B 0.00 0.00       5.24290 6.75749 
-C 50;  Character-50; B 0.00 0.00       5.24290 6.75749 
-C 51;  Character-51; B 0.00 0.00       5.24290 6.75749 
-C 52;  Character-52; B 0.00 0.00       5.24290 6.75749 
-C 53;  Character-53; B 0.00 0.00       5.24290 6.75749 
-C 54;  Character-54; B 0.00 0.00       5.24290 6.75749 
-C 55;  Character-55; B 0.00 0.00       5.24290 6.75749 
-C 56;  Character-56; B 0.00 0.00       5.24290 6.75749 
-C 57;  Character-57; B 0.00 0.00       5.24290 6.75749 
-C 58;  Character-58; B 0.00 0.00       2.91272 4.51470 
-C 59;  Character-59; B 0.00 0.00       2.91272 4.51470 
-C 60;  Character-60; B 0.00 0.00       2.91272 5.24288 
-C 61;  Character-61; B 0.00 0.00       8.15562 3.84696 
-C 62;  Character-62; B 0.00 0.00       4.95163 5.24288 
-C 63;  Character-63; B 0.00 0.00       4.95163 7.28178 
-C 64;  Character-64; B 0.00 0.00       8.15562 7.28178 
-C 65;  Character-65; B 0.00 0.00       7.86434 7.16526 
-C 66;  Character-66; B 0.00 0.00       7.42744 7.16526 
-C 67;  Character-67; B 0.00 0.00       7.57307 7.16526 
-C 68;  Character-68; B 0.00 0.00       8.00998 7.16526 
-C 69;  Character-69; B 0.00 0.00       7.13616 7.16526 
-C 70;  Character-70; B 0.00 0.00       6.84490 7.16526 
-C 71;  Character-71; B 0.00 0.00       8.22843 7.16526 
-C 72;  Character-72; B 0.00 0.00       7.86434 7.16526 
-C 73;  Character-73; B 0.00 0.00       3.78653 7.16526 
-C 74;  Character-74; B 0.00 0.00       5.38853 7.16526 
-C 75;  Character-75; B 0.00 0.00       8.15562 7.16526 
-C 76;  Character-76; B 0.00 0.00       6.55362 7.16526 
-C 77;  Character-77; B 0.00 0.00       9.61197 7.16526 
-C 78;  Character-78; B 0.00 0.00       7.86434 7.16526 
-C 79;  Character-79; B 0.00 0.00       8.15562 7.16526 
-C 80;  Character-80; B 0.00 0.00       7.13616 7.16526 
-C 81;  Character-81; B 0.00 0.00       8.15562 7.16526 
-C 82;  Character-82; B 0.00 0.00       7.71870 7.16526 
-C 83;  Character-83; B 0.00 0.00       5.82544 7.16526 
-C 84;  Character-84; B 0.00 0.00       7.57307 7.16526 
-C 85;  Character-85; B 0.00 0.00       7.86434 7.16526 
-C 86;  Character-86; B 0.00 0.00       7.86434 7.16526 
-C 87;  Character-87; B 0.00 0.00       10.77706 7.16526 
-C 88;  Character-88; B 0.00 0.00       7.86434 7.16526 
-C 89;  Character-89; B 0.00 0.00       7.86434 7.16526 
-C 90;  Character-90; B 0.00 0.00       6.40798 7.16526 
-C 91;  Character-91; B 0.00 0.00       2.91272 7.86432 
-C 92;  Character-92; B 0.00 0.00       5.24290 7.28178 
-C 93;  Character-93; B 0.00 0.00       2.91272 7.86432 
-C 94;  Character-94; B 0.00 0.00       5.24290 7.28178 
-C 95;  Character-95; B 0.00 0.00       2.91272 7.00301 
-C 96;  Character-96; B 0.00 0.00       2.91272 7.28178 
-C 97;  Character-97; B 0.00 0.00       5.24290 4.51470 
-C 98;  Character-98; B 0.00 0.00       5.82544 7.28178 
-C 99;  Character-99; B 0.00 0.00       4.66035 4.51470 
-C 100; Character-100; B 0.00 0.00      5.82544 7.28178 
-C 101; Character-101; B 0.00 0.00      4.66035 4.51470 
-C 102; Character-102; B 0.00 0.00      3.20400 7.28178 
-C 103; Character-103; B 0.00 0.00      5.24290 4.51470 
-C 104; Character-104; B 0.00 0.00      5.82544 7.28178 
-C 105; Character-105; B 0.00 0.00      2.91272 7.00301 
-C 106; Character-106; B 0.00 0.00      3.20400 7.00301 
-C 107; Character-107; B 0.00 0.00      5.53418 7.28178 
-C 108; Character-108; B 0.00 0.00      2.91272 7.28178 
-C 109; Character-109; B 0.00 0.00      8.73816 4.51470 
-C 110; Character-110; B 0.00 0.00      5.82544 4.51470 
-C 111; Character-111; B 0.00 0.00      5.24290 4.51470 
-C 112; Character-112; B 0.00 0.00      5.82544 4.51470 
-C 113; Character-113; B 0.00 0.00      5.53416 4.51470 
-C 114; Character-114; B 0.00 0.00      4.10694 4.51470 
-C 115; Character-115; B 0.00 0.00      4.13606 4.51470 
-C 116; Character-116; B 0.00 0.00      4.07781 6.44958 
-C 117; Character-117; B 0.00 0.00      5.82544 4.51470 
-C 118; Character-118; B 0.00 0.00      5.53418 4.51470 
-C 119; Character-119; B 0.00 0.00      7.57307 4.51470 
-C 120; Character-120; B 0.00 0.00      5.53418 4.51470 
-C 121; Character-121; B 0.00 0.00      5.53418 4.51470 
-C 122; Character-122; B 0.00 0.00      4.66035 4.51470 
-C 123; Character-123; B 0.00 0.00      5.24290 4.51470 
-C 124; Character-124; B 0.00 0.00      10.48579 4.51470 
-C 125; Character-125; B 0.00 0.00      5.24290 7.28178 
-C 126; Character-126; B 0.00 0.00      5.24290 7.00301 
-C 127; Character-127; B 0.00 0.00      5.24290 7.00301 
-EndCharMetrics
-EndFontMetrics
diff --git a/mf/cmr8.afm.in b/mf/cmr8.afm.in
deleted file mode 100644 (file)
index b06a7bc..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0;   Character-0; B 0.00 0.00          7.73700 7.16526 
-C 1;   Character-1; B 0.00 0.00          7.73700 7.16526 
-C 2;   Character-2; B 0.00 0.00          7.22120 7.16526 
-C 3;   Character-3; B 0.00 0.00          6.43840 7.16526 
-C 4;   Character-4; B 0.00 0.00          6.18960 7.16526 
-C 5;   Character-5; B 0.00 0.00          6.95420 7.16526 
-C 6;   Character-6; B 0.00 0.00          6.70540 7.16526 
-C 7;   Character-7; B 0.00 0.00          7.22120 7.16526 
-C 8;   Character-8; B 0.00 0.00          6.70540 7.16526 
-C 9;   Character-9; B 0.00 0.00          7.22120 7.16526 
-C 10;  Character-10; B 0.00 0.00         6.70540 7.16526 
-C 11;  Character-11; B 0.00 0.00         5.41590 7.28178 
-C 12;  Character-12; B 0.00 0.00         5.15800 7.28178 
-C 13;  Character-13; B 0.00 0.00         5.15800 7.28178 
-C 14;  Character-14; B 0.00 0.00         7.73700 7.28178 
-C 15;  Character-15; B 0.00 0.00         7.73700 7.28178 
-C 16;  Character-16; B 0.00 0.00         2.57900 4.51470 
-C 17;  Character-17; B 0.00 0.00         2.83690 4.51470 
-C 18;  Character-18; B 0.00 0.00         4.64220 7.28178 
-C 19;  Character-19; B 0.00 0.00         4.64220 7.28178 
-C 20;  Character-20; B 0.00 0.00         4.64220 6.59002 
-C 21;  Character-21; B 0.00 0.00         4.64220 7.28178 
-C 22;  Character-22; B 0.00 0.00         4.64220 6.01474 
-C 23;  Character-23; B 0.00 0.00         6.95420 7.28178 
-C 24;  Character-24; B 0.00 0.00         4.12640 0 
-C 25;  Character-25; B 0.00 0.00         4.64220 7.28178 
-C 26;  Character-26; B 0.00 0.00         6.70540 4.51470 
-C 27;  Character-27; B 0.00 0.00         7.22120 4.51470 
-C 28;  Character-28; B 0.00 0.00         4.64220 5.53416 
-C 29;  Character-29; B 0.00 0.00         8.37720  7.16526 
-C 30;  Character-30; B 0.00 0.00         9.40880  7.16526 
-C 31;  Character-31; B 0.00 0.00         7.22120 7.67498 
-C 32;  Character-32; B 0.00 0.00         2.57900 4.51470 
-C 33;  Character-33; B 0.00 0.00         2.57900 7.28178 
-C 34;  Character-34; B 0.00 0.00         4.64220 7.28178 
-C 35;  Character-35; B 0.00 0.00         7.73700 7.28178 
-C 36;  Character-36; B 0.00 0.00         4.64220 7.86432 
-C 37;  Character-37; B 0.00 0.00         7.73700 7.86432 
-C 38;  Character-38; B 0.00 0.00         7.22120 7.28178 
-C 39;  Character-39; B 0.00 0.00         2.57900 7.28178 
-C 40;  Character-40; B 0.00 0.00         3.61060 7.86432 
-C 41;  Character-41; B 0.00 0.00         3.61060 7.86432 
-C 42;  Character-42; B 0.00 0.00         4.64220 7.86432 
-C 43;  Character-43; B 0.00 0.00         7.22120 6.33520 
-C 44;  Character-44; B 0.00 0.00         2.57900 1.16508 
-C 45;  Character-45; B 0.00 0.00         3.09480 4.51470 
-C 46;  Character-46; B 0.00 0.00         2.57900 1.16508 
-C 47;  Character-47; B 0.00 0.00         4.64220 7.86432 
-C 48;  Character-48; B 0.00 0.00         4.64220 6.75750 
-C 49;  Character-49; B 0.00 0.00         4.64220 6.75750 
-C 50;  Character-50; B 0.00 0.00         4.64220 6.75750 
-C 51;  Character-51; B 0.00 0.00         4.64220 6.75750 
-C 52;  Character-52; B 0.00 0.00         4.64220 6.75750 
-C 53;  Character-53; B 0.00 0.00         4.64220 6.75750 
-C 54;  Character-54; B 0.00 0.00         4.64220 6.75750 
-C 55;  Character-55; B 0.00 0.00         4.64220 6.75750 
-C 56;  Character-56; B 0.00 0.00         4.64220 6.75750 
-C 57;  Character-57; B 0.00 0.00         4.64220 6.75750 
-C 58;  Character-58; B 0.00 0.00         2.57900 4.51470 
-C 59;  Character-59; B 0.00 0.00         2.57900 4.51470 
-C 60;  Character-60; B 0.00 0.00         2.57900 5.24288 
-C 61;  Character-61; B 0.00 0.00         7.22120 3.96348 
-C 62;  Character-62; B 0.00 0.00         4.38430 5.24288 
-C 63;  Character-63; B 0.00 0.00         4.38430 7.28178 
-C 64;  Character-64; B 0.00 0.00         7.22120 7.28178 
-C 65;  Character-65; B 0.00 0.00         6.95420 7.16526 
-C 66;  Character-66; B 0.00 0.00         6.57190 7.16526 
-C 67;  Character-67; B 0.00 0.00         6.70540 7.16526 
-C 68;  Character-68; B 0.00 0.00         7.08770 7.16526 
-C 69;  Character-69; B 0.00 0.00         6.31400 7.16526 
-C 70;  Character-70; B 0.00 0.00         6.05610 7.16526 
-C 71;  Character-71; B 0.00 0.00         7.28340 7.16526 
-C 72;  Character-72; B 0.00 0.00         6.95420 7.16526 
-C 73;  Character-73; B 0.00 0.00         3.34360 7.16526 
-C 74;  Character-74; B 0.00 0.00         4.76660 7.16526 
-C 75;  Character-75; B 0.00 0.00         7.21210 7.16526 
-C 76;  Character-76; B 0.00 0.00         5.79820 7.16526 
-C 77;  Character-77; B 0.00 0.00         8.50160  7.16526 
-C 78;  Character-78; B 0.00 0.00         6.95420 7.16526 
-C 79;  Character-79; B 0.00 0.00         7.22120 7.16526 
-C 80;  Character-80; B 0.00 0.00         6.31400 7.16526 
-C 81;  Character-81; B 0.00 0.00         7.22120 7.16526 
-C 82;  Character-82; B 0.00 0.00         6.82980 7.16526 
-C 83;  Character-83; B 0.00 0.00         5.15800 7.16526 
-C 84;  Character-84; B 0.00 0.00         6.70540 7.16526 
-C 85;  Character-85; B 0.00 0.00         6.95420 7.16526 
-C 86;  Character-86; B 0.00 0.00         6.95420 7.16526 
-C 87;  Character-87; B 0.00 0.00         9.53320  7.16526 
-C 88;  Character-88; B 0.00 0.00         6.95420 7.16526 
-C 89;  Character-89; B 0.00 0.00         6.95420 7.16526 
-C 90;  Character-90; B 0.00 0.00         5.67380 7.16526 
-C 91;  Character-91; B 0.00 0.00         2.57900 7.86432 
-C 92;  Character-92; B 0.00 0.00         4.64220 7.28178 
-C 93;  Character-93; B 0.00 0.00         2.57900 7.86432 
-C 94;  Character-94; B 0.00 0.00         4.64220 7.28178 
-C 95;  Character-95; B 0.00 0.00         2.57900 7.03212 
-C 96;  Character-96; B 0.00 0.00         2.57900 7.28178 
-C 97;  Character-97; B 0.00 0.00         4.64220 4.51470 
-C 98;  Character-98; B 0.00 0.00         5.15800 7.28178 
-C 99;  Character-99; B 0.00 0.00         4.12640 4.51470 
-C 100; Character-100; B 0.00 0.0         5.15800 7.28178 
-C 101; Character-101; B 0.00 0.0         4.12640 4.51470 
-C 102; Character-102; B 0.00 0.0         2.83690 7.28178 
-C 103; Character-103; B 0.00 0.0         4.64220 4.51470 
-C 104; Character-104; B 0.00 0.0         5.15800 7.28178 
-C 105; Character-105; B 0.00 0.0         2.57900 7.03212 
-C 106; Character-106; B 0.00 0.0         2.83690 7.03212 
-C 107; Character-107; B 0.00 0.0         4.90010 7.28178 
-C 108; Character-108; B 0.00 0.0         2.57900 7.28178 
-C 109; Character-109; B 0.00 0.0         7.73700 4.51470 
-C 110; Character-110; B 0.00 0.0         5.15800 4.51470 
-C 111; Character-111; B 0.00 0.0         4.64220 4.51470 
-C 112; Character-112; B 0.00 0.0         5.15800 4.51470 
-C 113; Character-113; B 0.00 0.0         4.90010 4.51470 
-C 114; Character-114; B 0.00 0.0         3.61818 4.51470 
-C 115; Character-115; B 0.00 0.0         3.66218 4.51470 
-C 116; Character-116; B 0.00 0.0         3.61060 6.44958 
-C 117; Character-117; B 0.00 0.0         5.15800 4.51470 
-C 118; Character-118; B 0.00 0.0         4.90010 4.51470 
-C 119; Character-119; B 0.00 0.0         6.70540 4.51470 
-C 120; Character-120; B 0.00 0.0         4.90010 4.51470 
-C 121; Character-121; B 0.00 0.0         4.90010 4.51470 
-C 122; Character-122; B 0.00 0.0         4.12640 4.51470 
-C 123; Character-123; B 0.00 0.0         4.64220 4.51470 
-C 124; Character-124; B 0.00 0.0         9.28440  4.51470 
-C 125; Character-125; B 0.00 0.0         4.64220 7.28178 
-C 126; Character-126; B 0.00 0.0         4.64220 7.03212 
-C 127; Character-127; B 0.00 0.0         4.64220 7.03212 
-EndCharMetrics
-EndFontMetrics
diff --git a/mf/cmti10.afm.in b/mf/cmti10.afm.in
deleted file mode 100644 (file)
index 78e1f43..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0;   Character-0; B 0.00 0.00        8.57498 7.16526 
-C 1;   Character-1; B 0.00 0.00        8.57498 7.16526 
-C 2;   Character-2; B 0.00 0.00        8.03904 7.16526 
-C 3;   Character-3; B 0.00 0.00        7.25843 7.16526 
-C 4;   Character-4; B 0.00 0.00        6.96717 7.16526 
-C 5;   Character-5; B 0.00 0.00        7.79437 7.16526 
-C 6;   Character-6; B 0.00 0.00        7.50310 7.16526 
-C 7;   Character-7; B 0.00 0.00        8.03904 7.16526 
-C 8;   Character-8; B 0.00 0.00        7.50310 7.16526 
-C 9;   Character-9; B 0.00 0.00        8.03904 7.16526 
-C 10;  Character-10; B 0.00 0.00       7.50310 7.16526 
-C 11;  Character-11; B 0.00 0.00       6.43123 7.28178 
-C 12;  Character-12; B 0.00 0.00       5.89530 7.28178 
-C 13;  Character-13; B 0.00 0.00       6.16326 7.28178 
-C 14;  Character-14; B 0.00 0.00       9.24490 7.28178 
-C 15;  Character-15; B 0.00 0.00       9.37888 7.28178 
-C 16;  Character-16; B 0.00 0.00       3.21562 4.51470 
-C 17;  Character-17; B 0.00 0.00       3.48358 4.51470 
-C 18;  Character-18; B 0.00 0.00       5.35936 7.28178 
-C 19;  Character-19; B 0.00 0.00       5.35936 7.28178 
-C 20;  Character-20; B 0.00 0.00       5.35936 6.59002 
-C 21;  Character-21; B 0.00 0.00       5.35936 7.28178 
-C 22;  Character-22; B 0.00 0.00       5.35936 5.88949 
-C 23;  Character-23; B 0.00 0.00       8.71672 7.28178 
-C 24;  Character-24; B 0.00 0.00       4.82342 0 
-C 25;  Character-25; B 0.00 0.00       5.62733 7.28178 
-C 26;  Character-26; B 0.00 0.00       7.50310 4.51470 
-C 27;  Character-27; B 0.00 0.00       7.50310 4.51470 
-C 28;  Character-28; B 0.00 0.00       5.35936 5.53416 
-C 29;  Character-29; B 0.00 0.00       9.25654 7.16526 
-C 30;  Character-30; B 0.00 0.00       10.32842 7.16526 
-C 31;  Character-31; B 0.00 0.00       8.03904 7.67499 
-C 32;  Character-32; B 0.00 0.00       2.67968 4.51470 
-C 33;  Character-33; B 0.00 0.00       3.21562 7.28178 
-C 34;  Character-34; B 0.00 0.00       5.39432 7.28178 
-C 35;  Character-35; B 0.00 0.00       8.57498 7.28178 
-C 36;  Character-36; B 0.00 0.00       8.06453 7.28178 
-C 37;  Character-37; B 0.00 0.00       8.57498 7.86432 
-C 38;  Character-38; B 0.00 0.00       8.03904 7.28178 
-C 39;  Character-39; B 0.00 0.00       3.21562 7.28178 
-C 40;  Character-40; B 0.00 0.00       4.28749 7.86432 
-C 41;  Character-41; B 0.00 0.00       4.28749 7.86432 
-C 42;  Character-42; B 0.00 0.00       5.35936 7.86432 
-C 43;  Character-43; B 0.00 0.00       8.03904 5.88949 
-C 44;  Character-44; B 0.00 0.00       3.21562 1.10683 
-C 45;  Character-45; B 0.00 0.00       3.75155 4.51470 
-C 46;  Character-46; B 0.00 0.00       3.21562 1.10683 
-C 47;  Character-47; B 0.00 0.00       5.35936 7.86432 
-C 48;  Character-48; B 0.00 0.00       5.35936 6.75749 
-C 49;  Character-49; B 0.00 0.00       5.35936 6.75749 
-C 50;  Character-50; B 0.00 0.00       5.35936 6.75749 
-C 51;  Character-51; B 0.00 0.00       5.35936 6.75749 
-C 52;  Character-52; B 0.00 0.00       5.35936 6.75749 
-C 53;  Character-53; B 0.00 0.00       5.35936 6.75749 
-C 54;  Character-54; B 0.00 0.00       5.35936 6.75749 
-C 55;  Character-55; B 0.00 0.00       5.35936 6.75749 
-C 56;  Character-56; B 0.00 0.00       5.35936 6.75749 
-C 57;  Character-57; B 0.00 0.00       5.35936 6.75749 
-C 58;  Character-58; B 0.00 0.00       3.21562 4.51470 
-C 59;  Character-59; B 0.00 0.00       3.21562 4.51470 
-C 60;  Character-60; B 0.00 0.00       3.21562 5.24288 
-C 61;  Character-61; B 0.00 0.00       8.03904 3.84696 
-C 62;  Character-62; B 0.00 0.00       5.35936 5.24288 
-C 63;  Character-63; B 0.00 0.00       5.35936 7.28178 
-C 64;  Character-64; B 0.00 0.00       8.03904 7.28178 
-C 65;  Character-65; B 0.00 0.00       7.79437 7.16526 
-C 66;  Character-66; B 0.00 0.00       7.38077 7.16526 
-C 67;  Character-67; B 0.00 0.00       7.50310 7.16526 
-C 68;  Character-68; B 0.00 0.00       7.91670 7.16526 
-C 69;  Character-69; B 0.00 0.00       7.11280 7.16526 
-C 70;  Character-70; B 0.00 0.00       6.84483 7.16526 
-C 71;  Character-71; B 0.00 0.00       8.11186 7.16526 
-C 72;  Character-72; B 0.00 0.00       7.79437 7.16526 
-C 73;  Character-73; B 0.00 0.00       4.04282 7.16526 
-C 74;  Character-74; B 0.00 0.00       5.50499 7.16526 
-C 75;  Character-75; B 0.00 0.00       8.06234 7.16526 
-C 76;  Character-76; B 0.00 0.00       6.57686 7.16526 
-C 77;  Character-77; B 0.00 0.00       9.40218 7.16526 
-C 78;  Character-78; B 0.00 0.00       7.79437 7.16526 
-C 79;  Character-79; B 0.00 0.00       8.03904 7.16526 
-C 80;  Character-80; B 0.00 0.00       7.11280 7.16526 
-C 81;  Character-81; B 0.00 0.00       8.03904 7.16526 
-C 82;  Character-82; B 0.00 0.00       7.64874 7.16526 
-C 83;  Character-83; B 0.00 0.00       5.89530 7.16526 
-C 84;  Character-84; B 0.00 0.00       7.50310 7.16526 
-C 85;  Character-85; B 0.00 0.00       7.79437 7.16526 
-C 86;  Character-86; B 0.00 0.00       7.79437 7.16526 
-C 87;  Character-87; B 0.00 0.00       10.47405 7.16526 
-C 88;  Character-88; B 0.00 0.00       7.79437 7.16526 
-C 89;  Character-89; B 0.00 0.00       7.79437 7.16526 
-C 90;  Character-90; B 0.00 0.00       6.43123 7.16526 
-C 91;  Character-91; B 0.00 0.00       3.21562 7.86432 
-C 92;  Character-92; B 0.00 0.00       5.39432 7.28178 
-C 93;  Character-93; B 0.00 0.00       3.21562 7.86432 
-C 94;  Character-94; B 0.00 0.00       5.35936 7.28178 
-C 95;  Character-95; B 0.00 0.00       3.21562 7.00301 
-C 96;  Character-96; B 0.00 0.00       3.21562 7.28178 
-C 97;  Character-97; B 0.00 0.00       5.35936 4.51470 
-C 98;  Character-98; B 0.00 0.00       4.82342 7.28178 
-C 99;  Character-99; B 0.00 0.00       4.82342 4.51470 
-C 100; Character-100; B 0.00 0.00      5.35936 7.28178 
-C 101; Character-101; B 0.00 0.00      4.82342 4.51470 
-C 102; Character-102; B 0.00 0.00      3.21562 7.28178 
-C 103; Character-103; B 0.00 0.00      4.82342 4.51470 
-C 104; Character-104; B 0.00 0.00      5.35936 7.28178 
-C 105; Character-105; B 0.00 0.00      3.21562 6.87194 
-C 106; Character-106; B 0.00 0.00      3.21562 6.87194 
-C 107; Character-107; B 0.00 0.00      4.82342 7.28178 
-C 108; Character-108; B 0.00 0.00      2.67968 7.28178 
-C 109; Character-109; B 0.00 0.00      8.57498 4.51470 
-C 110; Character-110; B 0.00 0.00      5.89530 4.51470 
-C 111; Character-111; B 0.00 0.00      5.35936 4.51470 
-C 112; Character-112; B 0.00 0.00      5.35936 4.51470 
-C 113; Character-113; B 0.00 0.00      4.82342 4.51470 
-C 114; Character-114; B 0.00 0.00      4.42147 4.51470 
-C 115; Character-115; B 0.00 0.00      4.28749 4.51470 
-C 116; Character-116; B 0.00 0.00      3.48358 6.44958 
-C 117; Character-117; B 0.00 0.00      5.62733 4.51470 
-C 118; Character-118; B 0.00 0.00      4.82342 4.51470 
-C 119; Character-119; B 0.00 0.00      6.96717 4.51470 
-C 120; Character-120; B 0.00 0.00      4.86421 4.51470 
-C 121; Character-121; B 0.00 0.00      5.09139 4.51470 
-C 122; Character-122; B 0.00 0.00      4.28749 4.51470 
-C 123; Character-123; B 0.00 0.00      5.35936 4.51470 
-C 124; Character-124; B 0.00 0.00      10.71872 4.51470 
-C 125; Character-125; B 0.00 0.00      5.35936 7.28178 
-C 126; Character-126; B 0.00 0.00      5.35936 7.00301 
-C 127; Character-127; B 0.00 0.00      5.35936 7.00301 
-EndCharMetrics
-EndFontMetrics
diff --git a/mf/cmti8.afm.in b/mf/cmti8.afm.in
deleted file mode 100644 (file)
index b06a7bc..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0;   Character-0; B 0.00 0.00          7.73700 7.16526 
-C 1;   Character-1; B 0.00 0.00          7.73700 7.16526 
-C 2;   Character-2; B 0.00 0.00          7.22120 7.16526 
-C 3;   Character-3; B 0.00 0.00          6.43840 7.16526 
-C 4;   Character-4; B 0.00 0.00          6.18960 7.16526 
-C 5;   Character-5; B 0.00 0.00          6.95420 7.16526 
-C 6;   Character-6; B 0.00 0.00          6.70540 7.16526 
-C 7;   Character-7; B 0.00 0.00          7.22120 7.16526 
-C 8;   Character-8; B 0.00 0.00          6.70540 7.16526 
-C 9;   Character-9; B 0.00 0.00          7.22120 7.16526 
-C 10;  Character-10; B 0.00 0.00         6.70540 7.16526 
-C 11;  Character-11; B 0.00 0.00         5.41590 7.28178 
-C 12;  Character-12; B 0.00 0.00         5.15800 7.28178 
-C 13;  Character-13; B 0.00 0.00         5.15800 7.28178 
-C 14;  Character-14; B 0.00 0.00         7.73700 7.28178 
-C 15;  Character-15; B 0.00 0.00         7.73700 7.28178 
-C 16;  Character-16; B 0.00 0.00         2.57900 4.51470 
-C 17;  Character-17; B 0.00 0.00         2.83690 4.51470 
-C 18;  Character-18; B 0.00 0.00         4.64220 7.28178 
-C 19;  Character-19; B 0.00 0.00         4.64220 7.28178 
-C 20;  Character-20; B 0.00 0.00         4.64220 6.59002 
-C 21;  Character-21; B 0.00 0.00         4.64220 7.28178 
-C 22;  Character-22; B 0.00 0.00         4.64220 6.01474 
-C 23;  Character-23; B 0.00 0.00         6.95420 7.28178 
-C 24;  Character-24; B 0.00 0.00         4.12640 0 
-C 25;  Character-25; B 0.00 0.00         4.64220 7.28178 
-C 26;  Character-26; B 0.00 0.00         6.70540 4.51470 
-C 27;  Character-27; B 0.00 0.00         7.22120 4.51470 
-C 28;  Character-28; B 0.00 0.00         4.64220 5.53416 
-C 29;  Character-29; B 0.00 0.00         8.37720  7.16526 
-C 30;  Character-30; B 0.00 0.00         9.40880  7.16526 
-C 31;  Character-31; B 0.00 0.00         7.22120 7.67498 
-C 32;  Character-32; B 0.00 0.00         2.57900 4.51470 
-C 33;  Character-33; B 0.00 0.00         2.57900 7.28178 
-C 34;  Character-34; B 0.00 0.00         4.64220 7.28178 
-C 35;  Character-35; B 0.00 0.00         7.73700 7.28178 
-C 36;  Character-36; B 0.00 0.00         4.64220 7.86432 
-C 37;  Character-37; B 0.00 0.00         7.73700 7.86432 
-C 38;  Character-38; B 0.00 0.00         7.22120 7.28178 
-C 39;  Character-39; B 0.00 0.00         2.57900 7.28178 
-C 40;  Character-40; B 0.00 0.00         3.61060 7.86432 
-C 41;  Character-41; B 0.00 0.00         3.61060 7.86432 
-C 42;  Character-42; B 0.00 0.00         4.64220 7.86432 
-C 43;  Character-43; B 0.00 0.00         7.22120 6.33520 
-C 44;  Character-44; B 0.00 0.00         2.57900 1.16508 
-C 45;  Character-45; B 0.00 0.00         3.09480 4.51470 
-C 46;  Character-46; B 0.00 0.00         2.57900 1.16508 
-C 47;  Character-47; B 0.00 0.00         4.64220 7.86432 
-C 48;  Character-48; B 0.00 0.00         4.64220 6.75750 
-C 49;  Character-49; B 0.00 0.00         4.64220 6.75750 
-C 50;  Character-50; B 0.00 0.00         4.64220 6.75750 
-C 51;  Character-51; B 0.00 0.00         4.64220 6.75750 
-C 52;  Character-52; B 0.00 0.00         4.64220 6.75750 
-C 53;  Character-53; B 0.00 0.00         4.64220 6.75750 
-C 54;  Character-54; B 0.00 0.00         4.64220 6.75750 
-C 55;  Character-55; B 0.00 0.00         4.64220 6.75750 
-C 56;  Character-56; B 0.00 0.00         4.64220 6.75750 
-C 57;  Character-57; B 0.00 0.00         4.64220 6.75750 
-C 58;  Character-58; B 0.00 0.00         2.57900 4.51470 
-C 59;  Character-59; B 0.00 0.00         2.57900 4.51470 
-C 60;  Character-60; B 0.00 0.00         2.57900 5.24288 
-C 61;  Character-61; B 0.00 0.00         7.22120 3.96348 
-C 62;  Character-62; B 0.00 0.00         4.38430 5.24288 
-C 63;  Character-63; B 0.00 0.00         4.38430 7.28178 
-C 64;  Character-64; B 0.00 0.00         7.22120 7.28178 
-C 65;  Character-65; B 0.00 0.00         6.95420 7.16526 
-C 66;  Character-66; B 0.00 0.00         6.57190 7.16526 
-C 67;  Character-67; B 0.00 0.00         6.70540 7.16526 
-C 68;  Character-68; B 0.00 0.00         7.08770 7.16526 
-C 69;  Character-69; B 0.00 0.00         6.31400 7.16526 
-C 70;  Character-70; B 0.00 0.00         6.05610 7.16526 
-C 71;  Character-71; B 0.00 0.00         7.28340 7.16526 
-C 72;  Character-72; B 0.00 0.00         6.95420 7.16526 
-C 73;  Character-73; B 0.00 0.00         3.34360 7.16526 
-C 74;  Character-74; B 0.00 0.00         4.76660 7.16526 
-C 75;  Character-75; B 0.00 0.00         7.21210 7.16526 
-C 76;  Character-76; B 0.00 0.00         5.79820 7.16526 
-C 77;  Character-77; B 0.00 0.00         8.50160  7.16526 
-C 78;  Character-78; B 0.00 0.00         6.95420 7.16526 
-C 79;  Character-79; B 0.00 0.00         7.22120 7.16526 
-C 80;  Character-80; B 0.00 0.00         6.31400 7.16526 
-C 81;  Character-81; B 0.00 0.00         7.22120 7.16526 
-C 82;  Character-82; B 0.00 0.00         6.82980 7.16526 
-C 83;  Character-83; B 0.00 0.00         5.15800 7.16526 
-C 84;  Character-84; B 0.00 0.00         6.70540 7.16526 
-C 85;  Character-85; B 0.00 0.00         6.95420 7.16526 
-C 86;  Character-86; B 0.00 0.00         6.95420 7.16526 
-C 87;  Character-87; B 0.00 0.00         9.53320  7.16526 
-C 88;  Character-88; B 0.00 0.00         6.95420 7.16526 
-C 89;  Character-89; B 0.00 0.00         6.95420 7.16526 
-C 90;  Character-90; B 0.00 0.00         5.67380 7.16526 
-C 91;  Character-91; B 0.00 0.00         2.57900 7.86432 
-C 92;  Character-92; B 0.00 0.00         4.64220 7.28178 
-C 93;  Character-93; B 0.00 0.00         2.57900 7.86432 
-C 94;  Character-94; B 0.00 0.00         4.64220 7.28178 
-C 95;  Character-95; B 0.00 0.00         2.57900 7.03212 
-C 96;  Character-96; B 0.00 0.00         2.57900 7.28178 
-C 97;  Character-97; B 0.00 0.00         4.64220 4.51470 
-C 98;  Character-98; B 0.00 0.00         5.15800 7.28178 
-C 99;  Character-99; B 0.00 0.00         4.12640 4.51470 
-C 100; Character-100; B 0.00 0.0         5.15800 7.28178 
-C 101; Character-101; B 0.00 0.0         4.12640 4.51470 
-C 102; Character-102; B 0.00 0.0         2.83690 7.28178 
-C 103; Character-103; B 0.00 0.0         4.64220 4.51470 
-C 104; Character-104; B 0.00 0.0         5.15800 7.28178 
-C 105; Character-105; B 0.00 0.0         2.57900 7.03212 
-C 106; Character-106; B 0.00 0.0         2.83690 7.03212 
-C 107; Character-107; B 0.00 0.0         4.90010 7.28178 
-C 108; Character-108; B 0.00 0.0         2.57900 7.28178 
-C 109; Character-109; B 0.00 0.0         7.73700 4.51470 
-C 110; Character-110; B 0.00 0.0         5.15800 4.51470 
-C 111; Character-111; B 0.00 0.0         4.64220 4.51470 
-C 112; Character-112; B 0.00 0.0         5.15800 4.51470 
-C 113; Character-113; B 0.00 0.0         4.90010 4.51470 
-C 114; Character-114; B 0.00 0.0         3.61818 4.51470 
-C 115; Character-115; B 0.00 0.0         3.66218 4.51470 
-C 116; Character-116; B 0.00 0.0         3.61060 6.44958 
-C 117; Character-117; B 0.00 0.0         5.15800 4.51470 
-C 118; Character-118; B 0.00 0.0         4.90010 4.51470 
-C 119; Character-119; B 0.00 0.0         6.70540 4.51470 
-C 120; Character-120; B 0.00 0.0         4.90010 4.51470 
-C 121; Character-121; B 0.00 0.0         4.90010 4.51470 
-C 122; Character-122; B 0.00 0.0         4.12640 4.51470 
-C 123; Character-123; B 0.00 0.0         4.64220 4.51470 
-C 124; Character-124; B 0.00 0.0         9.28440  4.51470 
-C 125; Character-125; B 0.00 0.0         4.64220 7.28178 
-C 126; Character-126; B 0.00 0.0         4.64220 7.03212 
-C 127; Character-127; B 0.00 0.0         4.64220 7.03212 
-EndCharMetrics
-EndFontMetrics
index 410e4375bf7968ea439a11fd7a9307a669c6d68f..5ef657ad805962b677dabc5810bbefcc983b144e 100644 (file)
@@ -241,8 +241,8 @@ fet_endchar;
 
 
 
-%if test = 0:
-%else:
+if test = 0:
+else:
 def draw_harmonic_notehead(expr harmwid) =
        save beamheight, head_width, head_char_width;
        save holeheight, stem_width;
@@ -269,8 +269,8 @@ def draw_harmonic_notehead(expr harmwid) =
 %      ht# = noteheight#;
        head_char_width = 1.54 noteheight;
        head_char_width# := 1.54 ht#;
-       %schuif_op = head_char_width - head_width; %ugh
-       %schuif_op# := head_char_width# - head_width#;
+       schuif_op = head_char_width - head_width; %ugh
+       schuif_op# := head_char_width# - head_width#;
 %      set_char_box(0, head_char_width#, noteheight#/2, noteheight#/2); 
        set_char_box(0, head_width#, head_width#/2, head_width#/2);
 %      2 beamheight + holeheight = noteheight;
@@ -288,15 +288,15 @@ def draw_harmonic_notehead(expr harmwid) =
        penpos8(thick, 225);
 
 %      1.5 noteheight = head_width;
-       z1l = (0, 0);
+       z1l = (schuif_op, 0);
        z2l = z1l;
-%      z3l = (head_width/2,-head_width/2);
-       z3l = (head_width/2, -noteheight/2);
+%      z3l = (schuif_op + head_width/2,-head_width/2);
+       z3l = (schuif_op + head_width/2, -noteheight/2);
        z4l = z3l;
-       z5l = (head_width, 0);
+       z5l = (schuif_op + head_width, 0);
        z6l = z5l;
-%      z7l = (head_width/2, head_width/2);
-       z7l = (head_width/2, noteheight/2);
+%      z7l = (schuif_op + head_width/2, head_width/2);
+       z7l = (schuif_op + head_width/2, noteheight/2);
        z8l = z7l;
        
        pickup pencircle; %scaled stemthick;
@@ -319,7 +319,7 @@ fet_endchar;
 fet_beginchar("Harmonic ledger", "harmonicl", "harmonicledger")
         draw_ledger(harmonic_wid#);
 fet_endchar;
-%fi
+fi
 
 fet_endgroup("balls");
 
index da7335ddf75b2570c97d46b4de34ce8ea1216bbf..12b1b1f3ec2a5d75e16cd54ac0c29caa521957ce 100644 (file)
@@ -93,6 +93,38 @@ Mudela_key::notename_str (int pitch_i)
       notename_str += "es";
   accidental_i--;
 
+  /*
+    By tradition, all scales now consist of a sequence of 7 notes each
+    with a distinct name, from amongst a b c d e f g.  But, minor scales
+    have a wide second interval at the top - the 'leading note' is
+    sharped. (Why? it just works that way! Anything else doesn't sound as
+    good and isn't as flexible at saying things. In medieval times,
+    scales only had 6 notes to avoid this problem - the hexachords.)
+    
+    So, the d minor scale is d e f g a b-flat c-sharp d - using d-flat
+    for the leading note would skip the name c and duplicate the name d.
+    Why isn't c-sharp put in the key signature? Tradition. (It's also
+    supposedly based on the Pythagorean theory of the cycle of fifths,
+    but that really only applies to major scales...)
+    
+    Anyway, g minor is g a b-flat c d e-flat f-sharp g, and all the other
+    flat minor keys end up with a natural leading note. And there you
+    have it.
+    
+    John Sankey <bf250@freenet.carleton.ca>
+
+   */
+
+  /* ok, bit ugly, but here we go */
+
+  if (minor_i_ && (accidentals_i_ == -1))
+    if (notename_str == "des")
+      notename_str = "cis";
+  
+  if (minor_i_ && (accidentals_i_ == -2))
+    if (notename_str == "ges")
+      notename_str = "fis";
+  
   String de_octavate_str = to_str (',',  (Mudela_note::c0_pitch_i_c_ + 11 - pitch_i) / 12);
   String octavate_str = to_str ('\'',  (pitch_i - Mudela_note::c0_pitch_i_c_) / 12);
   return notename_str +de_octavate_str  + octavate_str;
index b7e234b97de91e9074f8aa6501fde1d16edad9a6..a18fe02d92acfc140cd7f8fd21d59f9009b600a0 100644 (file)
@@ -144,7 +144,23 @@ Mudela_score::output (String filename_str)
   if  (mudela_staff_p_list_.size() > 1)
     mudela_stream << ">\n";
 
+#if 0
   mudela_stream << "\\paper{}\n";
+#else
+  /*
+    let's put some auto-beam stuff in place as long as it's optional
+  */
+  mudela_stream << "\\paper{\n";
+  mudela_stream << "\\translator{\n";
+  mudela_stream << "\\VoiceContext\n";
+  mudela_stream << "\\consists \"Auto_beam_engraver\";\n";
+  mudela_stream << "beamAuto = 1.;\n";
+  mudela_stream << "beamAutoEnd8 = \"2/4\";\n";
+  mudela_stream << "beamAutoEnd16 = \"1/4\";\n";
+  mudela_stream << "beamAutoEnd32 = \"1/4\";\n";
+  mudela_stream << "}\n";
+  mudela_stream << "}\n";
+#endif
 
   mudela_stream << "\\midi{\n";
   // let's not use silly 0 track
index 064f48f605ce25397c5a5ee80b163835ddd8fcbb..44dbc3964710d8f71e35ec1b4ac6f38cc7265b6d 100644 (file)
@@ -220,10 +220,10 @@ violino2 = \notes \relative c {
        r8 as' des,4\sf ~ des()c |
        r8 as' des,4\sf ~ des()c |
        % looks lot like viola...
-       [f16 f as as]f4:16[d16 d g g]d4:|
+       [f16 f as as]f4:16[d16 d g g]d4: |
        %225
-       [c16 c g' g]c,4:16[c16 c f f]c4:|
-       [b16 b f' f]b,4:16[c16 c f f]c4:|
+       [c16 c g' g]c,4:16[c16 c f f]c4: |
+       [b16 b f' f]b,4:16[c16 c f f]c4: |
        [d16 d f f]d4:16[c16 c f f]c4:|
        [d8 g,] g'4. as8 as4 ~ |
        [as8 as] f4. f8 g4 | 
index 2d7fc58cf05acc773ad3ec3fde1a646d1d82494d..cd768eeb709a259c28e1a57c1cb20ba2949c8734 100644 (file)
@@ -2,7 +2,7 @@
 
 depth = ../..
 
-examples=
+examples=sonata-k3-l378
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make
diff --git a/mutopia/D.Scarlatti/progress.ly b/mutopia/D.Scarlatti/progress.ly
new file mode 100644 (file)
index 0000000..fe16c92
--- /dev/null
@@ -0,0 +1,809 @@
+       %{
+Here are the first four sonatas with barring, stem directions
+etc., laid out so that two note shapes can be used when that is
+ready. (Freenet will chop some of the code lines - I've got it
+as one Mudela line per bar.) As you will quickly see, K.4 raises
+some notation and collision problems. I've used the modern
+tied-notes syntax you prefer, instead of the way Scarlatti wrote
+it (bar1.jpeg). Scarlatti had a point, didn't he! (150 years
+later, Longo agreed - bar1 is from his edition.)
+
+Harpsichord music is written much closer than organ (or piano)
+music because harpsichords rely on the transfer of energy from
+one string directly to other harmonically-related strings to
+build power and maintain sound. That only happens when the
+strings are close to each other on the soundboard. In fact, that
+is one of the ways of judging what instrument a keyboard piece
+was written for - organ pipes don't talk to each other, organ
+sound is always fighting for clarity, and close harmonies sound
+thick, so good organ music is much more widely spaced. K.4 is
+typical of mainstream harpsichord music.
+
+I'll work on the musical aspects of the notation - Lily can be
+told to do it one way as easily as the other. (I really
+appreciate that.) But, would you give some thought to the best
+way of dealing with 'multi-voice' collisions? In the long term,
+particularly if you go ahead with automating beaming, you will
+need a general anti-collision system. But, for the next 6 months
+or so, to keep the Scarlatti project going, might it be faster
+to provide for setting the stem length of individual notes? Or
+some other similar workaround?
+
+Oh yes - when the middle note of a chord is trilled, Scarlatti
+wrote the praller directly in front of the note, whether the
+note was on a line or a space. And, he wrote most of the K.3
+fermatae on top of a bar line to indicate that a sound gap was
+wanted, not that the prior note be extended in length.
+
+John
+
+----------------------------------------------------
+%}
+
+----------------------------------------------------
+
+\score {
+ \header {title="Domenico Scarlatti - Sonata K.3 L.378";
+          description="Presto";}
+ % vOne is right hand outside part, vTwo r.h. inside part,
+ % vThree left hand outside, vFour l.h. inside.
+ \notes {
+   \type Staff=staffOne <
+    \property Staff.nolines=11
+    \property Voice.pletvisibility=0
+    \time 2/2;
+    \clef alto;
+    \type Voice=vOne <{
+% 1
+\stemup s1
+% 2
+s4 [e'16 d' c' b] a4 s |
+% 3
+s4 a' e' c'' |
+% 4
+b'4 a'2 gis'4 |
+% 5
+s4 c'' a' e'' |
+% 6
+d''4 c''2 b'4 |
+% 7
+s4 c'' g' f'' |
+% 8
+e''4 d''2 cis''4 |
+% 9
+s4 d'' a' g'' |
+% 10
+fis''4 e''2 dis''4 |
+% 11
+[e''8 d''] c''2 b'4~b'
+% 12
+a'2 g'4~g'
+% 13
+fis'2 e'4~e'
+% 14
+d'2 c'4~c'
+% 15
+b2 a4 |
+% 16
+s4 c' dis' fis' |
+% 17
+a'4 c'' dis'' fis'' |
+% 18
+a''4 c'''2 [b''8 a''] |
+% 19
+g''4 f'' e'' d''^\fermata |
+s1 s
+% 22
+\stemdown s4 a, b, cis |
+% 23
+d4 e f2 |
+% 24
+\stemup f4 aes b d' |
+% 25
+f'4 aes' b' d'' |
+% 26
+f''4 aes''2 [g''8 f''] |
+% 27
+ees''4 d'' c'' d'' |
+% 28
+g'4 b' c'' \stemdown f |
+% 29
+e4 e'2 \stemup d''4 |
+% 30
+e'4 b' c'' \stemdown b, |
+% 31
+a,4 a \stemup c'' d'' |
+% 32
+a4 b c' d' |
+% 33
+e'4 f' g' a' |
+% 34
+b'4 [a'8 g'] g''4 c'' |
+% 35
+c''4~[c''16 b' c'' d''] d''4.^\prall c''8 |
+% 36
+c''4 c''' b'' bes''
+% 37
+a'' aes''2 g''4~g''
+% 38
+f''2 dis''4~dis''
+% 39
+d''2 c''4~c''
+% 40
+b'4 c'' d'' |
+% 41
+e'4 f' g' a' |
+% 42
+b'4 [a'8 g'] g''4 c'' |
+% 43
+c''4~[c''16 b' c'' d''] d''4.^\prall c''8 |
+% 44
+c''4 [g''16 f'' e'' d''] c''4 s |
+% 45
+s4 [g16 f e d] c4 s |
+% 46
+s4 c'' g' a' |
+% 47
+e''4 c'' d'' b' |
+% 48
+e'2. s4 |
+% 49
+s4 [g'16 f' e' d'] c'4 s |
+% 50
+s4 c'' g' ees''~ees''
+% 51
+d''2 c''4 |
+% 52
+bes'4 s2 [d'16 c' bes a] |
+% 53
+g4 s2 g''4 |
+% 54
+g''4 d'' f'' e'' |
+% 55
+d''4 [a''16 g'' f'' e''] d''4 s |
+% 56
+s4 [a16 g f e] d4 s |
+% 57
+s4 d'' a' f'' |
+% 58
+f'' e''4 bes'2 |
+% 59
+cis''4 s2. |
+% 60
+\stemdown s4 a' gis' g' |
+% 61
+fis'4 f' e'2 |
+% 62
+dis'4 d' cis' c' |
+% 63
+b4 bes a2 |
+% 64
+gis4 g fis f |
+% 65
+\stemup s4 e gis b |
+% 66
+d'4 f' gis' b' |
+% 67
+d''4 f''2 e''8 d'' |
+% 68
+c''4 b' a' g'^\fermata |
+s1 s
+% 71
+\stemdown s4 d e fis |
+% 72
+g4 a bes2 |
+% 73
+\stemup e'4 g' bes' e'' |
+% 74
+bes''2. [a''8 gis''] |
+% 75
+a''4 g''2 [f''8 e''] |
+% 76
+f''4 e''2 [d''8 cis''] |
+% 77
+d''4 c''2 [b'8 a'] |
+% 78
+gis'4 gis'' a'' \stemdown d |
+% 79
+c4 c'2 \stemup b''4 |
+% 80
+c''4 gis'' a'' \stemdown g, |
+% 81
+f,4 f2 \stemup b''4 |
+% 82
+f'4 gis' a' b' |
+% 83
+c''4 d'' e'' f'' |
+% 84
+gis'4 [a'8 b'] e'4 d'' |
+% 85
+c''4 d'' b'2 |
+% 86
+a'4 a'' gis'' g'' |
+% 87
+fis''4 f''2 e''4~e''
+% 88
+d''2 c''4~c''
+% 89
+b'2 a'4~a'
+% 90
+gis'4 a' d'' |
+% 91
+a'2 gis' |
+% 92
+a'4 s2 [e'16 d' c' b] |
+% 93
+a4 s2 d''4 |
+% 94
+c''2 gis' |
+% 95
+a'2. s4 |
+} {
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+s s s s s s s s s s s s s
+% 46
+s2. f''4 |
+% 47
+g'2 f' |
+% 48
+c''2. s4 |
+s1 s
+% 51
+g'2 fis' |
+s1
+% 53
+s2. bes'4 |
+% 54
+a'4 f'' d'' cis'' |
+% 55
+f''4 s2. |
+s1 s
+% 58
+bes'2 e''4 d'' |
+% 59
+a'4 s2. |
+s1 s s s s s s s s s s s s s s s s s s s s s s s s
+% 85
+a'2 gis' |
+s1 s s s s
+% 91
+e'2 b' |
+s1
+% 93
+s2. a'4 |
+% 94
+a'2 b' 
+} {
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+% 91
+c''4 d''4 s2 |
+s1
+% 93
+s2. f'4 |
+% 94
+e'2 e'2
+     }>
+    \type Voice=vTwo <
+     {
+     %- right hand unchorded notes -
+     }>
+    \type Voice=vThree <{
+% 1
+\stemdown s2.  [e''16 d'' c'' b'] |
+% 2
+a'4 s2 [e16 d c b,] |
+% 3
+a,4 s2 a4 |
+% 4
+e4 c' b2 |
+% 5
+a4 s2 c'4 |
+% 6
+g4 e' d'2 |
+% 7
+c'4 s2 d'4 |
+% 8
+a4 f' e'2 |
+% 9
+d'4 s2 e'4 |
+% 10
+b4 g' fis'2 |
+% 11
+e'2 dis'4 d' |
+% 12
+cis'4 c' b2 |
+% 13
+bes4 a gis g |
+% 14
+fis4 f e2 |
+% 15
+dis4 d cis c |
+% 16
+b,2  s |
+s1
+% 18
+s4 b, cis dis |
+% 19
+e4 f g2 |
+% 20
+\stemup g4 bes cis' e' |
+% 21
+g'4 bes' cis'' e'' |
+% 22
+g''4 bes''2 [a''8 g''] |
+% 23
+f''4 e'' d'' c''^\fermata |
+s1 s
+% 26
+\stemdown s4 g, a, b, |
+% 27
+c4 d dis f |
+% 28
+g4 g'2 \stemup d''4 |
+% 29
+g'4 b' c'' \stemdown d |
+% 30
+c4 c'2 \stemup d''4 |
+% 31
+c'4 b'2 \stemdown g,4 |
+% 32
+f,4 f e d |
+% 33
+c4 d e f |
+% 34
+g,4 g e f |
+% 35
+g4 f g g, |
+% 36
+c2 s
+% 37
+s4 c'' b' bes' |
+% 38
+a'4 gis' g'2 |
+% 39
+fis'4 f' e' dis' |
+% 40
+d4 d' c' b |
+% 41
+c4 d e f |
+% 42
+g,4 g e f |
+% 43
+g4 f g g, |
+% 44
+c2 s4 [g'16 f' e' d'] |
+% 45
+c'4 s2 [g,16 f, e, d,] |
+% 46
+c,4 c s f |
+% 47
+g2 g, |
+% 48
+c2.  [g''16 f'' e'' d''] |
+% 49
+c''4 s2 [g16 f e d] |
+% 50
+c4 s2 c'4 |
+% 51
+d'2 d |
+% 52
+g4 [d''16 c'' bes' a'] g'4 s2
+% 53
+[d16 c bes, a,] g,4 g |
+% 54
+a2 a, |
+% 55
+d2 s4 [a'16 g' f' e'] |
+% 56
+d'4 s2 [a,16 g, f, e,] |
+% 57
+d,4 s2 d'4 |
+% 58
+g2 g, |
+% 59
+a,4 \stemup a'' gis'' g'' |
+% 60
+fis''4 f''2 e''4~e''
+% 61
+d''2 c''4~c''
+% 62
+b'2 a'4~a'
+% 63
+g'2 f'4~f'
+% 64
+e'2 d'4 |
+% 65
+\stemdown e,2^\fermata s |
+s1
+% 67
+s4 e fis gis |
+% 68
+a4 b c'2 |
+% 69
+\stemup fis4 a c' ees' |
+% 70
+fis'4 a' c'' ees'' |
+% 71
+c'''2.  [bes''8 a''] |
+% 72
+bes''4 a'' g'' f'' |
+s1
+% 74
+\stemdown s4 c d e |
+% 75
+f2 e |
+% 76
+d2 c |
+% 77
+b,2 a, |
+% 78
+e4 e'2 \stemup b''4 |
+% 79
+e''4 gis'' a'' \stemdown b, |
+% 80
+a,4 a2 \stemup b''4 |
+% 81
+a'4 gis'' a'' \stemdown e, |
+% 82
+d,4 d' c' b |
+% 83
+a4 b c' d' |
+% 84
+e4 d' c' d' |
+% 85
+e'4 d' e' e |
+% 86
+a2 s |
+% 87
+s4 a' gis' g' |
+% 88
+fis'4 f' e'2 |
+% 89
+dis'4 d' cis' c' |
+% 90
+d'2 c'4 d |
+% 91
+e4 d e e, |
+% 92
+a,4 [e''16 d'' c'' b'] a'4 s2
+% 93
+[e16 d c b,] a,4 d |
+% 94
+e2 e, |
+% 95
+a,2.
+} {
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s s
+% 90
+b2 a4 
+     } >
+    \type Voice=vFour <
+     {
+     %- left hand unchorded notes -
+     }
+  >>}
+ \paper{barsize=50.0;  \translator {\StaffContext \consists
+Bar_number_engraver;}}
+}
+
+----------------------------------------------------
+
+\score {
+ \header {title="Domenico Scarlatti - Sonata K.4 L.390";
+          description="Allegro";}
+ % vOne is right hand outside part, vTwo r.h. inside part,
+ % vThree left hand outside, vFour l.h. inside.
+ \notes {
+   \type Staff=staffOne <
+   \property Staff.nolines=11
+    \keysignature bes;
+    \time 4/4;
+    \clef alto;
+    \type Voice=vOne <
+{
+% 1
+\stemup \skip 4..*15/7; g'16 |
+% 2
+[g'16 bes' a' c''] [bes' d'' c'' ees''] d''4. g''8 |
+% 3
+[fis''8 g''] [a'' c''] [bes' c''] [d'' g'] |
+% 4
+[fis'8 g'] [a' c'] [bes c'] [d' g'] |
+% 5
+[fis'8 g'] a' \stemdown d [g bes,] [c d] |
+% 6
+[g,8 g8.] s16 \stemup ees'8 [f' a'] [bes'16 ees'' d'' c''] |
+% 7
+[d''8 ees''] [f'' bes'] \stemdown [f' d'] [ees'16 g' b d'] |
+% 8
+[c'16 ees' d' f'] [ees' g' f' aes'] \stemup  [b' d'' cis'' e'']
+[d''8 e''] |
+% 9
+[f''8 g''] [a'' d''] \stemdown [a16 cis' b d'] [cis' e' a cis'] |
+% 10
+\stemup [f'8 g'] [a' d'] [cis' d'] [e'16 g' f' e'] |
+% 11
+[f'16 a' d''8]~[d''16 e'' c''8]~[c''16 d'' bes' g'] [a' e'' f''8]
+|
+% 12
+e''8 d''4~[d''16 cis''] [d'' bes' a' g'] [a' bes' cis'' a'] |
+% 13
+[bes'16 cis'' d'' e''] [a' g'' f'' e''] [f'' e'' d'' c''] [d''
+e'' f'' g''] |
+% 14
+[a''16 cis'' d'' e''] a' \stemdown [f' e' d'] a,4~a,16 \stemup
+[d'' cis'' b'] |
+% 15
+[a''16 cis'' d'' e''] [a' d'' cis'' b'] cis''4~[cis''16 cis'' d''
+e''] |
+% 16
+[a'8 a''8]~[a''16 g'' f'' e''] [f''8 e''16 d''] [cis''8 d''] |
+% 17
+cis''4 \stemdown [cis'16 a g f] [e8 a] d \stemup g' |
+% 18
+[a'16 cis' d' e'] a \stemdown [f e d] a,4~a,16 \stemup [d' cis'
+b] |
+% 19
+cis'4~[cis'16 cis' d' e'] [a8 a']~[a'16 g' f' e'] |
+% 20
+[f'16 a' d''8]~[d''16 e'' cis''8] d''4 [a'8 g'] |
+% 21
+fis'8 d'4 cis'8 [d'8. e'16] [fis'8. g'16]~
+% 22
+[g'16 a'8 fis'16] [bes'8. cis''16] [cis''8 d''] r8. d'16 |
+% 23
+[d'16 fis' e' g'] [fis' a' g' bes'] a'4. bes'8 |
+% 24
+[c''8 d''] [ees'' fis'] [g' a'] [bes' b'] |
+% 25
+[c''8 d''] [ees'' g''] [f'' ees''] [d'' c''] |
+% 26
+[g''16 b' c'' d''] g' \stemdown [ees' d' c'] g,4~g,16 \stemup
+[c'' b' a'] |
+% 27
+[g''16 b' c'' d''] [g' c'' b' a'] b'4~b'16 \stemdown [f' ees' d']
+|
+% 28
+g8 \stemup g''8~[g''16 f'' ees'' d''] ees''8 \stemdown f [g aes]
+|
+% 29
+g,8 \stemup [ees'16 f'] [d'8 ees'] [f' g'] g'16 \stemdown [c' bes
+a] |
+% 30
+[g16 g'] \stemup cis''8 [d''16 c''' bes'' a''] [bes''8 a''16 g'']
+[fis''8 g''] |
+% 31
+[a''16 fis'' g'' a''] d'' \stemdown [bes' a' g'] d,4~d,16 \stemup
+[g'' fis'' e''] |
+% 32
+[fis''16 fis'' g'' a''] d'' \stemdown [bes' a' g'] [d'' a' fis'
+a'] s \stemup  [fis''16 g'' a''] |
+% 33
+d''8 g''8~[g''16 c''' bes'' a''] [bes''8 a''16 g''] [fis''8 g'']
+|
+% 34
+[a''16 a' bes' c''] \stemdown [fis' d' c' bes] [a8 d] g s |
+% 35
+d4~d16 \stemup [g' fis' e'] [d'' fis' g' a'] d' \stemdown [bes a
+g] |
+% 36
+d,4~d,16 \stemup [g' fis' e'] d'' [fis' g' a'] [d' g'] [fis' e']
+|
+% 37
+d''4~d''16 [fis' g' a'] d' \stemdown [bes a g] [d a g fis] |
+% 38
+[g8 ees] [d d,] g,4 \stemup [bes'16 g' a' fis'] |
+% 39
+bes'8  g'4 fis'8 [g'8. a'16] [bes'8 c''] |
+% 40
+[d''8. d''16] [ees''8 fis'' ] [fis'' g''] r8. s16 |
+}
+{
+s1 s s s s s s s s s s
+%12
+cis''8 s s4 s2 |
+s1 s s s
+% 17
+<e''4 a'> s4 s2 |
+s1 s s s
+%22
+s4 s8. a'16 d'4 s4 |
+s1
+%24
+s2 s4. d'8 |
+%25
+ees'8 f' g' s s2 |
+s1 s s
+%29
+s4. c'8 s4 ees'16
+}
+    >
+    \type Voice=vTwo <
+ {
+s1 s s s s s s s s s
+% 11
+\stemdown s4. [c''16 g'] fis'8 s8 [a'8. b'16] |
+% 12
+s16 \skip 4..*71/7;
+% 16
+[f''16 a' bes'8]~[bes'16 a'8 g'16] |
+s1 s s
+% 20
+[f'8. f'16] [e'8. g'16]~[g' bes' a' g'] [fis' d' e' cis'] |
+% 21
+[d'16 c' bes a] [g bes a g] [fis a g8] [a16 d bes8] |
+% 22
+[ces'8 d']~[d'16 g' e' g'] s2 |
+s1 s
+% 25
+s4. \skip 4..*64/7;
+% 29
+c'8 [f'16 d' ees' d']  \skip 4..*12/7;
+% 30
+[bes''16 d'' ees''8]~[ees''16 d''8 c''16] |
+% 31
+\skip 4..*40/7;
+% 33
+[bes''16 d'' ees''8]~[ees''16 d''8 c''16] |
+% 34
+\skip 4..*48/7; |
+% 37
+fis'4~fis'16 \skip 4..*27/7; |
+% 39
+[g'16 f' ees' d'] [c' ees' d' c']~[c' bes c'8]~[c'16 d'8 fis'16]~
+% 40
+[fis'16 a' bes' g']~[g' c'' a'd'] <g'4 bes'>
+}   >
+    \type Voice=vThree <
+{
+% 1
+\stemdown \skip 4..*23/7;
+% 2
+g16 [g bes a c'] [bes d' c' ees'] |
+% 3
+[d'16 fis' e' g'] [fis' a' d' fis'] [g bes a c'] [bes d' c' ees']
+|
+% 4
+[d16 fis e g] [fis a d fis] [g, bes, a, c] [bes, d c ees] |
+% 5
+[d16 fis e g] fis \stemup [c' bes a] [bes d' g'8]~ [g'16 a'
+fis'8] |
+% 6
+[g'16 ees' d' c'] \stemdown [d' bes a g] [a ees' d' c'] [d'8 a] |
+% 7
+[bes16 d' c' ees'] [d' f' ees' g'] \stemup [a' c'' b' d''] [c''8
+d''] |
+% 8
+[ees''8 f''] [g'' c''] \stemdown [g' e'] [f'16 a' cis' e'] |
+% 9
+[d'16 f' e' g'] [f' a' g' bes'] \stemup [cis''8 d''] [e'' g'] |
+% 10
+\stemdown [d16 f e g] [f a g bes] [a, cis b, d] [cis8 a,] |
+% 11
+[d8 f] [g a] [d g] [cis d] |
+% 12
+a2 d' |
+% 13
+[g'8 e'] [f' cis'] d' a'4 g'8 |
+% 14
+a,4~a,16 \stemup [d'' cis'' b'] [a'' cis'' d'' e''] a' \stemdown
+[f' e' d'] |
+% 15
+a,4~a,16 [f' e' d'] [a' e' cis' e'] [a g' f' e'] |
+% 16
+[a16 f' e' d'] [a e' d' cis'] [d'8 g] [a bes] |
+% 17
+a,16 \stemup [e' f' g'] [e'8 f'] [g' f'16 e'] f' \stemdown [d'
+cis' b] |
+% 18
+a,4~a,16 \stemup [d' cis' b] [a' cis' d' e'] a \stemdown [f e d]
+|
+% 19
+[a16 e cis e] [a, g f e] [a, f e d] [a, e d cis] |
+% 20
+[d8 g] [a a,] d,2 |
+% 21
+d,2 d, |
+% 22
+d,2 d,4 \skip 4..*11/7;
+% 23
+d16 [d fis e g] [fis a g bes] |
+% 24
+[a16 c' bes d'] [c' ees' d' c'] [bes c' a bes] [g a f g] |
+% 25
+[ees16 f d ees] [c d bes, c] [aes, bes, g, aes,] [f, aes, g, f,]
+|
+% 26
+g,4~g,16 \stemup [c'' b' a'] [g'' b' c'' d''] g' \stemdown [ees'
+d' c'] |
+% 27
+g,4~g,16 [ees' d' c'] [g' d' b d'] g \stemup [b' c'' d''] |
+% 28
+[g'16 ees'] \stemdown [d' c'] [g d' c' b] [c' g'] \stemup [d''
+c''] [b'8 c''] |
+% 29
+[d''16 d'] \stemdown g8 [b16 g f ees] [d8 g] c \stemup a' |
+% 30
+bes'8 \stemdown [fis'16 e'] [fis'8 d'] [g' c'] [d' ees'] |
+% 31
+d,4~d,16 \stemup [g'' fis'' e''] [fis'' fis'' g'' a''] d''
+\stemdown [bes' a' g'] |
+% 32
+d4~d16 \stemup [g'' fis'' e''] fis''4 \stemdown [d'16 c'' bes'
+a'] |
+% 33
+[d'16 bes' a' g'] [d' a' g' fis'] [g'8 c'] [d' ees'] |
+% 34
+[d8 d'] \stemup [a' bes'] [c'' bes'16 a'] [bes'8 c''] |
+% 35
+[d''16 fis' g' a'] d' \stemdown [bes a g] d,4~d,16 \stemup [g'
+fis' e'] |
+% 36
+[d''16 fis' g' a'] d' \stemdown [bes a g] d,4~d,16 [bes a g] |
+% 37
+[d'16 a fis a] [d c' bes a] d8 \stemup d''8. [c''16 bes' a'] |
+% 38
+[bes'16 d'' g''8]~[g''16 a''8 fis''16] g''4 s4 |
+% 39
+\stemdown g,2 g, |
+% 40
+g,2 g,4
+} 
+{s1 s s s s s s s s s s s s s s s
+%17
+s4 s8 d' s2 |
+s1 s s s s s s s s s s
+% 29
+g'16  s8. s2 s8 fis' |
+%30
+g8 s s2. |
+s1 s s
+%34
+s4. g'8}
+{s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s
+% 29
+b'16}
+    >
+    \type Voice=vFour <
+     {
+\stemdown \skip 4..*74/7;
+% 5
+[g'16 bes a8.] c'16~c'
+% 6
+\skip 4..*81/7;
+% 11
+\stemup [f16 f' e'8] \skip 4..*11/7;
+% 12
+\stemdown [e'16 f' d'] [e' f' g'8] s [fis'16 e'] [fis' g' a'
+fis'] |
+% 13
+s2 s8 a'4 g'8 |
+% 14
+\skip 4..*48/7; |
+% 17
+s2 [g'16 e' d' cis'] \skip 4..*39/7;
+% 20
+\skip 4..*135/7;
+% 28
+aes'8 [b16 g'8 f'16] |
+% 29
+s16 \skip 4..*13/7; s8 |
+% 30
+s8 \skip 4..*68/7;
+% 34
+s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] |
+% 35
+\skip 4..*50/7;
+% 38
+[g''16 c''] [bes'8 a'] s16 [ees'' d'' c'']
+}  >>}
+ \paper{barsize=50.0; \translator {\StaffContext \consists
+Bar_number_engraver;}}
+}
+
+----------------------------------------------------
+
index aae16dbbb2ecbdd7997c31bb1926d2e3b8e6bb5e..1da1230281bd817ef86f7ac263e2146933dbfa31 100644 (file)
@@ -26,83 +26,93 @@ John
 %}
 
 \score {
-\header {title ="Domenico Scarlatti - Sonata K.1 L.366";}
-% staffOne is right hand, staffTwo left hand
+\header {title ="Domenico Scarlatti - Sonata K.1 L.366";
+          description="Allegro";}
+% vOne is right hand outside part, vTwo r.h. inside part,
+% vThree left hand outside, vFour l.h. inside.
 \notes {
-\type GrandStaff = staffAll <
 \type Staff = staffOne <
-\property Voice.pletvisibility = 0
+\property Staff.nolines=11
 \keysignature bes;
 \time 4/4;
-\clef treble;
+\clef alto;
 \type Voice = vOne <
 {
 % 1
-[d''16 e'' f'' g''] [a'' a' cis'' a'] d''4. e''8 |
+\stemup [d''16 e'' f'' g''] [a'' a' cis'' a'] d''4. e''8 |
 % 2
-[f''16 d'' g'' e''] [a'' f'' e'' d''] [cis''8 a''] a''4^\prall |
+[f''16 d'' g'' e''] [a'' f'' e'' d''] [cis''8 a''] a''4^\prall~
 % 3
-[a''16 g'' f'' e''] [d'' c'' bes' a'] [bes'8 bes'] [g' bes'] |
+[a''16 g'' f'' e''] [d'' c'' bes' a'] bes'8  \stemdown  bes' [g'
+bes'] |
 % 4
-[e'8 e'] [e' e'] f f'' f''4^\prall |
+[e'8 e'] [e' e'] f \stemup f'' f''4^\prall~
 % 5
-[f''16 e'' d'' c''] [bes' a' g' f'] [g'8 g'] [e' e'] |
+[f''16 e'' d'' c''] [bes' a' g' f'] g'8 \stemdown   g' [e' e'] |
 % 6
 [e'8 a] [a a] [d e] [f g] |
 % 7
 a16 s b s cis' s d' s e' s f' s g' s a' s |
 % 8
-b'16 s cis'' s d'' s e'' s [f'' d'' bes' g'] [e'' cis'' a' cis''] |
+b'16 s cis'' s d'' s e'' s [f'' d'' bes' g'] [e'' cis'' a' cis'']
+|
 % 9
-a''4 g''4^\prallmordent [f''16 d'' bes' g'] [e'' cis'' a' cis''] |
+\stemup a''4 g''4^\prallmordent \stemdown [f''16 d'' bes' g']
+[e'' cis'' a' cis''] |
 % 10
-[f''16 d'' g'' e''] [a'' f'' e'' d''] [cis'' a' d'' b'] [e'' g' f'
-e'] |
+\stemup [f''16 d'' g'' e''] [a'' f'' e'' d''] [cis'' a' d'' b']
+[e'' g' f' e'] |
 % 11
 [f'16 d' g' e'] [a' f' e' d'] [cis' a d' b] [e' cis' f' d'] |
 % 12
-[g'16 e' d' cis'] [f'8 g'^\prallmordent] [a'16 e' f' d'] [e' cis' d'
-b] |
+g'16 \stemdown [ e' d' cis'] \stemup f'8 [g'16^\prall f'32 g']
+[a'16 e' f' d'] \stemdown [e' cis' d' b] |
 % 13
-[cis'16 a b aes] cis'4 a,4^\prall^"\\textnatural" r |
+[cis'16 a b aes] \stemup cis'4 a,4^\prall^"\\textnatural"
+r^\fermata | \break
 % 14
 [a'16 b' cis'' d''] [e'' cis'' f'' d''] e''4. a'8 |
 % 15
-[b'16 g' cis'' a'] [d'' b' e'' cis''] [fis'' d'' g'' e''] [a'' c''
-bes' a'] |
+[b'16 g' cis'' a'] [d'' b' e'' cis''] [fis'' d'' g'' e''] [a''
+c'' bes' a'] |
 % 16
-[bes'16 g' c'' a'] [d'' bes' a' g'] [fis' d' g' e'] [a' c' bes a] |
+[bes'16 g' c'' a'] [d'' bes' a' g'] [fis' d' g' e'] [a' c' bes a]
+|
 % 17
-g16 s a s bes s c' s d' s e' s f' s g' s |
+\stemdown g16 s a s bes s c' s d' s e' s f' s g' s |
 % 18
-[a'16 f' d' bes] [g' e' c' e'] c''4 bes'4^\prallmordent |
+[a'16 f' d' bes] [g' e' c' e'] \stemup c''4 bes'4^\prall |
 % 19
 [c''8 f''] [bes' e''] [a'16 f' c'' a'] [f'' c'' a'' f''] |
 % 20
-[e''16 g'' c'' e''] [g'8 fis'] g'16 s g8 [g g,] |
+[e''16 g'' c'' e''] g'8  \stemdown fis' g'16 s g8 [g g,] |
 % 21
-[d8 d'] d'16 [d'' c'' b'] [c'' a' e'' c''] [a'' e'' c''' a''] |
+[d8 d'] d'16 \stemup [d'' c'' b'] [c'' a' e'' c''] [a'' e'' c'''
+a''] |
 % 22
-[gis''16 b'' e'' aes''] [b' d'' cis'' b'] [cis''8 a'] [a' a'] |
+[gis''16 b'' e'' aes''] [b' d'' cis'' b'] \stemdown [cis''8 a']
+[a' a'] |
 % 23
-f,8 a' [f' f'16 a'] [bes'8 g''] g''4^\prall |
+f,8 a' [f' f'16 a'] \stemup [bes'8 g''] g''4^\prall~ |
 % 24
-[g''16 f'' e'' d''] [c'' bes' a'] s f,8 f' [f' f'] |
+[g''16 f'' e'' d''] [c'' bes' a'] s \stemdown f,8 f' [f' f'] |
 % 25
-d,8 d' [f' d'16 f'] [g'8 e''] e''4^\prall |
+d,8 d' [f' d'16 f'] \stemup [g'8 e''] e''4^\prall~ |
 % 26
-[e''16 d'' cis'' b'] [a' g' f' e'] [f' d' g' e'] [a' f' bes' g'] |
+[e''16 d'' cis'' b'] [a' g' f' e'] [f' d' g' e'] [a' f' bes' g']
+|
 % 27
-[f'16 d' g' e'] [a' f' bes' g'] f' s g' s a' s bes' s |
+\stemdown [f'16 d' g' e'] [a' f' bes' g'] \stemup f' s g' s a' s
+bes' s |
 % 28
-[a'8 d''] [g' cis''] [f'16 d' bes g] [e' cis' a cis'] |
+[a'8 d''] [g' cis''] \stemdown [f'16 d' bes g] [e' cis' a cis'] |
 % 29
-[a'8 d''] [g' e''] [f'16 d' g' e'] [a' f' b' g'] |
+\stemup [a'8 d''] [g' e''] [f'16 d' g' e'] [a' f' b' g'] |
 % 30
-[cis''16 a' d'' e''] [f'' d'' e'' cis''] [d'' a' bes' g'] [a' f' g'
-e'] |
+[cis''16 a' d'' e''] [f'' d'' e'' cis''] [d'' a' bes' g']
+\stemdown  [a' f' g' e'] |
 % 31
-[f'16 d' e' cis'] d'4 d4^\prall r4 |
+[f'16 d' e' cis'] d'4 \stemup d4^\prall r4^\fermata |
 } {
 s1 s
 % 3
@@ -124,9 +134,9 @@ s2 s8 a' a' a' |
 % 25
 s8 f' d' s s2 |
 % 26
-s2 d''4 s |
+\stemup s2 d''4 s |
 % 27
-d'16 s e' s f' s g' s s2 |
+\stemdown d'16 s e' s f' s g' s s2 |
 % 28
 s8 f'' s e'' s2 |
 % 29
@@ -135,30 +145,28 @@ s8 f'' s cis''
 \type Voice = vTwo <
 {s1 s s s s
 %6
-s2 d'16 s s4. |
+\stemdown  s2 d'16 s s4. |
 s1 s s s s s s s s s s s s s s s s s s
 %26
-s2 d''4 s |
+\stemup s2 d''4 s |
 %27
-s2 d''4}
->>
-\type Staff = staffTwo <
-\property Voice.pletvisibility = 0
-\keysignature bes;
-\time 4/4;
-\clef treble;
+s2 d''4 s2
+s1
+%29
+s2 d''8}
+>
 \type Voice = vThree <
 {
 % 1
-s2 [d'16 e' f' g'] [a' a cis' a] |
+\stemdown s2 [d'16 e' f' g'] [a' a cis' a] |
 % 2
 [d'8 e'] [f' g'] [a' a'] [a' a'] |
 % 3
-[a'8 a'] [a' f'] g g'' g''4^\prall |
+[a'8 a'] [a' f'] g \stemup g'' g''4^\prall~
 % 4
-[g''16 f'' e'' d''] [c'' bes' a' g'] [a'8 a'] [f' a'] |
+[g''16 f'' e'' d''] [c'' bes' a' g'] a'8 \stemdown  a' [f' a'] |
 % 5
-[d'8 f'] [d' d'] e e'' e''4^\prall |
+[d'8 f'] [d' d'] e \stemup e'' e''4^\prall~
 % 6
 [e''16 d'' cis'' b'] [a' g' f' e'] [f' d' g' e'] [a' f' e' d'] |
 % 7
@@ -166,15 +174,16 @@ s2 [d'16 e' f' g'] [a' a cis' a] |
 % 8
 [d''16 b' e'' cis''] [f'' d'' g'' e''] a''4 g''4^\prallmordent |
 % 9
-[f''16 d'' bes' g'] [e'' cis'' a' cis''] a''4 g''4^\prallmordent |
+\stemdown [f''16 d'' bes' g'] [e'' cis'' a' cis''] \stemup a''4
+g''4^\prallmordent |
 % 10
-[d'8 e'] [f' g'] [a b] [cis' a] |
+\stemdown [d'8 e'] [f' g'] [a b] [cis' a] |
 % 11
 [d8 e] [f g] a16 s b s cis' s d' s |
 % 12
-e16 [g' f' e'] [d'8 bes] a,4 s8 f' |
+e16 \stemup [g' f' e'] \stemdown [d'8 bes] a,4 s8 \stemup f' |
 % 13
-[e'8 d'] [a16 e cis e] s2 |
+[e'8 d'] \stemdown [a16 e cis e] s2 |
 % 14
 s2 [a16 b cis' d'] [e' cis' f' d'] |
 % 15
@@ -182,35 +191,38 @@ g'16 s a' s b' s cis'' s [d'8 e'] [fis' d'] |
 % 16
 [g8 a8] [bes c'] [d e] [fis d] |
 % 17
-[bes16 g c' a] [d' bes e' c'] [f' d' g' e'] [a' f' bes' g'] |
+\stemup [bes16 g c' a] [d' bes e' c'] [f' d' g' e'] [a' f' bes'
+g'] |
 % 18
-c''4 bes'4^\prallmordent [a'16 f' d' bes] [g' e' c' e'] |
+c''4 bes'4^\prall \stemdown [a'16 f' d' bes] [g' e' c' e'] |
 % 19
 [a'16 f' d' bes] [g' e' c' e'] f' s f8 [f f,] |
 % 20
-[c8 c'] [c'16 c'' bes' a'] [bes' g' d'' bes'] [g'' d'' bes'' g''] |
+[c8 c'] c'16 \stemup [c'' bes' a'] [bes' g' d'' bes'] [g'' d''
+bes'' g''] |
 % 21
-[f''16 a'' d'' f''] [a'8 gis'] a'16 s a8 [a a,] |
+[f''16 a'' d'' f''] a'8 \stemdown gis' a'16 s a8 [a a,] |
 % 22
-[e8 e,] [e, e,] a, a'' a''4^\prall^"\\textflat" |
+[e8 e,] [e, e,] a, \stemup a'' a''4^\prall^"\\textflat"~ |
 % 23
-[a''16 g'' f'' e''] [d'' c'' bes'] s g,8 bes' [bes' bes'] |
+[a''16 g'' f'' e''] [d'' c'' bes'] s \stemdown g,8 bes' [bes'
+bes'] |
 % 24
-e,8 e' [g' e'16 g'] [a'8 f''] f''4^\prall |
+e,8 e' [g' e'16 g'] \stemup [a'8 f''] f''4^\prall~ |
 % 25
-[f''16 e'' d'' c''] [bes' a' g'] s e,8 g' [g' g'] |
+[f''16 e'' d'' c''] [bes' a' g'] s \stemdown e,8 g' [g' g'] |
 % 26
 a,8 a [e' a] d'16 s e' s f' s g' s |
 % 27
 s2 [d'16 d' e' e'] [f' f' g' g'] |
 % 28
-[f'16 d' bes g] [e' cis' a cis'] [a'8 d''] [g' e''] |
+[f'16 d' bes g] [e' cis' a cis'] \stemup [a'8 d''] [g' e''] |
 % 29
-[f'16 d' bes g] [e' cis' a cis'] [d8 e] [f g] |
+\stemdown [f'16 d' bes g] [e' cis' a cis'] [d8 e] [f g] |
 % 30
-[a8 g] [a a,] d4 s8 bes' |
+[a8 g] [a a,] d4 s8 \stemup bes' |
 % 31
-[a'8 g'] [f'16 a f a] s2 |
+[a'8 g'] f'16 \stemdown [a f a] s2 |
 } {
 s1 s
 % 3
@@ -222,21 +234,20 @@ f'8 d' f' s s2 |
 s1 s s s s s s s s s s s s s s s s
 % 23
 s2 s8 g' g' g' |
-% 24
+ii% 24
 s8 g' e' s s2 |
 % 25
 s2 s8 e' e' e' |
 % 26
 s8 e' a s s2 |
-% 27
-d''4 s s2 |
+s1
 % 28
 s2 s8 f'' s cis'' |
 } >
 \type Voice = vFour <
 {s1 s s s s s s s s
 %10
-d''16 s s4. a'16 s s4. |
+\stemdown d''16 s s4. a'16 s s4. |
 %11
 d'16 s s4. s2 |
 s1 s s
@@ -244,13 +255,14 @@ s1 s s
 s2 d''16 s s4. |
 %16
 g'16 s s4. d'16 s s4. |
-s1 s s s s s s s s s s s
+s1 s s s s s s s s s
+%27
+\stemup d''4 s2. |
+s1
 %29
-s2 d'16}
->>
+\stemdown s2 d'16}
+>
 >}
-\paper{indent=0.0; \translator {\ScoreContext \consists
+\paper{barsize=50.0; \translator {\StaffContext \consists
 Bar_number_engraver;}}
 }
-
-
diff --git a/mutopia/D.Scarlatti/sonata-k2-l388.ly b/mutopia/D.Scarlatti/sonata-k2-l388.ly
new file mode 100644 (file)
index 0000000..e7e7733
--- /dev/null
@@ -0,0 +1,338 @@
+
+
+\score {
+ \header {title="Domenico Scarlatti - Sonata K.2 L.388";
+          description="Presto";}
+ % vOne is right hand outside part, vTwo r.h. inside part,
+ % vThree left hand outside, vFour l.h. inside.
+ \notes {
+   \type Staff=staffOne <
+    \property Staff.nolines=11
+    \property Voice.pletvisibility=0
+    \keysignature fis;
+    \time 3/8;
+    \clef alto;
+    \type Voice=vOne <{
+%1
+\stemup [g''8 g' g'] |
+% 2
+g'4.^\prall |
+% 3
+[g'16 d' b' g' d'' b'] |
+% 4
+g''4. |
+% 5
+[b'8 c'' d''] |
+% 6
+c''4 b'8 |
+% 7
+[c''16 a'' b' g'' a' fis''] |
+% 8
+[b'16 g'' a' fis'' g''8] |
+% 9
+\stemdown [g'8 a' b'] |
+% 10
+[a'8 fis' g'] |
+% 11
+[c'8 d' d] |
+% 12
+[g8 d g,] |
+% 13
+[b'16 d'' a' d'' g' cis''] |
+% 14
+[fis'16 d'' e'' cis'' d'' a'] |
+% 15
+\stemup [g''8 fis'' e''] |
+% 16
+a''8 s4 |
+% 17
+[d''16 a' cis'' a' b' gis'] |
+% 18
+[e''16 a' b' gis' a' e'] |
+% 19
+\stemdown [fis'8 e' d'] |
+% 20
+cis'8 s4 |
+% 21
+\stemup [d''16 g' a'' fis' cis'' e'] |
+% 22
+[d''16 a' fis'] s8. |
+% 23
+\stemdown [b8 a g] |
+% 24
+fis8 s16 \stemup [d' fis' a'] |
+% 25
+[d''16 g' a'' f' cis'' e'] |
+% 26
+[d''16 a' f'] s8. |
+% 27
+\stemdown [bes8 a g] |
+% 28
+f8 s16 \stemup [d' f' a'] |
+% 29
+[d''16 g' cis'' fis' b' e'] |
+% 30
+[a'16 d' g' cis' fis' d'] |
+% 31
+[g'16 e' fis' d' e' cis'] |
+% 32
+[d'8 cis' b] |
+% 33
+[a8 g' fis'] |
+% 34
+[e'8 d'8. cis'16] |
+% 35
+[d'16 a fis' d' a' fis'] |
+% 36
+[d''16 a' fis'' d'' a'' a'] |
+% 37
+d''4. |  \break
+% 38
+[d''8 d' d'] |
+% 39
+d'4.^\prall |
+% 40
+[d'16 a fis' d' a' fis'] |
+% 41
+d''4.^\prall |
+% 42
+[fis'8 g' a'] |
+% 43
+g'4^\prall fis'8 |
+% 44
+[g'16 e'' fis' d'' e' cis''] |
+% 45
+[fis'16 d'' e' cis'' d''8] |
+% 46
+\stemdown [d'8 e' fis'] |
+% 47
+[e'8 cis' d'] |
+% 48
+[g8 a a,] |
+% 49
+[d8 a, d,] |
+% 50
+\stemup [d''16 a' c'' a' b' gis'] |
+% 51
+[e''16 a' b' gis' a' e'] |
+% 52
+\stemdown [f'8 e' d'] |
+% 53
+c'8 s4 |
+% 54
+[e'8 d' c'] |
+% 55
+b8 s4 |
+% 56
+\stemup [c''16 g' b' g' a' fis'] |
+% 57
+[d''16 g' a' fis' g' d'] |
+% 58
+\stemdown [e'16 c'' d' b' c' a'] |
+% 59
+[b16 g' a fis' g g'] |
+% 60
+[c'8 d' e'] |
+% 61
+d'8 s4 |
+% 62
+[e8 d c] |
+% 63
+b,8 s \stemup [b16 d'] |
+% 64
+[g'16 c' d'' b fis' a] |
+% 65
+[g'16 d' b g] s8 |
+% 66
+\stemdown [ees8 d c] |
+% 67
+bes,8 s \stemup [ais16 d'] |
+% 68
+[g'16 c' d'' bes fis' a] |
+% 69
+[g'16 d' ais g] s8 |
+% 70
+[g''16 c'' fis'' b' e'' a'] |
+% 71
+[d''16 g' c'' fis' b' g'] |
+% 72
+[c''16 a' b' g' a' fis'] |
+% 73
+[g'8 fis' e'] |
+% 74
+[d'8 c' b] |
+% 75
+[a16 c' b g' a fis'] |
+% 76
+[g'16 d' b g b d'] |
+% 77
+[g'16 d' b' g' d'' d'] |
+% 78
+g'4. |}
+{s1 s s s s
+%6
+d4
+     }>
+    \type Voice=vThree <{
+% 1
+\stemdown s4. |
+% 2
+[g8 g, g,] |
+% 3
+g,4. |
+% 4
+[g16 d b g d' b] |
+% 5
+[g'8 a' b'] |
+% 6
+[a'8 fis' g'] |
+% 7
+[c'8 d' fis'] |
+% 8
+[g'8 d' g] |
+% 9
+\stemup [b'8 c'' d''] |
+% 10
+c''4^\prall b'8 |
+% 11
+[c''16 a'' b' g'' a' fis''] |
+% 12
+[b'16 g'' a' fis'' g''8] |
+% 13
+[g''8 fis'' e''] |
+% 14
+a''8 s4 |
+% 15
+\stemdown [b'16 d'' a' d'' g' cis''] |
+% 16
+[fis'16 d'' e'' cis'' d'' a'] |
+% 17
+[fis'8 e' d'] |
+% 18
+cis'8 s4 |
+% 19
+\stemup [d''16 a' cis'' a' b' gis'] |
+% 20
+[e''16 a' b' gis' a' e'] |
+% 21
+\stemdown [b8 a g] |
+% 22
+fis8 s16 \stemup [d' fis' a'] |
+% 23
+[d''16 g' a'' fis' cis'' e'] |
+% 24
+[d''16 a' fis'] s8. |
+% 25
+\stemdown [bes8 a g] |
+% 26
+f8 s16 \stemup [d' f' a'] |
+% 27
+[d''16 g' a'' f' cis'' e'] |
+% 28
+[d''16 a' f'] s8. |
+% 29
+\stemdown [b8 a g] |
+% 30
+[fis8 e d] |
+% 31
+[g8 a a,] |
+% 32
+[b,16 g a, fis g, e] |
+% 33
+[fis,16 d e, cis d, d] |
+% 34
+[g,16 e a, fis e8] |
+% 35
+d,4. |
+% 36
+d,4. |
+% 37
+d,4. |
+% 38
+s4. |
+% 39
+[d8 d, d,] |
+% 40
+d,4. |
+% 41
+[d16 a, fis d a fis] |
+% 42
+[d'8 e' fis'] |
+% 43
+[e'8 cis' d'] |
+% 44
+[g8 a cis'] |
+% 45
+[d'8 a d] |
+% 46
+\stemup [fis'8 g' a'] |
+% 47
+g'4^\prall fis'8 |
+% 48
+[g'16 e'' fis' d'' e' cis''] |
+% 49
+[fis'16 d'' e' cis'' d''8] |
+% 50
+\stemdown [f'8 e' d'] |
+% 51
+c'8 s4 |
+% 52
+\stemup [d''16 a' c'' a' b' gis'] |
+% 53
+[e''16 a' b' gis' a' e'] |
+% 54
+[c''16 g' b' g' a' fis'] |
+% 55
+[d''16 g' a' fis' g' d'] |
+% 56
+\stemdown [e'8 d' c'] |
+% 57
+b8 s4 |
+% 58
+\stemup [g''8 fis'' e''] |
+% 59
+[d''8 c'' b'] |
+% 60
+[a'16 b' c'' b' a' g'] |
+% 61
+[a'16 fis' g' e' fis' d'] |
+% 62
+[g'16 c' d'' b fis' a] |
+% 63
+[g'16 d' b g] s8 |
+% 64
+\stemdown [e8 d c] |
+% 65
+b,8 s \stemup [b16 d'] |
+% 66
+[g'16 c' d'' bes fis' a] |
+% 67
+[g'16 d' bes g] s8 |
+% 68
+\stemdown [ees8 d c] |
+% 69
+bes,8 s [bes16 d'] |
+% 70
+[e'8 d' c'] |
+% 71
+[b8 a g] |
+% 72
+[c'8 d' d] |
+% 73
+[e16 c' d b c a] |
+% 74
+[b,16 g a, fis g, g] |
+% 75
+[c8 d d,] |
+% 76
+g,4. |
+% 77
+g,4. |
+% 78
+g,4. |
+     } >
+ >}
+ \paper{barsize=50.0;  \translator {\StaffContext \consists
+Bar_number_engraver;}}
+}
+
diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly
new file mode 100644 (file)
index 0000000..0ff9b9e
--- /dev/null
@@ -0,0 +1,255 @@
+ \header {
+ composer =  "Domenico Scarlatti";
+ title="Sonata K.3"
+ opus="L.378";
+ movement="Presto";
+ copyright = "General Public License";
+}
+
+tolower = \translator Staff = lower
+toupper = \translator Staff = upper
+
+RHtoL = { \tolower \stemdown }
+RHtoR = { \toupper \stemup } 
+LHtoR = { \toupper \stemup } 
+LHtoL = { \tolower \stemdown } 
+
+\score {
+ \notes 
+   \type PianoStaff  <
+    \type Staff = upper <\type Voice = mainV <{
+    % 1
+       \stemup s1
+       s4 [e'16 d' c' b] a4 s |
+       s4 a' e' c'' |
+       b'4 a'2 gis'4 |
+       s4 c'' a' e'' |
+    % 5
+       d''4 c''2 b'4 |
+       s4 c'' g' f'' |
+       e''4 d''2 cis''4 |
+       s4 d'' a' g'' |
+       fis''4 e''2 dis''4 |
+       % 10
+       [e''8 d''] c''2 b'4~b'
+       a'2 g'4~g'
+       fis'2 e'4~e'
+       d'2 c'4~c'
+       b2 a4 |
+       % 15
+       s4 c' dis' fis' |
+       a'4 c'' dis'' fis'' |
+       a''4 c'''2 [b''8 a''] |
+       g''4 f'' e'' d''^\fermata |
+       s1
+       % 20
+       s
+       s4 \RHtoL a, b, cis |
+       d4 e f2 |
+       \RHtoR f4 aes b d' |
+       f'4 aes' b' d'' |
+       % 25
+       f''4 aes''2 [g''8 f''] |
+       ees''4 d'' c'' d'' |
+       g'4 b' c'' \RHtoL f |
+       e4 e'2 \RHtoR d''4 |
+       e'4 b' c'' \RHtoL b, |
+       % 30
+       a,4 a \RHtoR c'' d'' |
+       a4 b c' d' |
+       e'4 f' g' a' |
+       b'4 [a'8 g'] g''4 c'' |
+       c''4~[c''16 b' c'' d''] d''4.^\prall c''8 |
+       % 35
+       c''4 c''' b'' bes''
+       a'' aes''2 g''4~g''
+       f''2 dis''4~dis''
+       d''2 c''4~c''
+       b'4 c'' d'' |
+       % 40
+       e'4 f' g' a' |
+       b'4 [a'8 g'] g''4 c'' |
+       c''4~[c''16 b' c'' d''] d''4.^\prall c''8 |
+       c''4 [g''16 f'' e'' d''] c''4 s |
+       s4 [g16 f e d] c4 s |
+       s4 c'' g'
+       <
+         { f''4 e'' c'' d'' b' c''2. }
+         \type Voice = anotherV { a'4 g'2 f'2 e'2. }
+       > s4 |
+
+
+       s4 [g'16 f' e' d'] c'4 s |
+       s4 c'' g' ees'' ~
+       < { ees'' d''2 c''4 }
+         \type Voice = anotherV { \stemdown g'2 fis'2 }
+       > 
+         |
+       bes'4 s2 [d'16 c' bes a] |
+       g4 s2 <bes'4 g''>  |
+       <a' g''> <d'' f''> <d'' f''>  <cis'' e''> |
+       d''4 [a''16 g'' f'' e''] d''4 s |
+       s4 [a16 g f e] d4 s |
+       s4 d'' a' f'' |
+       <
+          { f''4 e'' e'' d'' }
+          \type Voice = anotherV { \stemdown bes'2 bes'2 }
+       > |
+       < a'4 cis''> s2. |
+       \RHtoL s4 a' gis' g' |
+       fis'4 f' e'2 |
+       dis'4 d' cis' c' |
+       b4 bes a2 |
+       gis4 g fis f |
+       \RHtoR s4 e gis b |
+       d'4 f' gis' b' |
+       d''4 f''2 e''8 d'' |
+       c''4 b' a' g'^\fermata |
+       s1 s
+       \RHtoL s4 d e fis |
+       g4 a bes2 |
+       \RHtoR e'4 g' bes' e'' |
+       bes''2. [a''8 gis''] |
+       a''4 g''2 [f''8 e''] |
+       f''4 e''2 [d''8 cis''] |
+       d''4 c''2 [b'8 a'] |
+       gis'4 gis'' a'' \RHtoL d |
+       c4 c'2 \RHtoR b''4 |
+       c''4 gis'' a'' \RHtoL g, |
+       f,4 f2 \RHtoR b''4 |
+       f'4 gis' a' b' |
+       c''4 d'' e'' f'' |
+       gis'4 [a'8 b'] e'4 d'' |
+       < \type Voice = mainV { c''4 d'' s2 }
+         \type Voice = anotherV { \stemdown a'2 <b'2 gis'> } 
+       > 
+       a'4 a'' gis'' g'' |
+       fis''4 f''2 e''4~e''
+       d''2 c''4~c''
+       b'2 a'4~a'
+       gis'4 a' d'' |
+       < \type Voice = mainV { c''4 d'' s2 }
+         \type Voice = anotherV { \stemdown <a'2 e'> <gis' b'> }  |
+       >
+       a'4 s2 [e'16 d' c' b] |
+       a4 s2 <f'4 a' d''4> | %% added some chording.
+       <e'2 a' c''> <e' gis' b'> |
+       a'2.  |
+       }>>
+
+
+     \type Staff = lower <{
+
+       \stemdown s2.  [e''16 d'' c'' b'] |
+
+       a'4
+            s2
+            \clef bass;        % HWN
+            [e16 d c b,] |
+       a,4 s2 a4 |
+       e4 c' b2 |
+       a4 s2 c'4 |
+       g4 e' d'2 |
+       c'4 s2 d'4 |
+       a4 f' e'2 |
+       d'4 s2 e'4 |
+       b4 g' fis'2 |
+       e'2 dis'4 d' |
+       cis'4 c' b2 |
+       bes4 a gis g |
+       fis4 f e2 |
+       dis4 d cis c |
+       b,2  s |
+       s1
+       s4 b, cis dis |
+       e4 f g2 |
+       \LHtoR g4 bes cis' e' |
+       g'4 bes' cis'' e'' |
+       g''4 bes''2 [a''8 g''] |
+       f''4 e'' d'' c''^\fermata |
+       s1 s
+       \LHtoL s4 g, a, b, |
+       c4 d dis f |
+       g4 g'2 \LHtoR d''4 |
+       g'4 b' c'' \LHtoL d |
+       c4 c'2 \LHtoR d''4 |
+       c'4 b'2 \LHtoL g,4 |
+       f,4 f e d |
+       c4 d e f |
+       g,4 g e f |
+       g4 f g g, |
+       c2 s
+         \LHtoR   %% added. HWN
+       s4 c'' b' bes' |
+       a'4 gis' g'2 |
+       fis'4 f' e' dis'
+         \LHtoL
+         |
+       d4 d' c' b |
+       c4 d e f |
+       g,4 g e f |
+       g4 f g g, |
+       c2 s4 [g'16 f' e' d'] |
+       c'4 s2 [g,16 f, e, d,] |
+       c,4 c s f |
+       g2 g, |
+       c2. \LHtoR [g''16 f'' e'' d''] |
+
+       c''4 \LHtoL
+          s2 [g16 f e d] |
+       c4 s2 c'4 |
+       d'2 d |
+       g4
+         \LHtoR
+       [d''16 c'' bes' a'] g'4  \LHtoL s2
+       [d16 c bes, a,] g,4 g |
+       a2 a, |
+       d2 s4 \LHtoR [a'16 g' f' e'] |
+       d'4 \LHtoL s2 [a,16 g, f, e,] |
+       d,4 s2 d'4 |
+       g2 g, |
+       a,4 \LHtoR a'' gis'' g'' |
+       fis''4 f''2 e''4~e''
+       d''2 c''4~c''
+       b'2 a'4~a'
+       g'2 f'4~f'
+       e'2 d'4 |
+       \LHtoL e,2^\fermata s |
+       s1
+       s4 e fis gis |
+       a4 b c'2 |
+       \LHtoR fis4 a c' ees' |
+       fis'4 a' c'' ees'' |
+       c'''2.  [bes''8 a''] |
+       bes''4 a'' g'' f'' |
+       s1
+       \LHtoL s4 c d e |
+       f2 e |
+       d2 c |
+       b,2 a, |
+       e4 e'2 \LHtoR b''4 |
+       e''4 gis'' a'' \LHtoL b, |
+       a,4 a2 \LHtoR b''4 |
+       a'4 gis'' a'' \LHtoL e, |
+       d,4 d' c' b |
+       a4 b c' d' |
+       e4 d' c' d' |
+       e'4 d' e' e |
+       a2 s |
+       s4 a' gis' g' |
+       fis'4 f' e'2 |
+       dis'4 d' cis' c' |
+       <d'2 b>  <c'4 a> d |
+       e4 d e e, |
+       a,4 \LHtoR [e''16 d'' c'' b'] a'4 \LHtoL s2
+       [e16 d c b,] a,4 d |
+       e2 e, |
+       a,2.
+       }  
+     > > 
+
+ \paper{
+ barsize=50.0;
+ }
+}
diff --git a/mutopia/D.Scarlatti/sonata-k4-l390.ly b/mutopia/D.Scarlatti/sonata-k4-l390.ly
new file mode 100644 (file)
index 0000000..9e3c788
--- /dev/null
@@ -0,0 +1,313 @@
+
+\score {
+ \header {title="Domenico Scarlatti - Sonata K.4 L.390";
+          description="Allegro";}
+ % vOne is right hand outside part, vTwo r.h. inside part,
+ % vThree left hand outside, vFour l.h. inside.
+ \notes {
+   \type Staff=staffOne <
+   \property Staff.nolines=11
+    \keysignature bes;
+    \time 4/4;
+    \clef alto;
+    \type Voice=vOne <
+{
+% 1
+\stemup \skip 4..*15/7; g'16 |
+% 2
+[g'16 bes' a' c''] [bes' d'' c'' ees''] d''4. g''8 |
+% 3
+[fis''8 g''] [a'' c''] [bes' c''] [d'' g'] |
+% 4
+[fis'8 g'] [a' c'] [bes c'] [d' g'] |
+% 5
+[fis'8 g'] a' \stemdown d [g bes,] [c d] |
+% 6
+[g,8 g8.] s16 \stemup ees'8 [f' a'] [bes'16 ees'' d'' c''] |
+% 7
+[d''8 ees''] [f'' bes'] \stemdown [f' d'] [ees'16 g' b d'] |
+% 8
+[c'16 ees' d' f'] [ees' g' f' aes'] \stemup  [b' d'' cis'' e'']
+[d''8 e''] |
+% 9
+[f''8 g''] [a'' d''] \stemdown [a16 cis' b d'] [cis' e' a cis'] |
+% 10
+\stemup [f'8 g'] [a' d'] [cis' d'] [e'16 g' f' e'] |
+% 11
+[f'16 a' d''8]~[d''16 e'' c''8]~[c''16 d'' bes' g'] [a' e'' f''8]
+|
+% 12
+e''8 d''4~[d''16 cis''] [d'' bes' a' g'] [a' bes' cis'' a'] |
+% 13
+[bes'16 cis'' d'' e''] [a' g'' f'' e''] [f'' e'' d'' c''] [d''
+e'' f'' g''] |
+% 14
+[a''16 cis'' d'' e''] a' \stemdown [f' e' d'] a,4~a,16 \stemup
+[d'' cis'' b'] |
+% 15
+[a''16 cis'' d'' e''] [a' d'' cis'' b'] cis''4~[cis''16 cis'' d''
+e''] |
+% 16
+[a'8 a''8]~[a''16 g'' f'' e''] [f''8 e''16 d''] [cis''8 d''] |
+% 17
+cis''4 \stemdown [cis'16 a g f] [e8 a] d \stemup g' |
+% 18
+[a'16 cis' d' e'] a \stemdown [f e d] a,4~a,16 \stemup [d' cis'
+b] |
+% 19
+cis'4~[cis'16 cis' d' e'] [a8 a']~[a'16 g' f' e'] |
+% 20
+[f'16 a' d''8]~[d''16 e'' cis''8] d''4 [a'8 g'] |
+% 21
+fis'8 d'4 cis'8 [d'8. e'16] [fis'8. g'16]~
+% 22
+[g'16 a'8 fis'16] [bes'8. cis''16] [cis''8 d''] r8. d'16 |
+% 23
+[d'16 fis' e' g'] [fis' a' g' bes'] a'4. bes'8 |
+% 24
+[c''8 d''] [ees'' fis'] [g' a'] [bes' b'] |
+% 25
+[c''8 d''] [ees'' g''] [f'' ees''] [d'' c''] |
+% 26
+[g''16 b' c'' d''] g' \stemdown [ees' d' c'] g,4~g,16 \stemup
+[c'' b' a'] |
+% 27
+[g''16 b' c'' d''] [g' c'' b' a'] b'4~b'16 \stemdown [f' ees' d']
+|
+% 28
+g8 \stemup g''8~[g''16 f'' ees'' d''] ees''8 \stemdown f [g aes]
+|
+% 29
+g,8 \stemup [ees'16 f'] [d'8 ees'] [f' g'] g'16 \stemdown [c' bes
+a] |
+% 30
+[g16 g'] \stemup cis''8 [d''16 c''' bes'' a''] [bes''8 a''16 g'']
+[fis''8 g''] |
+% 31
+[a''16 fis'' g'' a''] d'' \stemdown [bes' a' g'] d,4~d,16 \stemup
+[g'' fis'' e''] |
+% 32
+[fis''16 fis'' g'' a''] d'' \stemdown [bes' a' g'] [d'' a' fis'
+a'] s \stemup  [fis''16 g'' a''] |
+% 33
+d''8 g''8~[g''16 c''' bes'' a''] [bes''8 a''16 g''] [fis''8 g'']
+|
+% 34
+[a''16 a' bes' c''] \stemdown [fis' d' c' bes] [a8 d] g s |
+% 35
+d4~d16 \stemup [g' fis' e'] [d'' fis' g' a'] d' \stemdown [bes a
+g] |
+% 36
+d,4~d,16 \stemup [g' fis' e'] d'' [fis' g' a'] [d' g'] [fis' e']
+|
+% 37
+d''4~d''16 [fis' g' a'] d' \stemdown [bes a g] [d a g fis] |
+% 38
+[g8 ees] [d d,] g,4 \stemup [bes'16 g' a' fis'] |
+% 39
+bes'8  g'4 fis'8 [g'8. a'16] [bes'8 c''] |
+% 40
+[d''8. d''16] [ees''8 fis'' ] [fis'' g''] r8. s16 |
+}
+{
+s1 s s s s s s s s s s
+%12
+cis''8 s s4 s2 |
+s1 s s s
+% 17
+<e''4 a'> s4 s2 |
+s1 s s s
+%22
+s4 s8. a'16 d'4 s4 |
+s1
+%24
+s2 s4. d'8 |
+%25
+ees'8 f' g' s s2 |
+s1 s s
+%29
+s4. c'8 s4 ees'16
+}
+    >
+    \type Voice=vTwo <
+ {
+s1 s s s s s s s s s
+% 11
+\stemdown s4. [c''16 g'] fis'8 s8 [a'8. b'16] |
+% 12
+s16 \skip 4..*71/7;
+% 16
+[f''16 a' bes'8]~[bes'16 a'8 g'16] |
+s1 s s
+% 20
+[f'8. f'16] [e'8. g'16]~[g' bes' a' g'] [fis' d' e' cis'] |
+% 21
+[d'16 c' bes a] [g bes a g] [fis a g8] [a16 d bes8] |
+% 22
+[ces'8 d']~[d'16 g' e' g'] s2 |
+s1 s
+% 25
+s4. \skip 4..*64/7;
+% 29
+c'8 [f'16 d' ees' d']  \skip 4..*12/7;
+% 30
+[bes''16 d'' ees''8]~[ees''16 d''8 c''16] |
+% 31
+\skip 4..*40/7;
+% 33
+[bes''16 d'' ees''8]~[ees''16 d''8 c''16] |
+% 34
+\skip 4..*48/7; |
+% 37
+fis'4~fis'16 \skip 4..*27/7; |
+% 39
+[g'16 f' ees' d'] [c' ees' d' c']~[c' bes c'8]~[c'16 d'8 fis'16]~
+% 40
+[fis'16 a' bes' g']~[g' c'' a'd'] <g'4 bes'>
+}   >
+    \type Voice=vThree <
+{
+% 1
+\stemdown \skip 4..*23/7;
+% 2
+g16 [g bes a c'] [bes d' c' ees'] |
+% 3
+[d'16 fis' e' g'] [fis' a' d' fis'] [g bes a c'] [bes d' c' ees']
+|
+% 4
+[d16 fis e g] [fis a d fis] [g, bes, a, c] [bes, d c ees] |
+% 5
+[d16 fis e g] fis \stemup [c' bes a] [bes d' g'8]~ [g'16 a'
+fis'8] |
+% 6
+[g'16 ees' d' c'] \stemdown [d' bes a g] [a ees' d' c'] [d'8 a] |
+% 7
+[bes16 d' c' ees'] [d' f' ees' g'] \stemup [a' c'' b' d''] [c''8
+d''] |
+% 8
+[ees''8 f''] [g'' c''] \stemdown [g' e'] [f'16 a' cis' e'] |
+% 9
+[d'16 f' e' g'] [f' a' g' bes'] \stemup [cis''8 d''] [e'' g'] |
+% 10
+\stemdown [d16 f e g] [f a g bes] [a, cis b, d] [cis8 a,] |
+% 11
+[d8 f] [g a] [d g] [cis d] |
+% 12
+a2 d' |
+% 13
+[g'8 e'] [f' cis'] d' a'4 g'8 |
+% 14
+a,4~a,16 \stemup [d'' cis'' b'] [a'' cis'' d'' e''] a' \stemdown
+[f' e' d'] |
+% 15
+a,4~a,16 [f' e' d'] [a' e' cis' e'] [a g' f' e'] |
+% 16
+[a16 f' e' d'] [a e' d' cis'] [d'8 g] [a bes] |
+% 17
+a,16 \stemup [e' f' g'] [e'8 f'] [g' f'16 e'] f' \stemdown [d'
+cis' b] |
+% 18
+a,4~a,16 \stemup [d' cis' b] [a' cis' d' e'] a \stemdown [f e d]
+|
+% 19
+[a16 e cis e] [a, g f e] [a, f e d] [a, e d cis] |
+% 20
+[d8 g] [a a,] d,2 |
+% 21
+d,2 d, |
+% 22
+d,2 d,4 \skip 4..*11/7;
+% 23
+d16 [d fis e g] [fis a g bes] |
+% 24
+[a16 c' bes d'] [c' ees' d' c'] [bes c' a bes] [g a f g] |
+% 25
+[ees16 f d ees] [c d bes, c] [aes, bes, g, aes,] [f, aes, g, f,]
+|
+% 26
+g,4~g,16 \stemup [c'' b' a'] [g'' b' c'' d''] g' \stemdown [ees'
+d' c'] |
+% 27
+g,4~g,16 [ees' d' c'] [g' d' b d'] g \stemup [b' c'' d''] |
+% 28
+[g'16 ees'] \stemdown [d' c'] [g d' c' b] [c' g'] \stemup [d''
+c''] [b'8 c''] |
+% 29
+[d''16 d'] \stemdown g8 [b16 g f ees] [d8 g] c \stemup a' |
+% 30
+bes'8 \stemdown [fis'16 e'] [fis'8 d'] [g' c'] [d' ees'] |
+% 31
+d,4~d,16 \stemup [g'' fis'' e''] [fis'' fis'' g'' a''] d''
+\stemdown [bes' a' g'] |
+% 32
+d4~d16 \stemup [g'' fis'' e''] fis''4 \stemdown [d'16 c'' bes'
+a'] |
+% 33
+[d'16 bes' a' g'] [d' a' g' fis'] [g'8 c'] [d' ees'] |
+% 34
+[d8 d'] \stemup [a' bes'] [c'' bes'16 a'] [bes'8 c''] |
+% 35
+[d''16 fis' g' a'] d' \stemdown [bes a g] d,4~d,16 \stemup [g'
+fis' e'] |
+% 36
+[d''16 fis' g' a'] d' \stemdown [bes a g] d,4~d,16 [bes a g] |
+% 37
+[d'16 a fis a] [d c' bes a] d8 \stemup d''8. [c''16 bes' a'] |
+% 38
+[bes'16 d'' g''8]~[g''16 a''8 fis''16] g''4 s4 |
+% 39
+\stemdown g,2 g, |
+% 40
+g,2 g,4
+} 
+{s1 s s s s s s s s s s s s s s s
+%17
+s4 s8 d' s2 |
+s1 s s s s s s s s s s
+% 29
+g'16  s8. s2 s8 fis' |
+%30
+g8 s s2. |
+s1 s s
+%34
+s4. g'8}
+{s1 s s s s s s s s s s s s s s s s s s s s s s s s s s s
+% 29
+b'16}
+    >
+    \type Voice=vFour <
+     {
+\stemdown \skip 4..*74/7;
+% 5
+[g'16 bes a8.] c'16~c'
+% 6
+\skip 4..*81/7;
+% 11
+\stemup [f16 f' e'8] \skip 4..*11/7;
+% 12
+\stemdown [e'16 f' d'] [e' f' g'8] s [fis'16 e'] [fis' g' a'
+fis'] |
+% 13
+s2 s8 a'4 g'8 |
+% 14
+\skip 4..*48/7; |
+% 17
+s2 [g'16 e' d' cis'] \skip 4..*39/7;
+% 20
+\skip 4..*135/7;
+% 28
+aes'8 [b16 g'8 f'16] |
+% 29
+s16 \skip 4..*13/7; s8 |
+% 30
+s8 \skip 4..*68/7;
+% 34
+s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] |
+% 35
+\skip 4..*50/7;
+% 38
+[g''16 c''] [bes'8 a'] s16 [ees'' d'' c'']
+}  >>}
+ \paper{barsize=50.0; \translator {\StaffContext \consists
+Bar_number_engraver;}}
+}
diff --git a/mutopia/E.Satie/GNUmakefile b/mutopia/E.Satie/GNUmakefile
new file mode 100644 (file)
index 0000000..ff57490
--- /dev/null
@@ -0,0 +1,10 @@
+# 
+
+depth = ../..
+
+examples=gnossienne-4 petite-ouverture-a-danser
+LOCALSTEPMAKE_TEMPLATES=mutopia
+
+include $(depth)/make/stepmake.make
+
+
diff --git a/mutopia/E.Satie/gnossienne-4.ly b/mutopia/E.Satie/gnossienne-4.ly
new file mode 100644 (file)
index 0000000..f0c9e55
--- /dev/null
@@ -0,0 +1,160 @@
+\header {
+  filename =    "gnossienne-4.ly";
+  title =       "Gnossienne";
+  subtitle =   "4";
+  source =      "";
+  composer =    "Erik Satie (1866-1925)";
+  enteredby =   "jcn";
+  copyright =   "Public Domain";
+}
+
+%{
+ Tested Features: cross staff beams and slurs, grace notes, no bars
+%}
+
+\version "1.0.14";
+
+\include "nederlands.ly"
+
+global = \notes {
+  \key a \minor;
+  \time 6/4;
+%  \cadenza 1;
+  \skip 1.*34;
+  \bar ".|";
+}
+  
+upper = \type Staff=treble \notes\relative c''{
+  \clef violin;
+  \stemup
+  \type Voice=one
+  r2 r r 
+  r2 r r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
+  % grace hack
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
+  r2 r r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
+  r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
+  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
+  r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
+  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
+  \tiny a8*1/2 ~ \normalsize f4*3/4 ~ f8 r r2 r
+  r2 r4 [a8( b][c d c b] \tiny b8*1/2 ~ \normalsize 
+  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
+  r2 r4 [a8( b][c d c b] [a b c d][c b a b][c d c b]
+  \tiny b8*1/2 ~ \normalsize 
+  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
+  a2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
+  r2 r r
+  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
+  \tiny b'8*1/2 ~ \normalsize 
+  < { [a8*1/2 a8] } \type Voice=x { \stemup s8*1/4 \tiny b8*1/2 ~ } > r4 r2 r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
+  d,4( \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ )gis8 r r4 r2
+  f4 ~ f8 r r2 r
+  [f'8( g a b][a g f g][a b a g]
+  \tiny f8*1/2 ~ \normalsize 
+  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
+  [f8( g a b][a g f g][a b a g]
+  \tiny f8*1/2 ~ \normalsize 
+  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
+  a,2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
+  r2 r r
+  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
+  <e1 g b e> ~ <e g b e>
+}
+
+basloopje = \notes\relative c{
+  d,8( a' d f a d f d a f d )a
+}
+
+bassbeam = \notes{
+  [s2] [s8 \translator Staff=treble s s s] [\translator Staff=bass s2]
+%   [s2] [s2] [s2]
+}
+
+lower = \type Voice=two \notes \relative c{
+  \stemdown
+  \property Staff.slurydirection = 1
+
+  % snapnie, hoevaak relative c heeft ze nodig?
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  % huh? d'
+  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose e' \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
+  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \notes\relative c \basloopje \bassbeam >
+  < \transpose e' \notes\relative c{ \basloopje } \bassbeam >
+  < e1 b' e> ~ < e b' e> 
+}
+
+\score {
+    \type GrandStaff < 
+      \type Staff = treble < 
+        \global 
+       \upper
+      >
+      \type Staff = bass <
+        \global
+       \clef bass;
+        \lower
+      >
+    >
+
+  \paper {
+    gourlay_maxmeasures = 4.;
+    indent = 8.\mm;
+    textheight = 295.\mm;
+
+    % no slur damping
+    slur_slope_damping = 100.0;
+
+    \translator{ \OrchestralScoreContext }
+    \translator{ 
+      \GrandStaffContext
+      minVerticalAlign = 3.0*\staffheight;
+      maxVerticalAlign = 3.0*\staffheight;
+    }
+    \translator{ 
+      \StaffContext
+      % don't auto-generate bars: not a good idea: -> no breakpoints
+      % barAuto = "0";
+      % urg defaultBarType = "";
+      defaultBarType = "empty";
+      \remove "Time_signature_engraver";
+    }
+  }
+  \midi {
+    \tempo 4 = 54;
+  }
+}
+
diff --git a/mutopia/E.Satie/petite-ouverture-a-danser.ly b/mutopia/E.Satie/petite-ouverture-a-danser.ly
new file mode 100644 (file)
index 0000000..4625686
--- /dev/null
@@ -0,0 +1,165 @@
+\header {
+  filename =    "petite-ouverture-a-danser.ly";
+  title =       "Petite Ouverture \\`a danser";
+  subtitle =   "4";
+  source =      "";
+  composer =    "Erik Satie (1866-1925)";
+  enteredby =   "jcn";
+  copyright =   "Public Domain";
+}
+
+%{
+ Tested Features:
+%}
+
+\version "1.0.14";
+
+\include "nederlands.ly"
+
+global = \notes {
+  \key a \minor;
+  \time 2/4;
+  s2*10
+  \bar "||";
+  s2*11
+  \bar "||";
+  \time 3/4;
+  s2.
+  \bar "||";
+  \time 2/4;
+  s2*4
+  \bar "||";
+  \time 3/4;
+  s2.*2
+  \bar "||";
+  \time 2/4;
+  s2*18
+  \bar ".|";
+}
+  
+i = \type Staff \notes\relative c''{
+  \type Voice=i
+  \stemup
+
+  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
+
+  a8.( g16 a4 ~ ) a8 r |
+
+  a4-> ~ a8 r | g8.( a16 )fis4 | e8.( d16 e4 | fis ~ ) fis8 r
+
+  d4( d-- ~ )d8 r e4( f!2 ~ |
+
+  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
+  
+}
+
+ii = \type Staff \notes\relative c'{
+  \type Voice=ii
+  \stemdown
+
+  r8 <es as> r <des f> | r <es g> r <es as> | r <f as> r <f as> |
+  r <es g> r <es g> | r <es as> r <as, des> | r <des f> r <des f> |
+  r <as des> r <bes des> | r bes r <as c> | r <g des'> r <bes d> |
+  r <a! c> r <a c>
+
+  % Au movement
+  r <as des> r <c e> | r <c f> r <d! f> | r <cis e> r <cis e> |
+  r <c! f> r <d f> | r <d f> r <d g> | r <e g> r <e g> | r <e g> r <d g> |
+  r <d fis> r <d fis> | r <fis b> r <fis a> | r <e a> r <d g> |
+  r <d fis> r <d fis> |
+
+  r <cis e> r <cis fis> r <cis f> |
+
+  r <cis e> r <cis e> | r <b d> r <a d> | r <g b> r <a cis> |
+  r <a cis> r <a cis> |
+
+  \translator Staff=bass\stemup
+  r <g b> r <fis a> r <fis a> | r <g bes>
+  \translator Staff=treble\stemdown
+  r <a c> r <a d> |
+
+  r <bes d> r <bes d> | r <g c> r <bes d> | r <c es> r <d g> |
+  r <d f> r <es g> | r <e! g> r <d fis> | r <e a> r <fis a> |
+  r <es g> r <es g> | r <es g> r <es g> |
+
+  
+  % copy from begin: 1-10
+  r8 <es as> r <des f> | r <es g> r <es as> | r <f as> r <f as> |
+  r <es g> r <es g> | r <es as> r <as, des> | r <des f> r <des f> |
+  r <as des> r <bes des> | r bes r <as c> | r <g des'> r <bes d> |
+  r <a! c> r <a c>
+}
+
+lower = \type Staff \notes \relative c{
+  \type Voice=iii
+
+  <as4 as'> <es es'> | r <as as'> | <des, des'> <f f'> | <c c'> r |
+  <as as'> <des des'> | <bes bes'> r | <des des'> <bes bes'> |
+  <g g'> <f f'> | <c' c'> <bes bes'> | <f f'> r |
+
+  % Au movement
+  <des' des'> <c c'> | <f f'> <d! d'!> | <a a'> r | <f' f'> <d d'> |
+  r <f f'> | <e e'> <c c'> | r <g g'> | <d' d'> r | <b b'> <fis fis'> |
+  <a a'> <b b'> | <d d'> r |
+
+  <a a'> <fis fis'> r |
+
+  <a a'> r | <b b'> <d d'> | <e e'> <a, a'> | <fis fis'> r |
+
+  <g g'> <d d'> r | <g g'> <f! f'!> <d' d'> |
+
+  <bes bes'> r | <c c'>  <bes bes'> | <as as'> <g g'> | <d' d'> <c c'> |
+  <e! e'!> <b! b'!> | <a a'> <d d'> | <es es> r | <c c'> r
+  
+  % copy from begin: 1-10
+  <as'4 as'> <es es'> | r <as as'> | <des, des'> <f f'> | <c c'> r |
+  <as as'> <des des'> | <bes bes'> r | <des des'> <bes bes'> |
+  <g g'> <f f'> | <c' c'> <bes bes'> | <f f'> r |
+
+}
+
+\score {
+    \type GrandStaff < 
+      \type Staff = treble < 
+        \global 
+        \clef violin;
+       \i
+       \ii
+      >
+      \type Staff = bass <
+        \global
+       \clef bass;
+        \lower
+      >
+    >
+
+  \paper {
+    gourlay_maxmeasures = 5.;
+    textheight = 295.\mm;
+    \translator{ \OrchestralScoreContext }
+    \translator{
+           \VoiceContext
+           \consists Auto_beam_engraver;
+           beamAuto = 1.;
+           beamAutoEnd8 = "1/4";
+           beamAutoEnd16 = "1/4";
+    }
+  }
+  \midi {
+    \tempo 4 = 60;
+  }
+}
+
index 919d880d0327db7b09b19f961f7e8838af5886ff..b9f51c010fd2a33a36cac446e6dcc23fb421b34e 100644 (file)
@@ -32,8 +32,8 @@ pianoRH=\notes \relative c''  {
 %4
                 <[d a' b> <d a' b> <d g! b> <d g b>] 
                 <[d g a> <d g a> <d fis a> <d fis a>] |
-                 \bar "|:";
 %5
+                \repeat 2 {
                 <[b_. d g( \pp > <b_. d g> <b_. d g> <)b_. d g>]
                 <[b_. d g(> <b_. d g> <b_. d g> <)b_. d g>]
                 |
@@ -131,7 +131,7 @@ pianoRH=\notes \relative c''  {
 %29
                <[d a' b> <d a' b> <d g! b> <d g b>]
                <[d g a> <d g a> < d fis! a> <d fis a>]
-               \bar ":|";
+               }
 %30
                <b2 d2 g2> r2
                \bar "|.";
@@ -144,7 +144,7 @@ pianoLH=\notes \relative c  {
                )b4-. [d,8.( d16] )c'4-. [d,8. d16] |
 %4
                d'4-. d,-. d'-. [d,8.( d16 ] 
-               \bar "|:";
+               \repeat 2 {
 %5
                )g4-. d_. r4 [g8.( g16] |
 %6
@@ -195,7 +195,7 @@ pianoLH=\notes \relative c  {
                )b4 [d,8.( d16] )c'4-. [d,8. d16] |
 %29
                d'4-. d,-. d'-. [d,8.( d16 ]
-               \bar ":|";
+               }
 %30
                )g2 r2 \bar "|.";
 
@@ -206,7 +206,7 @@ tune=\notes  \relative c''  {
               \property Voice.dynamicdir = "1"
 
               r1 | r1 |r1 | r1 |
-              \bar "|:";
+               \repeat 2 {
 %5
                b2. g4 |
 %6
@@ -255,7 +255,7 @@ tune=\notes  \relative c''  {
                \! g2 r2 |
 %27
                r1 | r1 | r1
-                \bar ":|";
+               }
                r1 \bar "|.";
 }
 
index 9a2952a51260f45abd38d0b2784559c665552585..13cb1b548be3ff866f6b436bbdc5b7047261e35c 100644 (file)
@@ -2,7 +2,7 @@
 
 depth = ..
 
-SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns D.Scarlatti L.Mozart
+SUBDIRS = J.S.Bach Coriolan W.A.Mozart F.Schubert D.Zipoli Hymns D.Scarlatti L.Mozart E.Satie
 
 examples= gallina
 LOCALSTEPMAKE_TEMPLATES=mutopia
index 274263993a991c699816a5950b3afa4baecfc535..2b1d22055e4c8bcdabe1d617e56f1df0a80beaa2 100644 (file)
@@ -14,83 +14,81 @@ copyright =  "public domain";
 
 \version "1.0.14";
 
-% urg, this all changed and was never fixed
-% howto get rid of these ridiculous dimensions????
-% to view the output, subsitute 0.0 with 0.0 in the .tex file...
-
-one = \type Voice=one \notes\relative c {
-       \property Voice . textstyle =  "italic"
+% upper = \type Staff \notes\relative c {
+upper = \type Staff=upper \notes\relative c {
+       \type Voice=i
+       \property Voice . textstyle = "italic"
 % rediculous dim...
-%      r16\p_"legato"\< [g''-1( c-3 )e-5] r [g,-1( c )e]
-       r16\p\< [g''-1( c-3 )e-5] r [g,-1( c )e]
-       r [g,( c )d] r [b-1( d-2 \!)g-5] |
-       r16\mf [a,( d-2 ) g-5] r [a,(\< d )f-4]
-       r [a,( d )e-3] r [c-1( e-2 \!)a-5] |
-       r16\f [b, e a-5] r [b, e-3 g-5] 
-       r [c,-1 e-3 f-4] r [g, d'-3 f-5] |
+%      r16\p_"legato"\< g''-1( c-3 )e-5 r g,-1( c )e 
+       r16\p\< g''-1( c-3 )e-5 r g,-1( c )e 
+       r g,( c )d r b-1( d-2 \!)g-5 |
+       r16\mf a,( d-2 ) g-5 r a,(\< d )f-4 
+       r a,( d )e-3 r c-1( e-2 \!)a-5 |
+       r16\f b, e a-5 r b, e-3 g-5 
+       r c,-1 e-3 f-4 r g, d'-3 f-5 |
 % all text is fat currently...
-%      r [g,-"poco a poco dim." d'-4 e] r [g, c-2 e]
-       r [g, d'-4 e] r [g, c-2 e]
-       r [a,-1 c-3 d-4] r [e, b'-3 d-5] |
-       r [e, b' c-4] r [e, a-2 c]
-       r [f,-1 a-3 bes-4] r [c, g'-3 bes-5] |
-       r [c, g' a-4] r [c, f-2 a] 
-       r [d, f-2 b-5] r [e, g-2 c-5] |
-       r\p [d, g c-5] r [d, g b-4]
-       r [c, g'-3 b-5] r [c, fis-2 a-4] |
-       r [b, d a'-5] r [b, d g-4]
-       r [a, c g'-5] r [a, c f!-4] |
+%      r g,-"poco a poco dim." d'-4 e r g, c-2 e 
+       r g, d'-4 e r g, c-2 e 
+       r a,-1 c-3 d-4 r e, b'-3 d-5 |
+       r e, b' c-4 r e, a-2 c 
+       r f,-1 a-3 bes-4 r c, g'-3 bes-5 |
+       r c, g' a-4 r c, f-2 a 
+       r d, f-2 b-5 r e, g-2 c-5 |
+       r\p d, g c-5 r d, g b-4 
+       r c, g'-3 b-5 r c, fis-2 a-4 |
+       r b, d a'-5 r b, d g-4 
+       r a, c g'-5 r a, c f!-4 |
        % ugh arpeggio
-       \type Staff=treble <
-               { \voiceone  f4 r }
-               { \voicetwo  <g,4 d'> r }
+       <
+               { \stemup f4 r }
+               \type Voice=ii { \stemdown <g,4 d'> r }
        >
-       \onevoice 
-       % s
-       % ugh beam across staffs slur starts at lower staff
-       \translator Staff=bass\stemup
-       r16 [g,,-5( b-4 d ] 
-       [f-1 \translator Staff=treble\stemdown g16-1 b d] | \stemup )b
-       \translator Staff=bass\stemdown
-       [g-5( b-4 d-2] f-1 
-       \translator Staff=treble\stemup
-       [g16-1 b-2 d] )b
-       \translator Staff=bass\stemup
+       \stemboth 
+       \translator Staff=lower\stemup
+       r16 g,,-5( b-4 d  
+       [ f-1 \translator Staff=upper\stemdown g16-1 b d ] | 
+       \stemup )b
+       \translator Staff=lower\stemdown
+       [ g-5( b-4 d-2 ] f-1
+       \translator Staff=upper\stemup
+       [ g16-1 b-2 d ] )b
+       \translator Staff=lower\stemup
        \clef "violin"; 
-       [g-4 b-2 d-1] 
+       [ g-4 b-2 d-1 ]
        \stemup
        % urg, below translator change affects previous beam too!?
        % howto separate translator command from previous beam end?
-       \skip 4*0;
-        [\translator Staff=treble f-2 g-3 b-5 f-2] |
+       \translator Staff=upper f-2 g-3 b-5 f-2 |
        \stemboth
-       [e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2] 
-       [)d c'-5( f,-3 e-2] [d-1 b'-5 f-3 d-2] |
-       [)c b'-5( e,-3 d-2] [c-1 a'-5 e-3 c-2] 
-       [)b-1 a'-5( d,-3 c-2] [b-1 g'-5 d-3 b-2] |
-%      [)a g'-5 c,-4 b] [a-"poco a poco dim." fis'-5 c-2 a-1]
-       [)a g'-5 c,-4 b] [a fis'-5 c-2 a-1]
-       [b-2 f' d-4 c] [b f' d-4 b-2] |
-       [g e' c-3 b] [a e'-5 c-3 a-1]
-       [fis-2 d' b-3 a] [g-1 d'-5 b-4 g-2] |
-       [e c'-5 a-4 g-3] [fis-2 c'-5 a-4 fis-2] 
-       [d c'-5 b-4 a] [b-4 g-2 d'-5 f,-1] |
-       [g-4 e-2 f-1 d'-5] [c-4 b a g]
-       [f'-5 d-3 es-4 c-2] [fis,-1 es'-4 d-3 c-2] |
-%      [b-1 d-5 b-3 g-1] [as-4-"cresc. e rall." f-2 g-3 d-1]
-       [b-1 d-5 b-3 g-1] [as-4 f-2 g-3 d-1]
-       [es-2 fis-3 a-4 c-5] 
-       \type Staff=treble 
-               { \voiceone  r [c8 b16] }
-               { \voicetwo  [d,8 f-2] }
+       e-1\f c'-5( g-3 f-2  e-1 c'-5 g-3 e-2 
+       )d c'-5( f,-3 e-2  d-1 b'-5 f-3 d-2 |
+       )c b'-5( e,-3 d-2  c-1 a'-5 e-3 c-2 
+       )b-1 a'-5( d,-3 c-2  b-1 g'-5 d-3 b-2 |
+%       )a g'-5 c,-4 b  a-"poco a poco dim." fis'-5 c-2 a-1 
+       )a g'-5 c,-4 b  a fis'-5 c-2 a-1 
+       b-2 f' d-4 c  b f' d-4 b-2 |
+       g e' c-3 b  a e'-5 c-3 a-1 
+       fis-2 d' b-3 a  g-1 d'-5 b-4 g-2 |
+       e c'-5 a-4 g-3  fis-2 c'-5 a-4 fis-2 
+       d c'-5 b-4 a  b-4 g-2 d'-5 f,-1 |
+       g-4 e-2 f-1 d'-5  c-4 b a g 
+       f'-5 d-3 es-4 c-2  fis,-1 es'-4 d-3 c-2 |
+%       b-1 d-5 b-3 g-1  as-4-"cresc. e rall." f-2 g-3 d-1 
+       b-1 d-5 b-3 g-1  as-4 f-2 g-3 d-1 
+       es-2 fis-3 a-4 c-5 
+       < 
+               { \stemup r c8 b16 }
+               \type Voice=ii { \stemdown  d,8 f-2 }
        >
-       \onevoice  |
+       \stemboth |
        <c1\mf g e>
        \bar "|.";
 }
 
-two = \type Voice=three \notes\relative c{
-       \property Voice . textstyle =  "roman"
+% lower = \type Staff \notes\relative c{
+lower = \type Staff=lower \notes\relative c{
+       \type Voice=i
+       \property Voice . textstyle = "roman"
        c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 |
        d'4-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 |
        e'-5 e'-\mordent-1 a,-4 b-\upprall |
@@ -99,49 +97,48 @@ two = \type Voice=three \notes\relative c{
        f4-1 e d-3-\prall c |
        g'-\mordent^"(\\textsharp)" g, g'-\mordent g, |
        g'-\mordent g, g'-\mordent g, |
-       g' r s s | s s s s \clef bass; |
-       \type Staff=bass <
-               { \voicethree  g1 ~ g ~ g ~ g ~ g ~ g ~ g }
-               { \voicefour  g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
+       g' r s s | s s s s \clef "bass"; |
+       <
+               { \stemup g1 ~ g ~ g ~ g ~ g ~ g ~ g }
+               \type Voice=ii { \stemdown g,1 ~ g ~ g ~ g ~ g ~ g ~ g }
        >
        <c,1 c,>
        \bar "|.";
 }
 
-global  = \notes{
+global = \notes{
        \time 4/4;
 }
 
-treble_staff = \type Staff = treble <
-       \global
-       \one
->
-
-bass_staff = \type Staff = bass <
-       \clef "bass";
-       \global
-       \two
->
-
-grand_staff = \type GrandStaff <
-       \treble_staff
-       \bass_staff
->
-
 \score{
-        % Moderato
-       \grand_staff
-%      \include "preludes-paper.ly";
+       % Moderato
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \upper
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
        \paper{
+               \include "preludes-paper.ly";
                % no slur damping
                slur_slope_damping = 10.0;
-       %       linewidth= 193.\mm;
-               linewidth= 180.\mm;
                gourlay_maxmeasures = 4.0;
                \translator{ 
-                 \GrandStaffContext
-                 minVerticalAlign = 3.0*\staffheight;
-                 maxVerticalAlign = 3.0*\staffheight;
+                       \GrandStaffContext
+                       minVerticalAlign = 3.0*\staffheight;
+                       maxVerticalAlign = 3.0*\staffheight;
+               }
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = "1";
+                       beamAutoEnd8 = "1/2";
+                       beamAutoEnd16 = "1/4";
                }
        }
        \midi{ \tempo 4 = 80; }
index 13ed9b83e0f22ab9d8b911c255a70750cc53e7b1..d8bf07e30026ddd8f1bbee9fae224e4ff216cc65 100644 (file)
@@ -11,84 +11,86 @@ copyright =  "public domain";
 }
 
 \version "1.0.14";
-one = \notes\relative c{
-       \property Voice . textstyle =  "italic"
-       r8\mf [c'-1( e-2 g-4] [e-2 c-1 bes'-5 g-3] |
-       [)a-4\< c,-1( f-2 a-4] [f c c'-5 a-3] |
-       [)b-4 g-1( b-2 d-4] [b-2 g f'-5 \!d-3] |
+upper = \type Staff \notes\relative c{
+       \type Voice=i
+       \property Voice . textstyle = "italic"
+       r8\mf c'-1( e-2 g-4  e-2 c-1 bes'-5 g-3 |
+       )a-4\< c,-1( f-2 a-4  f c c'-5 a-3 |
+       )b-4 g-1( b-2 d-4  b-2 g f'-5 \!d-3 |
        <
-               {\voiceone )e2-4\f r4 e-5 }
-               \type Voice = second {\voicetwo <c2 g > r4 <c g > }
+               {\stemup )e2-4\f r4 e-5 }
+               \type Voice = ii {\stemdown <c2 g > r4 <c g > }
        >
-       \onevoice |
-       \type Staff 
-                { \voiceone d2-4 r4 d-4 }
-                \type Voice = second { \voicetwo <c2 a > r4 <c a > }
+       \stemboth |
+       < 
+                { \stemup d2-4 r4 d-4 }
+                \type Voice = ii { \stemdown <c2 a > r4 <c a > }
        >
-       \onevoice |
-       \type Staff 
-                { \voiceone d8 }
-                \type Voice = second { \voicetwo <b 8 g > }
+       \stemboth |
+       < 
+                { \stemup d8 }
+                \type Voice = ii { \stemdown <b 8 g > }
        >
-       \onevoice 
-       [g, 8-1\mf( b-2 d-4] 
+       \stemboth 
+       g, 8-1\mf( b-2 d-4 
        <
-               { \voiceone )b 4 e-5 }
-               \type Voice = second { \voicetwo g, 4 b }
+               { \stemup )b 4 e-5 }
+               \type Voice = ii { \stemdown g, 4 b }
        >
-       \onevoice |
-       \type Staff <
-               { \voiceone c2 r4 < {c-5 ~ c8} {a 4 ~ a 8} > }
-               { \voicetwo c2 r4 e, 4 ~ e 8 }
+       \stemboth |
+       <
+               { \stemup c2 r4 < {c-5 ~ c8} {a 4 ~ a 8} > }
+               \type Voice=ii { \stemdown c2 r4 e, 4 ~ e 8 }
        >
-       \onevoice 
-       [d,-1\p( fis-2 a-4] [fis-2 d-1 c'-5 a-3] |
-       [)b-4\< g-1( b-2 d-4] [ b-2 g-1 f'!-5 d-3] |
-       [)e-4 g,-1( c-2 e-4] [c-2 g g'-5 e-3] |
-       [)fis-4 a,-1( c-2 fis-4] [c a a'-5 \!fis-3] |
+       \stemboth 
+       d,-1\p( fis-2 a-4  fis-2 d-1 c'-5 a-3 |
+       )b-4\< g-1( b-2 d-4  b-2 g-1 f'!-5 d-3 |
+       )e-4 g,-1( c-2 e-4  c-2 g g'-5 e-3 |
+       )fis-4 a,-1( c-2 fis-4  c a a'-5 \!fis-3 |
        <
-               { \voiceone )g2-5\f }
-               \type Voice = second { \voicetwo <d2 b > }
+               { \stemup )g2-5\f }
+               \type Voice = ii { \stemdown <d2 b > }
        >
-       \onevoice 
+       \stemboth 
        r4 b4-2( |
-       [c,8-1 e-2 g c ] [g-2 e-1 bes'-4 g-2] |
-       [)a16->-3 g-2 f-1 e-3] [d c b !-3 a-2] 
-       [b-3\< g-1 a b ] [c-1 d e \!f] |
+       c,8-1 e-2 g c  g-2 e-1 bes'-4 g-2 |
+       )a16->-3 g-2 f-1 e-3  d c b !-3 a-2 
+       b-3\< g-1 a b  c-1 d e \!f |
        g4-5\ff
-       \type Staff <
-               { \voiceone c,2-5 b 4-4 }
-               { \voicetwo g 2-2 d 4-1 }
+       <
+               { \stemup c,2-5 b 4-4 }
+               \type Voice=ii { \stemdown g 2-2 d 4-1 }
        >
-       \onevoice 
-       \type Staff <
-               { \voiceone  c1^5 }
-               { \voicetwo e, 1_1}
+       \stemboth 
+       <
+               { \stemup c1^5 }
+               \type Voice=ii { \stemdown e, 1_1}
        >
-       \onevoice 
+       \stemboth 
        \bar "|.";
 }
 
-two = \notes\relative c{
-       \type Staff <
-               { \voiceone c1 ~ | c ~ | c }
-               { \voicetwo c,1 ~ | c ~ | c }
+lower = \type Staff \notes\relative c{
+       \type Voice=i
+       <
+               { \stemup c1 ~ | c ~ | c }
+               \type Voice=ii { \stemdown c,1 ~ | c ~ | c }
        >
-       \onevoice |
-       r8 [c-5( e-3 g-1] [e-3 c-5 c' e,-4] |
-       [)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis,-4] |
+       \stemboth |
+       r8 c-5( e-3 g-1  e-3 c-5 c' e,-4 |
+       )fis-3 d-5( fis-3 a-1  fis-3 d-5 d' fis,-4 |
        )g2-3 r4 g-2( |
-       [)a8 a,-5( c-4 e-2] [c-4 a-5 g' e-3] |
+       )a8 a,-5( c-4 e-2  c-4 a-5 g' e-3 |
        )fis2 r4 d-4 |
        g-\mordent-"(\\textsharp)" g, 4 g'-\mordent g, |
        % mordents in brackets...
        g'-\mordent g, g'-\mordent g, |
        g'-\mordent g, g'-\mordent g, |
-       [g'8 g,-5( b-4 d-2] [b-4 g-5 f'!-1 d-3] |
-       [)e-2 c-4 e-2 g-1] [e-3 c-5 c' e,-4] |
-       \property Voice . textstyle =  "finger"
+       g'8 g,-5( b-4 d-2  b-4 g-5 f'!-1 d-3 |
+       )e-2 c-4 e-2 g-1  e-3 c-5 c' e,-4 |
+       \property Voice . textstyle = "finger"
        f1^"3\\_1" ~ |
-       [f8 d-3 e-2 c-4] g'4-1 g,^"5\\_2" |
+       f8 d-3 e-2 c-4 g'4-1 g,^"5\\_2" |
        <c1 c,1>
        \bar "|.";
 }
@@ -97,30 +99,29 @@ global = \notes{
        \time 4/4;
 }
 
-trebleStaff = \type Staff = treble <
-       \global
-       \one
->
-
-bassStaff = \type Staff = bass <
-       \clef "bass";
-       \global
-       \two
->
-
-grandStaff = \type GrandStaff <
-       \trebleStaff
-       \bassStaff
->
-
-a4 = \paper{
-       linewidth= 193.\mm;
-}
-
 \score{
-    % Moderato
-       \grandStaff
-       \paper{ \a4 }
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \upper
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
+       \paper{
+               \include "preludes-paper.ly";
+               gourlay_maxmeasures = 4.0;
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = "1";
+                       beamAutoEnd8 = "1/2";
+                       beamAutoEnd16 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 100; }
        \header {
                opus = "BWV 939";
index 302a8adfb9271de5914145470a6a9b13b47a9185..6da0ff5e84eed5ee4b25eab2fbfe68e17617b067 100644 (file)
@@ -20,8 +20,9 @@ copyright =    "public domain";
 \version "1.0.14";
 
 
-one = \notes  \transpose c`` {
-       \textstyle "italic";
+upper = \type Staff \notes \transpose c'' {
+       \type Voice=i
+       \property Voice . textstyle = "italic"
 %#     s(^c@ ^es@ ^g@ ^\p(\<@ ^\!@ ^)\!@ ^\>@)
        t(c,es,g,^\p(\<@,\!,^)\!@,\>)
 %#     s(c es g ^(@ ^@ ^)@)
@@ -47,12 +48,14 @@ one = \notes  \transpose c`` {
 
 
 %#     s(c fis a -"poco a poco cresc.")
-       t(c,fis,a,-"poco a poco cresc.")
+%#     t(c,fis,a,-"poco a poco cresc.")
+       s(c fis a)
        s(d g bes)
        s(d fis c`)
 
        s(cis g bes)
-       s(c es a !-"dim.")
+%#     s(c es a !-"dim.")
+       s(c es a !)
        s(bes` e g)
        s(a` c g)
 
@@ -66,24 +69,25 @@ one = \notes  \transpose c`` {
        s(fis` a` c)
        r16\p [g` a` c] [b` g` b` g`] r g` r g`
 %#     s(a` c fis -"poco cresc.")
-       t(a`,c,fis,-"poco cresc.")
+%#     t(a`,c,fis,-"poco cresc.")
+       s(a` c fis)
        s(c fis a)
        s(b` d g)
-       s(b` d f -"dim.")
+%#     s(b` d f -"dim.")
+       s(b` d f)
        s(g` c es)
        s(fis` c es)
        s(fis` c es)
-       r16 [g`(\< b` d] [b` g` b` d] [es c a` )\!fis] |
+       r16 [g`(\< b` d] [b` g` b` d] [es c a` \!fis] |
        <
-               {\voiceone g2.-\fermata\mf}
-               {\voicetwo <b`2. d>}
+               {\stemup ) g2.-\fermata\mf}
+               \type Voice=ii {\stemdown <b`2. d>}
        >
-       \onevoice
+       \stemboth
        \bar "|.";
 }
 
-two = \notes{
-       \clef bass;
+lower = \type Staff \notes{
        % c4 r [g8-.(\ped )es-.\*] |
        c4 r [g8-.( )es-.] |
        c4 r [g8-.( )es-.] |
@@ -145,35 +149,27 @@ two = \notes{
 }
 
 global  = \notes{
-       \meter 3/4;
+       \time 3/4;
        \key es;
 }
 
-treble_staff = \type Staff = treble <
-       \global
-       \one
->
-
-bass_staff = \type Staff = bass <
-% bass = Staff <
-       \clef "bass";
-       \global
-       \two
->
-
-grand_staff = \type GrandStaff <
-       \treble_staff
-       \bass_staff
->
-
-a4 = \paper{
-       linewidth= 193.\mm;
-}
-
 \score{
        % Semplice e non troppo legato
-       \grand_staff
-       \paper{ \a4 }
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \upper
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
+       \paper{
+               \include "preludes-paper.ly";
+               gourlay_maxmeasures = 4.0;
+       }
        \midi{ \tempo 4 = 100; }
        \header{
                opus =  "BWV 999";
index 4301782d53f6687b739cf737153e8428e9188082..88b12333034c33d18207cf0da67e30f4efc2f235 100644 (file)
 \header{
-filename =      "preludes-4.ly";
+filename =     "preludes-4.ly";
 % blz 8
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 27-Praeludium ex d neutral
 % ca 1720
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "jcn";
-copyright =     "public domain";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "public domain";
 }
 \version "1.0.14";
 
-one = \notes\relative c{
-       \property Voice . textstyle =  "italic"
-       r16\p_"legato" 
-       \property Voice . textstyle =  "finger"
-       [d'-1( fis-3 d-1] [a'-2 b-3 cis-4 a-3]
-       [d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
-       \property Voice . textstyle =  "finger"
-       \stemup  
-       )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
-       e16\< \stemboth [a,16( cis a] [d-2 e fis d-1]
-       [g-3 fis g a-4] [g-3 b a \!g] |
+one = \type Staff \notes\relative c {
+       \type Voice=i
+       \property Voice . textstyle = "italic"
+%      r16\p_"legato" 
+       r16\p
+       \property Voice . textstyle = "finger"
+       d'-1( fis-3 d-1  a'-2 b-3 cis-4 a-3 
+       d-3 cis-2 d-1 e-2  d-1 fis-3 e-2 d-1 |
+       \property Voice . textstyle = "finger"
+       \stemup 
+       )cis4-2 fis-5 ~ fis8 fis-4 e4-3 ~ | 
+       e16\< \stemboth a,16( cis a  d-2 e fis d-1 
+       g-3 fis g a-4  g-3 b a \!g |
        \stemup
-       )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
+%      )fis4-"2\\_3" e8-2 a-5 <fis4-4 d-2> <gis-5 e-3> |
+       )fis4 e8-2 a-5 <fis4-4 d-2> <gis-5 e-3> |
        %5
-       <a4-5( e> <fis-4 d-2> <[)g!16-5 d> fis-2 g-3 a-4] 
+       <a4-5( e> <fis-4 d-2> < )g!16-5 d> fis-2 g-3 a-4 
        \stemboth
-       [g-3 b a g] |
-       \property Voice . textstyle =  "italic"
-       [fis_"dim." e fis-3 g] [fis-3 a-5 g fis]
-       \property Voice . textstyle =  "finger"
-       e4-"2\\_5" ~ e16 [e,( fis g ] |
-       \property Voice . textstyle =  "italic"
-       [a-4_"dim." g-1 a b] [a-2 c-4 b a]
-       [g-1 fis-2 g-3 a] [g-3 b a g] |
+       g-3 b a g |
+       \property Voice . textstyle = "italic"
+%      fis_"dim." e fis-3 g  fis-3 a-5 g fis 
+       fis e fis-3 g  fis-3 a-5 g fis 
+       \property Voice . textstyle = "finger"
+%      e4-"2\\_5" ~ e16 e,( fis g  |
+       e4 ~ e16 e,( fis g  |
+       \property Voice . textstyle = "italic"
+%      a-4_"dim." g-1 a b  a-2 c-4 b a 
+       a-4 g-1 a b  a-2 c-4 b a 
+       g-1 fis-2 g-3 a  g-3 b a g |
        \stemup
        )fis4\p 
        \skip 4*7; |
        %10
-       \property Voice . textstyle =  "finger"
-       d'4.\mf cis8-"4\\_5" ~ cis b4-5 a8-"4\\_5" ~ |
-       \property Voice . textstyle =  "italic"
-       a g4-5 fis8-4 ~ [fis16 fis-4-"dim." e-3 d-2] 
-       \property Voice . textstyle =  "finger"
-       e4-"3\\_5" ~ |
-       [e16 e-5 d cis] d4-5 ~ [d16 d-5 cis b] cis4-5 |
+       \property Voice . textstyle = "finger"
+%      d'4.\mf cis8-"4\\_5" ~ cis b4-5 a8-"4\\_5" ~ |
+       d'4.\mf cis8 ~ cis b4-5 a8 ~ |
+       \property Voice . textstyle = "italic"
+%      a g4-5 fis8-4 ~ fis16 fis-4-"dim." e-3 d-2 
+       a g4-5 fis8-4 ~ fis16 fis-4 e-3 d-2 
+       \property Voice . textstyle = "finger"
+%      e4-"3\\_5" ~ |
+       e4 ~ |
+       e16 e-5 d cis d4-5 ~ d16 d-5 cis b cis4-5 |
        \stemboth
-       [fis,16-1\p a-2 d-5\< c-4] [b-1 d-2 g-5 fis-4]
-       [d-1 b'-5 a g] [fis-2 e-1 d-4 \!c!-3] |
-       [b-2 d-1 g a] [fis8-\prall e16-4 d-3]
-       [d8. e16~] [e d8 cis16] |
+       fis,16-1\p a-2 d-5\< c-4  b-1 d-2 g-5 fis-4 
+       d-1 b'-5 a g  fis-2 e-1 d-4 \!c!-3 |
+       b-2 d-1 g a  fis8-\prall e16-4 d-3 
+       d8. e16~  e d8 cis16 |
        %15
        \stemup
-       r16 [d-1\< fis d] [g a b g-1] [c-3 b c d] [c e d-4 \!c] |
-       b4-5 a ~ [a8 g-5 ~] [g16 fis8-4 e16-3] |
-       [fis8-4 e-5~] [e d-5~] d4 cis-4 |
-       d2\p-"rall." ~ [d16 a-2( b-3 cis-4] )d4-5 |
+       r16 d-1\< fis d  g a b g-1  c-3 b c d  c e d-4 \!c |
+       b4-5 a ~ a8 g-5 ~  g16 fis8-4 e16-3 |
+       fis8-4 e-5~  e d-5~ d4 cis-4 |
+%      d2\p-"rall." ~ d16 a-2( b-3 cis-4 )d4-5 |
+       d2\p ~ d16 a-2( b-3 cis-4 )d4-5 |
        \bar "|.";
 }
 
-two = \notes\relative c{
-       \property Voice . textstyle =  "finger"
+two = \type Staff \notes\relative c{
+       \type Voice=ii
+       \stemup
+       \property Voice . textstyle = "finger"
        fis4-1( e8-2 a4 a4 gis8-2 | 
        ) a8
-       \translator Staff=treble \stemdown
-       a'4 a8 b4.-"2\\_1" cis8 ~ | 
+       \translator Staff=upper \stemdown
+%      a'4 a8 b4.-"2\\_1" cis8 ~ | 
+       a'4 a8 b4. cis8 ~ | 
        cis8
-       \translator Staff=bass \stemup
-       a,8 ~ [a d] ~ d d4-> cis8 | 
+       \translator Staff=lower \stemup
+       a,8 ~ a d ~ d d4-> cis8 | 
        d8
-       \translator Staff=treble \stemdown
+       \translator Staff=upper \stemdown
        d'4-> cis8-1 ~ cis b4-1 b8 |
        %5
        r8 a4 a8
-       \translator Staff=bass \stemup
-       [g8-1( fis-2] )e4-1 ~ | 
-       e4 d ~ [d16 d-1 cis-2 b-1] cis4-2 ~ |
-       [cis8 a-3] d4.-1 d4^> cis8-2 |
-       \translator Staff=treble \stemdown
-       d4 \stemboth r16 [b-1\< d-2 b~] <g'4-5 e-3 b> 
-       r16 [cis,-1 e-2 \!cis~] |
-       <a'4-5 fis-3 cis> r16 [d,-1 fis-2 d~] <b'4-5 g-3 d>
-       r16 [fis-1 a fis~] |
+       \translator Staff=lower \stemup
+       g8-1( fis-2 )e4-1 ~ | 
+       e4 d ~ d16 d-1 cis-2 b-1 cis4-2 ~ |
+       cis8 a-3 d4.-1 d4^> cis8-2 |
+       \translator Staff=upper \stemdown
+       d4 \stemboth r16 b-1\< d-2 b~ <g'4-5 e-3 b> 
+       r16 cis,-1 e-2 \!cis~ |
+       <a'4-5 fis-3 cis> r16 d,-1 fis-2 d~ <b'4-5 g-3 d>
+       r16 fis-1 a fis~ |
        %10
        \stemdown
        fis4 e d cis |
        b a b4. b8 |
        a4
-       \translator Staff=bass \stemup
-       r16 [b-3 fis-1 a-2] g4-1 r16 [a-3 e-1 g-2] |
+       \translator Staff=lower \stemup
+       r16 b-3 fis-1 a-2 g4-1 r16 a-3 e-1 g-2 |
        \skip 1*1; 
        s16
-       \translator Staff=treble \stemdown
-       d'8.-1 ~ [d8 c] d4 [a8 g] |
+       \translator Staff=upper \stemdown
+       d'8.-1 ~ d8 c d4 a8 g |
        %15
-       \translator Staff=bass \stemup
-       [fis'8 c-1] b4-1 \stemdown <a
-       \translator Staff=treble \stemdown
+       fis8 \translator Staff=lower \stemup c'-1 b4-1 \stemdown <a
+       \translator Staff=upper \stemdown
        a'4.-2>
        \stemdown
        a'8~ |
-       [a g-3~] [g16 e fis8~] [fis16 d8.~] [d8. cis!16] |
-       \translator Staff=bass \stemup
+       a g-3~  g16 e fis8~  fis16 d8.~  d8. cis!16 |
+       \translator Staff=lower \stemup
        <
-       %       { \voiceone  [d,8-2 a~] a4 }
-               { \voiceone  [d8-2 a~] a4 }
-       %       { \voicethree  [a,8-1 g] [fis16-2 e-1 fis-2 d-1] }
-               { \voicethree  [a8-1 g] [fis16-2 e-1 fis-2 d-1] }
+               { \stemup  d8-2 a~ a4 }
+               \type Voice=ii { \stemdown  a8-1 g  fis16-2 e-1 fis-2 d-1 }
        >
-       \voiceone 
-       [g-1 fis-2 g-1 a-2] [g-1 b-3 a-2 g-1 ~] |
-       [g g-1 fis-2 e-1] fis4-2 ~ fis2
+       \stemup 
+       g-1 fis-2 g-1 a-2  g-1 b-3 a-2 g-1 ~ |
+       g g-1 fis-2 e-1 fis4-2 ~ fis2
        \bar "|.";
 }
 
 three = \notes\relative c{
-%      \stemdown 
+       \type Voice=iii
+       \stemdown 
        d4-3 c-4 b e-3 |
-       a16 [a,-5\mf( cis-3 a-5] [d-2 e-1 fis-2 d-4]
-       [g-1 fis-3 g a] [g b a g] |
+       a16 a,-5\mf( cis-3 a-5  d-2 e-1 fis-2 d-4 
+       g-1 fis-3 g a  g b a g |
        )fis4 fis e a-4 |
-       d16 \stemboth [d,-5\f( fis-3 d-5] [a'-2 b-1 cis-2 a-4]
-       [d-1 cis-3 d e] [d-4 fis-2 e-1 ) d] |
+       d16 \stemboth d,-5\f( fis-3 d-5  a'-2 b-1 cis-2 a-4 
+       d-1 cis-3 d e  d-4 fis-2 e-1 ) d |
        %5
-       [cis-3 b-4 cis-3 d-2] [c-4 e-2 d-3 c-4] 
-       \stemdown b4-5 [cis8-4 b-3(] |
-       [a-4 )fis-5 b-2 a-3] [gis-4 e-5 a-3 g-4] |
+       cis-3 b-4 cis-3 d-2  c-4 e-2 d-3 c-4 
+       \stemdown b4-5 cis8-4 b-3( |
+       a-4 )fis-5 b-2 a-3  gis-4 e-5 a-3 g-4 |
        fis4. d8-5 e4-5 a4-3 |
        \stemboth
-       r16 [d,-4( fis-2 d-4] [)g8-.-1 g,-.-5]
-       r16 [e'-4( g-2 e-4] [)a8-. a,-.-5] |
-       r16 [fis'-4( a fis] [)b8-. b,-.] r16 [g'-4( b g] [)d'8-. d,-.] |
+       r16 d,-4( fis-2 d-4  )g8-.-1 g,-.-5 
+       r16 e'-4( g-2 e-4  )a8-. a,-.-5 |
+       r16 fis'-4( a fis  )b8-. b,-. r16 g'-4( b g  )d'8-. d,-. |
        %10
-       r16 [d,16-5( fis-3 d] [a'-2 b-1 cis-2 a-4] [d b-5 d-3 b]
-       [fis'-2 g a-2 fis-4] |
-       )fis16 [g,( b g] [d'-2 e fis-2 d-4] [)g8-. g,-.] r16 [cis-4( e cis] |
-       [)fis8-. fis,-.] \stemdown r16 [b-4( d b] [)e8-. e,-.] 
-       r16 [a-4 cis a] |
+       r16 d,16-5( fis-3 d  a'-2 b-1 cis-2 a-4  d b-5 d-3 b 
+       fis'-2 g a-2 fis-4 |
+       )fis16 g,( b g  d'-2 e fis-2 d-4  )g8-. g,-. r16 cis-4( e cis |
+       )fis8-. fis,-. \stemdown r16 b-4( d b  )e8-. e,-. 
+       r16 a-4 cis a |
        \stemboth
-       [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 a-5 b cis]
-       [d-2 e fis-2 d-4] |
-       [g8 e-3] \stemdown [a a,] [b8.-4 g16-5] a4-4 |
+       d-1 e-3 fis-2 d-4  g-1 fis-2 e-3 d-1  cis!-3 a-5 b cis 
+       d-2 e fis-2 d-4 |
+       g8 e-3 \stemdown a a,  b8.-4 g16-5 a4-4 |
        %15
-       [d8-5 a'-2~] [a g-3~] [g g-3] fis4-4 |
+       d8-5 a'-2~  a g-3~  g g-3 fis4-4 |
        \stemup
-       r16 [g-2 b-1 g-3] [d'8.-1 c16-1] [b8.-2 bes16-3] [a8-1 g] |
+       r16 g-2 b-1 g-3  d'8.-1 c16-1  b8.-2 bes16-3  a8-1 g |
        \stemdown
-       r16 [a,-2 cis!-1 a'-2] [d,-1 e fis d] [e8-1 d-2] [e-1 a,-2] |
-       [d a-2~] [a16 a-2 b cis-2] d2 |
+       r16 a,-2 cis!-1 a'-2  d,-1 e fis d  e8-1 d-2  e-1 a,-2 |
+       d a-2~  a16 a-2 b cis-2 d2 |
 }
 
-four = \notes\relative c{
+four = \type Staff \notes\relative c{
        \skip 1*9;
-%      \stemup 
-%      \property Voice.hshift = 1 
+       \type Voice=iv
+       \stemup
+       \property Voice.hshift = 1 
        %10
        a''2 fis |
        d s |
 %      \property Voice.hshift = 0 
        \skip 1*2; |
        s4
-       \translator Staff=bass \stemup
-       a4 ~ [a16 d,-2 g8-1] [fis e-1] |
+       \translator Staff=lower \stemup
+       a4 ~ a16 d,-2 g8-1  fis e-1 |
        %15
        \stemdown
        d1 ~ | 
@@ -170,35 +182,42 @@ four = \notes\relative c{
        d2 d2
 }
 
-global  = \notes{
+global = \notes{
        \time 4/4;
        \key D;
 }
 
-treble_staff = \type Staff = treble <
-       \global
-       { \voiceone \one }
-       { \voicefour \four }
->
-
-bass_staff = \type Staff = bass <
-% bass = Staff <
-       \clef "bass";
-       \global
-%      { \voiceone \two }
-       { \type Voice = bone \skip 1*0; \property Voice.ydirection = \up \two }
-       { \voicetwo \three }
->
-
-grand_staff = \type GrandStaff <
-       \treble_staff
-       \bass_staff
->
-
 \score{
-        % Allegretto
-       \grand_staff    
-       \include "preludes-paper.ly";
+       % Allegretto
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \one
+                       \four
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \two
+                       \three
+               >
+       >
+       \paper{
+               \include "preludes-paper.ly";
+               gourlay_maxmeasures = 2.0;
+               \translator{ 
+                       \GrandStaffContext
+                       minVerticalAlign = 3.0*\staffheight;
+                       maxVerticalAlign = 3.0*\staffheight;
+               }
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = "1";
+                       beamAutoEnd8 = "1/2";
+                       beamAutoEnd16 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 70; }
        \header{
                opus = "BWV 925";
index 9238f1324b8efc2678b1591e707c8371ea84fa7c..7f7c3b03ffdd8f9a879a88abd8055ffc09b19831 100644 (file)
 \header{
-filename =      "preludes-5.ly";
+filename =     "preludes-5.ly";
 % blz 2
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 4-Praeludium 2
 % ca 1720
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "jcn";
-copyright =     "public domain";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "public domain";
 }
 \version "1.0.14";
 
 
-one = \notes\relative c{
-       \property Voice . textstyle =  "italic"
-       [d'8-1\p a'-5-"legato" f-3 d-1 a'-5 f-3] |
-       [d-1 a'-5 f-3 d-1 a'-5 f-3] |
-       [d-1\< bes'-4 g-2 d-1 bes'-4 \!g-2] |
-       [d-1 bes'-4 g-2 d-1 bes'-5 g-3] |
+upper = \type Staff \notes\relative c{
+       \property Voice . textstyle = "italic"
+       \type Voice=i
+%      d'8-1\p a'-5-"legato" f-3 d-1 a'-5 f-3 |
+       d'8-1\p a'-5 f-3 d-1 a'-5 f-3 |
+       d-1 a'-5 f-3 d-1 a'-5 f-3 |
+       d-1\< bes'-4 g-2 d-1 bes'-4 \!g-2 |
+       d-1 bes'-4 g-2 d-1 bes'-5 g-3 |
        %5
-       [cis,-1\mf g'-4 e-2 cis-1 g'-4 e-2] |
-       [cis-1 bes'-5 g-4 e-2 a-5 g-4] |
-       [f-3\< d-1 f-2 a-4 f-1 a-2] |
-       [d-5 a-1 d-2 f-4 d-1 \!f-2] |
-       [b\> f-3 e d c-3 b] |
+       cis,-1\mf g'-4 e-2 cis-1 g'-4 e-2 |
+       cis-1 bes'-5 g-4 e-2 a-5 g-4 |
+       f-3\< d-1 f-2 a-4 f-1 a-2 |
+       d-5 a-1 d-2 f-4 d-1 \!f-2 |
+       b\> f-3 e d c-3 b |
        %10
-       [a gis-3 fis e d'-5 \!b-2] |
+       a gis-3 fis e d'-5 \!b-2 |
        < 
                {
-                       \voiceone 
-                       \property Voice . textstyle =  "roman"
+                       \stemup 
+                       \property Voice . textstyle = "roman"
                        c4-\mordent^"(\\textsharp)"\p r r |
                        c4-\mordent^"(\\textsharp)" r r
-                       \property Voice . textstyle =  "italic"
+                       \property Voice . textstyle = "italic"
                }
-               { \voicetwo  a4 r r | a4 r r }
+               \type Voice=ii { \stemdown a4 r r | a4 r r }
        > |
-       \onevoice 
-       [a'8\mf( es-3\> d c bes!-3 a] |
-       [g fis-3 e!-2 d-1 c'-4 \!a] |
+       \stemboth 
+       a'8\mf( es-3\> d c bes!-3 a |
+       g fis-3 e!-2 d-1 c'-4 \!a |
        %15
-       [)bes8-\mordent\p( d8-5 bes-3 g-1] )g'4 |
-       r8 [d-5( c bes a-\prall g] |
-       [)a-2 c-4( a f] ) f'4 |
-       r8 [c-5 bes a g-\prall f] |
-       [g-2 bes-4 a g f-1 e-2] |
+       )bes8-\mordent\p( d8-5 bes-3 g-1 )g'4 |
+       r8 d-5( c bes a-\prall g |
+       )a-2 c-4( a f ) f'4 |
+       r8 c-5 bes a g-\prall f |
+       g-2 bes-4 a g f-1 e-2 |
        %20
-       [f-3 d-1 f-2 a-3 d-5 g,-2] |
+       f-3 d-1 f-2 a-3 d-5 g,-2 |
        < 
                { 
-                       \voiceone 
+                       \stemup 
                        % ... textnatural
-                       [cis8-\prall e8-5-"poco cresc." cis-3 a e' cis]
+%                      cis8-\prall e8-5-"poco cresc." cis-3 a e' cis 
+                       cis8-\prall e8-5 cis-3 a e' cis 
                }
-               { \voicetwo  a4 }
+               \type Voice=ii { \stemdown a4 }
        >
-       \onevoice 
-       [a8 e'-5 cis a bes!-3 a] |
-       [g e'-5 cis-3 g e'-5 cis-3] |
-       [g-1 e'-5 cis g a-3 g] |
-       [f-"dim." d'-5 bes f d' bes] |
+       \stemboth 
+       a8 e'-5 cis a bes!-3 a |
+       g e'-5 cis-3 g e'-5 cis-3 |
+       g-1 e'-5 cis g a-3 g |
+%      f-"dim." d'-5 bes f d' bes |
+       f d'-5 bes f d' bes |
        %25
-       [f d'-5 bes f d' bes] |
-       [fis-2-"dim." c'-5 a-3 fis-2 c'-5 a-3] |
-       [fis-2 c'-5 a-3 fis-2 c'-5 a-3] |
-       [bes-4 g-1 fis-2 g-3 d-1 g-2] |
-       [bes-4 g-2 d-1 bes'-5 g-3 d-1] |
+       f d'-5 bes f d' bes |
+%      fis-2-"dim." c'-5 a-3 fis-2 c'-5 a-3 |
+       fis-2 c'-5 a-3 fis-2 c'-5 a-3 |
+       fis-2 c'-5 a-3 fis-2 c'-5 a-3 |
+       bes-4 g-1 fis-2 g-3 d-1 g-2 |
+       bes-4 g-2 d-1 bes'-5 g-3 d-1 |
        %30
-       [e-2\p g-4 fis-3 g-1 bes-4 g-2] |
-       [es-1 bes'-4 g-2 es bes' g] |
-       [cis,-1 bes'-4 g-2 cis, bes' g] |
-       [cis,-1 bes'-4 g-2 cis,-1 a'-5 g-4] |
-       [f-3 a f d a'-5 f] |
+       e-2\p g-4 fis-3 g-1 bes-4 g-2 |
+       es-1 bes'-4 g-2 es bes' g |
+       cis,-1 bes'-4 g-2 cis, bes' g |
+       cis,-1 bes'-4 g-2 cis,-1 a'-5 g-4 |
+       f-3 a f d a'-5 f |
        %35
-       [d-1 a'-5 f-3 d-1 cis-2 d-1] |
-       [e-3\< g-5 e-3 bes-1 g'-5 e-3] |
-       [bes-1 g'-5 e-3 \!cis-2 a-1 g'-5] |
-       [f16-4\mf d-2 c-1 bes-3] \stemup a-2 s16 s8 s4 |
+       d-1 a'-5 f-3 d-1 cis-2 d-1 |
+       e-3\< g-5 e-3 bes-1 g'-5 e-3 |
+       bes-1 g'-5 e-3 \!cis-2 a-1 g'-5 |
+       f16-4\mf d-2 c-1 bes-3 \stemup a-2 s16 s8 s4 |
 % ugh
 %      s1 |
        s4 s4 s4 |
        %40
        s4 s16 [d16-1-"m.d." f-2 a-4] \stemdown [d,-2-"m.g." f a] \stemup d-1 |
        \stemboth
-       [f a-4 f d] [f-4 d b d-5] [gis-2 b a gis,] |
+       f a-4 f d  f-4 d b d-5  gis-2 b a gis, |
        <g'!4.-5\f e a,> a8-5 
        <
                {
-                       \voiceone 
-                       f4-4\> ~ | [\!f8 e] [e32-4 f e8. ~] [e8 d-3]
+                       \stemup 
+                       f4-4\> ~ | [\!f8 e] [e32-4 f e8.] ~ [e8 d-3]
                }
-               { \voicetwo  <d4 a> r4 cis-2 }
+               \type Voice=ii { \stemdown <d4 a> r4 cis-2 }
        > |
-       \onevoice 
-       [d8-4 c!-3 a-1 d-4 bes-2 g-1] |
+       \stemboth 
+       d8-4 c!-3 a-1 d-4 bes-2 g-1 |
        %45
-       [c-5 a-3 fis-2 bes-4 g e ] |
-       [a-5 fis-"dim. e rall." d g-5 e cis-2] |
+       c-5 a-3 fis-2 bes-4 g e  |
+%      a-5 fis-"dim. e rall." d g-5 e cis-2 |
+       a-5 fis d g-5 e cis-2 |
        <
-               { \voiceone  <fis2-.-5\p a,> }
-               { \voicetwo  [d32( cis d8. ~] ) d2 }
+               { \stemup <fis2-.-5\p a,> }
+               \type Voice=ii { \stemdown  [d32( cis d8.] ~ ) d2 }
        > |
        \bar "|.";
 }
 
 
-two = \notes\relative c{
-       \clef "bass";
-%      [d32( cis )d8.] r4 r |
+lower = \type Staff \notes\relative c{
+       \type Voice=i
+%      d32( cis )d8. r4 r |
        d4-\mordent r r |
        d,4 r r |
        d'-\mordent r r |
@@ -114,21 +120,21 @@ two = \notes\relative c{
        d'-\mordent r r |
 %      d r r |
        d,4 r r |
-       [d'8-2 a-5 d-2 f-1 d-4 f-2] |
-       [a-1 f-4 a-2 d-1 a-2 d-1] |
+       d'8-2 a-5 d-2 f-1 d-4 f-2 |
+       a-1 f-4 a-2 d-1 a-2 d-1 |
        gis,4-3 r r |
        e-4( )gis-2 e |
-       [a8-4 e'-1 c-2 a-4 e'-1 c-2 ] |
-       [g!-5 es'-1 c-1 g-5 es'-1 c-1 ] |
+       a8-4 e'-1 c-2 a-4 e'-1 c-2  |
+       g!-5 es'-1 c-1 g-5 es'-1 c-1  |
        fis,4-5 r r 
        d-4( ) fis d-5 |
-       \property Voice . textstyle =  "roman"
+       \property Voice . textstyle = "roman"
        g4-\mordent^"(\\textsharp)" r r8 f!8 |
-       \property Voice . textstyle =  "italic"
+       \property Voice . textstyle = "italic"
        e4-\prall r r |
        f4-\mordent r r8 e |
-       d4 r8 [f-1 e d] |
-       [e-2 d-3 cis-4 e-1 d-2 cis-3] |
+       d4 r8 f-1 e d |
+       e-2 d-3 cis-4 e-1 d-2 cis-3 |
        d4-2( )c! bes-4 |
        a( )a' a, |
        a( )a' a, |
@@ -150,30 +156,22 @@ two = \notes\relative c{
        cis( )cis' cis, |
        d-4 s16
        \stemdown
-       [g'16-1-"m.g." f e] [f-2 a d,-3 f] | 
-       a,
+       [g'16-1-"m.g." f e] f-2 a d,-3 f | 
+       a, \stemup [d-5-"m.d." c bes] 
+       a \stemdown [ g-2 f-"m.g." e] d f-4 a-2 d-1 |
        \stemup
-       [d-5-"m.d." c bes] a 
-       \stemdown [g-2 f-"m.g." e] [d f-4 a-2 d-1] |
-       \stemup
-%      [f-2\ped a]
+%      f-2\ped a 
        [f-2-"Ped." a]
        \stemdown
-%      [d-4-"m.g." f-"cresc."] a s s8 s4\dep |
-       [d,-4-"m.g." f-"cresc."] a s s8 s4-"*" |
+%      d-4-"m.g." f-"cresc." a s s8 s4\dep |
+%      d,-4-"m.g." f-"cresc." a s s8 s4-"*" |
+       [d,-4-"m.g." f] a s s8 s4-"*" |
        \stemboth
 % ugh whole rest has duration of one bar
 %      r1 |
        r4 r r |
-%{
-       ugh forget the 8 below:
-       [cis-3( e cis a] [d16-1 c bes a] |
-       and lily dumps koor
-lilypond: ../flower/include/varray.hh:116: struct Rhythmic_grouping *& Array<Rhythmic_grouping *>::elem(int) const: Assertion `i >=0&&i<size_ failed.
-Aborted (core dumped)
-%}
-       [cis,8-3( e cis a] [d16-1 c bes a] |
-       [)g8 g' a-2( g-3 a-1 a,] |
+       cis,8-3( e cis a  d16-1 c bes a |
+       )g8 g' a-2( g-3 a-1 a, |
        )d4-3 d'-1 d, |
        d r r |
        d,( )d' d, |
@@ -186,36 +184,35 @@ global = \notes{
        \key F;
 }
 
-treble_staff = \type Staff = treble <
-       \global
-       \one
->
-
-bass_staff = \type Staff = bass <
-% bass = Staff <
-       \clef "bass";
-       \global
-       \two
->
-
-grand_staff = \type GrandStaff <
-       \treble_staff
-       \bass_staff
->
-
-widea4 = \paper {
-       \paper_twenty
-%      arithmetic_basicspace = 2.;
-%      arithmetic_multiplier = 6.\pt;
-       arithmetic_basicspace = 2.;
-       arithmetic_multiplier = 8.\pt;
-       linewidth= 193.\mm;
-}
-
 \score{
-        % Moderato
-       \grand_staff
-       \paper{ \widea4 }
+       % Moderato
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \upper
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
+       \paper{
+               \include "preludes-paper.ly";
+               gourlay_maxmeasures = 5.0;
+               \translator{ 
+                       \GrandStaffContext
+                       minVerticalAlign = 3.0*\staffheight;
+                       maxVerticalAlign = 3.0*\staffheight;
+               }
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = "1";
+                       beamAutoEnd8 = "3/4";
+                       beamAutoEnd16 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 90; }
        \header{
                piece = "5";
index cb9168062a993e7e79497654ee2e45141530df70..1a11dcfc489683bee2a8dc13b5ff2850dbd39811 100644 (file)
@@ -1,69 +1,73 @@
 \header{
-filename =      "preludes-6.ly";
+filename =     "preludes-6.ly";
 % blz 11
 % Six Petits Preludes
 % Collection Johann Peter Kellner
 % ca 1703 - 1707
-composer =      "Johann Sebastian Bach (1685-1750)";
-enteredby =     "jcn";
-copyright =     "public domain";
+composer =     "Johann Sebastian Bach (1685-1750)";
+enteredby =    "jcn";
+copyright =    "public domain";
 }
 \version "1.0.14";
 
 
-one = \notes\relative c{
+one = \type Staff \notes\relative c{
+       \type Voice=i
        \skip 1; |
        \stemup
        r4 d''2-5( cis4-4 |
        \stemboth
-       [)d16-5\mf a'-4( g f] [e f-4 cis-2 d-1] 
-       [e8.-\mordent f16] [d8.-\prall-1 cis16-3] |
+       )d16-5\mf a'-4( g f  e f-4 cis-2 d-1 
+       e8.-\mordent f16  d8.-\prall-1 cis16-3 |
        \stemup
-       )cis4\> ~ [cis16 a \!d8 ~] d4 c-5 |
+       )cis4\> ~ cis16 a \!d8 ~ d4 c-5 |
        %5
        b2-4 ~ b4 a-5 ~ |
-       [a16 a-5 \stemup g! f] g4-4\< ~ g f-3 ~ |
-       [\!f16 a g f] [e16 g8.-5 ~] [g16 g-5 f-4 e-3] [d-1 f8.-4 ~] |
-       [f16 f-3 e d] b'4 a-5 g-5 |
-       fis4-4 g r8\<-"rall." [g16-1( bes-2] \!e4-5 |
+       a16 a-5 \stemup g! f g4-4\< ~ g f-3 ~ |
+       \!f16 a g f  e16 g8.-5 ~  g16 g-5 f-4 e-3  d-1 f8.-4 ~ |
+       f16 f-3 e d b'4 a-5 g-5 |
+%      fis4-4 g r8\<-"rall." g16-1( bes-2 \!e4-5 |
+       fis4-4 g r8\< g16-1( bes-2 \!e4-5 |
        %10
-       \!)d1-5
+       )d1-5
        \bar "|.";
 }
 
-two = \notes\relative c{
-       r16\p [d''-5( c-4 bes-3] [a-2 bes-3 f-1 g-2] 
-       [a8.-\mordent bes16-1] [g8.-\prall f16-1] |
+two = \type Staff \notes\relative c{
+       \type Voice=ii
+       r16\p d''-5( c-4 bes-3  a-2 bes-3 f-1 g-2 
+       a8.-\mordent bes16-1  g8.-\prall f16-1 |
        \stemdown
        )f2 e2 |
-       \translator Staff=bass \stemup
+       \translator Staff=lower \stemup
        r4 a,-1 bes-2 b-1 |
-       \translator Staff=treble \stemdown
-       r16 [b'-3 a-1 g-2] [f8. f16-2] e2 ~ |
+       \translator Staff=upper \stemdown
+       r16 b'-3 a-1 g-2  f8. f16-2 e2 ~ |
        %5
-       e2 ~ e4 ~ [e16 e-2 f! d-1] |
-       s4 [e32 d e8.~] e4 d4 ~ |
-       d4. [cis16-2 d-1] cis4 d-1 ~ |
-       d8 r r16 [e-2 f d] r16 [e-2 f d] r [d-1 e-3 cis] |
-       r16 [e-3 d-1 c!-2] [bes! d8.] s4 r16\> [bes'-2 a-2 \!g-1] |
+       e2 ~ e4 ~ e16 e-2 f! d-1 |
+       s4 e32 d e8.~ e4 d4 ~ |
+       d4. cis16-2 d-1 cis4 d-1 ~ |
+       d8 r r16 e-2 f d r16 e-2 f d r d-1 e-3 cis |
+       r16 e-3 d-1 c!-2  bes! d8. s4 r16\> bes'-2 a-2 \!g-1 |
        %10
        fis1-2
 }
 
-three = \notes\relative c{
+three = \type Staff \notes\relative c{
+       \type Voice=iii
        \stemup
        f2-1( e-2 |
        \stemboth
-       [)d16 d'( c bes] [a-4 bes-2 f-5 g-4] 
-       [a8.-\mordent bes16-2]
-       [g8.-\prall-4 f16-5] |
+       )d16 d'( c bes  a-4 bes-2 f-5 g-4 
+       a8.-\mordent bes16-2 
+       g8.-\prall-4 f16-5 |
        )f2-5 g4-4 gis |
-       a2-2 ~ [a16 a-1( g f] [e-4 f-2 c-5 d] |
+       a2-2 ~ a16 a-1( g f  e-4 f-2 c-5 d |
        %5
-       [e8.-\mordent f16] [d8.-\prall-4 c16-5] \stemboth )c4.-5 d8-4 |
+       e8.-\mordent f16  d8.-\prall-4 c16-5 \stemboth )c4.-5 d8-4 |
        \stemdown
-       e4 ~ [e16 f-2( e-3 d-4] [cis a b cis-3] [d-4 e-3 f-2 d-4] |
-       \property Voice . textstyle =  "finger"
+       e4 ~ e16 f-2( e-3 d-4  cis a b cis-3  d-4 e-3 f-2 d-4 |
+       \property Voice . textstyle = "finger"
        )bes!2-"5\\_4" a ~ |
        a a |
        d, cis'-5 |
@@ -72,20 +76,21 @@ three = \notes\relative c{
        \bar "|.";
 }
 
-four = \notes\relative c{
+four = \type Staff \notes\relative c{
+       \type Voice=iv
        \stemdown 
        d2-3 cis-4 |
        \skip 1*3; |
        %5
-       \translator Staff=treble \stemup \property Voice.hshift = 1 
-       a'4 gis-2 ~ [gis16 gis-3 fis e]
+       \translator Staff=upper \stemup \property Voice.hshift = 1 
+       a'4 gis-2 ~ gis16 gis-3 fis e 
        \skip 4*1;
-       \translator Staff=bass \stemdown \property Voice.hshift = 0 
+       \translator Staff=lower \stemdown \property Voice.hshift = 0 
        \stemup
        b2-1 a-1 |
-       g a4. [gis16 a] |
-       gis2 <[g8 cis,> <f-3 d-1>] e4-2 |
-       d4. [fis16-3 g-2] r16 bes8.-1 ~ bes4 |
+       g a4. gis16 a |
+       gis2 < g8 cis,> <f-3 d-1> e4-2 |
+       d4. fis16-3 g-2 r16 bes8.-1 ~ bes4 |
        %10
        \stemdown
        d,1-5
@@ -96,34 +101,38 @@ global = \notes{
        \key F;
 }
 
-
-treble_staff = \type Staff = treble <
-       \global
-       \one
-       \two
->
-
-bass_staff = \type Staff = bass <
-% bass = Staff <
-       \clef "bass";
-       \global
-       \three
-       \four
->
-
-grand_staff = \type GrandStaff <
-       \treble_staff
-       \bass_staff
->
-
-a4 = \paper{
-       linewidth = 193.\mm;
-}
-
 \score{
-        % Allegretto
-       \grand_staff
-       \paper{ \a4 }
+       % Allegretto
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \one
+                       \two
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \three
+                       \four
+               >
+       >
+       \paper{
+               \include "preludes-paper.ly";
+               gourlay_maxmeasures = 3.0;
+               \translator{ 
+                       \GrandStaffContext
+                       minVerticalAlign = 3.0*\staffheight;
+                       maxVerticalAlign = 3.0*\staffheight;
+               }
+               \translator{
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = "1";
+                       beamAutoEnd8 = "1/2";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 40; }
        \header{
                piece = "6";
index 3a9a6790c39dc1b6f018cfad14494ab2b3af5ed0..7d037022bb64196975871b6cc6279be50b386430 100644 (file)
@@ -1,9 +1,6 @@
-\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
-}
+% nice, but some printers can't handle...
+% linewidth= 193.\mm;
+linewidth= 180.\mm;
+gourlay_maxmeasures = 10.0;
+%arithmetic_basicspace = 3.;
+%arithmetic_multiplier = 6.\pt;
index 08c3346aae9d7e7929af68f999e4a5cfd7598807..5206232e4d109cf6df030740fd44e1b1730cc6b4 100644 (file)
@@ -22,14 +22,21 @@ copyright =  "public domain";
 allemande_cello_global = \notes{
        \time 4/4;
        \key f;
-       \partial 16;
        \clef bass;
-       \skip 1*11;
-       s2. s8.
-       \bar ":|:";
-       \skip 1*11;
-       s2. s4 s8
-       \bar ":|";
+       \repeat 2 {
+               \partial 16;
+               s16
+               s1*11 |
+               s2 s4 s8
+               \partial 16*15;
+               s16
+       } \repeat 2 {
+               % urg
+               s32 \partial 16; s32
+               s1*11
+               s16*15
+               \partial 16*15;
+       }
 }
 
 allemande_cello_scripts = \notes{
@@ -42,9 +49,31 @@ allemande_cello_staff = \type Staff <
 >
 
 \score{
-       \$allemande_cello_staff
-       \include "scs-paper.ly";
+%{
+       urg, this breaks auto-beam-engraver?
+       really hairy bug: 1.1.23
+       extra bars get encountered!!
+       \paper{
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 4.0;
+       }
+%}
+       \$allemande_cello_staff
+       % \paper{ \include "scs-paper.ly"; }
+       \paper{
+
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 45; }
        \header{ piece = "Allemande"; }
 }
-
index e0d35b837dd1d35ff8fad219f133365c2ab7faaf..401eccfdc4926acb9c95f8fce458b1fa99085fae 100644 (file)
@@ -11,64 +11,67 @@ n = { \slurnormal }
 d = { \slurdotted }
 comma = "\\sethuge\\ \\ ,"
 
-allemande_a = \notes \relative c {
-       \voiceone a'16 | 
-       [a8 bes16()a] \onevoice
-       [g()f e()d][d()cis d()e][a,8 \d bes16()g] |
-       [f( a )d f,] [e8 cis']\voiceone[d8. e16]\onevoice[f g a bes!] |
+allemande_a = \type Staff \notes \relative c {
+       \type Voice=i
+       \stemup
+       a'16 | 
+       a8 bes16()a \stemboth
+       g()f e()d d()cis d()e a,8 bes16()g |
+       f( a )d f,  e8 cis' \stemup d8. e16 \stemboth f g a bes! |
        %3
-       \voiceone[c8 \n d16()es]\onevoice[d()c bes()a][c()bes a()g][d'8. f,16] |
-       [e( g )bes d][c()bes a()g]\n[bes()a g()f]
-       <[f8. a> <f16 a]> |
+       \stemup c8 \n d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 |
+       e( g )bes d c()bes a()g \n bes()a g()f 
+       < f8. a> <f16 a > |
        % urg fix
-       [b \n f( e )d][e \d cis'( d )cis]\voiceone[d8.( )e16]\onevoice
-       \n[f( e d)e] |
+       b \n f( e )d e \d cis'( d )cis \stemup d8.( )e16 \stemboth
+       \n f( e d)e |
        %6
-       [d( c b )c][b( a gis)a][gis8-\prall fis16()e][e' c( a )g] |
-       \voiceone [e' a, f d] [d f d b]\onevoice
-       [gis( b e )gis] \d [b( d c )b] |
+       d( c b )c b( a gis)a gis8-\prall fis16()e e' c( a )g |
+       \stemup e' a, f d  d f d b \stemboth
+       gis( b e )gis \d b( d c )b |
        %8
-       \n[c( a f )e][d( f e )d][gis8.-\trill()a16]\d[b d e,()d] |
+       \n c( a f )e d( f e )d gis8.-\trill()a16 \d b d e,()d |
        % urg
-       [c( e a)d]\voiceone [b8.-\trill a16] a8 s4 s8 \onevoice |
+       c( e a)d \stemup b8.-\trill a16 a8 s4 s8 \stemboth |
        %10
-       [d,!16 gis( a b a gis fis )e] \voiceone [e8 f16()e]\onevoice
-       [d()c b()a] |
-       \voiceone[d8 e16()f]\onevoice\d[e()d c()b]
-       \voiceone[d'16()b c()a] \onevoice [e8 gis] |
-       [a,8. cis16][e g!( f! )e][f( a )d gis,] a8.
+       d,!16 gis( a b a gis fis )e \stemup e8 f16()e \stemboth
+       d()c b()a |
+       \stemup d8 e16()f \stemboth\d e()d c()b 
+       \stemup d'16()b c()a \stemboth e8 gis |
+       a,8. cis16 e g!( f! )e f( a )d gis, a8.
        %13
-       e16 \voiceone [e8. f16] \onevoice
-       \n[g!()e f()a]\n[cis,( d )e bes][a8.-\trill()g16] |
-       [f a'(f)d][g \n b,()cis a'][g(f e)d][fis d()es c(] |
+       e16 \stemup e8. f16 \stemboth
+       \n g!()e f()a \n cis,( d )e bes a8.-\trill()g16 |
+       f a'(f)d g \n b,()cis a' g(f e)d fis d()es c( |
        %15
-       [)bes g'(a, )g][fis a d c'][bes(fis)g bes][d()a bes()g] |
-       [es(d)es g][c()a bes()g]\d[d(c)d g]\n[bes()fis g()es] |
+       )bes g'(a, )g fis a d c' bes(fis)g bes d()a bes()g |
+       es(d)es g c()a bes()g \d d(c)d g \n bes()fis g()es |
        %17
-       \n[c(bes)c bes'][a(c)es g,]\voiceone[fis8-\trill\d g16()a]\onevoice
-       [d,8 es16()c] |
-       [bes(d )g bes,][d,8 fis']\voiceone[g8. a16]\onevoice[bes d g, f] |
+       \n c(bes)c bes' a(c)es g, \stemup fis8-\trill\d g16()a \stemboth
+       d,8 es16()c |
+       bes(d )g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f |
        %19
-       \voiceone[e8.-\trill()f16]\onevoice [g()e c()bes]
-       \n[a()f' g,()f][e g'( a )bes] |
+       \stemup e8.-\trill()f16 \stemboth g()e c()bes 
+       \n a()f' g,()f e g'( a )bes |
        % :-(
-       % [bes( a g )f^\comma]
-       [bes( a g )f^"\\sethuge{\\ \\ '}"]
-       [a()e f()d][bes d(f)a][d()a bes()g] |
+       % bes( a g )f^\comma 
+       bes( a g )f^"\\sethuge{\\ \\ '}" 
+       a()e f()d bes d(f)a d()a bes()g |
        %21
-       [a,(\n)g'(\n cis())d][e()g, a()e][f()d bes()d]\d[gis, f'(e)d] |
-       % \n[d( cis b )a^\comma][c(a)fis d'][c a( b )d]
-       \n[d( cis b )a^"\\sethuge\\ \\ ,"]
-       [c(a)fis d'][c a( b )d]
-       [f!(d )gis, d'] |
+       a,(\n)g'(\n cis())d e()g, a()e f()d bes()d \d gis, f'(e)d |
+       % \n d( cis b )a^\comma c(a)fis d' c a( b )d 
+       \n d( cis b )a^"\\sethuge\\ \\ ," 
+       c(a)fis d' c a( b )d 
+       f!(d )gis, d' |
        %23
-       [cis(e g!)bes][e()a, bes()g][f()cis d()gis,][a8 cis!] |
+       cis(e g!)bes e()a, bes()g f()cis d()gis, a8 cis! |
        % knee
-       \stemup [d,16 \stemboth d''(c!)a][bes!(g)e cis'][d a f d] d,8.
+       \stemup d,16 \stemboth d''(c!)a bes!(g)e cis' d a f d d,8.
 }
 
 allemande_b = \notes \relative c {
-       \voicetwo
+       \type Voice=ii
+       \stemdown
        s16 |
        % <d'8 g' f'> s8 s2. |
        <f8 g, d> s8 s2. |
@@ -80,17 +83,19 @@ allemande_b = \notes \relative c {
        s1 |
        f!16 s16*3 b, s16*3 s2 |
        s1 |
-       s4 e [dis8 ~ dis32 e( fis gis][a b c d! c b c )a] |
+       s4 e dis8 ~ dis32 e( fis gis a b c d! c b c )a |
        %10
        s2 <a8 c,> s8 s4 |
        <b8 gis,> s8 s4 <e,8 a,> s8 s4 |
-       s1 |
+       s2 s4 s8.
+       s16 |
        <cis'8 g,> s8 s2. |
        %15
        s1*3 |
        s2 c,8 s8 s4 |
        s2 g8. s16 s4 |
        bes8. 
+%      }
 }
 
 allemande = \type Staff \notes<
@@ -98,3 +103,4 @@ allemande = \type Staff \notes<
        \$allemande_b
 >
 
+
index c7c11ed713bb6fa2006370fccdae395b89ca92b8..f308a206129ba4f3970bf4ac99857346341ee365 100644 (file)
@@ -22,14 +22,21 @@ copyright =  "public domain";
 allemande_viola_global = \notes{
        \time 4/4;
        \key f;
-       \partial 16;
        \clef alto;
-       \skip 1*11;
-       s2. s8.
-       \bar ":|:";
-       \skip 1*11;
-       s2. s4 s8
-       \bar ":|";
+       \repeat 2 {
+               \partial 16;
+               s16
+               s1*11 |
+               s2 s4 s8
+               \partial 16*15;
+               s16
+       } \repeat 2 {
+               % urg
+               s32 \partial 16; s32
+               s1*11
+               s16*15
+               \partial 16*15;
+       }
 }
 
 allemande_viola_scripts = \notes{
@@ -43,7 +50,19 @@ allemande_viola_staff = \type Staff <
 
 \score{
        \$allemande_viola_staff
-       \include "scs-paper.ly";
+%      \include "scs-paper.ly";
+       \paper{
+               linewidth = 180.\mm;
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 45; }
        \header{ piece = "Allemande"; }
 }
index bc1e61e12528aa9637ec4dfd41a8fadfb233f072..94c9a8d0fab4f2eb03dbb247b2e1f3f10d6f84ab 100644 (file)
@@ -22,14 +22,22 @@ copyright =  "public domain";
 courante_cello_global = \notes{
        \time 3/4;
        \key f;
-       \partial 16;
        \clef bass;
-       \skip 2.*15;
-       s2 s8.
-       \bar ":|:";
-       \skip 2.*15;
-       s2 s8.
-       \bar ":|";
+       \repeat 2 {
+               \partial 16;
+               s16
+               s2.*15
+               % hmm
+               s2 s8
+               \partial 16*11;
+               s16
+       } \repeat 2 {
+               % urg
+               s32 \partial 16; s32
+               s2.*15
+               s16*11
+               \partial 16*11;
+       }
 }
 
 courante_cello_scripts = \notes{
@@ -43,7 +51,20 @@ courante_cello_staff = \type Staff <
 
 \score{
        \$courante_cello_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 55; }
        \header{ piece = "Courante"; }
 }
index 9a96b3123592c418b4d6c21564b380f20f0a0b91..e665ec7b1b4d4fbcb733258a04b7f6d138ebce04 100644 (file)
@@ -10,75 +10,83 @@ But merging melodic and scripts doen't work too well yet (see viola_scripts).
 n = { \slurnormal }
 d = { \slurdotted }
 
-courante_a = \notes \relative c {
+courante_a = \type Staff \notes \relative c {
+       \type Voice=i
        d'16 |
-       [d a f a] [d, f g a]\d[bes()a bes()g] |
-       \voiceone <g4 a> s4 \onevoice \d[g16()f g()e] |
+       d a f a d, f g a \d bes()a bes()g |
+       \stemup <g4 a> s4 \stemboth \d g16()f g()e |
        % urg, a good case for mean-distance-beam-dir-algorithm!
-       [f()d e()c!]\n[bes(a)bes a'][g f e d] |
+       f()d e()c! \n bes(a)bes a' g f e d |
        %4
-       % [cis e \n a,(\d(b][[cis d e f][)g )bes-- a e] |
-       [cis e \n a,(b][[cis d e f][)g bes-- a e] |
-       % [f a \n d,(\d( e][f g a bes][)c )bes-- d c] |
-       [f a \n d,( e][f g a bes][)c bes-- d c] |
-       \n\voiceone <c4~ f,> <[c16 f,> bes a g] \onevoice [f()es d()es] |
+       % cis e \n a,(\d(b cis d e f )g )bes-- a e |
+       cis e \n a,(b cis d e f )g bes-- a e |
+       % f a \n d,(\d( e f g a bes )c )bes-- d c |
+       f a \n d,( e f g a bes )c bes-- d c |
+       \n\stemup <c4 f,> ~ < c16 f,> bes a g \stemboth f()es d()es |
        %7
-       [d bes(a)bes][d bes e! bes][f' bes, g' bes,] |
-       \d[e,( g )c d][e f g a][bes()a bes()g]|
-       \n[a f(e)f][a f bes f][c' f, d' f,] |
+       d bes(a)bes d bes e! bes f' bes, g' bes, |
+       \d e,( g )c d e f g a bes()a bes()g |
+       \n a f(e)f a f bes f c' f, d' f, |
        %10
-       [cis( e )a b][cis d e f][g()f g()e] |
-       [d,( a' )f' e]\n[d()c d()c][b()a b()a] |
-       \n[gis( a )b e,]\n[f()e f()d][e()c d()b] |
+       cis( e )a b cis d e f g()f g()e |
+       d,( a' )f' e \n d()c d()c b()a b()a |
+       \n gis( a )b e, \n f()e f()d e()c d()b |
        %13
-       \n[c a'( b c][b a gis)a][d, a' e a] |
-       [f a( b c][b a gis)a][f a e a] |
-       [dis, a'( b c][b a gis)a][e a e gis] |
-       [a e cis e][a, cis e gis] a8. e'16 |
+       \n c a'( b c b a gis)a d, a' e a |
+       f a( b c b a gis)a f a e a |
+       dis, a'( b c b a gis)a e a e gis |
+       a e cis e a, cis e gis a8.
+       e'16 |
        %17
-       [e cis a cis][e, f g a][bes()g cis()g] |
-       \voiceone d'4 ~ [d16 a d e][f d a c!]\onevoice |
-       \n[b16 f(d)f]\d[g, d'(f)g][b f d' f,] |
+       e cis a cis e, f g a bes()g cis()g |
+       \stemup d'4 ~ d16 a d e f d a c! \stemboth |
+       \n b16 f(d)f \d g, d'(f)g b f d' f, |
        %20
-       [e g c,(d][e f g a][)bes! d c g] |
-       \voiceone a s16*3 s4 s4
-       d, ~ [d16 e! f g] \onevoice [a bes c d] |
+       e g c,(d e f g a )bes! d c g |
+       \stemup a s16*3 s4 s4
+       d, ~ d16 e! f g \stemboth a bes c d |
        %23
-       [e, bes(a)g][a f' \n g,()f]\d[c()g' f' e] |
-       [f a( bes a][g f e )f][g e f d]|
-       [cis g' b, g'][a, g' b, g'][cis, g' a, g']|
+       e, bes(a)g a f' \n g,()f \d c()g' f' e |
+       f a( bes a g f e )f g e f d |
+       cis g' b, g' a, g' b, g' cis, g' a, g' |
        %26
-       [f d f a][d a d e][f a, f d]|
-       [g, d'(g)a][bes g' a, f'][g, e' f, d']|
-       \n[cis(d)e cis][a cis bes cis][a cis g cis]|
+       f d f a d a d e f a, f d |
+       g, d'(g)a bes g' a, f' g, e' f, d' |
+       \n cis(d)e cis a cis bes cis a cis g cis |
        %29
-       \n[f, d'(e f][e d cis)d][g, d' a d]|
-       \d[bes d(e f][e d cis)d][bes d a d]|
-       [gis, d'(e f][e d cis)d][a d a cis]|
-       [d a f a][d, f a, d]
+       \n f, d'(e f e d cis)d g, d' a d |
+       \d bes d(e f e d cis)d bes d a d |
+       gis, d'(e f e d cis)d a d a cis |
+       d a f a d, f a, d 
        d,8.
 }
 
 courante_b = \notes \relative c {
-       \voicetwo
+       \type Voice=ii
        \stemdown
        s16 |
        s2. |
        %2
-       \n cis4 ~ [cis16 d e f] s4 |
+       \n cis4 ~ cis16 d e f s4 |
        s2.*3 |
        %6
-       { a,4 s2 }
-       s2.*11
+       a,4 s2
+       s2.*9
+       % 16
+       s2 s8.
+       s16 |
+       s2.
        %18
        f'4 s s |
        s2.*2
        %21
-       [f16 c'(bes a][g f es d] [)es c' f, es] |
+       f16 c'(bes a g f es d )es c' f, es |
        bes4 s s
+       s2.*9
+       s2 s8.
 }
 
-courante =  \type Staff \notes<
+courante = \type Staff \notes<
  \$courante_a
  \$courante_b
 >
index 83e144bf3edd535b09ee4145b85baf80eb2bdaf0..b21bcca92acb29395b0c1d8800cff1082a5fccb4 100644 (file)
@@ -22,14 +22,22 @@ copyright =  "public domain";
 courante_viola_global = \notes{
        \time 3/4;
        \key f;
-       \partial 16;
        \clef alto;
-       \skip 2.*15;
-       s2 s8.
-       \bar ":|:";
-       \skip 2.*15;
-       s2 s8.
-       \bar ":|";
+       \repeat 2 {
+               \partial 16;
+               s16
+               s2.*15
+               % hmm
+               s2 s8
+               \partial 16*11;
+               s16
+       } \repeat 2 {
+               % urg
+               s32 \partial 16; s32
+               s2.*15
+               s16*11
+               \partial 16*11;
+       }
 }
 
 courante_viola_scripts = \notes{
@@ -43,7 +51,20 @@ courante_viola_staff = \type Staff <
 
 \score{
        \$courante_viola_staff
-       \include "scs-paper.ly";
+       %\paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 55; }
        \header{ piece = "Courante"; }
 }
index aaa6782df9c59b4d0202c31f802bee239ed642ba..8a1feb0b6425efdfe02215830406bc41bfb0288f 100644 (file)
@@ -23,13 +23,19 @@ gigue_cello_global = \notes{
        \time 3/8;
        \key f;
        \clef bass;
-       \partial 8;
-       \skip 4.*31;
-       s4
-       \bar ":|:";
-       \skip 4.*44;
-       s4
-       \bar ":|";
+       \repeat 2 {
+               \partial 8;
+               s8
+               s4.*31
+               s4
+               \partial 4;
+       } \repeat 2 {
+               % urg
+               s16 \partial 8; s16
+               s4.*43
+               s4
+               \partial 4;
+       }
 }
 
 gigue_cello_scripts = \notes{
@@ -43,7 +49,19 @@ gigue_cello_staff = \type Staff <
 
 \score{
        \$gigue_cello_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+                       beamAutoEnd16 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 60; }
        \header{ piece = "Gigue"; }
 }
index d2beebc3d92f570849116009377478b3f02b1246..87aa2b5553fe70a23361239a307db3133dbaf0d0 100644 (file)
@@ -16,10 +16,8 @@ d = { \slurdotted }
 % * slurs/ties in two different threads (like beams): urtext, and additionals
 % 
 
-% urg, Thread is gone, try Voice
-% gigue_notes = \type Thread = gigue \notes \relative c {
-
-gigue_notes = \type Voice = gigue \notes \relative c {
+gigue_notes = \type Staff \notes \relative c {
+       \type Voice=i
        a'8 |
        d,4 bes'8 | cis,4 g'8 | f16 e f g a8 |
        d,4 d'8 | e,16(f)g8 bes | c,16(d)e8 c' | a16 g a bes c a |
@@ -27,18 +25,18 @@ gigue_notes = \type Voice = gigue \notes \relative c {
        f4-\trill a8 | b,()g' cis, | d f16( c bes )a | g8()es' a, |
        bes d16( a g )f | e!8()cis' bes' a g16( f e)d |
        %15
-       %\voiceone e(f g e f)d \onevoice e8()a,\comma c''! |
-       \voiceone e(f g e f)d \onevoice e8()a,^"\\sethuge{\\ \\ '}" c'! |
-       \voiceone c16(d es c d)a bes8 r bes |
+       %\stemup e(f g e f)d \stemboth e8()a,\comma c''! |
+       \stemup e(f g e f)d \stemboth e8()a,^"\\sethuge{\\ \\ '}" c'! |
+       \stemup c16(d es c d)a bes8 r bes |
        bes16(c d bes c)g a8 r a |
        %21
        b16()c d()b c()a | d()e f()d e()c | b()c d()b c()a | e'4 gis,8 |
-       a16()b c()a d()b  |
+       a16()b c()a d()b |
        a()b c()a d()b |
        %27
        a()b c()a d()b |
        a()b c()a d()b |
-       f'8 e16()d c()b \onevoice | 
+       f'8 e16()d c()b \stemboth | 
        e,, e''(d)c b()gis | a f(e)d e()cis | a4
        %33
        c'!8 |
@@ -50,37 +48,38 @@ gigue_notes = \type Voice = gigue \notes \relative c {
        %45
        as(g)as fis g es' | d,8 g fis | g16 es(d)c d()bes | g4 bes'8
        % what about this?
-       \voiceone\stemdown e,!16(f)g e f d\onevoice
+       \stemup\stemdown e,!16(f)g e f d\stemboth
        c(d e) c d bes | a(bes)c a bes g | f4 a'8
        % what about this?
-       \voiceone\stemdown d,16(e)f d e c\onevoice bes(c)d bes c a 
+       \stemup\stemdown d,16(e)f d e c\stemboth bes(c)d bes c a 
        g16(a)bes g a f | e4 g'8 
        %57
        a,16(b cis d)e g-. | f(g a cis )d f, | e(f g a)bes d,-. |
        cis(d)e a, bes g 
-       \voiceone
+       \stemup
        d'()e f()d g()e |
        %62
        d()e f()d g()e |
        d()e f()d g()e |
        d()e f()d g()e |
-       \onevoice
+       \stemboth
        cis bes'(a g f)e | f, a' g f e cis |
        %67
        d bes a g a f | d a' d e f d | 
-       \voiceone es()f g()es f()d | g()a bes()g a()f es()f g()es f()d |
+       \stemup es()f g()es f()d | g()a bes()g a()f es()f g()es f()d |
        %72
-       cis'4 \onevoice d16()c | bes(a g f e)d | cis(b a g f)e | d f a d f a |
+       cis'4 \stemboth d16()c | bes(a g f e)d | cis(b a g f)e | d f a d f a |
        d4
 }
 
-gigue_b = \notes \relative c {
-       \voicetwo 
+gigue_b = \type Staff \notes \relative c {
+       \type Voice=ii
+       \stemdown
        s8
        s4.*14
-       a4. | s d | [d8 g, d'] | e4. | [f8 f, f'] |
+       a4. | s d | d8 g, d' | e4. | f8 f, f' |
        %21
-       [d d d] [d d d] [d d d] |
+       d d d  d d d  d d d |
        % one could type r here...
        d4 s8 | <e c> s s | d s s | e s s | f s s | gis s4 |
        s4. s s4 
@@ -93,49 +92,13 @@ gigue_b = \notes \relative c {
        s4.*7
        <a,8 f> s s g s s a s s bes s s
        s4.*4
-       [g8 g g] [g g g] [g g g] 
+       g8 g g  g g g  g g g 
        %72
        <g4 e'>
 }
 
-gb = \notes { [s16 s s s s s] }
-
-% urg, Thread is gone, try Voice
-% gigue_beams = \type Thread = gigue \notes{
-gigue_beams = \type Voice = gigue \notes{
-       s8 |
-       s4. s4. \gb 
-       s4. \gb \gb \gb 
-       %8
-       s4. 
-       \gb \gb \gb \gb \gb
-       %14
-       \gb \gb \gb \gb s4.
-       %19
-       \gb s4. \gb \gb \gb
-       %24
-       s4.
-       \gb \gb \gb \gb \gb \gb \gb
-       s4 s8 
-       %33
-       s4. s4.
-       \gb s4. \gb \gb 
-       %39
-       \gb s4.
-       \gb \gb \gb \gb \gb \gb \gb
-       %48
-       s4. \gb \gb \gb 
-       s4. \gb \gb \gb s4.
-       \gb \gb \gb \gb \gb
-       \gb \gb \gb \gb \gb
-       \gb \gb \gb \gb \gb
-       s4 [s16 s]
-       \gb \gb \gb 
-}
-
 gigue_a = \type Voice \notes<
        \$gigue_notes
-       \$gigue_beams
 >
 
 gigue = \notes<
index 9444fda5549eabfffea95f443cbebcd12c59fa37..b52a1c798f88175cdcaed1f7b91fe5ae6f2be304 100644 (file)
@@ -1,5 +1,5 @@
 \header{
-filename =      "gigue-cello.ly";
+filename =      "gigue-viola.ly";
 title =         "Solo Cello Suites";
 subtitle = "Suite II";
 % piece = "Gigue";
@@ -19,32 +19,49 @@ copyright =  "public domain";
 
 \include "gigue-urtext.ly";
 
-gigue_cello_global = \notes{
+gigue_viola_global = \notes{
        \time 3/8;
        \key f;
-       \clef bass;
-       \partial 8;
-       \skip 4.*31;
-       s4
-       \bar ":|:";
-       \skip 4.*44;
-       s4
-       \bar ":|";
+       \clef alto;
+       \repeat 2 {
+               \partial 8;
+               s8
+               s4.*31
+               s4
+               \partial 4;
+       } \repeat 2 {
+               % urg
+               s16 \partial 8; s16
+               s4.*43
+               s4
+               \partial 4;
+       }
 }
 
-gigue_cello_scripts = \notes{
+gigue_viola_scripts = \notes{
 }
 
-gigue_cello_staff = \type Staff <
+gigue_viola_staff = \type Staff <
        \notes \transpose c' \$gigue
-       \$gigue_cello_global
-       \$gigue_cello_scripts
+       \$gigue_viola_global
+       \$gigue_viola_scripts
 >
 
 \score{
-       \$gigue_cello_staff
-       \include "scs-paper.ly";
-%broken
+       \$gigue_viola_staff
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+                       beamAutoEnd16 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 60; }
        \header{ piece = "Gigue"; }
 }
index 5017b4b9b4046e5ef341d3112f2b1a6b448ad581..78e1b68390e3120885e61d7de743be14ba8fd937 100644 (file)
@@ -24,16 +24,18 @@ menuetto_i_cello_global = \notes{
        \time 3/4;
        \key f;
        \clef bass;
-       \skip 2.*8;
-       \bar ":|:";
-       \skip 2.*1;
-       \slurdotted
-       \skip 2.*14;
-       s2._"Fine"
-       \bar ":|";
+       \repeat 2 {
+               \skip 2.*8;
+       } \repeat 2 {
+               \skip 2.*1;
+               \slurdotted
+               \skip 2.*14;
+               s2._"Fine"
+       }
 }
 
 menuetto_i_cello_scripts = \notes{
+       \type Voice=i
        s2.
        s8^"~"^1_2_4 s8 s4 s^4
        s4^0_1 s_4 s
@@ -61,7 +63,18 @@ menuetto_i_cello_staff = \type Staff <
 
 \score{
        \$menuetto_i_cello_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 110; }
        \header{ piece = "Menuetto I"; }
 }
@@ -70,13 +83,15 @@ menuetto_ii_cello_global = \notes{
        \time 3/4;
        \key D;
        \clef bass;
-       \skip 2.*8;
-       \bar ":|:";
-       \skip 2.*1;
-       \slurdotted
-       \skip 2.*14;
-       s2._"Menuetto I da Capo"
-       \bar ":|";
+       \repeat 2 {
+               \skip 2.*8;
+       } \repeat 2 {
+               \skip 2.*1;
+               \slurdotted
+               \skip 2.*14;
+               s2._"Menuetto I da Capo"
+       }
+
 }
 
 menuetto_ii_cello_staff = \type Staff <
@@ -87,7 +102,18 @@ menuetto_ii_cello_staff = \type Staff <
 
 \score{
        \$menuetto_ii_cello_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 130; }
        \header{ piece = "Menuetto II"; }
 }
index aeff5f2fd24d5e42b5da2d65385306b361fca489..7786b53df7e8402f7e28a812674a86ee941b7903 100644 (file)
@@ -7,40 +7,43 @@ Well, there are still some scripts in this "urtext".
 But merging melodic and scripts doen't work too well yet (see viola_scripts).
 %}
 
-menuetto_i_a = \notes \relative c {
-       <d2\f f a> bes'4  |
-       [bes8 a bes g] a4 |
-       <d,4 bes> g [f8 e] |
-       [f8( e )d cis b a] |
+menuetto_i_a = \type Staff \notes \relative c {
+       \type Voice=i
+       <d2\f f a> bes'4 |
+       bes8 a bes g a4 |
+       <d,4 bes> g f8 e |
+       f8( e )d cis b a |
        <d2 f a> bes'!4 |
-       [bes8 a bes g] c!4 | 
+       bes8 a bes g c!4 | 
        %7
        <a f> <d f, bes,> <e g, g,> |
        <cis2. e, a,> |
-       <a2\f e'> [d8( e16 )f] |
+       <a2\f e'> d8( e16 )f |
        \slurdotted
-       [e8( d cis )e a,()g] |
+       e8( d cis )e a,()g |
        a4 ~ d cis |
-       [g'8( f e )f d() c] |
+       g'8( f e )f d() c |
        %13
        bes2 c4 |
-       [a8 g a f] <d'4 e, bes> |
-       <c f, a,> [bes8 a g a] |
-       [f8( e )f a g bes] |
+       a8 g a f <d'4 e, bes> |
+       <c f, a,> bes8 a g a |
+       f8( e )f a g bes |
        <a2^\trill fis> bes4 |
-       [c8 bes c a] fis4^\trill |
+       c8 bes c a fis4^\trill |
        %19
 % dispute
-%      <bes,4 g' d'> <c, g' c> <[d,8 bes'(> )a] |
-       <d'4 g, bes,> <c g c,> [bes8()a] |
-       [c8( bes a )bes g()bes] |
+%      <bes,4 g' d'> <c, g' c> < d,8 bes'(> )a |
+       <d'4 g, bes,> <c g c,> bes8()a |
+       c8( bes a )bes g()bes |
        d4 ~ cis d |
-       [g,8 f g e] f4 |
-       [g,8 g'] <{e4.^\trill ~ d8 } a4.> |
+       g,8 f g e f4 |
+       g,8 g' <{e4.^\trill d8 } a4.> ~ |
        <d2. a d,> |
 }
 
-menuetto_i_b = \notes \relative c {
+menuetto_i_b = \type Staff \notes \relative c {
+       \type Voice = ii
+       \stemdown
        \slurdotted
        \skip 2.*1; |
        <e8 c> \skip 8*5; |
@@ -48,8 +51,9 @@ menuetto_i_b = \notes \relative c {
        a,8 \skip 8*5; |
        \skip 2.*1; |
        e'8 \skip 8*5; |
-       \onevoice
-       \skip 2.*3; |
+       \stemboth
+       s2.*2 |
+       s2.
        g8 \skip 8*5; |
        f2 e4
        d8 \skip 8*5; |
@@ -63,30 +67,31 @@ menuetto_i_b = \notes \relative c {
 %      g2 f4 |
        g4 \skip 4*1; f4 |
        cis8 \skip 8*3; d4 |
+       s2.*2
 }
 
 % UGH, fix this like in sarabande
 menuetto_i_a_voice_urg = \notes{
-       \skip 2.*1; \voiceone
-       \skip 2.*1; \onevoice
-       \skip 2.*1; \voiceone
-       \skip 2.*1; \onevoice
-       \skip 2.*1; \voiceone
-       \skip 2.*1; \onevoice
-       \skip 2.*3; \voiceone
-       \skip 2.*1; \voiceone
+       \type Voice = i
+       \skip 2.*1; \stemup
+       \skip 2.*1; \stemboth
+       \skip 2.*1; \stemup
+       \skip 2.*1; \stemboth
+       \skip 2.*1; \stemup
+       \skip 2.*1; \stemboth
+       \skip 2.*3; \stemup
+       \skip 2.*1; \stemup
        \skip 2.*3;
-       \skip 4*2; \onevoice
-       \skip 4*2; \voiceone
-       \skip2.*1; \voiceone
-       \skip 4*2; \onevoice
-       \skip2.*1; \voiceone
-       \skip 2.*1; \onevoice
-       \skip 2*1; \voiceone
+       \skip 4*2; \stemboth
+       \skip 4*2; \stemup
+       \skip2.*1; \stemup
+       \skip 4*2; \stemboth
+       \skip2.*1; \stemup
+       \skip 2.*1; \stemboth
+       \skip 2*1; \stemup
        \skip 4*1;
-       \skip 2.*4; \onevoice
+       \skip 2.*4; \stemboth
        \skip 2.*1;
-%      \bar "|.";
 }
 
 menuetto_i_a_voice_urg_urg = \notes<
@@ -95,9 +100,10 @@ menuetto_i_a_voice_urg_urg = \notes<
 >
 
 menuetto_i_b_voice_urg = \notes{
-       \voicetwo
+       \type Voice=ii
+       \stemdown
        % urg urg, huh?
-       \skip 2.*8; \voicetwo
+       \skip 2.*8; \stemdown
 }
 
 menuetto_i_b_voice_urg_urg = \notes<
@@ -110,42 +116,43 @@ menuetto_i = \type Staff \notes<
        { \$menuetto_i_b_voice_urg_urg }
 >
 
-menuetto_ii = \notes \relative c {
+menuetto_ii = \type Staff\notes \relative c {
+       \type Voice=i
        \slurdotted
-       fis4^\trill [d8( e fis )g] |
+       fis4^\trill d8( e fis )g |
        a4 fis, a' |
-       [g,8()b] e4 g |
+       g,8()b e4 g |
        \slurnormal
-       [d8( cis )b cis a g] |
+       d8( cis )b cis a g |
        % ugh, forcing knee
        % Lily's not yet smart enough to decide for herself.
-       \stemup [fis \stemboth d''( cis b a )g] |
-       [b( a g fis e )d] |
+       \stemup fis \stemboth d''( cis b a )g |
+       b( a g fis e )d |
        %7
-       [cis d] g4 [fis8( g16 )a] |
+       cis d g4 fis8( g16 )a |
        <\stemdown a,2. \stemup e'> |
        \stemboth
-       cis4^\prall [e8( d cis )b] |
+       cis4^\prall e8( d cis )b |
        cis4 g, cis' |
-       [fis,8()a] d4 fis |
-       [b,8()a g()fis \slurdotted g()b] |
+       fis,8()a d4 fis |
+       b,8()a g()fis \slurdotted g()b |
        \slurnormal
        %13
-       [e, d'( cis )b cis()ais] |
-       % check slur! [d, b' a! g fis )e] |
-       [d,( b' a! g fis )e] |
-       [g( fis e d cis )d] |
-       [b( cis d e fis )g] |
-       [a( g fis g a )b] |
+       e, d'( cis )b cis()ais |
+       % check slur! d, b' a! g fis )e |
+       d,( b' a! g fis )e |
+       g( fis e d cis )d |
+       b( cis d e fis )g |
+       a( g fis g a )b |
        c4 dis,, c'' |
        %19
-       [b8()a c( b a )g] |
-       [fis() g a()fis g()e] |
+       b8()a c( b a )g |
+       fis() g a()fis g()e |
        \slurdotted
-       cis4^\trill [a8( b cis )d] |
+       cis4^\trill a8( b cis )d |
        \slurnormal
-       [e( fis g )b] a4 |
-       [g8()fis e()d e()cis] |
+       e( fis g )b a4 |
+       g8()fis e()d e()cis |
        d2.
 }
 
index c00d23402e749026916649ee66b405b016f29d9d..36bd3e082c385af262f63b625619d6d58a96624c 100644 (file)
@@ -25,19 +25,21 @@ menuetto_i_viola_global = \notes{
        \time 3/4;
        \key f;
        \clef alto;
-       \skip 2.*8;
-       \bar ":|:";
-       \clef violin;
-       \skip 2.*1;
-       \slurdotted
-       \skip 2.*3;
-       \clef alto;
-       \skip 2.*11;
-       s2._"Fine"
-       \bar ":|";
+       \repeat 2 {
+               \skip 2.*8;
+               \clef violin;
+               \skip 2.*1;
+       } \repeat 2 {
+               \slurdotted
+               \skip 2.*3;
+               \clef alto;
+               \skip 2.*11;
+               s2._"Fine"
+       }
 }
 
 menuetto_i_viola_scripts = \notes{
+       \type Voice=i
        s2.
        s8^"~"^1_2_4 s8*5
        s2.*5
@@ -60,7 +62,17 @@ menuetto_i_viola_staff = \type Staff <
 
 \score{
        \$menuetto_i_viola_staff
-       \include "scs-paper.ly";
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 110; }
        \header{ piece = "Menuetto I"; }
 }
@@ -69,13 +81,14 @@ menuetto_ii_viola_global = \notes{
        \time 3/4;
        \key D;
        \clef alto;
-       \skip 2.*8;
-       \bar ":|:";
-       \skip 2.*1;
-       \slurdotted
-       \skip 2.*14;
-       s2._"Menuetto I da Capo"
-       \bar ":|";
+       \repeat 2 {
+               \skip 2.*8;
+       } \repeat 2 {
+               \skip 2.*1;
+               \slurdotted
+               \skip 2.*14;
+               s2._"Menuetto I da Capo"
+       }
 }
 
 menuetto_ii_viola_staff = \type Staff <
@@ -86,7 +99,17 @@ menuetto_ii_viola_staff = \type Staff <
 
 \score{
        \$menuetto_ii_viola_staff
-       \include "scs-paper.ly";
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "3/4";
+               }
+       }
        \midi{ \tempo 4 = 130; }
        \header{ piece = "Menuetto II"; }
 }
index 6a8765eb4a0becd4c641de5fe2ec5b20be36e01b..11eea31cc56ca1769488ba35738a6e86daffecef 100644 (file)
@@ -38,7 +38,10 @@ prelude_cello_staff = \type Staff <
 
 \score{
        \$prelude_cello_staff
-       \include "scs-paper.ly";
+       \paper{
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
+       }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Pr\\'elude"; }        
 }
index 005f22f01d6dc21990f1e5ba02cd7bbe56dec45e..36cd78f85952cdac8dedc19c9df5219c3bc9749c 100644 (file)
@@ -7,9 +7,8 @@ Well, there are still some scripts in this "urtext".
 But merging melodic and scripts doen't work too well yet see viola_scripts .
 %}
 
-% urg, Thread is gone, try Voice
-% prelude_notes = \type Thread = prelude \notes \relative c {
-prelude_notes = \type Voice = prelude \notes \relative c {
+prelude_notes = \notes \relative c {
+       \type Voice=i
        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 |
@@ -72,7 +71,7 @@ prelude_notes = \type Voice = prelude \notes \relative c {
        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 |
+       \stemup <cis4^\fermata e,> \stemboth 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
@@ -80,17 +79,18 @@ prelude_notes = \type Voice = prelude \notes \relative c {
        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 |
+       \stemup g'8. f16 
+       e!16 d cis b a g f e \stemboth |
        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,>
+       \stemup <cis2. g> | <d f,> | <d e,> | <cis e,> | <d f,>
 }
 
 prelude_b = \notes \relative c {
-       \voicetwo 
+       \type Voice=ii
+       \stemdown
        s2.*47
        %48
        g4 s2 |
@@ -101,86 +101,6 @@ prelude_b = \notes \relative c {
        a'2. a a a <a d,>
 }
 
-% pat1 = \notes { [s8 s]s4[s16 s s s] }
-pat1 = \notes { [s16 s s s]s4[s16 s s s] }
-pat2 = \notes { [s16 s s s][s8.s16][s s s s] }
-pat3 = \notes { [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 \notes{
-prelude_beams = \type Voice = prelude \notes{
-       \$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 = \notes{ s16( s s )s }
@@ -197,9 +117,8 @@ fig4 = \notes{ \slurnormal s16( s s s s s s )s }
 fig5 = \notes{ \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 \notes{
-prelude_slurs = \type Voice = prelude \notes{
+prelude_slurs = \notes{
+       \type Voice=i
        s4 s4 \$fig3 |
        \$fig1 s4 \$fig3 |
        \$fig1 s4 \$fig3 |
@@ -280,9 +199,8 @@ fig4 = \notes{ \slurdotted s16( s s s s s s )s }
 fig5 = \notes{ \slurdotted s8.()s16 }
 fig6 = \notes{ \slurdotted s16()s \slurdotted s()s }
 
-% urg, Thread is gone, try Voice
-% prelude_suggested_slurs = \type Thread = prelude \notes{
-prelude_suggested_slurs = \type Voice = prelude \notes{
+prelude_suggested_slurs = \notes{
+       \type Voice=i
        \slurdotted
        s2. |
        s2. |
@@ -351,14 +269,13 @@ prelude_suggested_slurs = \type Voice = prelude \notes{
        \$fig3 s2 |
 }
 
-prelude_a = \type Voice \notes<
+prelude_a = \notes<
        \$prelude_notes
-       \$prelude_beams
        \$prelude_slurs
        \$prelude_suggested_slurs
 >
 
-prelude = \notes<
+prelude = \type Staff \notes<
        \$prelude_a
        \$prelude_b
 >
index f2f4e72d43c7be3bd128b3be0bc6c049a8b8a19f..542888a99bd89a8d591f6a4a61f6fc969403b287 100644 (file)
@@ -38,7 +38,10 @@ prelude_viola_staff = \type Staff <
 
 \score{
        \$prelude_viola_staff
-       \include "scs-paper.ly";
+       \paper{
+               \include "scs-paper.ly";
+               gourlay_maxmeasures = 7.0;
+       }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Pr\\'elude"; }
 }
index 9214126eb7fea31560c2f6c963fe67aff7e3a88c..226be714c7dd7ed056ca2bccc5ffec6eaae2b468 100644 (file)
@@ -23,10 +23,11 @@ sarabande_cello_global = \notes{
        \time 3/4;
        \key f;
        \clef bass;
-       \skip 2.*12;
-       \bar ":|:";
-       \skip 2.*16;
-       \bar ":|";
+       \repeat 2 {
+               s2.*12
+       } \repeat 2 {
+               s2.*16
+       }
 }
 
 sarabande_cello_scripts = \notes{
@@ -40,7 +41,20 @@ sarabande_cello_staff = \type Staff <
 
 \score{
        \$sarabande_cello_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Sarabande"; }
 }
index 9ea3ccc38f30f481d4c4e87f5673b12b2042fc48..0ff1a86066073a253c7984ea22f31e62736f7f2b 100644 (file)
@@ -10,49 +10,48 @@ But merging melodic and scripts doen't work too well yet (see viola_scripts).
 n = { \slurnormal }
 d = { \slurdotted }
 
-%
-% ugh, the non-shortened beamstems of voice in forced direction
-% look ugly here!
-sarabande_a = \notes \relative c {
-       \voiceone \d[d8.()e16] e4.-\trill([d16 )e] |
-       f4. \onevoice [e8(d)c] |
-       [bes g']\n[f e16(f][g a bes)d,] |
-       cis4.-\trill\d[b8(a)g] |
+sarabande_a = \type Staff \notes \relative c {
+       \type Voice=i
+       \stemup \d d8.()e16 e4.-\trill( d16 )e |
+       f4. \stemboth e8(d)c |
+       bes g' \n f e16(f g a bes)d, |
+       cis4.-\trill\d b8(a)g |
        % copy bar 1, half bar 2
-       \voiceone \d[d'8.()e16] f4.-\trill([d16 )e] |
+       \stemup \d d'8.()e16 f4.-\trill( d16 )e |
        %5
-       f4. \onevoice [d8(e)f] |
-       \n[g bes16()a][c()bes a()g][d'8 f,] |
-       \voiceone e4.-\trill \onevoice \d[d8(c)bes] |
+       f4. \stemboth d8(e)f |
+       \n g bes16()a c()bes a()g d'8 f, |
+       \stemup e4.-\trill \stemboth \d d8(c)bes |
        %8
-       \voiceone \n[f' g16()a] a4. [g16()f] |
-       [g8 a16()bes]bes4. [c16()d]|
+       \stemup \n f' g16()a a4. g16()f |
+       g8 a16()bes bes4. c16()d |
        % 11
-       \onevoice \d [e,8()f][c, g'][f'()e] |
+       \stemboth \d e,8()f c, g' f'()e |
        f4 f,2 |
-       \voiceone a'4 \d a4.-\trill()bes8 |
-       [c bes16()a] \onevoice [fis8.-\trill()es16][d8()c] |
-       [bes g'][a, fis'][es'()d] |
+       \stemup a'4 \d a4.-\trill()bes8 |
+       c bes16()a \stemboth fis8.-\trill()es16 d8()c |
+       bes g' a, fis' es'()d |
        %16
-       \voiceone bes4.-\trill \onevoice [a8(g)f!] |
-       [e bes()a f'(g)a] |
-       [d, as()g es'(f)g]|
-       [cis, bes'][a g16()f][e!8 f16()d] |
-       [cis8 e16()a][a,8. g'16]\n[f8()e] |
+       \stemup bes4.-\trill \stemboth a8(g)f! |
+       e bes()a f'(g)a |
+       d, as()g es'(f)g |
+       cis, bes' a g16()f e!8 f16()d |
+       cis8 e16()a a,8. g'16 \n f8()e |
        %21
-       \voiceone [d e16()f]f4. [e16()d] |
-       [e8 f16()g]g4. [a16()bes] |
-       \d[a8 cis16()d][d,8 e16(f32)g][f8-\trill \n e16()d] |
-       d4 [d,16 a'( b cis][d e f )g] |
+       \stemup d e16()f f4. e16()d |
+       e8 f16()g g4. a16()bes |
+       \d a8 cis16()d d,8 e16(f32)g f8-\trill \n e16()d |
+       d4 d,16 a'( b cis d e f )g |
        %25
-       [a(b c)b] c4. [b16()a] |
-       \d[b(cis d )cis] d4. \n[e16()f] |
-       \onevoice [d(cis)d f,] [a,8 e']\d[d'()cis] |
+       a(b c)b c4. b16()a |
+       \d b(cis d )cis d4. \n e16()f |
+       \stemboth d(cis)d f,  a,8 e' \d d'()cis |
        d4 d,,2 |
 }
 
-sarabande_b = \notes \relative c {
-       \voicetwo
+sarabande_b = \type Staff \notes \relative c {
+       \type Voice=ii
+       \stemdown
 % dispute
 %      d4 a2 |
 %      this avoids the clash bug
@@ -66,24 +65,25 @@ sarabande_b = \notes \relative c {
        <a4. d,> s8*3 |
        s2. |
        % 8
-       <g4. c,> s8*3  |
+       <g4. c,> s8*3 |
        a4 <bes4. d> r8 |
        %10
        bes4 <g2 f'> |
        s2.*2 |
-       \d[f'8()es] es4. r8 |
+       \d f'8()es es4. r8 |
        d4 s2 |
        %15
        s2. |
-       <d4. g,> s8*3  |
+       <d4. g,> s8*3 |
        s2.*4 |
        %21
-       bes4 g2  |
+       bes4 g2 |
        g4 <bes4. cis,> s8 |
        <d8 a f> r r g, a4 |
        s2. |
        f'4 fis4. s8 |
        <d4 g,> gis4. s8 |
+       s2.*2
 }
 
 
index 44d5eff18e24e4da376cb4cc85e8c6caf1fd94cd..7d2004711aa85f97938ccccf101240b491e4f2f1 100644 (file)
@@ -23,10 +23,11 @@ sarabande_viola_global = \notes{
        \time 3/4;
        \key f;
        \clef alto;
-       \skip 2.*12;
-       \bar ":|:";
-       \skip 2.*16;
-       \bar ":|";
+       \repeat 2 {
+               s2.*12
+       } \repeat 2 {
+               s2.*16
+       }
 }
 
 sarabande_viola_scripts = \notes{
@@ -40,7 +41,20 @@ sarabande_viola_staff = \type Staff <
 
 \score{
        \$sarabande_viola_staff
-       \include "scs-paper.ly";
+       % \paper { \include "scs-paper.ly"; }
+       \paper{
+               linewidth = 180.\mm;
+               \translator { \BarNumberingStaffContext }
+               \translator{
+                       \VoiceContext
+                       % add experimental auto-beaming
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd8 = "1/4";
+                       beamAutoEnd16 = "1/4";
+                       beamAutoEnd32 = "1/4";
+               }
+       }
        \midi{ \tempo 4 = 40; }
        \header{ piece = "Sarabande"; }
 }
index baa5c359e0e4ae24a40437eae78d723cfc2f1150..926571ac475c89eaae201d8494bda2dc1f5f136a 100644 (file)
@@ -1,10 +1,11 @@
-\paper{
-       linewidth= 180.\mm;
-       gourlay_maxmeasures = 10.0;
-       % for simple testing only!
-
-
-       \translator {
-               \BarNumberingStaffContext
-       }
+linewidth = 180.\mm;
+gourlay_maxmeasures = 10.0;
+\translator { \BarNumberingStaffContext }
+\translator {
+       \StaffContext
+       \consists Auto_beam_engraver;
+       beamAuto = 1.0;
+       beamAutoEnd8 = "1/4";
+       beamAutoEnd16 = "1/4";
+       beamAutoEnd32 = "1/4";
 }
index 3ad507b208084f3146143e20f93181a1897cff9e..c180b38ef48a5bdf8c0f322474b6201d847e497d 100644 (file)
 }
 
 %{
- Tested Features: stem direction, multivoice, forced accidentals.
+ Tested Features: 
+   * stem direction 
+   * multivoice, 
+   * forced accidentals
+   * cross-staff beaming
+   * auto beaming
 %}
 
 \version "1.0.14";
@@ -31,91 +36,91 @@ dux = \type Voice=two \notes \relative c''{
 
   \property Voice.ydirection = "-1"
   
-  r8 [c16 b] [c8 g] [as c16 b] [c8 d ] |
-  [g, c16 b] [c8 d ] [f,16 g] as4 [g16 f] |
-  [es c'  b a] [g f! es d] [c8 es'  d  c ] |
-  [bes a bes c ] [fis, g a fis] |
+  r8 c16 b c8 g as c16 b c8 d |
+  g, c16 b c8 d f,16 g as4 g16 f |
+  es c' b a g f! es d c8 es' d c |
+  bes a bes c fis, g a fis |
 %%5
-  g4 r16 [c, d es] [f g as8~] [as16 d, es f] |
-  [g a bes8] ~ [bes16 es, f g] [as g f es] [d8 c'16 b!] |
-                                                    % forced accident!
-  c4 r4 r8 [f  es  d ] |
-  r8 [as g f] [g f16 es] [f8 d] | 
-  g4 r8 b [c  c16 b] [c8 g] |
-%%10   
-  as4 r8 a [bes bes16 a] [bes8 f] |
-  g4 r8 g [as as g f] |
+  g4 r16 c, d es f g as8~ as16 d, es f |
+  g a bes8 ~ bes16 es, f g as g f es d8 c'16 b! |
+          % forced accident!
+  c4 r4 r8 f es d |
+  r8 as g f g f16 es f8 d | 
+  g4 r8 b c c16 b c8 g |
+%%10 
+  as4 r8 a bes bes16 a bes8 f |
+  g4 r8 g as as g f |
   r8 
   \translator Staff = bass \stemup 
-  [as, bes c ] r8 [as16 g] [as8 f8] |
-  [bes8 c  bes as] [bes g f es] |
-  [f des'  c  bes] [c  as g f] |
+  as, bes c r8 as16 g as8 f8 |
+  bes8 c bes as bes g f es |
+  f des' c bes c as g f |
 %%15
   g8
-  [g'16 fis] [g8 c,] 
-  [es \translator Staff = treble \stemdown g16 fis!] [g8 a] |
-  [d, g16 fis] [g8 a!] [c,16 d] es4 [d16 c] |         % forced accident!
-  bes8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e, f g] |
-  [a bes c8] ~ [c16 fis,16 g a] [bes8 es,!16 d] [es8 g, ] |
-  [as  f'16 es] [f8 a,8] [bes  g'16 f] [g8 b, ] |
+  g'16 fis g8 c, 
+  es \translator Staff = treble \stemdown g16 fis! g8 a |
+  d, g16 fis g8 a! c,16 d es4 d16 c |  % forced accident!
+  bes8 r8 r16 d e fis g a bes8 ~ bes16 e, f g |
+  a bes c8 ~ c16 fis,16 g a bes8 es,!16 d es8 g, |
+  as f'16 es f8 a,8 bes g'16 f g8 b, |
 %%20
-  [c16 f \translator Staff = bass \stemup es d] [c bes! as g] 
-  [f8 \translator Staff = treble \stemdown as' g f] |
-  [es d es f] [b, c d b] |
-  c4 r8 e8 [f f16 e] [f8 c] |
-  d4 r8 d8 [es8 es16 d] [es8 bes] |
-  c2 ~ [c8 d16 es] [f es f d] |
+  c16 f \translator Staff = bass \stemup es d c bes! as g 
+  f8 \translator Staff = treble \stemdown as' g f |
+  es d es f b, c d b |
+  c4 r8 e8 f f16 e f8 c |
+  d4 r8 d8 es8 es16 d es8 bes |
+  c2 ~ c8 d16 es f es f d |
 %%25
   b8 r8 r b c r r es |
   d r r f ~ f r r f |
-  [es as g f] [es d es f] |
-  [b, c d b] [b c] r c |
-  [f16 d es c] ~ [c8 b] c4 r8 e |
+  es as g f es d es f |
+  b, c d b b c r c |
+  f16 d es c ~ c8 b c4 r8 e |
 %%30
-  f4 r8 f [f es16 d] [es8 <f as>] |
+  f4 r8 f f es16 d es8 <f as> |
   <b, d> r <b d> r <g2 c> |
 }
 
 
-comes = \type Voice=one \notes \relative c''  {
+comes = \type Voice=one \notes \relative c'' {
   \voiceone
   R1 |
   R1 |
-  r8 [g'16 fis] [g8 c,] [es g16 fis] [g8 a] |
-  [d,8 g16 fis] [g8 a] [c,16 d] es4 [d16 c] |
+  r8 g'16 fis g8 c, es g16 fis g8 a |
+  d,8 g16 fis g8 a c,16 d es4 d16 c |
 %%5
-  [bes8 es16 d] [es8 g,8] [as  f'16 es] [f8 a, ] 
-  [bes8 g'16 f] [g8 b, ] [c8 d16 es] f4 ~ |
-  [f8 es16 d] [c16 bes ! as  g ] [f8 as' g f] 
-  [es d es f] [b,  c d b ] |
-  [c g'16 fis] [g8 d] es4 r8 e8 |
+  bes8 es16 d es8 g,8 as f'16 es f8 a, 
+  bes8 g'16 f g8 b, c8 d16 es f4 ~ |
+  f8 es16 d c16 bes ! as g f8 as' g f 
+  es d es f b, c d b |
+  c g'16 fis g8 d es4 r8 e8 |
 %%10 
-  [f f16 e] [f8 c8] d4 r8 d |
-  [es8 es16 d] [es8 bes ] [c es16 d] [es8 f] |
-  [bes,  es16 d] [es8 f] [as,16 bes ] c4 [bes16 as ] |
-  \stemboth [g16 es f g] [as bes c d] [es d c d] [es f g a] |
-  [bes f, g as] [bes c d e] [f es d es] [ f g a b] |
+  f f16 e f8 c8 d4 r8 d |
+  es8 es16 d es8 bes c es16 d es8 f |
+  bes, es16 d es8 f as,16 bes c4 bes16 as |
+  \stemboth g16 es f g as bes c d es d c d es f g a |
+  bes f, g as bes c d e f es d es f g a b |
 %%15
-  \stemup [c8 b16 a] [g f! es d] [c8 es d c] |
-  [bes a bes c] [fis,! g a fis] |                    % forced accident
-  [g8 d'16 c] d8 r8 r8 [e16 d] e8 r8 |
-  r [fis16 e] fis8 r r [g,16 f] g8 r8 |
-  r8 [a16 g] a8 r r [b16 a] b8 r |
+  \stemup c8 b16 a g f! es d c8 es d c |
+  bes a bes c fis,! g a fis |    % forced accident
+  g8 d'16 c d8 r8 r8 e16 d e8 r8 |
+  r fis16 e fis8 r r g,16 f g8 r8 |
+  r8 a16 g a8 r r b16 a b8 r |
 %%20
-  r8 [c16 b ] [c8 g ] [as c16 b ] [c8 d] |
-  [g, c16 b] [c8 d] [f,16 g] as4 [g16 f] |
-  [es8 c'16 b] [c8 g] as4 r8 a |
-  [bes8 bes16 a] [bes8 f8] g4 r8 g ~ |
-  [g as16 bes] [c b c as] f2 ~ |
+  r8 c16 b c8 g as c16 b c8 d |
+  g, c16 b c8 d f,16 g as4 g16 f |
+  es8 c'16 b c8 g as4 r8 a |
+  bes8 bes16 a bes8 f8 g4 r8 g ~ |
+  g as16 bes c b c as f2 ~ |
 %%25
-  [f8 d'16 c] [d8 f,] [es es'16 d] [es8 g,] |
-  [f f'16 es] [f8 as,] [g16 f' es d] [c b a g] |
-  [c8 f es d] r [as g f] |
-  [g f16 es] [f8 d] [as' g] r a |
-  [b c] [f,16 es d c] c8 [c'16 b] [c8 g] |
+  f8 d'16 c d8 f, es es'16 d es8 g, |
+  f f'16 es f8 as, g16 f' es d c b a g |
+  c8 f es d r as g f |
+  g f16 es f8 d as' g r a |
+  b c f,16 es d c c8 c'16 b c8 g |
 %%30
-  [as c16 b] [c8 <d b ! as !>] [g,8 c16 b] [c8 d] |
-  [f,16 g] as4 [g16 f] e2 |
+  as c16 b c8 <d b ! as !> g,8 c16 b c8 d |
+  f,16 g as4 g16 f e2 |
 }
 
 
@@ -128,80 +133,81 @@ bassdux = \type Voice=three \notes \relative c' {
 %%5
   R |
   R1 |
-  r8 [c16 b] [c8 g] [as c16 b] [c8 d] |
-  [g, c16 b] [c8 d] [f,16 g] as4 [g16 f] | 
[es c'  b a] [g f es d] [c d es d] [c bes! as! g] |
-                                                    % -> \classic_accidentals
+  r8 c16 b c8 g as c16 b c8 d |
+  g, c16 b c8 d f,16 g as4 g16 f | 
 es c' b a g f es d c d es d c bes! as! g |
+          % -> \classic_accidentals
 %%10
-  [f bes' as g] [f es d c] [bes c d c] [bes as g f] |
-  [es as' g f] [es des c bes] [as8 c'  bes as] |
-  [g8 f g as] [d, es f d] |
-  [es as g f] [g es d c] |
-  [d bes' as g] [as f es d!] |
+  f bes' as g f es d c bes c d c bes as g f |
+  es as' g f es des c bes as8 c' bes as |
+  g8 f g as d, es f d |
+  es as g f g es d c |
+  d bes' as g as f es d! |
 %%15
-  es8 r8 r4 r8 [c bes a] |
-  r [es' d c] [d c16 bes] [c8 d] |
-  [g,8 bes'16 a] [bes8 d,] [es c'16 bes] [c8 e,] |
-  [f d'16 c ] [d8 fis,] g4 r16 [g, a b] |
-  [c16 d es8~] [es16 a, bes c] [d es f8~] [f16 b,  c d] |
-%%20    
-%   es8 r r e [f f, es! d] |                           % -> \classic_accidentals
-  es8 r r e \stemdown [f f, es! d] \stemboth |
-  r [as' g f] [g f16 es] [f8 g] |
-  [c16 d  es d] [c bes as g] [f bes' as g] [f es d c] |
-  [bes c d c] [bes as g f] [es as' g f] [es d c bes] |
-  [as bes c bes] [as g f es] [d g' f es] [d c b a] |
+  es8 r8 r4 r8 c bes a |
+  r es' d c d c16 bes c8 d |
+  g,8 bes'16 a bes8 d, es c'16 bes c8 e, |
+  f d'16 c d8 fis, g4 r16 g, a b |
+  c16 d es8~ es16 a, bes c d es f8~ f16 b, c d |
+%%20 
+% es8 r r e f f, es! d |     % -> \classic_accidentals
+  es8 r r e \stemdown f f, es! d \stemboth |
+  r as' g f g f16 es f8 g |
+  c16 d es d c bes as g f bes' as g f es d c |
+  bes c d c bes as g f es as' g f es d c bes |
+  as bes c bes as g f es d g' f es d c b a |
 %%25
-  g4 r4 r16 [g a b] [c d es f] |
-  [g f as g] [f es d c] [b8 c16 b] [c8 g] |
-  [as c16 b] [c8 d] [g, c16 b] [c8 d] |
-  [f,16 g] as4 [g16 f] es4 r8 es' |
-  [d c g' g,]
+  g4 r4 r16 g a b c d es f |
+  g f as g f es d c b8 c16 b c8 g |
+  as c16 b c8 d g, c16 b c8 d |
+  f,16 g as4 g16 f es4 r8 es' |
+  d c g' g, 
 %%30
   \type Staff=bass <
-    {\voicethree c2 ~ | c1 ~ | c1 }
-    {\voicefour c,2 ~ | c1 ~ | c1 }
+  {\voicethree c2 ~ | c1 ~ | c1 }
+  {\voicefour c,2 ~ | c1 ~ | c1 }
   >
 }
 
-        
 \score {
  
     \type GrandStaff < 
-      \type Staff = treble < 
-        \global 
-        \dux
-        \comes 
-      >
-      \type Staff = bass <
-        \global
-        \bassdux
-      >
+       \type Staff = treble < 
+           \global 
+           \dux
+           \comes 
+         >
+       \type Staff = bass <
+           \global
+           \bassdux
+       >
     >
 
-  \paper {
-    gourlay_maxmeasures = 4.;
-    indent = 8.\mm;
-    textheight = 295.\mm;
+    \paper {
+       gourlay_maxmeasures = 4.;
+       indent = 8.\mm;
+       textheight = 295.\mm;
 
-    %hmm
-%    \translator { \BarNumberingScoreContext }
-%    \translator { \BarNumberingStaffContext }
-%  \translator{ \OrchestralScoreContext }
-    \translator{ \OrchestralScoreContext }
-    \translator{ 
-      \GrandStaffContext
-      minVerticalAlign = 3.0*\staffheight;
-      maxVerticalAlign = 3.0*\staffheight;
+       \translator{ \OrchestralScoreContext }
+       \translator{ 
+           \GrandStaffContext
+           minVerticalAlign = 3.0*\staffheight;
+           maxVerticalAlign = 3.0*\staffheight;
+       }
+       \translator {
+           \VoiceContext
+           \consists Auto_beam_engraver;
+           beamAuto = 1.;
+           % eights end at 1/2, 16 at 1/4
+           beamAutoEnd = "1/2";
+       }
+    }
+    \header{
+       opus = "BWV 847";
     }
-  }
-  \header{
-         opus = "BWV 847";
-  }
 
-  \midi {
-    \tempo 4 =84;
-  }
+    \midi {
+       \tempo 4 =84;
+    }
 }
 
-% EOF
index f7d2ed958985e9ec16c184a30f2f8577188a8be2..17bc4457e06831cf252ce978701d7e4ab33cb3b1 100644 (file)
@@ -1,3 +1,31 @@
+       %{
+Dit is de fout:
+
+GNU LilyPond 1.1.19.
+Parsing...[/home/lily/usr/share/lilypond/ly/init.ly[/home/lily/usr/share/lilypond/ly/declarations.ly[/home/lily/usr/share/lilypond/ly/dynamic.ly][/home/lily/usr/share/lilypond/ly/nederlands.ly][/home/lily/usr/share/lilypond/ly/chord-modifiers.ly][/home/lily/usr/share/lilypond/ly/script.ly][/home/lily/usr/share/lilypond/ly/paper20.ly[/home/lily/usr/share/lilypond/ly/table20.ly][/home/lily/usr/share/lilypond/ly/table13.ly][/home/lily/usr/share/lilypond/ly/table16.ly][/home/lily/usr/share/lilypond/ly/params.ly[/home/lily/usr/share/lilypond/ly/a4.ly][/home/lily/usr/share/lilypond/ly/paper.ly][/home/lily/usr/share/lilypond/ly/engraver.ly]]][/home/lily/usr/share/lilypond/ly/midi.ly[/home/lily/usr/share/lilypond/ly/performer.ly]][/home/lily/usr/share/lilypond/ly/property.ly][/home/lily/usr/share/lilypond/scm/lily.scm]][Sinfonia.ly]]
+Interpreting music...[8][16][24][32][40]
+Sinfonia.ly:239:24: warning: barcheck failed by: 1/4:
+       \times 2/3 {[e g fis] |
+                                [e fis g]} | fis4 r |
+
+Sinfonia.ly:87:34: warning: barcheck failed by: 1/4:
+       \times 2/3 {[g'8 b a] [g fis e] |
+                                          [a d, cis] [d cis d] |
+
+Sinfonia.ly:240:25: warning: barcheck failed by: 1/4:
+       \times 2/3 {[e8 g fis] |
+                                 [e fis g]} | fis4 r |
+
+Sinfonia.ly:88:21: warning: barcheck failed by: 1/4:
+       [g, b a] [g fis e] |
+                             [a d, cis] [d cis d]} |
+[48][56][64][72][80][88][96][104][112][120][123]
+time: 24.16 seconds
+Preprocessing elements... lilypond: score-element.cc:134: class
+Paper_def * Score_element::paper() const: Assertion `pscore_l_' failed.
+
+%}
+
 \header{
 filename="Sinfonia.ly";
 title="Sinfonia";
@@ -6,7 +34,6 @@ composer="Leopold Mozart";
 arranger="(1719-1787)";
 copyright="public domain";
 enteredby="Maarten Storm";
-
 }
 
 
@@ -32,11 +59,11 @@ global = \notes{
        s2*5 \break
         s2*5 \break
         s2*5 \break
+       s2*5 \break
         s2*5 \break
         s2*5 \break
        s2*4 \break
        s2*5 \bar ":|";
-
 %fine
 }
 
@@ -47,27 +74,17 @@ tempi = \notes{
 }
 
 dynamics = \notes{
-       \type Voice=i
-       s16\f s8. s4 | s2*17
-       s8\p s4. | s8\f s4. | s2*4
-       s8\p s4. | s8\f s4. | s2*29
-       s8\p s4. | s2 |
-       s8\f s4. | s2 | s8\p s4. | s2 | s8\f s4. | s2*47
-       s16 s16\p s4. | s2 |
-       s16 s16\f s4. |
-       s16 s16\p s4. |
-       s16 s16\f s4. | 
+%      \type Voice=i
 }
 
 
 violinoi = \notes \relative c'{
        \type Voice=i
        \clef "violin";
-       \stemup
-       [<g8 d' b' g'> g'' g g] \stemboth | [g16 a b a] [g a b a] |
-       \stemup [<g,,8 d' b' g'> g'' g g] \stemboth | [g16 a b a] [g a b a] |
+       [<g8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+       [<g,,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
 %5     
-       \stemup [<g,,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
+       [<g,,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
 %11    
@@ -75,82 +92,69 @@ violinoi = \notes \relative c'{
        [a b c d] [e c b a] | [b c d c] [d b a g] |
 %15    
        [fis g a g] [fis e d c] | [b a g8] r4 |
-       \stemup [<g8 d' b' g'> g'' g g] \stemboth | 
-       \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
-       \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} |  
+       [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+       [g'8\p d c] [b a g] |  
 %20    
-       \times 2/3 {[f' d c]} \times 2/3 {[b a g]} | 
-       \stemup [<c,8 e c' e> e' e e] | <c,2 e c' e> |
-        [<a8 e' cis' a'> a'' a a] \stemboth |
-       \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | 
-       \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} |
+       [f'\f d c] [b a g]} | 
+       [<c,8 e c' e> e' e e] | <c,2 e c' e> |
+        [<a8 e' cis' a'> a'' a a] |
+       \times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] |
 %26    
-       \times 2/3 {[g' e d] [cis b a]} | 
-       \stemup [<d,8 a' fis'> fis' fis fis] \stemboth|
-       <d,2 a' fis'> | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} |
-       \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} | 
-       \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} |
+       [g'\f e d] [cis b a]} | [<d,8 a' fis'> fis' fis fis] |
+       <d,2 a' fis'> | \times 2/3 {[b'8 c d] [e fis g] |
+       [g fis g] [b, a g] | [a b cis] [d e fis] |
 %32
-       \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} | 
-       \times 2/3 {[g a b]} \times 2/3 {[cis d e]} |
-       \times 2/3 {[e d e]} \times 2/3 {[g, fis e]} |
+       [fis e fis] [a, g fis] | [g a b] [cis d e] |
+       [e d e] [g, fis e]}
 %35
        [fis16 d e d] [e d e d] | [g d e d] [e d e d] |
        [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
        [cis' a b a] [b a b a] | [d a b a] [b a b a] |
        [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
 %43
-       \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} | 
-       \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
-       \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} | 
-       \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
+       \times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] |
+       [g, b a] [g fis e] | [a d, cis] [d cis d]} |
 %47 
        [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
 %50
        a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 gis,16 a4 |
        r8 [fis g! a] | d,2 
-       [d'8 e f a,] | [gis a] r4 | 
-       \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
+       [d'8\p e f a,] | [gis a] r4 | 
+       \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
 %60
-       [c'8 d e g,?] | [fis g] r4 |
-       \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 |
+       [c'8\p d e g,?] | [fis g] r4 |
+       \times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 |
 %64 : reprise
-       \stemup [<g,8 d' b' g'> g'' g g] | \stemdown [g16 a b a] [g a b a] |
-        \stemup [<g,,8 d' b' g'> g'' g g] | \stemdown [g16 a b a] [g a b a] |
-        \stemup [<g,,8 d' b' g'> g'' g g] | \stemboth [g16 d c b] [a g fis g] |
+       [<g,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+        [<g,,8 d' b' g'> g'' g g] | [g16 a b a] [g a b a] |
+        [<g,,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
 %70        
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
         [fis g a g] [fis e d c] | [b a g8] r4 |
-        \stemup [<g8 d' b' g'> g'' g g] \stemboth | 
-       \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
-       \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 |
+        [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+       [f\f d c] [b a g]} | [e' c] r4 |
 %78    
-       \stemup [<a8 e' cis' a'> a'' a a] \stemboth |
-        \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | 
-        \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 |    
-       \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} | 
-       \times 2/3 {[c b c]} \times 2/3 {[e, d c]} |
-       \times 2/3 {[d e fis]} \times 2/3 {[g a b]} | 
-       \times 2/3 {[b a b]} \times 2/3 {[d, c b]} | 
-       \times 2/3 {[c d e]} \times 2/3 {[fis g a]} |
-       \times 2/3 {[a g a]} \times 2/3 {[c, b a]} |
+       [<a8 e' cis' a'> a'' a a] |
+        \times 2/3 {[a8 e d] [cis b a] | 
+        [g e d] [cis b a]} | [fis' d] r4 |     
+       \times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] |
+       [d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] |
+       [a g a] [c, b a]} |
 %88
        [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
        [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
        [a' d, e d] [e d e d] | [b' d, e d] [e d e d] | 
 %96
-       \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} | 
-       \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} | 
-       \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth | 
-       \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
+       \times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] | 
+       [d c' c] [c b a] | [d g, fis] [g fis g]} |
 %100
        [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
-       [b16 b a g] a4^\trill | g g' | 
+       [b16 b a g] a4 | g g' | 
 %106
        r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 | 
        [fis16 g a g] [fis e d c] | [b g' g g] g4:16 | 
-       [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill |
-       [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4 
+       [fis16 g a g] [fis e d c] | [b g' g, a] a4 |
+       [b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4 
 %fine  
 
 }
@@ -158,10 +162,10 @@ violinoi = \notes \relative c'{
 violinoii = \notes \relative c'{
        \type Voice=i
        \clef "violin";
-       \stemup [<g8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
-       \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
+       [<g8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+       [<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
 %5
-       \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
+       [<g,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
 %11    
@@ -169,82 +173,68 @@ violinoii = \notes \relative c'{
         [a b c d] [e c b a] | [b c d c] [d b a g] |
 %15
         [fis g a g] [fis e d c] | [b a g8] r4 |
-       \stemup [<g8 d' b' g'> g'' g g] \stemboth | 
-       \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
-       \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} | 
-       \times 2/3 {[f' d c]} \times 2/3 {[b a g]} |
+       [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+       [g'8\p d c] [b a g] | [f'\f d c] [b a g]} |
 %21
-       \stemup [<c,8 e c' e> e' e e] | <c,2 e c' e> |
-       [<a8 e' cis' a'> a'' a a] \stemboth |
-       \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | 
-       \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} |
+       [<c,8 e c' e> e' e e] | <c,2 e c' e> |
+       [<a8 e' cis' a'> a'' a a] |
+       \times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] |
 %26   
-        \times 2/3 {[g' e d]} \times 2/3 {[cis b a]} | 
-       \stemup [<d, a' fis'> fis' fis fis] \stemboth |
-        <d,2 a' fis'> | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} |
-        \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} | 
-       \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} |
+        [g'\f e d] [cis b a]} | [<d, a' fis'> fis' fis fis] |
+        <d,2 a' fis'> | \times 2/3 {[b'8 c d] [e fis g] |
+        [g fis g] [b, a g] | [a b cis] [d e fis] |
 %32
-        \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} | 
-       \times 2/3 {[g a b]} \times 2/3 {[cis d e]} |
-        \times 2/3 {[e d e]} \times 2/3 {[g, fis e]}
+        [fis e fis] [a, g fis] | [g a b] [cis d e] |
+        [e d e] [g, fis e]}
 %35
         [fis16 d e d] [e d e d] | [g d e d] [e d e d] |
         [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
         [cis' a b a] [b a b a] | [d a b a] [b a b a] |
         [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] |
 %43
-        \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} | 
-       \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
-        \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} | 
-       \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} |
+        \times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] |
+        [g, b a] [g fis e] | [a d, cis] [d cis d]} |
 %47
         [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 |
 %50
         a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 g,16 a4 |
         r8 [fis g! a] | d,2
-       f4 r8 f | [e-. ~ e-.] r4 |
-       \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
+       f4\p r8 f | [e-. ~ e-.] r4 |
+       \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
 %60
-       e'4 r8 e | [d-. ~ d-.] r4 |
-       \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 |
+       e'4\p r8 e | [d-. ~ d-.] r4 |
+       \times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 |
 %64 : reprise
-       \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
-        \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [b,16 c d c] [b c d c] |
-        \stemup [<g,8 d' b' g'> g'' g g] \stemboth | [g16 d c b] [a g fis g] |
+       [<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+        [<g,8 d' b' g'> g'' g g] | [b,16 c d c] [b c d c] |
+        [<g,8 d' b' g'> g'' g g] | [g16 d c b] [a g fis g] |
 %70        
        [e' fis g fis] [g e d c] | [b c d c] [d b a g] |
         [fis g a g] [fis e d c] | [b a g8] r4 |
-        \stemup [<g8 d' b' g'> g'' g g] \stemboth | 
-       \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} |
-       \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 |
+        [<g8 d' b' g'> g'' g g] | \times 2/3 {[g8 d c] [b a g] |
+       [f\f d c] [b a g]} | [e' c] r4 |
 %78
-        \stemup [<a8 e' cis' a'> a'' a a] \stemboth |
-        \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | 
-        \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 |
-       \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} | 
-       \times 2/3 {[c b c]} \times 2/3 {[e, d c]} |
-        \times 2/3 {[d e fis]} \times 2/3 {[g a b]} | 
-       \times 2/3 {[b a b]} \times 2/3 {[d, c b]} | 
-       \times 2/3 {[c d e]} \times 2/3 {[fis g a]} |
-        \times 2/3 {[a g a]} \times 2/3 {[c, b a]} |
+        [<a8 e' cis' a'> a'' a a] |
+        \times 2/3 {[a8 e d] [cis b a] | 
+        [g e d] [cis b a]} | [fis' d] r4 |
+       \times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] |
+        [d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] |
+        [a g a] [c, b a]} |
 %88
         [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] |
         [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] |
         [a' d, e d] [e d e d] | [b' d, e d] [e d e d] |
 %96
-        \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} | 
-       \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
-        \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth | 
-       \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} |
+        \times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] |
+        [d c' c] [c b a] | [d g, fis] [g fis g]} |
 %100
         [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! |
-        [b16 b a g] a4^\trill | g g' |
+        [b16 b a g] a4 | g g' |
 %106
         r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 |
         [fis16 g a g] [fis e d c] | [b g' g g] g4:16 |
-        [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill |
-        [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4
+        [fis16 g a g] [fis e d c] | [b g' g, a] a4 |
+        [b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4
 %fine
 
 }
@@ -266,22 +256,22 @@ viola = \notes \relative c'{
        [e16 f? g f] [e f g f] | [g8 e e d] |
        [cis16 d e d] [cis d e d] | cis4 r | 
 %25
-       e e | e e | [fis16 g a g] [fis g a g] | 
-       [fis8 fis a a] | d,4 b | b g' | cis,? a |
+       e\p e | e\f e | [fis16 g a g] [fis g a g] | 
+       [fis8 fis a a] | d4 b | b g' | cis,? a |
        a fis' b, g' | a a, |
 %35
        [a8 fis' fis fis] | r [g g g] | r [a a a] |
        r [b, b b] | r [cis cis cis] | r [d d d] | r [e e e] |
        r [fis fis fis] |
 %43
-       \times 2/3 {[e g fis]} \times 2/3 {[e fis g]} | fis4 r |
-       \times 2/3 {[e8 g fis]} \times 2/3 {[e fis g]} | fis4 r |
+       \times 2/3 {[e g fis] | [e fis g]} | fis4 r |
+       \times 2/3 {[e8 g fis] | [e fis g]} | fis4 r |
 %47
        [d8 g d fis] | r [e a, d] | r b [b cis16 d] |
        [e8 d e cis] | [d d d cis] | d4 d' | r8 r16 gis, a4 |
        r8 [fis8 g! a] | d,2  
-       [d8 d d d] | [d c!] r4 |
-       \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
+       [d8\p d d d] | [d c!] r4 |
+       \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
 %60
        [c8\p c c c] | [c b] r4 | [a8 fis e g] | [g fis] r4 |
 %64 : reprise
@@ -300,11 +290,10 @@ viola = \notes \relative c'{
        [d8 b b b] | r [c c c] | r [d d d] | r [e e e] | r [fis fis fis] |
        r [g g g] | r [a a a] | r [b b b] | 
 %96
-       \times 2/3 {[a c b]} \times 2/3 {[a b c]} | b4 r | 
-       \times 2/3 {[a,8 a g]} \times 2/3 {[a b c]} |
+       \times 2/3 {[a c b] [a b c]} | b4 r | \times 2/3 {[a,8 a g] [a b c]} |
        b4 r | [g8 c g b] | r [a' d, g] | r e [e fis16 g] | [a8 g a fis] |
 %104
-       g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c? d] | [g, b d e] | 
+       g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c! d] | [g, b d e] | 
        [a, a a' a] | [d, b d e] | [a, a a' a] | [d, d e d] | [d d e d] | 
        [d g g fis] | [g d] g,4
 %fine 
@@ -318,11 +307,11 @@ bassocontinuo = \notes \relative c'{
        [g16 a b a] [g a b a] | [g8 g, g g'] | 
 %5
        [g16 a b a] [g a b a] | [g8 g,] r4 |
-       [c'8 c,] [e fis] | [g g g b,] |
-       [c c] [e fis] | [g g b c] |
+       [c'8 c,] [e_"6" fis_"6"_"5" | [g g g b,_"6"] |
+       [c c] [e_"6" fis_"6"_"5" | [g g b_"6" c] |
 %11
-       [d d d c] | [b b b b] | [fis fis fis fis] |
-       [g g b c] | [d fis, fis fis] | [g16 g fis e] [d c b a] |
+       [d d d c_"2"] | [b_"6" b b b] | [fis_"6"_"5" fis fis fis] |
+       [g g b_"6" c] | [d fis,_"6"_"5" fis fis] | [g16 g fis e] [d c b a] |
 %17
        [g g' b a] [g a b a] | g4 r | b, b | b b |
 %21
@@ -338,7 +327,7 @@ bassocontinuo = \notes \relative c'{
        g8 r fis r | e r d r | r [e e d] | [cis b cis a] | [d fis g a] |
        d,4 d' | r8 r16 gis, a4 | r8 [fis g! a] | d,2 
        r2 | r |
-       \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 |
+       \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 |
 %60
        r2 | r |
        [f'8 d g g,] | [d' d'] [d16 c b a] |
@@ -347,19 +336,19 @@ bassocontinuo = \notes \relative c'{
         [g16 a b a] [g a b a] | [g8 g, g g'] |
 %68
         [g16 a b a] [g a b a] | g4 r |
-       [c8 c,] [e fis] | [g g b, c] | [e fis fis fis] |
+       [c8 c,] [e fis] | [g g b c] | [e fis fis fis] |
 %73
        [g16 g, a b] [c d e fis] | [g a b a] [g a b a] | g4 r |
        b, b | [c8 c'16 d] [e d cis b] | [a b cis b] [a b cis b] |
 %79
        a4 r | cis,4 cis | [d8 d'16 e] [d8 b] | 
-       c4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 |
+       c?4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 |
 %90
        [b8 b, b b] | c2:8 | d2:8 | e2:8 | fis2:8 | g2:8 | 
        fis4 fis | g r | fis fis | g r | c8 r b r | a r g r |
        r [a a g] | [fis e fis d] | [g, b c d] | g,4 g' |
 %106
-       r8 r16 cis, d4 | r8 [b c? d] | [g, g' b c] | [d fis, fis fis] |
+       r8 r16 cis, d4 | r8 [b c! d] | [g, g' b c] | [d fis, fis fis] |
        [g g, b c] | [d fis fis fis] | [g b, c d] | [g, b c d] | 
        [g, b c d] | [g d] g,4
 %fine
@@ -368,18 +357,17 @@ bassocontinuo = \notes \relative c'{
 
 \score{
         \type StaffGroup <
-                \type Staff = i < %\tempi 
-                                       \global \dynamics \violinoi >
+                \type Staff = i < \tempi \global \dynamics \violinoi >
                 \type Staff = ii < \global \dynamics \violinoii >
                 \type Staff = iii < \global \dynamics \viola >
                 \type Staff = iv < \global \dynamics \bassocontinuo >
         >
-        \header{
-               piece="I. Allegro";
-       }
-       \paper{
-                \translator { \OrchestralScoreContext }
-       }
+        \paper{
+          %      \translator { \OrchestralScoreContext }
+        }
         \midi{ \tempo 4 = 100; }
 }
 
+
+
+
index 2d84ce1c492022bf4a1b6b41a8b37dd3e58e5d47..b3657cf20cd504358145a7cf325268ed3ba1114d 100644 (file)
@@ -54,16 +54,11 @@ global = \notes {
   \skip 1*31;
   \property StaffGroup.timeSignatureStyle = "1"
   \time 3/2;
-  \bar ":|:";
   \tempo 2=140;
   \skip 1.*15;
   \property StaffGroup.timeSignatureStyle = "old"
   \time 4/4;
   \tempo 4=80;
-  \skip 1;
-  \bar ":|:";
-  \skip 1*13;
-  \bar "|.";
 }
 
 vi1=\type Staff = vi1 <
@@ -101,7 +96,8 @@ vi1=\type Staff = vi1 <
   r8 g [g g16 f] e4 d |
   r8 [d16 a ][ b8 b16 c] a2 |
   b1 | 
-
+  
+  \repeat 2 {
   r4 d d d d d |
   e1. |
   r4 c c c c c |
@@ -117,7 +113,9 @@ vi1=\type Staff = vi1 <
   a4 [c8 b] a4 [b8 c] f,4 [g8 a] |
   d,4 g g g g g |
   a [d,8 c] b4 [c8 d] a2 |
+  }
 
+  \repeat 2 {
   b1 |
   [d8 d d d] d4 [a16 b c a] |
   [b8 g ][ g g16 a] [b8 g ][ g g16 a] | 
@@ -132,6 +130,7 @@ vi1=\type Staff = vi1 <
   fis4 g2 fis!4 |
   \cadenza 1;
   g\breve
+  }
 }>
 
 vi2=\type Staff = vi2 <
@@ -168,6 +167,7 @@ vi2=\type Staff = vi2 <
   a4 g2 fis4 |
   g1 |
 
+  \repeat 2 {
   r1. |
   r4 [g'8 f] e4 [f8 g] c,4 [d8 e] |
   a,1. |
@@ -183,7 +183,9 @@ vi2=\type Staff = vi2 <
   c,4 a a a a a |
   b [d8 c] b4 [c8 d] d,4 e |
   fis2 g fis! |
+  }
 
+  \repeat 2 {
   g1 |
   r1 | r1 |
   [g'8 g g g] g4 [d16 e f d] |
@@ -197,6 +199,7 @@ vi2=\type Staff = vi2 <
   [a d c b ][ a g fis e] d4 d' |
   \cadenza 1;
   b\breve
+  }
 }>
 
 
@@ -222,6 +225,7 @@ bc=\type Staff = bc <
   c B c G | d1^"3 4 3" |
   G1 |
 
+  \repeat 2 {
   g1. | c |
   f | d^"\\textsharp" |
   g | c |
@@ -230,9 +234,10 @@ bc=\type Staff = bc <
   d^"\\textsharp" | e |
   f | g1 B2 |
   d1.^"3 4 3" |
+  }
 
+  \repeat 2 {
   G1 |
-  \bar ":|:";
   g2 fis | g G |
   g1^"3 4 3" | c |
   G^"3 4 3" | c2 G |
@@ -241,6 +246,7 @@ bc=\type Staff = bc <
   ) d^"3 4 3" | 
   \cadenza 1;
   G\breve 
+  }
 }>
 
 \score{
diff --git a/mutopia/gnossienne-4.ly b/mutopia/gnossienne-4.ly
deleted file mode 100644 (file)
index baa756e..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-\header {
-  filename =    "gnossienne-4.ly";
-  title =       "Gnossienne";
-  subtitle =   "4";
-  source =      "";
-  composer =    "Erik Satie (1866-1925)";
-  enteredby =   "jcn";
-  copyright =   "Public Domain";
-}
-
-%{
- Tested Features: cross staff beams and slurs, grace notes, no bars
-%}
-
-\version "1.0.14";
-
-\include "nederlands.ly"
-
-global = \notes {
-  \key a \minor;
-  \time 6/4;
-%  \cadenza 1;
-  \skip 1.*34;
-  \bar ".|";
-}
-  
-upper = \type Staff=treble \notes\relative c''{
-  \clef violin;
-  \stemup
-  \type Voice=one
-  r2 r r 
-  r2 r r
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
-  % grace hack
-  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
-  r2 r r
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
-  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
-  r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
-  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
-  r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
-  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
-  \tiny a8*1/2 ~ \normalsize f4*3/4 ~ f8 r r2 r
-  r2 r4 [a8( b][c d c b] \tiny b8*1/2 ~ \normalsize 
-  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
-  r2 r4 [a8( b][c d c b] [a b c d][c b a b][c d c b]
-  \tiny b8*1/2 ~ \normalsize 
-  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
-  a2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
-  r2 r r
-  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
-  \tiny b'8*1/2 ~ \normalsize 
-  < { [a8*1/2 a8] } \type Voice=x { \stemup s8*1/4 \tiny b8*1/2 ~ } > r4 r2 r
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
-  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
-  d,4( \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ )gis8 r r4 r2
-  f4 ~ f8 r r2 r
-  [f'8( g a b][a g f g][a b a g]
-  \tiny f8*1/2 ~ \normalsize 
-  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
-  [f8( g a b][a g f g][a b a g]
-  \tiny f8*1/2 ~ \normalsize 
-  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
-  a,2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
-  r2 r r
-  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
-  <e1 g b e> ~ <e g b e>
-}
-
-basloopje = \notes\relative c{
-  d,8( a' d f a d f d a f d )a
-}
-
-bassbeam = \notes{
-  [s2] [s8 \translator Staff=treble s s s] [\translator Staff=bass s2]
-%   [s2] [s2] [s2]
-}
-
-lower = \type Voice=two \notes \relative c{
-  \stemdown
-  \property Staff.slurydirection = 1
-
-  % snapnie, hoevaak relative c heeft ze nodig?
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  % huh? d'
-  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose e' \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose bes \notes\relative c{ \basloopje } \bassbeam >
-  < \transpose a \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose d' \notes\relative c{ \basloopje } \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \notes\relative c \basloopje \bassbeam >
-  < \transpose e' \notes\relative c{ \basloopje } \bassbeam >
-  < e1 b' e> ~ < e b' e> 
-}
-
-\score {
-    \type GrandStaff < 
-      \type Staff = treble < 
-        \global 
-       \upper
-      >
-      \type Staff = bass <
-        \global
-       \clef bass;
-        \lower
-      >
-    >
-
-  \paper {
-    gourlay_maxmeasures = 4.;
-    indent = 8.\mm;
-    textheight = 295.\mm;
-
-    % no slur damping
-    slur_slope_damping = 100.0;
-
-    \translator{ \OrchestralScoreContext }
-    \translator{ 
-      \GrandStaffContext
-      minVerticalAlign = 3.0*\staffheight;
-      maxVerticalAlign = 3.0*\staffheight;
-    }
-    \translator{ 
-      \StaffContext
-      % don't auto-generate bars: not a good idea: -> no breakpoints
-      % barAuto = "0";
-      % urg defaultBarType = "";
-      defaultBarType = "empty";
-      \remove "Time_signature_engraver";
-    }
-  }
-  \midi {
-    \tempo 4 = 54;
-  }
-}
-
-% EOF
index 44c2eb1bcbd7d1637a3ba359564ca17f017891d7..7b8db27f8bfa552d36d9366bed71d025082c0af8 100644 (file)
@@ -74,7 +74,7 @@
 
 ;;; and these suck as well.
 (define (setdynamic s) (text "dynamic" (string-append "\\" s)))
-(define (settext s) (text "text" s))
+(define (setroman s) (text "text" s))
 (define (settypewriter s) (text "typewriter" s))
 (define (setnumber s) (text "number" s))
 (define (setbold s) (text "bold" s))
 
   (define (pianobrace y)
     (define step 1.0)
-    (define minht mudelapaperstaffheight)
-    (define maxht (* 6 minht))
+    (define minht (* 2 mudelapaperstaffheight))
+    (define maxht (* 7 minht))
     (string-append
      "{\\bracefont " (char  (/  (- (min y (- maxht step)) minht)   step)) "}"))
   
      "\\hbox{%\n")
     )
 
-  (define (stem kern width height depth) 
+  (define (filledbox breapth width height depth) 
     (string-append 
-     "\\kern" (number->dim kern)
-     "\\vrule width " (number->dim width)
+     "\\kern" (number->dim (- breapth))
+     "\\vrule width " (number->dim (+ breapth width))
      "depth " (number->dim depth)
      "height " (number->dim height) " "))
 
            (define startrepeat ,startrepeat)
            (define stoprepeat ,stoprepeat)
            (define start-line ,start-line)
-           (define stem ,stem)
+           (define filledbox ,filledbox)
            (define stop-line ,stop-line)
            (define text ,text)
            (define experimental-on  ,experimental-on)
 
   (define (invoke-dim1 s d) 
     (string-append
-     (number->string d) " " s ))
+     (number->string (* d  (/ 72.27 72))) " " s ))
 
   (define (placebox x y s) 
     (string-append 
index cf8de43e2f9f69606d5cce5ed9b6f386e01ce9ae..c0c07f6408fdebdc61d68e339c211690e5bc3929 100644 (file)
@@ -14,7 +14,7 @@ Output: DVI file
 """
 
 name = 'ly2dvi'
-version = '0.0.10'
+version = '0.0.11'
 errorlog = ''
 
 import sys
@@ -231,7 +231,7 @@ class TeXOutput:
         else:
             pageheight = Props.get('pageheight')
             pagewidth = Props.get('pagewidth')
-                             
+                                
         horizontalMarginArg =  ( (pagewidth - linewidth)/2 )   
         verticalMarginArg =  ( (pageheight - textheight)/2  )
 
@@ -393,7 +393,7 @@ class Properties:
             'pageheight'   :  [845, this.__overrideTable['init']],
             'papersize'    :  ['a4paper', this.__overrideTable['init']],
             'textheight'   :  [0, this.__overrideTable['init']],
-            'linewidth'    :  [0, this.__overrideTable['init']],
+            'linewidth'    :  [500, this.__overrideTable['init']],
             'orientation'  :  ['portrait', this.__overrideTable['init']],
             'language'     :  ['%', this.__overrideTable['init']],
             'include'      :  [[], this.__overrideTable['init']],
@@ -674,7 +674,7 @@ class Properties:
            else:
                sys.exit('ExitBadWidth', m.group(2))
        else:           
-           sys.exit('ExitBadWidth', size)
+           sys.stderr.write ('ly2dvi: warning: ignoring linewidth: ' + size + '\n')
 
     #
     # setOrientation
index b960c3da67b865c29e08bd189181dbf25fa51cea..4032e1351a6089794185dbfba88f0506fac3b329 100644 (file)
 \def\dynp{{\dyn\dynnp}}
 \def\dynpp{{\dyn\kdynp\dynnp}}
 \def\dynppp{{\dyn\kdynp\kdynp\dynnp}}
-\def\dynpppp{{\dyn\kdynp\kdynp\kdynp\dynnp}}
-\def\dynppppp{{\dyn\kdynp\kdynp\kdynp\kdynp\dynnp}}
-\def\dynpppppp{{\dyn\kdynp\kdynp\kdynp\kdynp\kdynp\dynnp}}
 \def\dynmp{{\dyn\dynmm\kern -0.07em\dynnp}}
 \def\dynmf{{\dyn\dynm\kern -0.14em\dynnf}}
 \def\dynf{{\dyn\dynaf}}
 \def\dynff{{\dyn\kdynf\dynnf}}
 \def\dynfff{{\dyn\kdynf\kdynf\dynnf}}
-\def\dynffff{{\dyn\kdynf\kdynf\kdynf\dynnf}}
-\def\dynfffff{{\dyn\kdynf\kdynf\kdynf\kdynf\dynnf}}
-\def\dynffffff{{\dyn\kdynf\kdynf\kdynf\kdynf\kdynf\dynnf}}
 
 \def\dynfp{{\dyn\dynnf\kern -0.04em\dynnp}}
 \def\dynsf{{\dyn\dyns\kern -0.13em\dynnf}}
-\def\dynsff{{\dyn\dynsf\dynnf}}
 \def\dynsfz{{\dyn\dynsf\dynz}}
 \def\dynfz{{\dyn\dynnf\dynz}}
 \def\dynrf{{\dyn\dynr\kern -0.1em\dynnf}}
-\def\dynsp{{\dyn\dyns\kern -0.13em\dynnp}}
-\def\dynspp{{\dyn\dynsp\dynnp}}
-\def\dynrfz{{\dyn\dynrf\dynz}}
 
 \endinput
index 41b37ec2e8ce4fa729f6bc32b0e9310cbd07166e..3e7f824e5fa78dd0dd70c7ef852bb622900759f9 100644 (file)
 \input fetdefs
 
 
+\def\deprecated#1S{%%%%%%%%%
 
 \def\emptybar{}
 
+
+
 \def\defaultthinbar{\thinbar{\staffheight}}
 \def\defaultthickbar{\thickbar{\staffheight}}
 %? what-s wrong with rightalign?
 \def\startrepeat#1{\repeatstartbar}
 \def\repeatbarstartrepeat#1{\repeatstopstart}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% parametric symbols
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
 \def\doublebar#1{\hbox{\thinbar{#1}\hskip\smallspace\thinbar{#1}}}
 \def\thinbar#1{\dimen0=#1%
         \vrule height .5\dimen0 depth .5\dimen0 width 1.6\stafflinethickness} % TODO parametric.
 \def\startbar#1{\leftalign{\thickbar{#1}\kern\smallspace\thinbar{#1}}}
 \def\finishbar#1{\rightalign{\thinbar{#1}\kern\smallspace\thickbar{#1}}}
 \def\fatdoublebar#1{\hbox{\phantom{\repeatcolon\kern2\smallspace}\thickbar{#1}\kern\smallspace\thickbar{#1}}}
+}
+
 
 \def\extender#1{\vrule width#1 height .8\stafflinethickness}