]> 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:
 
 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.
 
 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:
 .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 
 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.
 )
 COMMENT(
 I cannot be named .yo, because i'm not a complete document, yodl2x will break.
 )
+
 whenhtml(
 whenhtml(
+
 nsubsect(Disclaimer)
 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}
 
 
 \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
 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}
     \label{fig:noteshapes}
 \end{center}
 \end{figure}
-      
 
 Notes are printed in a grid of horizontal lines called \emph{staff} to
 
 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}
 
 \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}}}
 
 \def\fetdef#1#2{%
   \def#1{\hbox{\char#2}}}
 
-\input feta20
+\input feta20.sty
 
 \font\fetasixteenfont=feta16
 \font\fetaelevenfont=feta11
 
 \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
 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).
 
 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:
 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
 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
 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
 
 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
 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.
 
 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).
 
 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
 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(\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.  
 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(\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(\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(\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
 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.  
 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
 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
 
 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).
 
 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(
 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))
 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:
 
 
 Options to configure include:
 
 
---enable-guile
-     Link in GUILE (experimental)
-
 --enable-printing
      Enable debugging print routines (lilypond -D option)
 
 --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,
 
 
 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.
 
 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
 
 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.
 
 
      file.
 
 
@@ -407,10 +403,6 @@ EXAMPLE
 This is what I type in my xterm:
 
 
 This is what I type in my xterm:
 
 
-
-
-
-
           lilypond someinput.ly
           tex someinput.tex
           xdvi someinput&
           lilypond someinput.ly
           tex someinput.tex
           xdvi someinput&
@@ -459,9 +451,6 @@ sources.
 You can make the rpm by issuing
 
 
 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
 
           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
 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
           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.
 
         - 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.
 
        - 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: :|, |:
 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
 
 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.
 
 * 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}
        * junk backlinks?
 
        * junk text{sharp,flat,etc}
@@ -42,21 +53,6 @@ grep for TODO and ugh/ugr/urg
 
        * decimal point in \paper {}
 
 
        * 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
        *{  \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.
        * 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:
 
 BUGS:
+
        * collisions/voices \voiceone \voicetwo are broken; see 
          input/praeludium-fuga-E.ly
          mutopia/J.S.Bach/wtk1-fugue2.ly
 
        * 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
 
        * 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
 
        * 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
        * latex bla.tex broken (titles / \lilyfooter stuff?)
 
        * check/set minimum slur/tie length
@@ -172,11 +155,11 @@ STUFF
 
        * Align_element::padding  ?
 
 
        * 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.
 
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
@@ -205,8 +188,6 @@ STUFF
 
        * mi2mu empty staffs.
 
 
        * mi2mu empty staffs.
 
-       * midi_instrument -> midiInstrument
-
        * horizontal centering of dynamics 
 
        * \font\fontA=feta20.afm (.afm?)
        * 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?
        - 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;
 
 
        * \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. 
 
        * add a Duration_convert member to Duration_iter to set parameters.
        Junk global duration settings. 
-       * deps for ly2dvi
 
        * minimum length second part broken tie
  
 
        * minimum length second part broken tie
  
@@ -307,16 +286,13 @@ ydirection and hshift preset
        * check for groff / troff/ nroff et
 
        * more intelligent file searching
        * 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.
 
 
        * disable spaces in TeX stuff
        
        * handle ^C for tmp/file creation.
 
-       
        * dots & rest collisions.
 
        * documentation
        * dots & rest collisions.
 
        * documentation
@@ -346,51 +322,46 @@ ydirection and hshift preset
 
        * integrate midi-elts from mi2mu and lily?
 
 
        * 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:
 
 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:
 
 
        * glibc 2.0:
 
@@ -399,8 +370,6 @@ ydirection and hshift preset
 
 3RD PARTY PROJECTS:
 
 
 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 
        * 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
 
        - quiet/ignore-version options
        - logfile output
 
-       * piano staff
-
        * elaborate Staff_side baseclass:
        - scripts
        - text
        * elaborate Staff_side baseclass:
        - scripts
        - text
@@ -519,7 +486,6 @@ PROJECTS
        - PS lines to .eps files
        - write custom prolog
 
        - 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)
        * 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
 
        - saving them
        - specify number of lines
 
-       * markers
-
 INPUTLANGUAGE
 
        * c4 4 4 4 for c4 c4 c4 c4?
 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.
 
 
        * 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
        * 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
 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.
 
 # 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):
 
 class Afm_file (File):
     def print_f_dimen(self, f):
-       f = f 
+       f = f * 1000
     
        dimstr = '%.2f' % f
 
     
        dimstr = '%.2f' % f
 
index 6e698cdc85bb1919225cc986f7fa51de6da01fa7..f819163aa5204a3f9588d03ad32d4dbe4bf27a6e 100755 (executable)
@@ -6,6 +6,7 @@ PACKAGE_NAME=LilyPond
 export PACKAGE_NAME
 prefix=$HOME/usr
 sources=$prefix/src
 export PACKAGE_NAME
 prefix=$HOME/usr
 sources=$prefix/src
+
 #
 #
 . ./stepmake/bin/package-zet.sh
 #
 #
 . ./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
 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
 
 if [ -f ../.gdbinit ];
 then
index c7db1bd6ce9cc8009a2282fa664a28a634aa35aa..a13bedba995ded4d120ddbe5acb61b6fc161486a 100644 (file)
--- a/dstreamrc
+++ b/dstreamrc
@@ -3,7 +3,7 @@
 # the debugging.
 
 # class name           silence?
 # the debugging.
 
 # class name           silence?
-Dstream                        1
+Dstream                        0
 
 # yydebug
 InitParser             1
 
 # yydebug
 InitParser             1
@@ -27,14 +27,20 @@ Vector                      1
 # lily
 Absolute_dynamic_req   1
 Atom                   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
 Bar                    1
 Bar_req                        1
-Beam                   0
+Beam                   1
 Bezier                 1
 Bezier_bow             1
 Bezier_bow_controls    1
 Bezier                 1
 Bezier_bow             1
 Bezier_bow_controls    1
-Bezier_controls                0
+Bezier_controls                1
 Bow                    1
 Change_iterator                1
 Change_translator      1
 Bow                    1
 Change_iterator                1
 Change_translator      1
@@ -48,13 +54,14 @@ Collision           1
 Column_info            1
 Column_rod             1
 Duration_identifier    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
 General_script_def     1
 Graphical_element      1
+Graphical_axis_group   1
 Group_change_req       1
 Guile                  1
 Group_change_req       1
 Guile                  1
-Head_column            0
+Head_column            1
 Horizontal_align_item  1
 Horizontal_group_item  1 
 Idealspacing           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
 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
 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
 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
 Note_head              1
 Note_performer         1
 Note_req               1
-Paper_column           0
+Paper_column           1
 Paper_score                    1
 Paper_def              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
 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
 Rest_req               1
-Rhythmic_head  0
+Rhythmic_head  1
 Rhythmic_req           1
 Scope                  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
 Score_performer                1
 Script_column          1
 Script_def             1
@@ -112,8 +121,10 @@ Skip_req           1
 Staff_commands         1
 Staff_symbol           1
 Stem                   1
 Staff_commands         1
 Staff_symbol           1
 Stem                   1
-Stem_info              0
+Stem_info              1
 Stem_req               1
 Stem_req               1
+String_identifier      1
+Relative_octave_music  1
 Symtable               1
 Symtables              1
 
 Symtable               1
 Symtables              1
 
@@ -121,9 +132,10 @@ Text_def           1
 Text_item              1
 Text_req               1
 Time_description       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
 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];
 }
 
   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;
 {
   const char* str = s.ch_C ();
   unsigned int result = 0;
@@ -37,7 +37,9 @@ unsigned int hash (unsigned int i)
   return i;
 }
 
   return i;
 }
 
-unsigned int hash (int i)
+unsigned int int_hash (int i)
 {
   return (unsigned) i;
 }
 {
   return (unsigned) i;
 }
+
+unsigned int hash ( ); 
index 33531e584c442b402d9d6adf807cc93ae434d15b..55176ae9f09284dcbb3eb889edec77922beafdd1 100644 (file)
 #define DICTIONARY_ITER_HH
 
 #include "dictionary.hh"
 #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>
 
 template<class V>
 class Dictionary_iter<V> : public Hash_table_iter<String,V>
index c9b5775f1b7d43ba5460e22dd4874eba23ddeef3..ceaaa496b37e4161c64f6e9ebd8c0777a20fcf6a 100644 (file)
 #include "string.hh"
 #include "array.hh"
 
 #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
 
 template<class V>
 struct Dict_initialiser
@@ -42,188 +26,18 @@ struct Dict_initialiser
   V value_;
 };
 
   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 ()
 
 template<class V>
 class Dictionary : public Hash_table<String, V>
 {
 public:
   Dictionary ()
-    {}
+    {
+      hash_func_ = string_hash;
+    }
   Dictionary (Dict_initialiser<V> *p)
     {
   Dictionary (Dict_initialiser<V> *p)
     {
+      hash_func_ = string_hash;
       for (Dict_initialiser<V> *q = p; q->key_; q++)
        elem (q->key_) = q->value_;
          
       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;
 
       /*
       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;
       num_ = (unsigned int) (mantissa * FACT);
       den_ = (unsigned int) FACT;
+      normalise ();      
+      if (expt < 0)
+       den_ <<= -expt;
+      else
+       num_ <<= expt;
       normalise ();
       normalise ();
-      num_ <<= expt;
     }
   else
     {
     }
   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
 
 
 SUBDIRS=test bugs
 
-examples=praeludium-fuga-E  twinkle-pop star-spangled-banner
+examples=praeludium-fuga-E star-spangled-banner
 flexamples=
 
 LOCALSTEPMAKE_TEMPLATES=mutopia
 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";
 
 
 % \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 {
 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 |
 }
 
        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''{
 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'{
 }
 
 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
        % 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'{
 }
 
 viola = \notes\relative c'{
-       \type Voice=i 
        \clef "alto";
        \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'{
 }
 
 cello = \notes\relative c'{
-       \type Voice=i 
        \clef "bass";
        \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 <
 }
 
 \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 }
        >
        \paper{
                \translator { \OrchestralScoreContext }
+               \translator {
+                       \VoiceContext
+                       \consists Auto_beam_engraver;
+                       beamAuto = 1.;
+                       beamAutoEnd = "3/8";
+               }
        }
        \midi{ \tempo 4 = 160; }
 }
        }
        \midi{ \tempo 4 = 160; }
 }
index f3312161d46ddbc03caa4c21019e16779f9b59b8..d05c396cfa5beea4a2a93ef7ff8cf32221a18730 100644 (file)
@@ -14,46 +14,46 @@ copyright="public domain";
 }
 
 $staff1_voice_1 = \notes {
 }
 
 $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 { 
   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 
 }
 
 $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 
   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 } } 
   \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{
 }
 
 $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 }
   { 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.
   >
   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;
                \type Staff=staffB < 
                        \global
                        \clef bass;
+                       \property Staff.voltaVisibility = "0"
                        {\voiceone \$staff2_voice_1 } 
                        {\voicetwo \$staff2_voice_2 } 
                >
                        {\voiceone \$staff2_voice_1 } 
                        {\voicetwo \$staff2_voice_2 } 
                >
@@ -108,11 +108,18 @@ global = \notes {
                textheight = 230.\mm;
                linewidth= 180.\mm;
                \translator {
                textheight = 230.\mm;
                linewidth= 180.\mm;
                \translator {
-                               \GrandStaffContext
-                               \accepts "Lyrics";
+                       \GrandStaffContext
+                       \accepts "Lyrics";
                }
                \translator {
                }
                \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
 
 onestaff = \type Staff = foo\notes  {
        \property Staff.instr = instr
@@ -18,10 +16,9 @@ grstaff = \notes \type GrandStaff <
        \type Staff = bufl { c1 c2  }
 >
 
        \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
 }}
 scscore = \score { \grstaff \paper {
 \scpaper
 }}
@@ -31,5 +28,5 @@ stscore = \score { \onestaff \paper {
  \stpaper
 }}
 
  \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;
                }
                        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 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
        }
                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";
        \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 }
                  \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'{ 
 \score{
        <
                  \type Staff \notes\relative c'{ 
-                         c4 d e f
+                         c d e f
                          \repeat 2 { g a b c }
                          \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{
 \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";
 %}
 
 \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
 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
        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
 }
 
        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{
 \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;
        }
        \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 ();
 }
 
     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 ();
 
   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 (); }
   
   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)
 {
 void
 error (String s)
 {
-    cerr <<  _ ("error: ") << s << '\n';
+  cerr <<  _ ("error: ") << s << '\n';
 
 
-    exit (1);
+  exit (1);
 }
 
 void
 non_fatal_error (String s)
 {
 }
 
 void
 non_fatal_error (String s)
 {
-    cerr <<  _ ("error: ") << s << '\n';
+  cerr <<  _ ("error: ") << s << '\n';
 }
 
 void
 warning (String m)
 {
 }
 
 void
 warning (String m)
 {
-    cerr << _ ("warning: ") <<m <<endl;
+  cerr << _ ("warning: ") <<m <<endl;
 
 }
 
 void
 message (String m)
 {
 
 }
 
 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 ()
 {
 
 Adobe_font_char_metric::Adobe_font_char_metric ()
 {
+  B_ = Box( Interval(0,0), Interval (0,0));
+  WX_ = 0.0;
+  C_ = 0;
   C_ = -1;
 }
 
   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
 #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;
 }
 
   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_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()));
       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]];
 }
 
     }
   
   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;
 }
 
   return b;
 }
 
+Interval
+Atom::extent (Axis a) const
+{
+  return dim_[a] + off_[a];
+}
+
 
 
 Atom::Atom ()
 
 
 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 false;
       
       bar_req_l_ = b;
-
       return true;
     }
   
       return true;
     }
   
@@ -69,21 +68,7 @@ Bar_engraver::create_bar ()
 void
 Bar_engraver::request_bar (String type_str)
 {
 void
 Bar_engraver::request_bar (String type_str)
 {
-#if 0 // will dump core at announce_element (invalid daddy_grav_l_...)
   create_bar ();
   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_ = ":|:";
   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_;
     }
       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);
   else 
     {
       Scalar always = get_property ("barAlways", 0);
index 2d0412f42741fb4b8a12e8da47820a03a761deb5..7adc8dcdea11546bd76121830c06bfdba24698e5 100644 (file)
@@ -8,74 +8,33 @@
 
 
 #include "bar-number-engraver.hh"
 
 
 #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 "time-description.hh"
+#include "timing-engraver.hh"
+#include "engraver-group.hh"
+#include "g-text-item.hh"
 
 Bar_number_engraver::Bar_number_engraver()
 {
 
 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
 }
 
 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);
 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"
 
 
 #include "debug.hh"
 
 
-
 Bar::Bar ()
 {
   breakable_b_ = true;
 Bar::Bar ()
 {
   breakable_b_ = true;
@@ -33,9 +32,8 @@ Molecule*
 Bar::do_brew_molecule_p () const
 {    
   Paper_def *p = paper ();
 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;
 }
 
   return output;
 }
 
index ebd09d3dffd8705e91373ad97d5623c14060b92d..ac7a02a26b2dbc1ef504bcbd977675c8ae3b187c 100644 (file)
@@ -33,7 +33,7 @@ Beam_engraver::do_try_music (Music *m)
 
       if (d == STOP && !beam_p_)
        {
 
       if (d == STOP && !beam_p_)
        {
-         m->warning ("No Beam to end");
+         m->warning (_ ("No Beam to end"));
          return false;
        }
       reqs_drul_[d ] = c;
          return false;
        }
       reqs_drul_[d ] = c;
@@ -49,7 +49,7 @@ Beam_engraver::do_process_requests ()
   if (reqs_drul_[STOP])
     {
       if (!beam_p_)
   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_;
 
       finished_beam_p_ = beam_p_;
       finished_grouping_p_ = grouping_p_;
 
@@ -61,7 +61,7 @@ Beam_engraver::do_process_requests ()
     {
       if (beam_p_)
        {
     {
       if (beam_p_)
        {
-         reqs_drul_[START]->warning ("Already have a Beam");
+         reqs_drul_[START]->warning (_ ("Already have a Beam"));
          return;
        }
 
          return;
        }
 
@@ -126,7 +126,7 @@ Beam_engraver::do_removal_processing ()
   typeset_beam ();
   if (beam_p_)
     {
   typeset_beam ();
   if (beam_p_)
     {
-      warning ("Unfinished beam");
+      warning (_ ("Unfinished beam"));
       finished_beam_p_ = beam_p_;
       finished_grouping_p_ = grouping_p_;
       typeset_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)
          {
        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_)
            if (info.req_l_)
-             info.req_l_->warning(s);
+             info.req_l_->warning (s);
            else
              ::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"));
        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;
          }
 
            return;
          }
 
@@ -170,7 +170,7 @@ Beam_engraver::acknowledge_element (Score_element_info info)
 
        if (!grouping_p_->child_fit_b (start))
          {
 
        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_)
                      + _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 "chord-name-engraver.hh"
 #include "musical-request.hh"
-#include "text-item.hh"
 #include "paper-def.hh"
 #include "lookup.hh"
 #include "paper-def.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;
 }
 
   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 ()
 {
 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;
   int tonic_i = 0;
+  Musical_pitch inversion = pitch_arr_[0];
   Scalar chord_inversions = get_property ("chordInversion", 0);
   if (chord_inversions.to_bool ())
     {
   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
 
   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;
     + acc[tonic.accidental_i_ + 2];
 
   String add_str;
+  String sub_str;
   String sep_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;
         + (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
       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))
         {
          add_str += sep_str;
           if ((trap == 7) && (accidental == 1))
@@ -187,27 +226,7 @@ Chord_name_engraver::do_process_requests ()
        + acc[tonic.accidental_i_ + 2];
 
     }
        + 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 "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()
 {
 
 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;
 
   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;
   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";
   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));
   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;
 }
 
 
 
   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 "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"
 #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;
          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";
          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 "p-col.hh"
 #include "paper-def.hh"
 #include "extender-spanner.hh"
-#include "text-item.hh"
 #include "text-def.hh"
 
 Extender_spanner::Extender_spanner ()
 #include "text-def.hh"
 
 Extender_spanner::Extender_spanner ()
@@ -92,9 +91,8 @@ Extender_spanner::do_post_processing ()
   Direction d = LEFT;
   do
     {
   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
       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"
 
 
 #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 ();
 void
 G_staff_side_item::do_pre_processing ()
 {
   if (!dir_)
     set_default_direction ();
+
+  if (axis_ == X_AXIS)
+    position_self ();
 }
 
 void
 }
 
 void
@@ -22,13 +34,6 @@ G_staff_side_item::set_default_direction ()
   dir_ = DOWN;
 }
 
   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)
 
 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);
 }
 
     support_l_arr_.unordered_substitute (o,n);
 }
 
-
 void
 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),
 {
   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];
 
   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 ();
 
       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);
   
       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 "identifier.hh"
 #include "my-lily-lexer.hh"
 #include "debug.hh"
-#include "symtable.hh"
 #include "script-def.hh"
 #include "request.hh"
 #include "translator.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(General_script_def);
 DEFAULT_PRINT(Translator);
-DEFAULT_PRINT(Symtables);
 DEFAULT_PRINT(Music);
 DEFAULT_PRINT(Request);
 DEFAULT_PRINT(Score);
 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(Notename_table);
 DUMMY_STR(General_script_def);
 DUMMY_STR(Translator);
-DUMMY_STR(Symtables);
 DUMMY_STR(Music);
 DUMMY_STR(Request);
 DUMMY_STR(Score);
 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(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);
 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(int);
 DEFAULT_ACCESSOR(Real);
 DEFAULT_ACCESSOR(String);
-DEFAULT_ACCESSOR(Symtables);
 DEFAULT_ACCESSOR(Score);
 DEFAULT_ACCESSOR(Midi_def);
 DEFAULT_ACCESSOR(Paper_def);
 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 "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_;
   int C_;
   Real WX_;
   String N_;
@@ -27,9 +28,11 @@ struct Adobe_font_char_metric {
   
   String str () const;
   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_;
   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_;
   
   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);
   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);
 };
 
 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 "dictionary.hh"
 #include "file-path.hh"
 #include "lily-proto.hh"
+#include "font-metric.hh"
 
 /**
    Interface to all .afm files living in the filesystem.
 
 /**
    Interface to all .afm files living in the filesystem.
 class All_font_metrics
 {
   Dictionary<Adobe_font_metric*> afm_p_dict_;
 class All_font_metrics
 {
   Dictionary<Adobe_font_metric*> afm_p_dict_;
+  Dictionary<Tex_font_metric*> tfm_p_dict_;  
   File_path search_path_;
 public:
   
   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);
 };
 
   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;
   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;
   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
 
 #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:
 protected:
-
-  void acknowledge_element (Score_element_info);
-  void do_pre_move_processing();
+  void do_process_requests ();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Bar_number_engraver();
-  
 };
 #endif // BAR_NUMBER_GRAV_HH
 };
 #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
   
   
   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"
 
 #include "engraver.hh"
 #include "drul-array.hh"
@@ -35,5 +35,5 @@ public:
   VIRTUAL_COPY_CONS (Translator);
 };
 
   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_;
 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
 };
 
 #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;
 protected:
   virtual void do_pre_processing();
   virtual Molecule* do_brew_molecule_p() const;
+  virtual void do_add_processing ();
 public:
     
   String symbol_;
 public:
     
   String symbol_;
@@ -32,10 +33,6 @@ public:
   /// should we print an octave symbol (8), and where? (up=1, down=-1)?
   Direction octave_dir_;
 
   /// 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();
 };
   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_;
   
   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 ();
   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;
   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"
 
 
 #include "item.hh"
 
-/*
-  DO NOT USE AS BREAKABLE ITEM!
-
-  (-> core dump!)
- */
 class G_staff_side_item : public Item
 {
 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_;
 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*);
   
   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 "string.hh"
 #include "score-element.hh"
 #include "drul-array.hh"
+#include "protected-scm.hh"
 
 /**
   A horizontally fixed size element of the score.
 
 /**
   A horizontally fixed size element of the score.
   
 */
 class Item : public virtual Score_element {
   
 */
 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_;
 
 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_;
   /// 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 do_print() const;
   virtual bool linked_b() const;
 
+  virtual void handle_prebroken_dependents ();
+
   void copy_breakable_items();
 };
 
   void copy_breakable_items();
 };
 
index 105b3ba4939656394bb31665e36bbb1fe5a3ab40..bc9f969f73dad3dcc2fb7244937c0152b8e1b96f 100644 (file)
 #include <libguile.h>
 
 SCM ly_symbol (String name);
 #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);
 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"
 
 
 #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 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 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 Audio_note_off;
 struct Audio_staff;
 struct Audio_tempo;
+struct Auto_beam_engraver;
 struct Axis_group_element;
 struct Axis_group;
 struct Bar;
 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 Engraver_group_engraver;
 struct Extender;
 struct Extender_req;
+struct G_staff_side_item;
+struct G_text_item;
 struct General_script_def;
 struct Graphical_element;
 
 struct General_script_def;
 struct Graphical_element;
 
@@ -173,7 +174,7 @@ struct Performer;
 struct Plet;
 struct Plet_engraver;
 struct Plet_req;
 struct Plet;
 struct Plet_engraver;
 struct Plet_req;
-struct Plet_spanner;
+struct Tuplet_spanner;
 struct Piano_brace;
 struct Performer;
 struct Performer_group_performer;
 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 "fproto.hh"
 #include "scalar.hh"
 #include "direction.hh"
-#include "curve.hh"
-#include "symtable.hh"
 #include "box.hh"
 
 /** handy interface to symbol table
 #include "box.hh"
 
 /** handy interface to symbol table
@@ -26,28 +24,21 @@ class Lookup
 public:
   Lookup ();
   Lookup (Lookup const&);
 public:
   Lookup ();
   Lookup (Lookup const&);
-  Lookup (Symtables const&);
-  ~Lookup ();
   
   
+  Atom simple_bar (String s, Real w) const;
   Molecule accidental (int, bool cautionary) const;
   Molecule accidental (int, bool cautionary) const;
-  void add (String, Symtable*);
   Atom afm_find (String, bool warn=true) const;
   Atom ball (int) const;
   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 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;
   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;
   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_;
   Atom time_signature (Array<int>) const;
 
   Paper_def * paper_l_;
-  Symtables *symtables_p_;
 
   String font_name_;
   Adobe_font_metric * afm_l_;
 
   String font_name_;
   Adobe_font_metric * afm_l_;
index 2b63cb16049a329fc5e8dedbfcc668993fb7914a..bcad25c6a085e100d7894bd98ceb0d8c6d5ec17d 100644 (file)
@@ -7,6 +7,7 @@
 */
 #ifndef MAIN_HH
 #define MAIN_HH
 */
 #ifndef MAIN_HH
 #define MAIN_HH
+
 #include "lily-proto.hh"
 
 void debug_init();
 #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);
 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;
 void call_constructors ();
 
 extern Sources* source_global_l;
index f498b34f5c4611d5c61db832b49f9d29063fcf83..d78c4286c689b00b589520ea0d4c12543f58a28b 100644 (file)
 #ifndef MARK_ENGRAVER_HH
 #define MARK_ENGRAVER_HH
 
 #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 ();
 {
 public:
   Mark_engraver ();
-
   VIRTUAL_COPY_CONS(Translator);
   VIRTUAL_COPY_CONS(Translator);
-  
-
 protected:
   virtual bool do_try_music (Music *req_l);
   virtual void do_process_requests ();
 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_;
 private:
   Mark_req * mark_req_l_;
-  G_staff_side_item* staff_side_p_;
-  G_text_item* text_p_;
 };
 
 #endif // MARK_ENGRAVER_HH
 };
 
 #endif // MARK_ENGRAVER_HH
index 7907be0ae440c479d588b73aa08716a397c6a800..757a26ac3443b7858f986887bcf7307e3a15ff08 100644 (file)
@@ -23,7 +23,7 @@ struct Molecule {
   Molecule() { }
   Molecule (Atom const &a);
 
   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);
   
   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;
   void add_atom (Atom const & a) ;
   /// how big is #this#? 
   Box extent() const;
-
+  Interval extent (Axis) const;
 
   Molecule (const Molecule&s);
   void print() 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:
   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_;
   
   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);
 };
 
   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  {
 /** 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 {
     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);
 };
   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:
   
 class Note_head : public Rhythmic_head {
 public:
   
-  String note_head_type_str_;
-
   /// position of top line (5 linestaff: 8)
   int position_i_;
 
   /// 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"
 #ifndef PAPER_DEF_HH
 #define PAPER_DEF_HH
 #include "lily-proto.hh"
-
+#include "lily-guile.hh"
 #include "real.hh"
 
 #include "moment.hh"
 #include "real.hh"
 
 #include "moment.hh"
@@ -47,8 +47,8 @@ public:
   
 
   Array<Interval> shape_int_a_;
   
 
   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*);
   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);
 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
 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();
 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_;
 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_;
   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 "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;
 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 (Scope const &);
   ~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 */
 };
 
 #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 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 ();
   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 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
 };
 
 #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();
 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
 
 #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
  */
 
 /**
   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);
 {
 public:
   VIRTUAL_COPY_CONS(Translator);
-  
-
   Staff_margin_engraver ();
   Staff_margin_engraver ();
-
 protected:
   void acknowledge_element (Score_element_info);
 protected:
   void acknowledge_element (Score_element_info);
-  void do_pre_move_processing ();
-
-private:
-  Script * script_p_;
 };
 
 #endif // STAFF_MARGIN_ENGRAVER_HH
 };
 
 #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>
   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
  */
 
 #ifndef TFM_HH
@@ -13,6 +16,7 @@
 #include "string.hh"
 #include "array.hh"
 #include "lily-proto.hh"
 #include "string.hh"
 #include "array.hh"
 #include "lily-proto.hh"
+#include "font-metric.hh"
 
 /* The type.  */
 typedef long Fix;
 
 /* The type.  */
 typedef long Fix;
@@ -121,7 +125,7 @@ struct Tfm_kern
   Real kern;
 };
 
   Real kern;
 };
 
-struct Tex_font_char_metric
+struct Tex_font_char_metric : Character_metric
 {
   bool exists_b_;
   Char_code code_;
 {
   bool exists_b_;
   Char_code code_;
@@ -132,14 +136,18 @@ struct Tex_font_char_metric
 
   String str () const;
   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:
 {
 public:
+  Character_metric *get_char (int, bool) const;
+  
   Tex_font_metric ();
   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
   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_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_;
 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 ();
 
 
   virtual void do_removal_processing ();
index 356e4a51e0ffaebe5de892bb21f4b1eb88553138..4310faac2c3737348e7fc59537fad77743ec5b87 100644 (file)
@@ -4,18 +4,18 @@
   (c)  1997--1998 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
   (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.  */
 
 #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:
 {
 public:
-  Plet_spanner ();
+  Tuplet_spanner ();
  
   void add_column (Note_column*);
   void set_beam (Beam*);
  
   void add_column (Note_column*);
   void set_beam (Beam*);
@@ -36,5 +36,5 @@ protected:
   virtual void do_substitute_dependency (Score_element*,Score_element*);
 };
 
   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_;
   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;
  
 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;
 }
 
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
 }
 
-
-
 void
 Item::do_print() const
 {
 void
 Item::do_print() const
 {
@@ -42,7 +40,7 @@ Item::hpos_f() const
 Line_of_score *
 Item::line_l() 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 ();
   if (!g)
     return 0;
   return dynamic_cast <Score_element *> (g)-> line_l ();
@@ -63,36 +61,63 @@ Item::copy_breakable_items()
   Direction  i=LEFT;
   do 
     {
   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->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;
       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
 }
 
 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();
   copy_breakable_items();
   handle_prebroken_dependencies();
-
+  
   /*
     Otherwise the broken items won't be pre_process()'ed.
   */
   add_dependency (broken_to_drul_[LEFT]);
   /*
     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
 {
 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_;
   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_;
 }
 
   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
  */
 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);
             {
               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);
 
       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);
     }
  
   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()) 
     {
     }
   if (pitch_arr_.size()) 
     {
@@ -124,7 +126,7 @@ Key_item::do_brew_molecule_p() const
                                          Interval (0, paper()->note_width ()),
                                          Interval (0,0))));
       
                                          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;
 }
     }
   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()));
 }
 
   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
 SCM
-ly_set_scm (String name , SCM val)
+ly_set_scm (String name, SCM val)
 {
   return scm_sysintern (name.ch_C(), val);
   
 {
   return scm_sysintern (name.ch_C(), val);
   
@@ -75,3 +81,10 @@ read_lily_scm_file (String fn)
   *mlog << ']' << flush;  
 }
 
   *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 "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);
              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)
     }
 
   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));
     {
       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;
     }
 
   Interval x_int;
index f777dee42aa1a0f0aaf1407ad4c6edd79d9bf550..757cf25535c2980c2b0b5eb137598183bc152018 100644 (file)
@@ -15,7 +15,6 @@
 #include "lookup.hh"
 #include "debug.hh"
 #include "dimensions.hh"
 #include "lookup.hh"
 #include "debug.hh"
 #include "dimensions.hh"
-#include "symtable.hh"
 #include "scalar.hh"
 #include "paper-def.hh"
 #include "string-convert.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 "lily-guile.hh"
 #include "all-fonts.hh"
 #include "afm.hh"
+#include "scope.hh"
+#include "molecule.hh"
 
 SCM
 array_to_list (SCM *a , int l)
 
 SCM
 array_to_list (SCM *a , int l)
@@ -40,30 +41,17 @@ array_to_list (SCM *a , int l)
 Lookup::Lookup ()
 {
   paper_l_ = 0;
 Lookup::Lookup ()
 {
   paper_l_ = 0;
-  symtables_p_ = new Symtables;
   afm_l_ = 0;  
 }
 
 Lookup::Lookup (Lookup const& s)
 {
   font_name_ = s.font_name_;
   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;  
 }
 
   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
 
 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) 
     {
   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;
 }
 
     }
   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_)      
 
 
 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);
 
   
   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_;
     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.lambda_ = gh_list (ly_symbol ("char"),
                       gh_int2scm (m.code ()),
                       SCM_UNDEFINED);
-  a.str_ = "afm_find: " + s;
   a.font_ = font_name_;
   return a;
 }
   a.font_ = font_name_;
   return a;
 }
@@ -123,29 +103,92 @@ Lookup::ball (int j) const
 }
 
 Atom
 }
 
 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
 {
 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 
 }
 
 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);
 
             ly_quote_scm (array_to_list (sc, 4)),
             SCM_UNDEFINED);
 
-  a.str_ = "dashed_slur";
   return a;
 }
 
   return a;
 }
 
@@ -217,20 +259,18 @@ Lookup::dots () const
   return afm_find (String ("dots") + String ("-") + String ("dot"));
 }
 
   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
 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);
                       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;
 }
   a.font_ = font_name_;
   return a;
 }
@@ -251,16 +291,6 @@ Lookup::flag (int j, Direction d) const
   return a;
 }
 
   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
 {
 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");
 
 
   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);
                       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
 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);
                      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;
   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++) 
   DOUT << "\nChars: ";
   
   for (int i = 0; i < text.length_i (); i++) 
@@ -385,16 +417,11 @@ Lookup::text (String style, String text) const
          ;
       else
        {
          ;
       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_;
   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
 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);
                       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;
 }
 
   return s;
 }
 
@@ -422,6 +456,7 @@ Lookup::vbrace (Real &y) const
                       SCM_UNDEFINED
                       );
   a.dim_[Y_AXIS] = Interval (-y/2,y/2);
                       SCM_UNDEFINED
                       );
   a.dim_[Y_AXIS] = Interval (-y/2,y/2);
+  a.dim_[X_AXIS] = Interval (0,0);
   a.font_ = font_name_;
   return a;
 }
   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.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;
   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);
                       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);
   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 "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 "main.hh"
 #include "dimensions.hh"
 #include "g-text-item.hh"
-
-
 #include "engraver.hh"
 #include "array.hh"
 #include "lily-proto.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;
       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));
       
       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 <assert.h>
 #include <locale.h>
 #include "lily-guile.hh"
+#include "lily-version.hh"
 
 #include "all-fonts.hh"
 #include "proto.hh"
 
 #include "all-fonts.hh"
 #include "proto.hh"
@@ -128,8 +129,8 @@ usage ()
     "  -V, --ignore-version   ignore mudela version\n"
     );
   cout  << _ (
     "  -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';
   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
 #ifdef STRING_UTILS_INLINED
     "STRING_UTILS_INLINED "
 #endif
-        "datadir=" DIR_DATADIR
-       "\n"
-        "localedir=" DIR_LOCALEDIR
+    "datadir=" DIR_DATADIR
+    "\n"
+    "localedir=" DIR_LOCALEDIR
 
     "\n";
 
 
     "\n";
 
@@ -157,8 +158,8 @@ about ()
 {
   cout << '\n';
   cout << 
 {
   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';
   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 << _ (
   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 ()
 {
 }
 
 void
 identify ()
 {
-  *mlog << get_version_str () << endl;
+  *mlog << gnu_lilypond_version_str () << endl;
 }
 
 void
 }
 
 void
@@ -234,33 +235,22 @@ setup_paths ()
     global_path.parse_path (env_sz);
 
 
     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++){
   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)
 {
 
 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 ());
   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 ;
   
   int p=0;
   const char *arg ;
@@ -308,13 +298,12 @@ main_prog (int argc, char **argv)
   exit( exit_status_i_);
 }
 
   exit( exit_status_i_);
 }
 
+
 int
 main (int argc, char **argv)
 {
   identify ();
 int
 main (int argc, char **argv)
 {
   identify ();
-  call_constructors ();
   debug_init ();               // should be first
   debug_init ();               // should be first
-
   setup_paths ();
 
   oparser_global_p = new Getopt_long(argc, argv,theopts);
   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>
 */
 
  (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 "command-request.hh"
-#include "time-description.hh"
+#include "mark-engraver.hh"
 #include "engraver-group.hh"
 #include "engraver-group.hh"
-#include "staff-sym.hh"
 #include "g-text-item.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;
 
 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)
 {
 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 ()
 
 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;
 }
 
   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)
 {
 void
 Molecule::translate (Offset o)
 {
@@ -46,16 +55,15 @@ Molecule::add_molecule (Molecule const &m)
 
 
 void
 
 
 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);
   Molecule toadd (m);
-  toadd.translate_axis (offset, a);
+  toadd.translate_axis (offset + d * padding, a);
   add_molecule (toadd);
 }
 
   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;
 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;
 }
   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)
    {
      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;
         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;
      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_;
 {
   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))
     {
     && !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;
     }
 
       mmrest_p_ = 0;
     }
 
-  if (now >= rest_stop_mom_)
+  if (now >= rest_moments_[STOP])
     {
       multi_measure_req_l_ = 0;
       mmrest_p_ = 0;
     {
       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 "dictionary-iter.hh"
 #include "identifier.hh"
 #include "main.hh"
+#include "lily-guile.hh"
 
 int
 Music_output_def::get_next_default_count () const
 
 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_);
   
   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;
     {
       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);
   
   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;
 }
 
   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))
 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))
 
   if (global_translator_dict_p->elem_b (name))
-    return (*global_translator_dict_p)[name];
+    return global_translator_dict_p->elem(name);
 
   return 0;
 }
 
   return 0;
 }
@@ -95,9 +96,12 @@ Music_output_def::print () const
 String
 Music_output_def::get_default_output () 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 "";
     return "";
-  Identifier * id = (*scope_p_) ["output"];
+  Identifier * id = scope_p_->elem (output_sym);
 
   String *p = id->access_content_String (false);
   return p ? *p : String ("");
 
   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_;
 }
 
   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
 {
 void
 Skip_req::do_print () const
 {
@@ -368,9 +340,6 @@ Dynamic_req::loudness_static_str (Loudness l)
 {
   switch (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";
     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 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 FP: return "fp";
     case SF: return "sf";
-    case SFF: return "sff";
     case SFZ: return "sfz";
     case SFZ: return "sfz";
-    case SP: return "sp";
-    case SPP: return "spp";
-    case RFZ: return "rfz";
     }
   return "";
 }
     }
   return "";
 }
index 059ab68dddde627a3199c5c9537fb52f9a2a672c..d7acdd9f79600c13e34614fcf5654a42a3beceef 100644 (file)
@@ -62,9 +62,7 @@ static Keyword_ent the_key_tab[]={
   {"script", SCRIPT},
   {"shape", SHAPE},
   {"skip", SKIP},
   {"script", SCRIPT},
   {"shape", SHAPE},
   {"skip", SKIP},
-  {"table", TABLE},
   {"spandynamic", SPANDYNAMIC},
   {"spandynamic", SPANDYNAMIC},
-  {"symboltables", SYMBOLTABLES},
   {"tempo", TEMPO},
   {"translator", TRANSLATOR},
   {"type", TYPE},
   {"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)
 {
 Identifier*
 My_lily_lexer::lookup_identifier (String s)
 {
+  SCM sym = ly_symbol (s.ch_C());
+  
   for (int i = scope_l_arr_.size (); i--; )
   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;
 }
 
   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));
     }
   
       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()
 }
 
 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;
   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_--;
       // 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])
       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);
     }
 
       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;
   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 ())
          && (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;
       else
         {
          Array<Musical_pitch> pitches;
@@ -333,7 +342,6 @@ My_lily_parser::get_parens_request (int t)
       reqs.push (new Tie_req);
       break;
 
       reqs.push (new Tie_req);
       break;
 
-      /* fall through */
     case '[':
     case ']':
       {
     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;
   
     ? 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);
 
-
-  //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_);
   if (streepjes_i) 
     {
       int dir = sign (position_i_);
index e347d9d96490d9609fed45d8052a4442364de9bb..626881eea545ea2ceeb02e324039d32ffaca00bc 100644 (file)
 #include "paper-outputter.hh"
 #include "paper-stream.hh"
 
 #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*>;
 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*>;
   : 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 ());
   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
 
 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))
 {
   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)
     {
   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;
     }
 
       return 0.0;
     }
 
@@ -83,13 +99,13 @@ Paper_def::line_dimensions_int (int n) const
 Real
 Paper_def::beam_thickness_f () const
 {
 Real
 Paper_def::beam_thickness_f () const
 {
-  return get_var ("beam_thickness");
+SCMVAR(beam_thickness);
 }
 
 Real
 Paper_def::linewidth_f () const
 {
 }
 
 Real
 Paper_def::linewidth_f () const
 {
-  return get_var ("linewidth");
+SCMVAR(linewidth);
 }
 
 Real
 }
 
 Real
@@ -131,49 +147,50 @@ Paper_def::set_lookup (int i, Lookup*l)
   (*lookup_p_tab_p_)[i] = l;
 }
 
   (*lookup_p_tab_p_)[i] = l;
 }
 
+
 Real
 Paper_def::interline_f () const
 {
 Real
 Paper_def::interline_f () const
 {
-  return get_var ("interline");
+  SCMVAR(interline)
 }
 
 Real
 Paper_def::rule_thickness () const
 {
 }
 
 Real
 Paper_def::rule_thickness () const
 {
-  return get_var ("rulethickness");
+  SCMVAR(rulethickness);
 }
 
 Real
 Paper_def::staffline_f () const
 {
 }
 
 Real
 Paper_def::staffline_f () const
 {
-  return get_var ("rulethickness");
+  SCMVAR(rulethickness)
 }
 
 Real
 Paper_def::staffheight_f () const
 {
 }
 
 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)
 }
 
 Real
 Paper_def::interbeam_f (int multiplicity_i) const
 {
   if (multiplicity_i <= 3)
-    return get_var ("interbeam");
+    SCMVAR(interbeam)
   else
   else
-    return get_var ("interbeam4");
+    SCMVAR(interbeam4)
 }
 
 Real
 Paper_def::internote_f () const
 {
 }
 
 Real
 Paper_def::internote_f () const
 {
-  return get_var ("interline") /2.0 ;
+  return interline_f () /2.0 ;
 }
 
 Real
 Paper_def::note_width () const
 {
 }
 
 Real
 Paper_def::note_width () const
 {
-  return get_var ("notewidth");
+SCMVAR(notewidth)
 }
 
 void
 }
 
 void
@@ -185,8 +202,7 @@ Paper_def::print () const
 
   for (Hash_table_iter<int, Lookup*> ai(*lookup_p_tab_p_); ai.ok (); ai++)
     {
 
   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";
     }
 
   DOUT << "}\n";
@@ -215,8 +231,6 @@ Paper_def::reset_default_count()
   default_count_i_ = 0;
 }
 
   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
 {
 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 "main.hh"
 #include "scope.hh"
 #include "identifier.hh"
+#include "lily-version.hh"
 
 Paper_outputter::Paper_outputter (Paper_stream *s)
 {
 
 Paper_outputter::Paper_outputter (Paper_stream *s)
 {
@@ -50,12 +51,13 @@ Paper_outputter::output_header ()
   
   String creator;
   if (no_timestamps_global_b)
   
   String creator;
   if (no_timestamps_global_b)
-    creator = "GNU LilyPond\n";
+    creator = gnu_lilypond_str ();
   else
   else
-    creator = get_version_str ();
+    creator = gnu_lilypond_version_str ();
+  
   String generate;
   if (no_timestamps_global_b)
   String generate;
   if (no_timestamps_global_b)
-    generate = ".";
+    generate = ".\n";
   else
     {
       generate = _ (", at ");
   else
     {
       generate = _ (", at ");
@@ -167,7 +169,7 @@ Paper_outputter::output_scheme (SCM scm)
 void
 Paper_outputter::output_scope (Scope *scope, String prefix)
 {
 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 ()))
        {
     {
       if (dynamic_cast<String_identifier*> (i.val ()))
        {
@@ -197,7 +199,7 @@ Paper_outputter::output_version ()
   if (no_timestamps_global_b)
     id_str += ".";
   else
   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);
 }
 
   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 "scalar.hh"
 #include "translation-property.hh"
 #include "script-def.hh"
-#include "symtable.hh"
 #include "lookup.hh"
 #include "misc.hh"
 #include "my-lily-lexer.hh"
 #include "lookup.hh"
 #include "misc.hh"
 #include "my-lily-lexer.hh"
@@ -47,7 +46,7 @@
 
 // mmm
 Mudela_version oldest_version ("1.0.14");
 
 // 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()
 
 
 // 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;
     Array<Musical_pitch> *pitch_arr;
     Array<String> * strvec;
     Array<int> *intvec;
-    Atom * symbol;
-    Box *box;
     Notename_table *chordmodifiertab;
     Duration *duration;
     General_script_def * script;
     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;
     Scalar *scalar;
     Simultaneous_music *chord;
     String *string;
-    Symtable * symtable;
-    Symtables* symtables;
     Tempo_req *tempo;
     Text_def * textdef;
     Translator* trans;
     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 SHAPE
 %token SKIP
 %token SPANDYNAMIC
-%token SYMBOLTABLES
-%token TABLE
 %token TEMPO
 %token TIME_T
 %token TIMES
 %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 <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 
 %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 <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 <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
 
 %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 <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
 
 %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 '-' '+'
 
 
 %left '-' '+'
@@ -431,9 +418,6 @@ block_identifier:
                $$ = new Midi_def_identifier ($1, MIDI_IDENTIFIER);
 
        }
                $$ = new Midi_def_identifier ($1, MIDI_IDENTIFIER);
 
        }
-       | symtables {
-               $$ = new Symtables_identifier ($1, IDENTIFIER);
-       }
        | translator_spec {
                $$ = new Translator_identifier ($1, TRANS_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;
        }
                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 ';' {
                $$->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;
        }
                        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;
                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:
        ;
 
 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:
                 $$ = 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);
         };
 
                 $$ = THIS->get_chord (*$1, $3, $4, $5, *$2);
         };
 
@@ -1416,12 +1402,9 @@ chord_additions:
        {
                $$ = new Array<Musical_pitch>;
        } 
        {
                $$ = new Array<Musical_pitch>;
        } 
-       | '-' {
-               $$ = new Array<Musical_pitch>;
-       } 
-       | chord_additions chord_addsub {
+       | chord_additions '-' chord_addsub {
                $$ = $1;
                $$ = $1;
-               $$->push (*$2);
+               $$->push (*$3);
        }
        ;
 
        }
        ;
 
@@ -1449,19 +1432,19 @@ notemode_chord_inversion:
        ;
 
 chord_note:
        ;
 
 chord_note:
-       UNSIGNED {
+       unsigned {
                $$ = new Musical_pitch;
                $$->notename_i_ = ($1 - 1) % 7;
                $$->octave_i_ = $1 > 7 ? 1 : 0;
                $$->accidental_i_ = 0;
         } 
                $$ = 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;
        }
                $$ = 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;
                $$ = 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>;
        }
-       | '^' {
-               $$ = new Array<Musical_pitch>;
-       }
-       | chord_subtractions chord_addsub {
+       | chord_subtractions '^' chord_addsub {
                $$ = $1;
                $$ = $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 "performance.hh"
 #include "score.hh"
 #include "file-results.hh"
+#include "lily-version.hh"
 
 Performance::Performance ()
 {
 
 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)
   // perhaps multiple text events?
   String str = String (_("Creator: "));
   if (no_timestamps_global_b)
-    str += "GNU LilyPond\n";
+    str += gnu_lilypond_str ();
   else
   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);
 
   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;
 }
 
   extra_move_left_f_ = 0.0;
 }
 
-Atom
+Molecule
 Piano_brace::get_bar_sym (Real dy) const
 {
   Atom a = lookup_l ()->vbrace (dy);
 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 ()
 {
 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]);
 }
 
   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 ();
 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*>
   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)))
       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)
          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;
        }
     }
   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;
       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 ();
 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])
        {
       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);
        }
     }
          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))
   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;
         {
          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
 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)
        {
     {
       if (ai.val()->init_b_ == init_b)
        {
@@ -28,7 +28,7 @@ Scope::print () const
 
 Scope::~Scope ()
 {
 
 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 ();
     {
       DOUT << "deleting: " << ai.key() << '\n';
       delete ai.val ();
@@ -36,15 +36,64 @@ Scope::~Scope ()
 }
 
 Scope::Scope (Scope const&s)
 }
 
 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 ()
 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"
 
 
 #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]);
 }
 
       substitute_dependency (old_arr[i], new_arr[i]);
 }
 
+void
+Score_element::handle_prebroken_dependents()
+{
+}
+
 
 void
 Score_element::junk_links ()
 
 void
 Score_element::junk_links ()
index 264ed283a58a2a4c79adecc476deff9ad724e60f..a23e06a157ea89dcb7777459935d25f13681977c 100644 (file)
@@ -16,6 +16,7 @@
 
 Score_priority_engraver::Score_priority_engraver()
 {
 
 Score_priority_engraver::Score_priority_engraver()
 {
+  align_p_tab_.hash_func_ = int_hash;
 }
 
 void
 }
 
 void
index 5ac2645737c1bc777e6151c33827ab4be53e3922..8ed0c3b163ff3ca97e90d5f28e88c553d7cf1af9 100644 (file)
@@ -17,6 +17,7 @@
 #include "file-results.hh"
 #include "my-lily-parser.hh"
 #include "source.hh"
 #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;
 
 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));
 
   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] + " ";
   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];
   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));
     }
 
       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
 {
 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
 }
 
 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)
 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));
     }
 
       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;
 }
   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()
 
 void
 Span_score_bar::do_pre_processing()
index 9a6fcb660fd7c7bbd8b36e52030528f8b5e932d0..2e1bd73419b45587245fff8484548be51642116f 100644 (file)
 #include "lookup.hh"
 #include "main.hh"
 
 #include "lookup.hh"
 #include "main.hh"
 
-Atom
+Molecule
 Staff_bracket::get_bar_sym (Real dy) const
 {
   Atom a = lookup_l ()->vbracket (dy);
 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);
   a.translate_axis (- 1.33 * a.extent ().x ().length (), X_AXIS);
-  return a;
+  return Molecule (a);
 }
 
 Interval
 }
 
 Interval
index 4caa9650397427a2fb69b6cf44b4a636ed86a146..4a24e656a52dda1544eb3901e14ab27a69046d12 100644 (file)
@@ -7,20 +7,18 @@
 */
 
 #include "staff-margin-engraver.hh"
 */
 
 #include "staff-margin-engraver.hh"
-#include "script.hh"
-#include "text-def.hh"
-#include "paper-def.hh"
-#include "command-request.hh"
 #include "bar.hh"
 #include "bar.hh"
-#include "stem.hh"
 #include "time-description.hh"
 #include "time-description.hh"
-
+#include "g-text-item.hh"
 
 ADD_THIS_TRANSLATOR (Staff_margin_engraver);
 
 Staff_margin_engraver::Staff_margin_engraver ()
 {
 
 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)
 {
 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;
 
     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 = get_property ("instr", 0);
   if (now_moment () > Moment (0))
-    string = str;
+    long_str = str;
 
 
-  if (!string.length_i ())
+  if (!long_str.empty_b ())
     return;
 
     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];
   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"),
   
   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,
   ORPHAN=0,                    // not yet added to pstaff
   VIRGIN,                      // added to pstaff
   PREBROKEN,
+  PREBROKEN_SECOND,
   PRECALCING,
   PRECALCED,           // calcs before spacing done
   SPACING,
   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);
 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
 }
 
 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
   text-item.cc -- implement Text_item
 
   source file of the GNU LilyPond music typesetter
-
+  
   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-
+#if 0
 #include "musical-request.hh"
 #include "paper-def.hh"
 #include "text-item.hh"
 #include "musical-request.hh"
 #include "paper-def.hh"
 #include "text-item.hh"
@@ -15,6 +15,7 @@
 #include "lookup.hh"
 #include "debug.hh"
 
 #include "lookup.hh"
 #include "debug.hh"
 
+
 Text_item::Text_item (General_script_def* tdef_l, Direction d) 
 {
   dir_ = d;
 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
 
 
 #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 ()
 {
 
 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
 {
 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));
       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;
            }
              time_.whole_in_measure_ = 0; // resync
              time_.error_b_ = true;
            }
-
        }
       else if (Cadenza_req *cr = dynamic_cast <Cadenza_req *> (tr_l))
        {
        }
       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++)
     {
   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;
       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
 
 
   source file of the GNU LilyPond music typesetter
 
@@ -21,7 +21,7 @@
 #include "text-def.hh"
 #include "note-column.hh"
 
 #include "text-def.hh"
 #include "note-column.hh"
 
-Plet_spanner::Plet_spanner ()
+Tuplet_spanner::Tuplet_spanner ()
 {
   beam_l_ =0;
   bracket_visibility_b_ = true;
 {
   beam_l_ =0;
   bracket_visibility_b_ = true;
@@ -33,7 +33,7 @@ Plet_spanner::Plet_spanner ()
 }
 
 Molecule*
 }
 
 Molecule*
-Plet_spanner::do_brew_molecule_p () const
+Tuplet_spanner::do_brew_molecule_p () const
 {
   Molecule* mol_p = new Molecule;
 
 {
   Molecule* mol_p = new Molecule;
 
@@ -64,7 +64,7 @@ Plet_spanner::do_brew_molecule_p () const
 }
   
 void
 }
   
 void
-Plet_spanner::do_add_processing ()
+Tuplet_spanner::do_add_processing ()
 {
   if (column_arr_.size ())
     {
 {
   if (column_arr_.size ())
     {
@@ -74,7 +74,7 @@ Plet_spanner::do_add_processing ()
 }
   
 void
 }
   
 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);
 {
   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
 }
 
 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));
 {
   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);
     }
 }
        beam_l_ = dynamic_cast<Beam*> (n);
     }
 }
-  
+
 void
 void
-Plet_spanner::set_default_dir ()
+Tuplet_spanner::set_default_dir ()
 {
   dir_ = UP;
   for (int i=0; i < column_arr_.size (); i ++) 
 {
   dir_ = UP;
   for (int i=0; i < column_arr_.size (); i ++) 
@@ -115,14 +115,14 @@ Plet_spanner::set_default_dir ()
 }
 
 void
 }
 
 void
-Plet_spanner::set_beam (Beam *b)
+Tuplet_spanner::set_beam (Beam *b)
 {
   beam_l_ = b;
   add_dependency (b);
 }
 
 void
 {
   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);
 {
   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 "lookup.hh"
 #include "molecule.hh"
 #include "note-column.hh"
-#include "p-col.hh" // urg
-#include "bar.hh"
 #include "p-col.hh"
 #include "p-col.hh"
+#include "bar.hh"
 #include "paper-def.hh"
 #include "volta-spanner.hh"
 #include "stem.hh"
 #include "text-def.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;
 
 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);
   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 (!column_arr_.size ())
     return mol_p;
 
+  if (!visible_b_)
+    return mol_p;
+
   Real internote_f = paper ()->internote_f ();
   Real dx = internote_f;
   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));
   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->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;
 }
   
   return mol_p;
 }
   
@@ -75,12 +82,9 @@ Volta_spanner::do_add_processing ()
   if (column_arr_.size ())
     {
       set_bounds (LEFT, column_arr_[0]);
   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";
   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 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
 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
 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/
 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
 Copi-eer voorwaarden: GPL
 End
index e75b2cef3e33461221586f9fb62af35933adbed6..ad9601aeb722f3e0ef51791e48da36293f684a0a 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
 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
 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
        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/
 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
 Copying-policy: GPL
 End
index 553585de9f9192015a94c31d9333fa2c170247f8..1ae0955c19b96041cc629d7c8609751b23ae036a 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
 Name: lilypond
-Version: 1.1.23
+Version: 1.1.24
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
 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>
 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 \
 # 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
 #
 
        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))
 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
 XPM_FONTS = feta20
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) 
 
 ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES)
 
 
 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;
 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#;
 %      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;
 %      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;
        penpos8(thick, 225);
 
 %      1.5 noteheight = head_width;
-       z1l = (0, 0);
+       z1l = (schuif_op, 0);
        z2l = z1l;
        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;
        z4l = z3l;
-       z5l = (head_width, 0);
+       z5l = (schuif_op + head_width, 0);
        z6l = z5l;
        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;
        z8l = z7l;
        
        pickup pencircle; %scaled stemthick;
@@ -319,7 +319,7 @@ fet_endchar;
 fet_beginchar("Harmonic ledger", "harmonicl", "harmonicledger")
         draw_ledger(harmonic_wid#);
 fet_endchar;
 fet_beginchar("Harmonic ledger", "harmonicl", "harmonicledger")
         draw_ledger(harmonic_wid#);
 fet_endchar;
-%fi
+fi
 
 fet_endgroup("balls");
 
 
 fet_endgroup("balls");
 
index da7335ddf75b2570c97d46b4de34ce8ea1216bbf..12b1b1f3ec2a5d75e16cd54ac0c29caa521957ce 100644 (file)
@@ -93,6 +93,38 @@ Mudela_key::notename_str (int pitch_i)
       notename_str += "es";
   accidental_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;
   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  (mudela_staff_p_list_.size() > 1)
     mudela_stream << ">\n";
 
+#if 0
   mudela_stream << "\\paper{}\n";
   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
 
   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...
        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
        %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 | 
        [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 = ../..
 
 
 depth = ../..
 
-examples=
+examples=sonata-k3-l378
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make
 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 {
 %}
 
 \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 {
 \notes {
-\type GrandStaff = staffAll <
 \type Staff = staffOne <
 \type Staff = staffOne <
-\property Voice.pletvisibility = 0
+\property Staff.nolines=11
 \keysignature bes;
 \time 4/4;
 \keysignature bes;
 \time 4/4;
-\clef treble;
+\clef alto;
 \type Voice = vOne <
 {
 % 1
 \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
 % 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
 % 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
 % 4
-[e'8 e'] [e' e'] f f'' f''4^\prall |
+[e'8 e'] [e' e'] f \stemup f'' f''4^\prall~
 % 5
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 } {
 s1 s
 % 3
@@ -124,9 +134,9 @@ s2 s8 a' a' a' |
 % 25
 s8 f' d' s s2 |
 % 26
 % 25
 s8 f' d' s s2 |
 % 26
-s2 d''4 s |
+\stemup s2 d''4 s |
 % 27
 % 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
 % 28
 s8 f'' s e'' s2 |
 % 29
@@ -135,30 +145,28 @@ s8 f'' s cis''
 \type Voice = vTwo <
 {s1 s s s s
 %6
 \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
 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
 %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
 \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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 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
 % 22
-[e8 e,] [e, e,] a, a'' a''4^\prall^"\\textflat" |
+[e8 e,] [e, e,] a, \stemup a'' a''4^\prall^"\\textflat"~ |
 % 23
 % 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
 % 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
 % 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
 % 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
 % 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
 % 30
-[a8 g] [a a,] d4 s8 bes' |
+[a8 g] [a a,] d4 s8 \stemup bes' |
 % 31
 % 31
-[a'8 g'] [f'16 a f a] s2 |
+[a'8 g'] f'16 \stemdown [a f a] s2 |
 } {
 s1 s
 % 3
 } {
 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' |
 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 |
 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
 % 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
 %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. |
 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
 %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;}}
 }
 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>] |
 %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
 %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>]
                 |
                 <[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>]
 %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 "|.";
 %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 ] 
                )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
 %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 ]
                )b4 [d,8.( d16] )c'4-. [d,8. d16] |
 %29
                d'4-. d,-. d'-. [d,8.( d16 ]
-               \bar ":|";
+               }
 %30
                )g2 r2 \bar "|.";
 
 %30
                )g2 r2 \bar "|.";
 
@@ -206,7 +206,7 @@ tune=\notes  \relative c''  {
               \property Voice.dynamicdir = "1"
 
               r1 | r1 |r1 | r1 |
               \property Voice.dynamicdir = "1"
 
               r1 | r1 |r1 | r1 |
-              \bar "|:";
+               \repeat 2 {
 %5
                b2. g4 |
 %6
 %5
                b2. g4 |
 %6
@@ -255,7 +255,7 @@ tune=\notes  \relative c''  {
                \! g2 r2 |
 %27
                r1 | r1 | r1
                \! g2 r2 |
 %27
                r1 | r1 | r1
-                \bar ":|";
+               }
                r1 \bar "|.";
 }
 
                r1 \bar "|.";
 }
 
index 9a2952a51260f45abd38d0b2784559c665552585..13cb1b548be3ff866f6b436bbdc5b7047261e35c 100644 (file)
@@ -2,7 +2,7 @@
 
 depth = ..
 
 
 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
 
 examples= gallina
 LOCALSTEPMAKE_TEMPLATES=mutopia
index 274263993a991c699816a5950b3afa4baecfc535..2b1d22055e4c8bcdabe1d617e56f1df0a80beaa2 100644 (file)
@@ -14,83 +14,81 @@ copyright =  "public domain";
 
 \version "1.0.14";
 
 
 \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...
 % 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...
 % 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
        % 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"; 
        \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?
        \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
        \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 "|.";
 }
 
        <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 |
        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, |
        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 "|.";
 }
 
        >
        <c,1 c,>
        \bar "|.";
 }
 
-global  = \notes{
+global = \notes{
        \time 4/4;
 }
 
        \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{
 \score{
-        % Moderato
-       \grand_staff
-%      \include "preludes-paper.ly";
+       % Moderato
+       \type GrandStaff <
+               \type Staff = upper <
+                       \global
+                       \upper
+               >
+               \type Staff = lower <
+                       \global
+                       \clef "bass";
+                       \lower
+               >
+       >
        \paper{
        \paper{
+               \include "preludes-paper.ly";
                % no slur damping
                slur_slope_damping = 10.0;
                % no slur damping
                slur_slope_damping = 10.0;
-       %       linewidth= 193.\mm;
-               linewidth= 180.\mm;
                gourlay_maxmeasures = 4.0;
                \translator{ 
                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; }
                }
        }
        \midi{ \tempo 4 = 80; }
index 13ed9b83e0f22ab9d8b911c255a70750cc53e7b1..d8bf07e30026ddd8f1bbee9fae224e4ff216cc65 100644 (file)
@@ -11,84 +11,86 @@ copyright =  "public domain";
 }
 
 \version "1.0.14";
 }
 
 \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( |
        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
        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 "|.";
 }
 
        \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( |
        )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, |
        )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" ~ |
        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 "|.";
 }
        <c1 c,1>
        \bar "|.";
 }
@@ -97,30 +99,29 @@ global = \notes{
        \time 4/4;
 }
 
        \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{
 \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";
        \midi{ \tempo 4 = 100; }
        \header {
                opus = "BWV 939";
index 302a8adfb9271de5914145470a6a9b13b47a9185..6da0ff5e84eed5ee4b25eab2fbfe68e17617b067 100644 (file)
@@ -20,8 +20,9 @@ copyright =    "public domain";
 \version "1.0.14";
 
 
 \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 ^(@ ^@ ^)@)
 %#     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.")
 
 
 %#     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(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)
 
        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.")
        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(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)
        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 "|.";
 }
 
        \bar "|.";
 }
 
-two = \notes{
-       \clef bass;
+lower = \type Staff \notes{
        % c4 r [g8-.(\ped )es-.\*] |
        c4 r [g8-.( )es-.] |
        c4 r [g8-.( )es-.] |
        % c4 r [g8-.(\ped )es-.\*] |
        c4 r [g8-.( )es-.] |
        c4 r [g8-.( )es-.] |
@@ -145,35 +149,27 @@ two = \notes{
 }
 
 global  = \notes{
 }
 
 global  = \notes{
-       \meter 3/4;
+       \time 3/4;
        \key es;
 }
 
        \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
 \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";
        \midi{ \tempo 4 = 100; }
        \header{
                opus =  "BWV 999";
index 4301782d53f6687b739cf737153e8428e9188082..88b12333034c33d18207cf0da67e30f4efc2f235 100644 (file)
 \header{
 \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
 % 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";
 
 }
 \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
        \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
        %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
        \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
        \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
        \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
        %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 "|.";
 }
 
        \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
        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
        cis8
-       \translator Staff=bass \stemup
-       a,8 ~ [a d] ~ d d4-> cis8 | 
+       \translator Staff=lower \stemup
+       a,8 ~ a d ~ d d4-> cis8 | 
        d8
        d8
-       \translator Staff=treble \stemdown
+       \translator Staff=upper \stemdown
        d'4-> cis8-1 ~ cis b4-1 b8 |
        %5
        r8 a4 a8
        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
        %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
        \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
        %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'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{
        \bar "|.";
 }
 
 three = \notes\relative c{
-%      \stemdown 
+       \type Voice=iii
+       \stemdown 
        d4-3 c-4 b e-3 |
        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 |
        )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
        %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
        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
        %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
        \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
        %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
        \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
        \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;
        \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
        %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 ~ | 
        %15
        \stemdown
        d1 ~ | 
@@ -170,35 +182,42 @@ four = \notes\relative c{
        d2 d2
 }
 
        d2 d2
 }
 
-global  = \notes{
+global = \notes{
        \time 4/4;
        \key D;
 }
 
        \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{
 \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";
        \midi{ \tempo 4 = 70; }
        \header{
                opus = "BWV 925";
index 9238f1324b8efc2678b1591e707c8371ea84fa7c..7f7c3b03ffdd8f9a879a88abd8055ffc09b19831 100644 (file)
 \header{
 \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
 % 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";
 
 
 }
 \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
        %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
        %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
                        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
        %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
        %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
                        % ... 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
        %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
        %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
        %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
 % 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 
        <
                {
        <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
        %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 "|.";
 }
 
 
        > |
        \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 |
        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'-\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 |
        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 |
        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 |
        g4-\mordent^"(\\textsharp)" r r8 f!8 |
-       \property Voice . textstyle =  "italic"
+       \property Voice . textstyle = "italic"
        e4-\prall r r |
        f4-\mordent r r8 e |
        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, |
        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
        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
        \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
        [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 |
        \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, |
        )d4-3 d'-1 d, |
        d r r |
        d,( )d' d, |
@@ -186,36 +184,35 @@ global = \notes{
        \key F;
 }
 
        \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{
 \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";
        \midi{ \tempo 4 = 90; }
        \header{
                piece = "5";
index cb9168062a993e7e79497654ee2e45141530df70..1a11dcfc489683bee2a8dc13b5ff2850dbd39811 100644 (file)
@@ -1,69 +1,73 @@
 \header{
 \header{
-filename =      "preludes-6.ly";
+filename =     "preludes-6.ly";
 % blz 11
 % Six Petits Preludes
 % Collection Johann Peter Kellner
 % ca 1703 - 1707
 % 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";
 
 
 }
 \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
        \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
        \stemup
-       )cis4\> ~ [cis16 a \!d8 ~] d4 c-5 |
+       )cis4\> ~ cis16 a \!d8 ~ d4 c-5 |
        %5
        b2-4 ~ b4 a-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
        %10
-       \!)d1-5
+       )d1-5
        \bar "|.";
 }
 
        \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 |
        \stemdown
        )f2 e2 |
-       \translator Staff=bass \stemup
+       \translator Staff=lower \stemup
        r4 a,-1 bes-2 b-1 |
        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
        %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
 }
 
        %10
        fis1-2
 }
 
-three = \notes\relative c{
+three = \type Staff \notes\relative c{
+       \type Voice=iii
        \stemup
        f2-1( e-2 |
        \stemboth
        \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 |
        )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
        %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
        \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 |
        )bes!2-"5\\_4" a ~ |
        a a |
        d, cis'-5 |
@@ -72,20 +76,21 @@ three = \notes\relative c{
        \bar "|.";
 }
 
        \bar "|.";
 }
 
-four = \notes\relative c{
+four = \type Staff \notes\relative c{
+       \type Voice=iv
        \stemdown 
        d2-3 cis-4 |
        \skip 1*3; |
        %5
        \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;
        \skip 4*1;
-       \translator Staff=bass \stemdown \property Voice.hshift = 0 
+       \translator Staff=lower \stemdown \property Voice.hshift = 0 
        \stemup
        b2-1 a-1 |
        \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
        %10
        \stemdown
        d,1-5
@@ -96,34 +101,38 @@ global = \notes{
        \key F;
 }
 
        \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{
 \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";
        \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;
 allemande_cello_global = \notes{
        \time 4/4;
        \key f;
-       \partial 16;
        \clef bass;
        \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{
 }
 
 allemande_cello_scripts = \notes{
@@ -42,9 +49,31 @@ allemande_cello_staff = \type Staff <
 >
 
 \score{
 >
 
 \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"; }
 }
        \midi{ \tempo 4 = 45; }
        \header{ piece = "Allemande"; }
 }
-
index e0d35b837dd1d35ff8fad219f133365c2ab7faaf..401eccfdc4926acb9c95f8fce458b1fa99085fae 100644 (file)
@@ -11,64 +11,67 @@ n = { \slurnormal }
 d = { \slurdotted }
 comma = "\\sethuge\\ \\ ,"
 
 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
        %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
        % 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
        %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
        %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
        % 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
        %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
        %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
        %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
        %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
        %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
        %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
        %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
        % 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 {
 }
 
 allemande_b = \notes \relative c {
-       \voicetwo
+       \type Voice=ii
+       \stemdown
        s16 |
        % <d'8 g' f'> s8 s2. |
        <f8 g, d> s8 s2. |
        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 |
        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 |
        %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. 
        <cis'8 g,> s8 s2. |
        %15
        s1*3 |
        s2 c,8 s8 s4 |
        s2 g8. s16 s4 |
        bes8. 
+%      }
 }
 
 allemande = \type Staff \notes<
 }
 
 allemande = \type Staff \notes<
@@ -98,3 +103,4 @@ allemande = \type Staff \notes<
        \$allemande_b
 >
 
        \$allemande_b
 >
 
+
index c7c11ed713bb6fa2006370fccdae395b89ca92b8..f308a206129ba4f3970bf4ac99857346341ee365 100644 (file)
@@ -22,14 +22,21 @@ copyright =  "public domain";
 allemande_viola_global = \notes{
        \time 4/4;
        \key f;
 allemande_viola_global = \notes{
        \time 4/4;
        \key f;
-       \partial 16;
        \clef alto;
        \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{
 }
 
 allemande_viola_scripts = \notes{
@@ -43,7 +50,19 @@ allemande_viola_staff = \type Staff <
 
 \score{
        \$allemande_viola_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"; }
 }
        \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;
 courante_cello_global = \notes{
        \time 3/4;
        \key f;
-       \partial 16;
        \clef bass;
        \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{
 }
 
 courante_cello_scripts = \notes{
@@ -43,7 +51,20 @@ courante_cello_staff = \type Staff <
 
 \score{
        \$courante_cello_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"; }
 }
        \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 }
 
 n = { \slurnormal }
 d = { \slurdotted }
 
-courante_a = \notes \relative c {
+courante_a = \type Staff \notes \relative c {
+       \type Voice=i
        d'16 |
        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!
        % 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
        %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
        %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
        %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
        %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
        %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
        %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
        %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
        %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
        %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 {
        d,8.
 }
 
 courante_b = \notes \relative c {
-       \voicetwo
+       \type Voice=ii
        \stemdown
        s16 |
        s2. |
        %2
        \stemdown
        s16 |
        s2. |
        %2
-       \n cis4 ~ [cis16 d e f] s4 |
+       \n cis4 ~ cis16 d e f s4 |
        s2.*3 |
        %6
        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
        %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
        bes4 s s
+       s2.*9
+       s2 s8.
 }
 
 }
 
-courante =  \type Staff \notes<
+courante = \type Staff \notes<
  \$courante_a
  \$courante_b
 >
  \$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;
 courante_viola_global = \notes{
        \time 3/4;
        \key f;
-       \partial 16;
        \clef alto;
        \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{
 }
 
 courante_viola_scripts = \notes{
@@ -43,7 +51,20 @@ courante_viola_staff = \type Staff <
 
 \score{
        \$courante_viola_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"; }
 }
        \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;
        \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{
 }
 
 gigue_cello_scripts = \notes{
@@ -43,7 +49,19 @@ gigue_cello_staff = \type Staff <
 
 \score{
        \$gigue_cello_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"; }
 }
        \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
 % 
 
 % * 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 |
        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
        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 |
        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 |
        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 |
        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?
        %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?
        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 
        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 |
        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 | 
        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
        %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
 }
 
        d4
 }
 
-gigue_b = \notes \relative c {
-       \voicetwo 
+gigue_b = \type Staff \notes \relative c {
+       \type Voice=ii
+       \stemdown
        s8
        s4.*14
        s8
        s4.*14
-       a4. | s d | [d8 g, d'] | e4. | [f8 f, f'] |
+       a4. | s d | d8 g, d' | e4. | f8 f, f' |
        %21
        %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 
        % 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
        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'>
 }
 
        %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_a = \type Voice \notes<
        \$gigue_notes
-       \$gigue_beams
 >
 
 gigue = \notes<
 >
 
 gigue = \notes<
index 9444fda5549eabfffea95f443cbebcd12c59fa37..b52a1c798f88175cdcaed1f7b91fe5ae6f2be304 100644 (file)
@@ -1,5 +1,5 @@
 \header{
 \header{
-filename =      "gigue-cello.ly";
+filename =      "gigue-viola.ly";
 title =         "Solo Cello Suites";
 subtitle = "Suite II";
 % piece = "Gigue";
 title =         "Solo Cello Suites";
 subtitle = "Suite II";
 % piece = "Gigue";
@@ -19,32 +19,49 @@ copyright =  "public domain";
 
 \include "gigue-urtext.ly";
 
 
 \include "gigue-urtext.ly";
 
-gigue_cello_global = \notes{
+gigue_viola_global = \notes{
        \time 3/8;
        \key f;
        \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
        \notes \transpose c' \$gigue
-       \$gigue_cello_global
-       \$gigue_cello_scripts
+       \$gigue_viola_global
+       \$gigue_viola_scripts
 >
 
 \score{
 >
 
 \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"; }
 }
        \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;
        \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{
 }
 
 menuetto_i_cello_scripts = \notes{
+       \type Voice=i
        s2.
        s8^"~"^1_2_4 s8 s4 s^4
        s4^0_1 s_4 s
        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
 
 \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"; }
 }
        \midi{ \tempo 4 = 110; }
        \header{ piece = "Menuetto I"; }
 }
@@ -70,13 +83,15 @@ menuetto_ii_cello_global = \notes{
        \time 3/4;
        \key D;
        \clef bass;
        \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 <
 }
 
 menuetto_ii_cello_staff = \type Staff <
@@ -87,7 +102,18 @@ menuetto_ii_cello_staff = \type Staff <
 
 \score{
        \$menuetto_ii_cello_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"; }
 }
        \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).
 %}
 
 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 |
        <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,> |
        %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
        \slurdotted
-       [e8( d cis )e a,()g] |
+       e8( d cis )e a,()g |
        a4 ~ d cis |
        a4 ~ d cis |
-       [g'8( f e )f d() c] |
+       g'8( f e )f d() c |
        %13
        bes2 c4 |
        %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 |
        <a2^\trill fis> bes4 |
-       [c8 bes c a] fis4^\trill |
+       c8 bes c a fis4^\trill |
        %19
 % dispute
        %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 |
        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,> |
 }
 
        <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; |
        \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; |
        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; |
        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 |
 %      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{
 }
 
 % 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 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 4*1;
-       \skip 2.*4; \onevoice
+       \skip 2.*4; \stemboth
        \skip 2.*1;
        \skip 2.*1;
-%      \bar "|.";
 }
 
 menuetto_i_a_voice_urg_urg = \notes<
 }
 
 menuetto_i_a_voice_urg_urg = \notes<
@@ -95,9 +100,10 @@ menuetto_i_a_voice_urg_urg = \notes<
 >
 
 menuetto_i_b_voice_urg = \notes{
 >
 
 menuetto_i_b_voice_urg = \notes{
-       \voicetwo
+       \type Voice=ii
+       \stemdown
        % urg urg, huh?
        % urg urg, huh?
-       \skip 2.*8; \voicetwo
+       \skip 2.*8; \stemdown
 }
 
 menuetto_i_b_voice_urg_urg = \notes<
 }
 
 menuetto_i_b_voice_urg_urg = \notes<
@@ -110,42 +116,43 @@ menuetto_i = \type Staff \notes<
        { \$menuetto_i_b_voice_urg_urg }
 >
 
        { \$menuetto_i_b_voice_urg_urg }
 >
 
-menuetto_ii = \notes \relative c {
+menuetto_ii = \type Staff\notes \relative c {
+       \type Voice=i
        \slurdotted
        \slurdotted
-       fis4^\trill [d8( e fis )g] |
+       fis4^\trill d8( e fis )g |
        a4 fis, a' |
        a4 fis, a' |
-       [g,8()b] e4 g |
+       g,8()b e4 g |
        \slurnormal
        \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.
        % 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
        %7
-       [cis d] g4 [fis8( g16 )a] |
+       cis d g4 fis8( g16 )a |
        <\stemdown a,2. \stemup e'> |
        \stemboth
        <\stemdown a,2. \stemup e'> |
        \stemboth
-       cis4^\prall [e8( d cis )b] |
+       cis4^\prall e8( d cis )b |
        cis4 g, cis' |
        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
        \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
        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
        \slurdotted
-       cis4^\trill [a8( b cis )d] |
+       cis4^\trill a8( b cis )d |
        \slurnormal
        \slurnormal
-       [e( fis g )b] a4 |
-       [g8()fis e()d e()cis] |
+       e( fis g )b a4 |
+       g8()fis e()d e()cis |
        d2.
 }
 
        d2.
 }
 
index c00d23402e749026916649ee66b405b016f29d9d..36bd3e082c385af262f63b625619d6d58a96624c 100644 (file)
@@ -25,19 +25,21 @@ menuetto_i_viola_global = \notes{
        \time 3/4;
        \key f;
        \clef alto;
        \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{
 }
 
 menuetto_i_viola_scripts = \notes{
+       \type Voice=i
        s2.
        s8^"~"^1_2_4 s8*5
        s2.*5
        s2.
        s8^"~"^1_2_4 s8*5
        s2.*5
@@ -60,7 +62,17 @@ menuetto_i_viola_staff = \type Staff <
 
 \score{
        \$menuetto_i_viola_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"; }
 }
        \midi{ \tempo 4 = 110; }
        \header{ piece = "Menuetto I"; }
 }
@@ -69,13 +81,14 @@ menuetto_ii_viola_global = \notes{
        \time 3/4;
        \key D;
        \clef alto;
        \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 <
 }
 
 menuetto_ii_viola_staff = \type Staff <
@@ -86,7 +99,17 @@ menuetto_ii_viola_staff = \type Staff <
 
 \score{
        \$menuetto_ii_viola_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"; }
 }
        \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
 
 \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"; }        
 }
        \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 .
 %}
 
 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 |
        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 |
        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
        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
        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, |
        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 {
 }
 
 prelude_b = \notes \relative c {
-       \voicetwo 
+       \type Voice=ii
+       \stemdown
        s2.*47
        %48
        g4 s2 |
        s2.*47
        %48
        g4 s2 |
@@ -101,86 +101,6 @@ prelude_b = \notes \relative c {
        a'2. a a a <a d,>
 }
 
        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 }
 %{
 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
 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 |
        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 }
 
 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. |
        \slurdotted
        s2. |
        s2. |
@@ -351,14 +269,13 @@ prelude_suggested_slurs = \type Voice = prelude \notes{
        \$fig3 s2 |
 }
 
        \$fig3 s2 |
 }
 
-prelude_a = \type Voice \notes<
+prelude_a = \notes<
        \$prelude_notes
        \$prelude_notes
-       \$prelude_beams
        \$prelude_slurs
        \$prelude_suggested_slurs
 >
 
        \$prelude_slurs
        \$prelude_suggested_slurs
 >
 
-prelude = \notes<
+prelude = \type Staff \notes<
        \$prelude_a
        \$prelude_b
 >
        \$prelude_a
        \$prelude_b
 >
index f2f4e72d43c7be3bd128b3be0bc6c049a8b8a19f..542888a99bd89a8d591f6a4a61f6fc969403b287 100644 (file)
@@ -38,7 +38,10 @@ prelude_viola_staff = \type Staff <
 
 \score{
        \$prelude_viola_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"; }
 }
        \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;
        \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{
 }
 
 sarabande_cello_scripts = \notes{
@@ -40,7 +41,20 @@ sarabande_cello_staff = \type Staff <
 
 \score{
        \$sarabande_cello_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"; }
 }
        \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 }
 
 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
        % 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
        %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
        %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
        % 11
-       \onevoice \d [e,8()f][c, g'][f'()e] |
+       \stemboth \d e,8()f c, g' f'()e |
        f4 f,2 |
        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
        %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
        %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
        %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 |
 }
 
        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
 % dispute
 %      d4 a2 |
 %      this avoids the clash bug
@@ -66,24 +65,25 @@ sarabande_b = \notes \relative c {
        <a4. d,> s8*3 |
        s2. |
        % 8
        <a4. d,> s8*3 |
        s2. |
        % 8
-       <g4. c,> s8*3  |
+       <g4. c,> s8*3 |
        a4 <bes4. d> r8 |
        %10
        bes4 <g2 f'> |
        s2.*2 |
        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 s2 |
        %15
        s2. |
-       <d4. g,> s8*3  |
+       <d4. g,> s8*3 |
        s2.*4 |
        %21
        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 |
        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;
        \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{
 }
 
 sarabande_viola_scripts = \notes{
@@ -40,7 +41,20 @@ sarabande_viola_staff = \type Staff <
 
 \score{
        \$sarabande_viola_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"; }
 }
        \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";
 %}
 
 \version "1.0.14";
@@ -31,91 +36,91 @@ dux = \type Voice=two \notes \relative c''{
 
   \property Voice.ydirection = "-1"
   
 
   \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
 %%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 
   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
 %%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
 %%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 |
 %%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
 %%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> |
 }
 
 
   <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 |
   \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
 %%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 
 %%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
 %%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
 %%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
 %%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
 %%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 |
 %%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
 %%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
 %%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
 %%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 <
 %%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 < 
 \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";
 \header{
 filename="Sinfonia.ly";
 title="Sinfonia";
@@ -6,7 +34,6 @@ composer="Leopold Mozart";
 arranger="(1719-1787)";
 copyright="public domain";
 enteredby="Maarten Storm";
 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*5 \break
         s2*5 \break
         s2*5 \break
        s2*4 \break
        s2*5 \bar ":|";
         s2*5 \break
         s2*5 \break
        s2*4 \break
        s2*5 \bar ":|";
-
 %fine
 }
 
 %fine
 }
 
@@ -47,27 +74,17 @@ tempi = \notes{
 }
 
 dynamics = \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";
 }
 
 
 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     
 %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    
        [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 |
        [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    
 %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    
 %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
 %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
 %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 
 %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
 %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
 %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 |
 %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    
 %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
 %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'! |
 %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 | 
 %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  
 
 }
 %fine  
 
 }
@@ -158,10 +162,10 @@ violinoi = \notes \relative c'{
 violinoii = \notes \relative c'{
        \type Voice=i
        \clef "violin";
 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
 %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    
        [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 |
         [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
 %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   
 %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
 %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
 %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
 %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
 %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
 %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 |
 %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
 %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
 %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'! |
 %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 |
 %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
 
 }
 %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
        [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
        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  
 %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
 %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
        [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
        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 
        [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 |
        [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
 %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
 %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 |
        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] |
 %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 |
         [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] | 
 %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
 %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
        [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 <
 
 \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 >
         >
                 \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; }
 }
 
         \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;
   \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;
   \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 <
 }
 
 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 | 
   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 |
   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 |
   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] | 
   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
   fis4 g2 fis!4 |
   \cadenza 1;
   g\breve
+  }
 }>
 
 vi2=\type Staff = vi2 <
 }>
 
 vi2=\type Staff = vi2 <
@@ -168,6 +167,7 @@ vi2=\type Staff = vi2 <
   a4 g2 fis4 |
   g1 |
 
   a4 g2 fis4 |
   g1 |
 
+  \repeat 2 {
   r1. |
   r4 [g'8 f] e4 [f8 g] c,4 [d8 e] |
   a,1. |
   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! |
   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] |
   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
   [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 |
 
   c B c G | d1^"3 4 3" |
   G1 |
 
+  \repeat 2 {
   g1. | c |
   f | d^"\\textsharp" |
   g | c |
   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" |
   d^"\\textsharp" | e |
   f | g1 B2 |
   d1.^"3 4 3" |
+  }
 
 
+  \repeat 2 {
   G1 |
   G1 |
-  \bar ":|:";
   g2 fis | g G |
   g1^"3 4 3" | c |
   G^"3 4 3" | c2 G |
   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 
   ) d^"3 4 3" | 
   \cadenza 1;
   G\breve 
+  }
 }>
 
 \score{
 }>
 
 \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)))
 
 ;;; 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 (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 (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)) "}"))
   
     (string-append
      "{\\bracefont " (char  (/  (- (min y (- maxht step)) minht)   step)) "}"))
   
      "\\hbox{%\n")
     )
 
      "\\hbox{%\n")
     )
 
-  (define (stem kern width height depth) 
+  (define (filledbox breapth width height depth) 
     (string-append 
     (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) " "))
 
      "depth " (number->dim depth)
      "height " (number->dim height) " "))
 
            (define startrepeat ,startrepeat)
            (define stoprepeat ,stoprepeat)
            (define start-line ,start-line)
            (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 stop-line ,stop-line)
            (define text ,text)
            (define experimental-on  ,experimental-on)
 
   (define (invoke-dim1 s d) 
     (string-append
 
   (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 
 
   (define (placebox x y s) 
     (string-append 
index cf8de43e2f9f69606d5cce5ed9b6f386e01ce9ae..c0c07f6408fdebdc61d68e339c211690e5bc3929 100644 (file)
@@ -14,7 +14,7 @@ Output: DVI file
 """
 
 name = 'ly2dvi'
 """
 
 name = 'ly2dvi'
-version = '0.0.10'
+version = '0.0.11'
 errorlog = ''
 
 import sys
 errorlog = ''
 
 import sys
@@ -231,7 +231,7 @@ class TeXOutput:
         else:
             pageheight = Props.get('pageheight')
             pagewidth = Props.get('pagewidth')
         else:
             pageheight = Props.get('pageheight')
             pagewidth = Props.get('pagewidth')
-                             
+                                
         horizontalMarginArg =  ( (pagewidth - linewidth)/2 )   
         verticalMarginArg =  ( (pageheight - textheight)/2  )
 
         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']],
             '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']],
             '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:           
            else:
                sys.exit('ExitBadWidth', m.group(2))
        else:           
-           sys.exit('ExitBadWidth', size)
+           sys.stderr.write ('ly2dvi: warning: ignoring linewidth: ' + size + '\n')
 
     #
     # setOrientation
 
     #
     # setOrientation
index b960c3da67b865c29e08bd189181dbf25fa51cea..4032e1351a6089794185dbfba88f0506fac3b329 100644 (file)
 \def\dynp{{\dyn\dynnp}}
 \def\dynpp{{\dyn\kdynp\dynnp}}
 \def\dynppp{{\dyn\kdynp\kdynp\dynnp}}
 \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\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\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\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
 
 \endinput
index 41b37ec2e8ce4fa729f6bc32b0e9310cbd07166e..3e7f824e5fa78dd0dd70c7ef852bb622900759f9 100644 (file)
 \input fetdefs
 
 
 \input fetdefs
 
 
+\def\deprecated#1S{%%%%%%%%%
 
 \def\emptybar{}
 
 
 \def\emptybar{}
 
+
+
 \def\defaultthinbar{\thinbar{\staffheight}}
 \def\defaultthickbar{\thickbar{\staffheight}}
 %? what-s wrong with rightalign?
 \def\defaultthinbar{\thinbar{\staffheight}}
 \def\defaultthickbar{\thickbar{\staffheight}}
 %? what-s wrong with rightalign?
 \def\startrepeat#1{\repeatstartbar}
 \def\repeatbarstartrepeat#1{\repeatstopstart}
 
 \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\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\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}
 
 
 \def\extender#1{\vrule width#1 height .8\stafflinethickness}