]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.15 release/1.1.15
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 14 Dec 1998 14:30:19 +0000 (15:30 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 14 Dec 1998 14:30:19 +0000 (15:30 +0100)
187 files changed:
Documentation/faq.yo
Documentation/links.yo
Documentation/man/mudela-book.yo
Documentation/man/out/mudela-book.1
Documentation/tex/mudela-book-doc.doc
Documentation/tex/other-packages.bib
Documentation/tex/refman.yo
Documentation/tex/tutorial.yo
NEWS
TODO
VERSION
buildscripts/set-lily.sh
init/GNUmakefile
init/book-fragment.ly
init/book-init.ly
init/center-fragment.ly
init/center.ly
init/engraver.ly
init/fragment.ly
init/init.fly
init/init.ly
init/mudela-book-defs.py [deleted file]
init/paper16.ly
init/paper20.ly
init/property.ly
input/bugs/bar-space.ly
input/bugs/core.ly
input/example-3.ly
input/keys.ly
input/kortjakje.ly
input/opus-130.ly
input/part.ly
input/pedal.ly
input/praeludium-fuga-E.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/test/abbrev.ly
input/test/bar-scripts.ly
input/test/beam-chord.ly
input/test/beam-pos.ly
input/test/beams.ly
input/test/broken.ly
input/test/c.ly
input/test/chords.ly
input/test/clefs.ly
input/test/collisions.ly
input/test/defaultbars.ly
input/test/denneboom.ly
input/test/dotted-slur.ly
input/test/find-quarts.ly
input/test/font-body.ly
input/test/font.ly
input/test/font16.ly
input/test/gourlay.ly
input/test/grace.ly
input/test/hara-kiri.ly
input/test/keys.ly
input/test/knee.ly
input/test/mark.ly
input/test/multi-rest.ly
input/test/ossia.ly
input/test/score-bar-scripts.ly
input/test/sleur.ly
input/test/slur-bug.ly
input/test/slur-damping.ly
input/test/slur-swap.ly
input/test/slurs.ly
input/test/spacing.ly
input/test/stem.ly
input/test/test-lyrics.ly
input/test/thumb.ly
input/test/tie-bug.ly
input/test/tie.ly
input/test/title.ly
input/test/transposition.ly
input/test/vertical-align.ly
input/tril.ly
input/twinkle-pop.ly
input/twinkle.ly
lily/abbrev.cc
lily/abbreviation-beam-engraver.cc
lily/beam-engraver.cc
lily/beam.cc
lily/cbeam-engraver.cc [new file with mode: 0644]
lily/compressed-music-iterator.cc
lily/ctie-engraver.cc
lily/dynamic-engraver.cc
lily/extender-engraver.cc
lily/include/cbeam-engraver.hh [new file with mode: 0644]
lily/include/command-request.hh
lily/include/ctie-engraver.hh
lily/include/direction.hh
lily/include/request.hh
lily/include/stem.hh
lily/musical-request.cc
lily/my-lily-parser.cc
lily/parser.yy
lily/plet-engraver.cc
lily/rest-collision.cc
lily/slur-engraver.cc
lily/stem.cc
make/generic-vars.make
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
mudela-mode.el
mutopia/Coriolan/bassi-part.ly
mutopia/Coriolan/clarinetti-part.ly
mutopia/Coriolan/clarinetti.ly
mutopia/Coriolan/clarinetto-1.ly
mutopia/Coriolan/clarinetto-2.ly
mutopia/Coriolan/contrabasso-part.ly
mutopia/Coriolan/contrabasso.ly
mutopia/Coriolan/coriolan.ly
mutopia/Coriolan/corni-part.ly
mutopia/Coriolan/corni.ly
mutopia/Coriolan/corno-1.ly
mutopia/Coriolan/corno-2.ly
mutopia/Coriolan/fagotti-part.ly
mutopia/Coriolan/fagotti.ly
mutopia/Coriolan/fagotto-1.ly
mutopia/Coriolan/fagotto-2.ly
mutopia/Coriolan/flauti-part.ly
mutopia/Coriolan/flauti.ly
mutopia/Coriolan/flauto-1.ly
mutopia/Coriolan/flauto-2.ly
mutopia/Coriolan/global.ly
mutopia/Coriolan/oboe-1.ly
mutopia/Coriolan/oboe-2.ly
mutopia/Coriolan/oboi-part.ly
mutopia/Coriolan/oboi.ly
mutopia/Coriolan/timpani.ly
mutopia/Coriolan/trombe-part.ly
mutopia/Coriolan/trombe.ly
mutopia/Coriolan/trombo-1.ly
mutopia/Coriolan/trombo-2.ly
mutopia/Coriolan/viola-1.ly
mutopia/Coriolan/viola-2.ly
mutopia/Coriolan/viola-part.ly
mutopia/Coriolan/violino-1-part.ly
mutopia/Coriolan/violino-1.ly
mutopia/Coriolan/violino-2-part.ly
mutopia/Coriolan/violino-2.ly
mutopia/Coriolan/violoncello-part.ly
mutopia/Coriolan/violoncello.ly
mutopia/D.Zipoli/verso_2.ly
mutopia/F.Schubert/AnSylvia.ly
mutopia/F.Schubert/standchen-16.ly
mutopia/F.Schubert/standchen-20.ly
mutopia/F.Schubert/standchen.ly
mutopia/Hymns/diademata.ly
mutopia/Hymns/laudatedom.ly
mutopia/Hymns/maccabaeus.ly
mutopia/Hymns/ode.ly
mutopia/Hymns/passion.ly
mutopia/Hymns/stille.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
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/Solo-Cello-Suites/allemande-cello.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-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.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-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.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-viola.ly
mutopia/J.S.Bach/wtk1-fugue1.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/J.S.Bach/wtk1-prelude1.ly
mutopia/W.A.Mozart/cadenza.ly
mutopia/W.A.Mozart/horn-concerto-3.ly
mutopia/gallina.ly
mutopia/los-toros-oboe.ly
scripts/convert-mudela.py
scripts/mudela-book.py

index 1939a8e11f4492c7c0a8a9f91a4960fda00f199d..bb1ff832335fd978aaad7f722341fb908123a14b 100644 (file)
@@ -284,7 +284,7 @@ lurl(http://harmonia.scar.utoronto.ca).  There is also a GUI package
 RoseGarden that could be extended to output mudela.
 
 If you want to work on this, please send e-mail to the mailing list
-email(gnu-misc-discuss@gnu.org).
+email(gnu-music-discuss@gnu.org).
 
 
 question(I want to implement XXXX!  How should I do this?)
@@ -353,16 +353,16 @@ LilyPond already compiles into a different directory ((the different
 directory is called out/, there is one in every source directory).
 make distclean essentially reduces to file(rm -f out/*) in every directory
 
-
 question(gdb crashes when I debug!)
 
 Upgrade to 4.17.
 
-question(Why do I need g++ >= 2.7?)
+question(Why do I need g++ >= 2.8 / EGCS-1.1 ?)
 
-By using g++, GNU LilyPond is portable to all platforms which support
-g++ (there are quite a few).  Not having to support other compilers
-saves us a em(lot) of trouble. 
+Supporting more compilers then EGCS/G++ 2.8 is unlikely to make
+LilyPond run on more platforms.  It would give us an enormous headache
+in detecting and catering for every variant of every compiler: not
+having to support other compilers saves us a em(lot) of trouble.
 
 
 sect(Running)
@@ -414,11 +414,81 @@ done, and as a method of proof"reading" the input.  The MIDI support
 is by no means finished.  Patches appreciated.
 
 
-sect(Other)
+sect(Copyright)
+
+question(How does copyright for sheet music work? Can I enter and
+spread my newly bought Bach urtext?)
+
+
+Silas S. Brown <ssb22@hermes.cam.ac.uk>:
+
+There are several aspects to sheet music copyright:
+
+1.  The music itself - copyright for the composer's life plus 70 years (so
+not applicable to Bach).
+
+2.  If the music is an arrangement, then the arranger holds copyright on
+that arrangement.  However, you can produce your own arrangement using
+that arrangement as a reference point.  Obviously your arrangement must be
+sufficently different to be called your own arrangement - you need to do
+more than change one note!
+
+3.  In some countries, the same applies for editions.  This could be
+relevant to the Bach example.  If a modern person has edited the music,
+then they hold the copyright on the edition.  This does not stop you from
+removing the editorial features - remove all editorial slurs, phrasemarks,
+ornaments etc and only leave those that you know to be original.  You can
+then add some of your own if you want to be your own editor.
+
+4.  If there are lyrics, then the lyricist also holds copyright.  This
+does not stop you from using the music without the lyrics if it is
+otherwise out of copyright.
+
+5.  The copyright of the printed page is held by the publisher for 30
+years after printing (25 in some countries).  This stops you from
+photocopying (unless it's "fair use" eg. you're partially sighted and need
+to enlarge the music) or otherwise reproducing the typesetting that is
+used on it.  But the copyright is only held over the typesetting work, not
+the music itself.  Since Mudela specifies the notes, independently of any
+typesetting work that went into your reference copy, you are not
+duplicating any of the publisher's work.
+
+6.  If you want to violate copyright, there are two main cases where you
+may do so: fair use, and with permission.  The former is rather fuzzily
+defined, but it includes such things as including small extracts of a
+score in a critique, and making a large print or Braille copy for a blind
+or partially-sighted performer (many people argue that in this case it
+should always be kept with the original copy and/or destroyed after it is
+no longer needed).  The latter is obvious: You can always write to the
+composer, arranger, editor, lyricist or publisher in question and ask if
+you can do whatever it is you're trying to do.  Some will respond more
+readily than others, but anything that they say will override any copying 
+restrictions imposed on you.
+
+
+References - best one I know is the UK-based Performing Right Society,
+http://www.prs.co.uk/ (especially "membership") and their links to other
+international equivalents.  
+
+
+
+Juergen Reuter <reuterj@ira.uka.de>:
+
+[More information can be had at: ]
+
+lurl(http://lcweb.loc.gov/copyright/)
+(USA copyright law)
+
+lurl(http://fairuse.stanford.edu/)
+(meta site about copyright with many links to other resources)
+
+lurl(http://host.mpa.org/crc.html)
+(copyright from the viewpoint of the USA music publishers' association)
 
-question(How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?)
+lurl(http://www.wipo.int)
+(World Intellectual Property Organization (a UNO agency); with
+information about international copyright)
 
-(ummm... unanswered as yet)
 
 sect(Windows32)
 
index 58732fb7931b6940b5f1a1e1ecc704ed0c9fe563..aed379bb1e78caff95aee93d45e5fc5669e9f90a 100644 (file)
@@ -99,7 +99,7 @@ sect(Backlinks)
 description(
 dit(lurl(http://www.ssc.com/linux/))
     The Number One Free Operating System Kernel: Linux 
-dit(lurl(http://www.bright.net/~dlphilp/linux_soundapps.html))
+dit(lurl( http://sound.condorow.net))
     Dave Philips' Linux sound applications page
 dit(lurl(http://www.home.fh-karlsruhe.de/~rost0001/web/musik/musik.html))
     Stochastic composing using LilyPond 
index b636b5e7e5b367b045d0accd415b20770124487c..03035a61aac58ad898ee076abc568fd5b96db2de 100644 (file)
@@ -21,18 +21,8 @@ fragments of mudela in your source file, and includes the results into
 document that can be processed with LaTeX.  The result is a text
 document with formatted music integrated.
 
-Lilypond will create a directory to put temporary files, the default
-dir name is file(out). When you run mudela on a file, like this:
-
-verb(mudelab-book myfile.tex)
-
-the a file file(out/myfile.latex) will be created. And to create
-the file(.dvi) file you should type:
-
-verb(latex out/myfile.latex)
-
-This will create file(myfile.dvi) in the current directory. Bad things
-will happen if you cd to file(out) and then runs verb(latex myfile.latex)
+Lilypond will by default create all output files in directory file(out).
+The file to give to latex has ext file(.latex).
 
 bf(About the input)
 
@@ -53,16 +43,17 @@ to whatever he wants.
 code(\begin) takes the following options:
 
 description(
-dit(floating)
-    the created graphics can be inserted in the middle of a text line, 
-    not only as a separate paragraph
-dit(fragment)
-    mudela-book adds some redtape. You
-    can substitute voice-contents for CONTENTS in this case.
+dit(eps)
+    the music is created as eps graphics that can be inserted in 
+    the middle of a text line, not only as a separate paragraph
 dit(verbatim)
     CONTENTS is copied into the TeX source enclosed in a verbatim block.
 dit(11pt, 13pt, 16pt, 20pt, 26pt)
     set the fontsize to use for the music
+dit(fragment)
+dit(nonfragment)
+    Override mudela-book autodetection of what type of code is in the
+    mudela block, voice contents or complete code.
 )
 
 
@@ -70,16 +61,16 @@ manpageoptions()
 
 startdit()
 
-dit(--mudela-fontsize)
+dit(--default-mudela-fontsize=??pt)
     Set the fontsize to use for mudela if no fontsize is given
     as option.
-dit(--force-mudela-fontsize)
+dit(--force-mudela-fontsize=??pt)
     Force all mudela to use this fontsize, overriding options
     given to \begin{mudela}
-dit(--outname)
+dit(--outname=FILE)
     The name of LaTeX() file to output. If this option  is not given,
 the output name derived from the input name.
-dit(--outdir)
+dit(--outdir=DIRECTORY)
     The directory to output lilypond output and input to.
 dit(--help)
        Print a short help message
@@ -87,12 +78,13 @@ dit(--dependencies)
         Write dependencies to outdir/filename.dep
 dit(--force-verbatim)
        Make all mudela verbatim.
+dit(--initfile=FILE)
+        read command definitions from file(FILE)
 enddit()
 
 manpagefiles()
-  You have to install LaTeX. file(mudela-book) is not tested on LaTeX 2.09
-  and will probably fail on something else than LaTeX2e.
-
+  See file(Documentation/tex/out/mudela-book-doc.dvi) for more info.
+  You have to install LaTeX.
   file(mudela-book) is written in  python 1.5, so you have to install 
   url(python)(http://www.python.org).
 
@@ -104,7 +96,8 @@ You get trouble if you use the --force-verbatim option and have some
 music in \footnote{...} or \marginpar{...}.
 
 Ignores almost all LaTeX commands that changes margins and linewidths.
-  
+
+file(\begin{verbatim}) is ignored.
 manpageauthor()
 
 nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/people/hanwen)
index 845347cd80e53c1518e2661788a856f4b471d9cc..601d4e1d451326ffe1435f209293f02e865036fd 100644 (file)
@@ -14,36 +14,8 @@ fragments of mudela in your source file, and includes the results into
 document that can be processed with LaTeX\&.  The result is a text
 document with formatted music integrated\&.
 .PP 
-Lilypond will create a directory to put temporary files, the default
-dir name is \fBout\fP\&. When you run mudela on a file, like this:
-.PP 
-
-.DS 
-mudelab-book myfile\&.tex
-.DE 
-
-.PP 
-the a file \fBout/myfile\&.latex\fP will be created\&. And to create
-the \fB\&.dvi\fP file you should type:
-.PP 
-
-.DS 
-latex out/myfile\&.latex
-.DE 
-
-.PP 
-This will create \fBmyfile\&.dvi\fP in the current directory\&. Bad things
-will happen if you cd to \fBout\fP and then runs 
-.DS 
-latex myfile\&.latex
-.DE 
-
+Lilypond will by default create all output files in directory \fBout\fP\&.
+The file to give to latex has ext \fB\&.latex\fP\&.
 .PP 
 \fBAbout the input\fP
 .PP 
@@ -69,30 +41,31 @@ to whatever he wants\&.
 .PP 
 \f(CW\ebegin\fP takes the following options:
 .PP 
-.IP "floating" 
-the created graphics can be inserted in the middle of a text line, 
-not only as a separate paragraph
-.IP "fragment" 
-mudela-book adds some redtape\&. You
-can substitute voice-contents for CONTENTS in this case\&.
+.IP "eps" 
+the music is created as eps graphics that can be inserted in 
+the middle of a text line, not only as a separate paragraph
 .IP "verbatim" 
 CONTENTS is copied into the TeX source enclosed in a verbatim block\&.
 .IP "11pt, 13pt, 16pt, 20pt, 26pt" 
 set the fontsize to use for the music
+.IP "fragment" 
+.IP "nonfragment" 
+Override mudela-book autodetection of what type of code is in the
+mudela block, voice contents or complete code\&.
 .PP 
 .SH "OPTIONS" 
 .PP 
 .IP 
-.IP "--mudela-fontsize
+.IP "--default-mudela-fontsize=??pt
 Set the fontsize to use for mudela if no fontsize is given
 as option\&.
-.IP "--force-mudela-fontsize" 
+.IP "--force-mudela-fontsize=??pt
 Force all mudela to use this fontsize, overriding options
 given to \ebegin{mudela}
-.IP "--outname" 
+.IP "--outname=FILE
 The name of  file to output\&. If this option  is not given,
 the output name derived from the input name\&.
-.IP "--outdir" 
+.IP "--outdir=DIRECTORY
 The directory to output lilypond output and input to\&.
 .IP "--help" 
 Print a short help message
@@ -100,11 +73,12 @@ Print a short help message
 Write dependencies to outdir/filename\&.dep
 .IP "--force-verbatim" 
 Make all mudela verbatim\&.
+.IP "--initfile=FILE" 
+read command definitions from \fBFILE\fP
 .PP 
 .SH "FILES" 
-You have to install LaTeX\&. \fBmudela-book\fP is not tested on LaTeX 2\&.09
-and will probably fail on something else than LaTeX2e\&.
-.PP 
+See \fBDocumentation/tex/out/mudela-book-doc\&.dvi\fP for more info\&.
+You have to install LaTeX\&.
 \fBmudela-book\fP is written in  python 1\&.5, so you have to install 
 python\&.
 .PP 
@@ -117,6 +91,7 @@ music in \efootnote{\&.\&.\&.} or \emarginpar{\&.\&.\&.}\&.
 .PP 
 Ignores almost all LaTeX commands that changes margins and linewidths\&.
 .PP 
+\fB\ebegin{verbatim}\fP is ignored\&.
 .SH "AUTHOR" 
 .PP 
 Han-Wen Nienhuys <hanwen@cs\&.uu\&.nl>, http://www\&.cs\&.uu\&.nl/people/hanwen
index 3aa58bedb9afee987dd6d1d106f9a57c17b3ffc0..cd5591adfdf629e3d8c915ff00f22ba90bbbf085 100644 (file)
@@ -12,6 +12,8 @@
 \maketitle
 %\printparam
 
+\section{Introduction}
+
 Mudela-book is a script that process your \LaTeX~file and with great
 help from GNU LilyPond it translates blocks of mudela code it finds
 inside \verb|mudela| environments to tex or eps graphics. It then
@@ -157,27 +159,12 @@ To avoid that \LaTeX~places the music on a line of its one, there should
 be no empty lines between the normal text and the mudela
 environment. 
 
-There is an even shorter way to write small musical fragments. This
-triad, \mudela{<c' e' g'>}, was created with this code:
-\verb|\mudela{<c' e' g'>}|
-
-Mudela-book let you define your own commands, see the file 
-\verb|mudela-book-defs.py|. In a later version, it will be possible to
-have your own file that defines new commands. To print small rhythms
-like this, \mudelaRhythm{c4 r8 [c16 c] c4 c}, the default 
-\verb|mudela-book-defs.py| also defines a command \verb|mudelaRhythm|. 
-The last music was created like this:
-\verb|\mudelaRhytm{c4 r8 [c16 c] c4 c}|. This feature is higly
-experimental, so Things Will Change.
-
-The last example show that we need options to change the
+\section{Fontsize options}
+You can use all lilypond fontsizes in mudela-book. 
 % LONG line just to test multiple mudela on one line
-fontsize of the music. 11pt, \mudela[11pt]{<c' e' g'>} or 13pt, \mudela[13pt]{<c' e' g'>} is probably a better fontsize
-if you include music in the middle of the text. The code looks like this:
-\verb|\mudela[11pt]{<c' e' g'>}|
-
-or
-\begin{mudela}[13pt, verbatim]
+The default 16pt fontsize, \mudela{<c' e' g'>}, is probably to big to be included in the middle of the text. 11pt, \mudela[11pt]{<c' e' g'>} or 13pt, \mudela[13pt]{<c' e' g'>} is probably better.
+The code can look like this:
+\begin{mudela}[13pt, eps, verbatim]
 <c' e' g'>
 \end{mudela}
 
@@ -220,6 +207,68 @@ The following options set the fontsize:
 \end{mudela}
 \end{itemize}
 
+\section{User defined commands}
+There is an even shorter way to write small musical fragments. This
+triad, \mudela{<c' e' g'>}, was created with this code:
+\verb|\mudela{<c' e' g'>}|
+
+Mudela-book defines the \verb|\mudela| command, and let you define
+your own commands in a file specified by 
+the command line option \verb|--initfile=filename|. The format for the
+file is a definition of a python dictionary:
+% mudela-book should really respect \begin{verbatim}
+
+\verb|{    'mudela': r"""|
+
+\verb|\begin|\verb|{mudela}[eps \fontoptions]|
+
+\verb|    \maininput|
+
+\verb|\end|\verb|{mudela}|
+
+\verb|""",|
+
+\verb|    'mudelaRhythm': r"""|
+
+\verb|\begin|\verb|{mudela}[eps \fontoptions]|
+\begin{verbatim}
+\score{
+    \type RhythmicStaff{
+        \notes{\stemup \maininput}
+    }
+    \paper{linewidth = -1.\cm;}
+}
+\end{verbatim}
+\verb|\end|\verb|{mudela}|
+
+\verb|"""|
+
+\verb|}|
+
+The above code show how \verb|\mudela| could have been defined, and
+also defines a new command \verb|mudelaRhythm|. Notice that you can
+send fontsize options to the defined commands. 
+\verb|\mudelaRhytm[11pt]{c4 c8 [c16 c] c4 c}| produce this music:
+\begin{mudela}[eps, 11pt]
+\score{
+  \type RhythmicStaff{
+    \notes{ \stemup c4 r8 [c16 c] c4 c }
+  }
+  \paper{linewidth = -1.\cm;}
+}
+\end{mudela}
+
+\section{Just in case...}
+The options \verb|fragment| and \verb|nonfragment| will override
+mudela-book when it scans the mudela code to see if it is staff
+contents or complete code. This might be useful if mudela-book choose
+wrong. 
+
+Since there is no finder's fee which doubles every year, there is no
+need to wait for the price money to grow. So send a bug report today
+if you need this one of this options.
+
+\section{Examples}
 This was all options to \verb|\begin{mudela}|. The rest of the
 document will show some ways you can use mudela in
 \LaTeX~documents. It will also act as a simple test-suite for
@@ -244,7 +293,7 @@ and marginspars just as any other included eps graphics.
        r4-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
        [f16-.( )f-. dis8-- gis16-.( )gis-.] cis4.-\fermata |
        
-       r4.-\fermata [cis,16 cis g'8 f16 f b][g16 g f8 b16 b] dis4.-\fermata
+       r4.-\fermata [cis,16 cis g'8 f16 f b8][g16 g f8 b16 b] dis4.-\fermata
   }
   \paper{linewidth = 7.\cm;}
 }
@@ -253,7 +302,7 @@ and marginspars just as any other included eps graphics.
 
 To the right you can see some bars from the trumpet fanfara from the
 beginning of the fantastic street opera ``Houdini the Great'', by the
-danish composer Andy Pape.  The music is put inside a
+danish composer Andy Pape. The music is put inside a
 \verb|floatingfigure| environment, and the music will be aligned by
 the right marging if you set floatingfigure width and mudela linewidth
 to the same value. The code looks like this:
@@ -266,7 +315,7 @@ to the same value. The code looks like this:
     r4.-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--]
     [f16-.( )f-. dis8-- gis16-.( )gis-.] cis8.-\fermata |
        
-    r4.-\fermata [cis,16 cis g'8 f16 f b]
+    r4.-\fermata [cis,16 cis g'8 f16 f b8]
     [g16 g f8 b16 b] dis4.-\fermata
   }
   \paper{linewidth = 7.\cm;}
index 78e2391355432083a0bd18b89b2daf2b4eea972c..a1fc1732d83c6d12c9470f9cb03e53ad1d1dcf05 100644 (file)
 
 
 
+
+@Misc{moods,
+  key =                 {moods},
+  title =       {MOODS, Music Object Oriented Distributed System.},
+  html ={http://hpcn.dsi.unifi.it/~tinymoods/},
+
+note = { "With MOODS activity, the partners intend to exploit a strongly
+innovative idea: automating and managing the large information used by
+orchestras during rehearsals and public performance of concerts (e.g.,
+symphonic music), as well as for operas or ballets. "   
+} 
+
+}
+
 @Misc{mosaic,
   title =       {Mosaic},
 note={Macintosh DTP-notation program},
index a357d2d33e1de23efa20d333f806a7577bfdd5a1..535201b8f111486de1c8dd3fe7061abd21a7cbe7 100644 (file)
@@ -470,40 +470,8 @@ code([) and code(]).
 mudela(fragment,verbatim,center)(
 [a'8 a'] [a'16 a' a' a']
 )
-If you want to put beams over chords, you will find that the obvious
-construction does not work.  You must do the following:
-mudela(fragment,verbatim,center)(<[a'8 c''> b' <c'' e''> <a' c'']>)
-The bracket characters must appear immediately adjacent to a note. 
-
-In order to create triplets, you must use a length multiplier after
-the brackets.  An open bracket code([) followed by a fraction
-instructs LilyPond to print a number over the beam, and it also
-starts multiplying all note lengths by the fraction.  The closing
-bracket code(]) should be followed by the fraction code(1/1) in order
-to restore normal note lengths.  To create a triplet without a beam,
-place a backslace code(\) before the opening and closing brackets. 
-
-For example, in an ordinary triplet, the notes have duration 2/3 as
-long as normal. 
-mudela(fragment,verbatim,center)(
-[2/3 a'8 a' a' ]1/1 \[2/3 b'4 b' b'\]1/1
-)
-
-There is a shorthand that can be used when you 
-want notes lengths multiplied by 2/n.  
-The 2 can be omitted after the open bracket
-and the first 1 can be omitted after the closing bracket.  
-mudela(fragment,verbatim,center)(
-[/3 b'8 b' b' ]/1  \[/3 a'4 a'8\]/1
-)
 
-COMMENT(This next bit needs to be fixed...or the language needs to be
-fixed.)
-
-Here is a combination
-mudela(fragment,verbatim,center)(
-[/3 a'8 a'16 a'] a'8 \]
-)
+[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
@@ -517,13 +485,10 @@ 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.  For ties
-between chords, the input convention is somewhat peculiar.  You cannot
-write code(<c g>~<c g>), but rather must put the tilde after
-a note within the first chord.  
+code(~) by analogy with TeX()'s tie which connects words.  
 
 mudela(fragment,verbatim,center)(
-e' ~ e' <c'~ e' g'><c' e' g'>
+e' ~ e' <c' e' g'> ~ <c' e' g'>
 )
 
 
@@ -613,18 +578,21 @@ 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. 
-mudela(fragment,verbatim,center)(
+
+[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?)
 
-
-mudela(fragment,verbatim,center)(
+COMMENT(
+mudela (fragment,verbatim,center)(
 c'4:32 [:16 c'8 d'8]
-)
+))
 
 )
 
index 03b1249e626d01848f025c3108b1a3ecb4fcb4bb..3aef3a08915becfd2c7c6bd39047c3372c312e49 100644 (file)
@@ -651,23 +651,23 @@ mudela(fragment,verbatim)(
 [c'8 c'] [c'16 c' c' c'] [c'16. c'32 c' c'16.]
 )
 
+The brackets themselves have no duration, so they are grammatically
+equivalent to the barcheck.
+
 dit(Tie) LilyPond's tie is entered as a tilde, `code(~)', in analogy
  with TeX()'s tie (which ties together words with a space), The tie is
  similar to the slur: it looks like a slur, but a slur connects whole
  chords, whereas the tie connects note heads.  
 
-The input convention for the tilde is somewhat peculiar when used in
-conjunction with chords.  Internally, the extra information that is
-represented by the tilde has to be attached to a note (or to a rest,
-for that matter).  For this reason, you can't put the tilde between
-two chords (as in code(<c' g'> ~nop( )<c' g'>)).  The tilde sign must be
-directly after a note of the chords.  It does not matter which
-one. The following example demonstrates the use of ties:
+The following example demonstrates the use of ties:
 mudela(fragment,verbatim,center)(
   c''1 ~ c''4
-  <c'2. ~  g' es''> <c'4 g' es''> 
+  <c'2.  g' es''> ~ <c'4 g' es''> 
 )
 
+Since the tie is thought to be inbetween the notes, it has no
+duration, and is grammatically equivalent to the barcheck.
+
 dit(Hairpins)
 Crescendi and decrescendi can be printed in hairpin style.  The
 starting marker for the crescendo is code(\<), and for the decrescendo
@@ -951,8 +951,8 @@ dit(GrandStaff) A code(GrandStaff) context contains code(Staff)
   contexts, and it adds a brace to the output at the
   nop(left.)footnote(The GrandStaff is quite limited, LilyPond can not
   do cross staff beaming and slurring.)
-    
-    A code(GrandStaff) context can contain code(Staff)s. Typically, it
+
+  A code(GrandStaff) context can contain code(Staff)s. Typically, it
   will contain two code(Staff)s, one treble staff, and one bass
   staff. The bar lines of the contained staffs are connected
   vertically.
@@ -1504,21 +1504,26 @@ rests; here they are used as a placeholder to attach articulation
 marks to.  
 
 mudela(verbatim)(
-  bach =  \notes \relative c { [g16 d' b' a] [b d, b' d,] }
-  
+  bach =  \notes \relative c { g16 d' b' a b d, b' d, }
+  bachBeams = \notes { [s4] [s4] }
   staffStuff = \notes { \clef bass; \time 4/4; s1 \bar "|."; }
   
   slursOne = \notes { s16( s s s s16 s s )s }
   slursTwo = \notes { s16-. s s() s s16() s  s ()s }
 
   \score{
-    { < \type Voice = celloVoice { \bach \bach }
-        \type Voice = celloVoice { \slursOne \slursOne }
+
+    
+    { < 
+        \type Voice = celloVoice { \bach \bach}
+        \type Voice = celloVoice < { \slursOne \slursOne }
+             { \bachBeams \bachBeams } >       
         \staffStuff
       >
       <
         \type Voice = celloVoice { \bach \bach }
-        \type Voice = celloVoice { \slursTwo \slursTwo }
+        \type Voice = celloVoice < { \slursTwo \slursTwo }
+             { \bachBeams \bachBeams } >
         \staffStuff
       >
     }
diff --git a/NEWS b/NEWS
index ff0fe81a052abbcb5f4cb255a70d6a134621c1cb..c4bbcd3efc662181766385aabce1eb70684dc213 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,20 @@
+pl 15
+
+pl 14.hwn1
+       - new beam syntax: { [<c e> <c e>] }, changed in lilypond,
+parser, lilypond (mudela 1.0.14), manual
+       - new tie syntax:  { <c e > ~ <c e > } changed in manual,  
+parser, lilypond (Mudela 1.0.13)
+
 pl 14.jcn1
         - bf: get_chord C-m5-
         - typos: chord-name
 
+pl 14.tca2     
+       - move option proccing out of main
+
+**********
+
 pl 14
 
 pl 13.hwn1
diff --git a/TODO b/TODO
index a6cd3ecbf6c21b12a51b3b1e70defebb8aa8b36d..cbc7bc71578e6bca3cdd6bc9226d010650304d31 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,7 +9,7 @@ grep for TODO and ugh/ugr/urg
 BUGS:
        * c4 \! \> c4
 
-       * resurrect tremolo beams.
+       * tremolo stuff
 
        * gallina barlines.
 
@@ -94,8 +94,6 @@ STUFF
 
        * typo checks on property names?
 
-       * --safe:  disallow backslashes
-
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
 
@@ -105,8 +103,6 @@ STUFF
 
        * zip target for binary windows dist (JBR)
 
-       * revise documentation
-
        * junking \skip req in lyrics
 
        * Language:
@@ -125,8 +121,6 @@ STUFF
 
        * mi2mu empty staffs.
 
-       * include MIDI list 
-
        * midi_instrument -> midiInstrument
 
        * horizontal centering of dynamics 
@@ -137,16 +131,11 @@ STUFF
 
        * stable make/config stuff
 
-       * stemup/stemdown; see test/updown.fly
-         - check examples; add \type Staff hither and thether
-
        * $DEPENDENCIES_OUTPUT support
 
-       * use a fake-yodl.sh to mimick yodl when yodl is not installed
-
        * fix BUGs
 
-       * fix weird behaviour when .AFMs not found.
+       * fix weird behaviour when .AFMs/.SCMs not found.
 
        * Xdvi zooming ?! Try to understand GS garbage collection.
                gs: Error: /undefined in draw_beam
@@ -166,12 +155,8 @@ STUFF
 
        * make Tie_req a "command" { <c g> ~ <c g> }
 
-       * bib ep1988
-
        * revise the Score_priority_align_engraver concept.  It sucks. 
 
-       * ly2xdvi, ly2ps
-
        * make new VoiceOne, VoiceTwo, VoiceThree contexts with
 ydirection and hshift preset
 
@@ -235,7 +220,6 @@ ydirection and hshift preset
          * \cadenza , \meter, \grouping should all be \properties
 
        * rename
-         - plet -> tuplet
          - measure -> bar
          - abbrev -> tremolo
          - abbreviation-beam -> (measured/unmeasured) tremolo
@@ -261,6 +245,7 @@ ydirection and hshift preset
        
        * handle ^C for tmp/file creation.
 
+       
        * dots & rest collisions.
 
        * documentation
@@ -491,10 +476,6 @@ PROJECTS
        - use plet grouping
        - separate visual from rhythmic info even more
        - beams over bars
-       - endbeam req should be *after* the duration, so you can do
-       < { [c4]    }
-         { c8. c16 } >
-
 
        * lines:
        - Ledger lines, should be separate item: Ledger_lines, Ledger_lines
@@ -581,8 +562,6 @@ SMALLISH PROJECTS
        * Flower types:
        - A decent scalar type
 
-       * binsearch/hash for identifiers
-
        * stafftypes: voice names/ instrument names.
 
        * lily \tempo
@@ -637,8 +616,125 @@ IDEAS
        * versioning stuff (cvt mudela, mudela, etc.)
 
        * Klavarskribo?
-5
-       * lyrics in chords still fuck up.
-
-       * Use hooks/dependency graphs for properties
 
+       * dynamic loading of engravers? 
+
+SMOBS:
+
+****************************************
+Han-Wen Nienhuys <hanwen@cs.uu.nl> writes:
+
+> mcmanus@IDT.NET writes:
+> > > I want different C++ objects (with scheme embedded) to be linked by
+> > > C++ pointers.  I want to access these other objects from the Scheme
+> > > code, and I want access to these pointers from C++.
+> > 
+> > You can do this with a  combination of smob's and primitive functions,
+> > though it may not be  be exactly what you wanted.   You would have one
+> > smob  for each class in  your application, and then  you would write a
+> > primitive function that would return the objects  that are linked to a
+> > base object.
+> 
+> And the smob and the C++ class are interlinked?  Like
+> 
+>      class Foo_class {
+>              Foo_smob *smob_ptr_;
+>      }
+> 
+>      struct Foo_smob {
+>              Foo_class *class_ptr_
+>      }
+
+Usually you can get away without having this interlinked structure.
+One piece of information you need when exporting objects to scheme is
+the smob tag for your class.  You might store this value (a long) into
+a class static variable, or a file static variable.  I'll use a class
+static variable in this example.
+
+I typically use code that works like this (untested code ahead):
+
+class Foo_class {
+    static long *Foo_smob_tag;
+    SCM obj; // representation as a scheme object, description comes later
+}
+
+// call this once on startup
+void init_Foo_class {
+    static scm_smobfuns type_rec;
+
+    type_rec.mark = foo_mark;
+    type_rec.free = foo_free;
+    type_rec.print = foo_display;
+    type_rec.equalp = 0;
+    Foo_class::Foo_smob_tag = new int(scm_new_smob(type_rec));
+}
+
+When you want to export an object to scheme, you put a pointer to the
+object itself in the cdr of the cell, and the tag in the car of the
+cell.  The code looks like this:
+
+// Is this a Foo?
+static int
+foo_p(SCM obj)
+{
+    return(SCM_NIMP(obj) && SCM_CAR(obj) == Foo_class::Foo_smob_tag);
+}
+
+// given a Scheme representation, return, a C++ representation
+static Foo_class *
+foo_unbox(SCM obj)
+{
+    return((Foo_class*)SCM_CDR(obj));
+}
+
+// the SCM representation of the object is stored inside itself
+// this will become useful when destructor gets called
+static SCM
+foo_box(Foo_class *foo)
+{
+    SCM_DEFER_INTS;
+    SCM_NEWCELL(foo->obj);
+    SCM_SETCAR(foo->obj, Foo_class::Foo_smob_tag);
+    SCM_SETCDR(foo->obj, (SCM)foo);
+    SCM_ALLOW_INTS;
+    return foo->obj;
+}
+
+> C++ determines life time, so what is the strategy?
+
+What happens now when the destructor gets called?  Lets set the cdr to
+NULL, and then check for that in all of the primitive functions that
+use your smob.  We'll call this notion 'live'; a scheme object is
+'live' if the C++ representation still exists, it's dead if the C++
+object is gone.  You can still have references to dead objects in
+scheme code; it's just an error to use them.  This idea is stolen from
+Emacs's handling of buffers ('buffer-live-p' and friends).
+
+Add another function, foo_live_p:
+
+static int
+foo_live_p(SCM obj)
+{
+    return(foo_p(obj) && SCM_CDR(obj) != NULL);
+}
+
+In you destructor, you need to do:
+
+~Foo_class()
+{
+    SCM_CDR(this->obj, NULL);
+}
+
+When writing new primitives, now just check foo_live_p().
+
+I hope the above helps,
+
+-russ
+
+
+--
+"Even if you are on the right track, you'll get run over 
+if you just sit there."  
+             --Will Rogers (1879-1935)
+
+***************************
diff --git a/VERSION b/VERSION
index 004c9f433a5507f6a06d62ab3d5a0376e6b1578b..688692906a08fd2408f1ef94450eb1690481b0dd 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=14
-MY_PATCH_LEVEL=tca2
+PATCH_LEVEL=15
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 67c5d80616c46a1329e525d51951038c8fe579f4..4ae9087c393c9660b20b2c65d6358e6a7b0b4329 100755 (executable)
@@ -48,7 +48,8 @@ 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/scm $prefix/share/lilypond
+ln -sf $LILYPOND_SOURCEDIR/ $prefix/share/lilypond
+
 if [ -f ../.gdbinit ];
 then
     ln ../.gdbinit .
index 1157e404daf46cba6d660d7d2c765520338f1f7b..6513297576c50209155a431b3cd6c498a3da6941 100644 (file)
@@ -3,8 +3,7 @@
 depth = ..
 
 INI_FILES = $(FLY_FILES) $(LY_FILES)
-PY_FILES=$(wildcard *.py)
-EXTRA_DIST_FILES = $(SCM_FILES)  $(PY_FILES)
+EXTRA_DIST_FILES = $(SCM_FILES)
 
 INSTALLATION_DIR=$(datadir)/ly/
 INSTALLATION_FILES=$(INI_FILES)
index 3f8deb6965e91d208686314e8e6b18a130b194a6..46fd731997cb89dcbbddf69c9a38330d5b9035b4 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
index 34bac0ef49b69580934872c1cab0cad6ab086d06..7cb2e6b12b27875cda6b237b864e179b4c5120e3 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly";
index 7e8247a243fdf784e628fd401c614a24f0bbcfbb..72be0acd364f7b467bee6ef0f7a93dec4f899015 100644 (file)
@@ -1,7 +1,7 @@
 % Toplevel initialisation file. 
        
 
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
index 0245fd3d36eddab595201656baa989dec28d214f..500c25aad516611b020131e003642e84c91464eb 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
index a7c13b6bbc23b12d0e81b50099d0725d1f8a38e5..044beade24918b03fcbcbb7804cca4f8befbcd03 100644 (file)
@@ -95,14 +95,14 @@ VoiceContext = \translator {
        \consists "Dot_column_engraver";
        \consists "Stem_engraver";
 %      \consists "Plet_engraver";
-       \consists "Beam_engraver";
+       \consists "Command_beam_engraver";
        \consists "Abbreviation_beam_engraver";
        \consists "Multi_measure_rest_engraver";
        \consists "Script_engraver";
        \consists "Rhythmic_column_engraver";
        \consists "Font_size_engraver";
        \consists "Slur_engraver";
-       \consists "Ties_engraver";
+       \consists "Command_tie_engraver";
        \consists "Tuplet_engraver";    
        \consists "Note_heads_engraver" ;       
        \consists "Skip_req_swallow_translator";
index a1ce3f163b33be7a1e28e009558804b23ab6dc65..3ddb7de69a2efd6d65fb903b39a1854dc1c4e94c 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
index 035884698498e2de3d9e6a9f3a40bd010e547e8b..cacdd4b865f371b14f1d52a923a99f0f99e9bd6c 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.12";
+\version "1.0.14";
 
 
 \include "declarations.ly"
index adfd6272e5db63e2c54dbe650398f558f1690ee7..c01291c340111c291a09591602353e68bf8e8790 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly";
diff --git a/init/mudela-book-defs.py b/init/mudela-book-defs.py
deleted file mode 100644 (file)
index 9348a8e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# Default mudela-book init-file
-{    'mudela': r"""
-\begin{mudela}[eps \fontoptions]
-    \maininput
-\end{mudela}
-""",
-    'mudelaRhythm': r"""
-\begin{mudela}[eps \fontoptions]
-\score{
-    \type RhythmicStaff{
-        \notes{\stemup \maininput}
-    }
-    \paper{linewidth = -1.\cm;}
-}
-\end{mudela}
-"""
-}
index 224c81abf41e42d85f008c27d53e808130d00d9d..dc67fabdf384b92122072f4f73272f3743c1eed1 100644 (file)
@@ -6,7 +6,7 @@
 
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 paper_sixteen = \paper {
        staffheight = 16.0\pt;
index e3a3013d50e84a850c67ecbc2956ae810ff6f540..69c36b358dff3728c30f2181e464d5c59e37b19f 100644 (file)
@@ -5,7 +5,7 @@
  \include "table13.ly";
  \include "table16.ly";
 
-\version "1.0.10";
+\version "1.0.14";
 
 paper_twenty = \paper {
        staffheight = 20.0\pt;
index 7140c7ce03cc7ed3e0ccc4639242a9bcd60ef044..3d098081576a1eac9c4ab0c426c1c5cb22fb5cc3 100644 (file)
@@ -78,23 +78,29 @@ instrument          ascii   midi instrument table lookup
 %hmm, (these) abbrevs suck, imo
 % i guess they're meant as some form of doco
 % that's what i use them for...
-stemup = {
+stemup = \notes {
+       s1*0
        % Stupid hack to make < { \stemup } > work
        \property Voice.ydirection = \up 
        }
-stemboth= {
+stemboth= \notes {
+       s1*0
        \property Voice.ydirection = \center
 }
-stemdown = {   
+stemdown = \notes {    
+       s1*0
        \property Voice.ydirection = \down
 }
-slurup = {
+slurup = \notes {
+       s1*0
        \property Voice.slurydirection = \up 
        }
-slurboth= {
+slurboth= \notes {
+       s1*0
        \property Voice.slurydirection = \center
 }
-slurdown = {   
+slurdown = \notes {    
+       s1*0
        \property Voice.slurydirection = \down
 }
 
index 5c70a49425075947519c78cb2a239ddf902f0259..8cc8adc456158636262e09f26244122fa0705a77 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.12";
+\version "1.0.14";
 
 scales = \notes\transpose c''{
                f2 f f f f f f f f f\break 
index 6b3c8abb5c8fc3062146c99598f28aa1f0544a86..514dec8d5c9c07f5bb3b08c9de425b230a11d5d9 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
-\version "1.0.10";
+\version "1.0.14";
 blah =         \notes {
                \time 6/8;      
 \transpose c {
index c3971dde48d1caefc736ebb65189c5246e918b27..102a594910768587a2564d9aca6e5f96d02f3a65 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 one = \notes\relative c{
        c'' d e f
index 1eb19dec08d19f554cdf8ca8544ed0af151f620e..bfdff32654914eef39e527a6bcedcef17a79a560 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 
 blah = \notes {
index b8ec9a85192270779ccb38a2c42e77e640014d32..238576810e346ca751481cff68479ae2fc0b98d8 100644 (file)
@@ -10,7 +10,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
-\version "1.0.10";
+\version "1.0.14";
 
 
 % the % is a comment.
index 0f74f1e355b0df29130336748a29caa5add487d9..7ce7cf7a9a89318dddcb997f621d01c5a68461bb 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-% \version "1.0.10";
+% \version "1.0.14";
 
 global = \notes {
        \key g;
@@ -46,7 +46,7 @@ viola = \notes\relative c'{
        \type Voice=i 
        \clef "alto";
        [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] | 
-       [e(g,)e'] | [e(e,<)a' c,]> | <[a(c,> <fis b,> )b,] |
+       [e(g,)e'] | [e(e,<)a' c,>] | <[a(c,> <fis b,> )b,] |
 }
 
 cello = \notes\relative c'{
index bcf7875e3e94303188e69402feda050730930fd6..7720acfab2b50197ca7c50a594f9185cd2553455 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 part = \notes {
        c-1 c c c
        r1*3
index d76df98ab681ca0af084d18bf6d94c6ac2244201..3353dfe97048c403413e4dedc452c42cd02b87f5 100644 (file)
@@ -28,7 +28,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
                \notes {
index 9b586694f935f4974b6850e6161143ea84df6f7b..c8d3c86919cf122f70c465fdf9a5ccaaec0ccf25 100644 (file)
@@ -23,7 +23,7 @@
    * organ staff...
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 
 
@@ -70,17 +70,17 @@ praeludium_left = \notes \relative c {
 
   % 13
   \type Staff <
-    { \stemup r4 dis' cis cis ~ |
+    \type VoiceOne { \stemup r4 dis' cis cis ~ |
       [cis8 a d cis] [bis gis] cis4 |
       dis2 cis4 r8 cis }
-    { \stemup bis2 }
-    { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 |
+    \type VoiceOne { \stemup bis2 }
+    \type VoiceThree { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 |
       a4. fis8 gis4. a8 ~ |
       a4 gis4 gis r8 gis }
 %    { \stemup \shifton s4 fis4 e}
 % a quick hack to avoid some collisons
-    { \stemdown \shifton s4 fis4 e}
-    { \stemdown s4 dis4 cis4 }
+    \type VoiceFour { \stemdown \shifton s4 fis4 e}
+    \type VoiceTwo { \stemdown s4 dis4 cis4 }
   > |
   %16
 }
@@ -187,7 +187,35 @@ breakmusic = \notes {
       \praeludium_pedal \breakmusic \fugaII_pedal }
   >
 
-  \paper{}
+  \paper {
+    \translator {
+    \VoiceContext
+    \name "BLA";
+    }
+    \translator {
+    \VoiceContext
+    \name "VoiceOne";
+    ydirection = "1";
+    }
+    \translator {
+    \VoiceContext
+    \name "VoiceTwo";
+    ydirection = "-1";
+    }
+    \translator {
+    \VoiceContext
+    \name "VoiceThree";
+    ydirection = "1";
+    hshift = "1";
+    }
+    \translator {
+    \VoiceContext
+    \name "VoiceFour";
+    ydirection = "-1";
+    hshift = "1";
+    }
+
+  }
 
   \midi {
     \tempo 4 =96; }
index 92d0a1055acf066d1b5ed9b4c0b1295dfc91de46..9798f32d0620b99bc58971d37561293f71f72133 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 ritme = \notes\transpose c'' {
        \time  4/4;
index 58e2b102b3eaa0c044b534adbfa3c009074811d5..ae2eba39d1a49fb6e85b372729158fa6d0faa7ca 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
-\version "1.0.10";
+\version "1.0.14";
 blah =         \notes {
                \time 6/8;      
 \transpose c {
index 89b2b976305d14d83241559471713e530b6c9d3b..f2e1fc73985771d6c54d8767570b1d32905185c0 100644 (file)
@@ -1,5 +1,5 @@
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 blah =         \notes{ \transpose c'' {
index f76091d8eb2dc762b0735866df561d9d537e4c3d..f9afb51bd0f54df7106e38d3e0c9ed68d5eb1af2 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.10";
+\version "1.0.14";
 \score{
        \notes \transpose c'''{
                \stemup
index ea6200dd5acd45ad973e2067eed5c698d6cb2e84..90d842fd08bac221b1c781edeac3f001d5b507f6 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 onestaff = \type Staff = foo\notes  {
        \property Staff.instr = instr
index 4295813018d132342388f135821e903f56508a3c..b6a739216469bc2f5e8344bf29bef51e8eb672aa 100644 (file)
@@ -1,15 +1,15 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\transpose c'{
                \property Score.beamquantisation = \none
 
-               [a'8 <a' g'']>
-               [c <c e,]>
-               [a'16 <a' g'']>
-               [c <c e,]>
-               [a'32 <a' g'']>
-               [c <c e,]>
+               [a'8 <a' g''>]
+               [c <c e,>]
+               [a'16 <a' g''>]
+               [c <c e,>]
+               [a'32 <a' g''>]
+               [c <c e,>]
        }
        \paper{
                castingalgorithm = \Wordwrap;
index 5709a714d0e644e15828095e44078bf797e46b5e..85cd5819380951a049cab2fdeae34a2d75d94373 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\transpose c''{
index 0080b0be8d465104175ebcca1bc883b2370f4f20..1216d624d3c512750c41152ad52f2edf866f5355 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        <
index 282d6e2359eb79fda0e0200e40722e2ccfca80c8..adbc6417a4a11a55bd6f3dacfb18c3a7f9cd203a 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 shortlong = \notes{
        c4()c( c c  |
index a2259fae93e31ee3082da3f73ebd030f9ea8f0fd..3067d98957d687caa10bb49903d77ff34565ef33 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.12";
+\version "1.0.14";
 
 %{
 Would this be acceptable/good enough/convenient for entry?
index 6f46d043368cdc10e62a8957957aed38bd5411c8..2295120799bc2b57f7bdf5030dfed255a953eb1c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.12";
+\version "1.0.14";
 
 %{
 Would this be acceptable/good enough/convenient for entry?
index c7cb1df25667ddf88425324518559edb9f09ee7d..d79ab9a22f787d7c76cecc9e40deda00fb217dbb 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score {
        \notes{ 
index eca12b5158f65edad398ef6f38a358cc8bb98ddc..f057211c7f245a13deb1746caf7cd2e645d7cee8 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 
 
index cb9b5e45f7251ce969e7adcc4bba10e039b02c17..d952926b6132bf72406b7c692bf1330dfcbdb007 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 
 \score {
index a8993c5455f81d6749567b8c0676eeebdd5d54d2..42cf2d59f191d1cd0c4270e45d6947aa59f6cc3a 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes";
 
 \include "paper20.ly"
 
-\version "1.0.10";
+\version "1.0.14";
 
 oden = \lyrics{ 
        O8 |
index 148d2dd6d59204c4f7e7fce0cd632b2728d1e7bc..10dc35283ad06211cb690fd3fa259e8e3aa2bc91 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes{
index abeae4c46f1ac5035761916f52e787e838ab301e..f41928628854673662cc773a343118cf739f0188 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes \relative c {
index f3f1b919772d9b50ec9e3787656cd123a64e001a..d8603fb2cfebd52d65ea605a8d6d37a22e38db3a 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 FontBody=      \notes\transpose c''{ 
                \bar "|:";
index dd821c9614a9915b8cd5a61ed2af391f38f58446..66c061eb8cd60776da50d86e38ee5480dd90d044 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "font-body.ly"
 \score{
index b50fef90e332ff8edd8e43fca7e3dddcf6f762bc..49c4db509877e69a5c02272f9cc83df48be39843 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 \include "font-body.ly"
 
 \score{
index 049462f94de0083735741804e725329f702ec654..004ab010ecdac1ad766673459462521e59fc1196 100644 (file)
@@ -4,7 +4,7 @@ copyright =      "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 %{
 
index 4f35ac6a30733d8e6c9d5178c306bc9624ad85b9..8419d39a3fb2521e706ac16daebdb0542fec0598 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "table13.ly";
 \include "table16.ly";
index b25883fd07d3c0455315bac71eb9ae7c0b8a2c68..52ad9ca67bcb19fd7e0a00850e997507dc9ef4a1 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 toeter_i = \notes\relative c {
        \property Staff.instrument = "Toeters"
index 323c79ac95ba7ffbce7c9de8b6183d696906de67..f8c7ed7424b1d6e4f5cb3ffd1ebf8713a8b8cfb0 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 %{
 test key itemv breaking
index 420573c0687a861d1c9fd67c4d486057546700ae..34e1b9668db31bad4a476d5b48630c27fc1212b2 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 \score{
        \notes\relative c'{
                [c16 \stemdown c'' \stemboth c,, d]
index 6f8d82ef61b74252d79c2dfc8d862bafd75c6316..30bd288f2468db222aa50a3ae24d49f723fc6224 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
   s1 | \mark "A";
index dda71ded6145774afae90a51fd17f4e599b99331..be44b11d8896074962e6aaf54b8a9e4ce1475a7a 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 voice_one = \notes\transpose c'        {  \stemup
        R1 * 2 | f'4-. r r2 | R1 * 3 |
index cbc24d27e48f3aaf51148c72fbb6b71d4984c86c..053b73744044f8466466a9aa9d32f1b18d500d29 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score {
 
index 40a9052cceb5e28b269c2d531c0b373622e163ab..e5c3d7bded3988c06206dfb3bcc6dc635ef1615b 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 onestaff =     \type Staff = foo\notes  {
                \property Staff.instr = instr
index d23fe761cb1a261eb32d23fdb4dfdc7096cc9c1b..112d7cc2c9590296bf529516cd9ae75adee5e974 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 shortlong = \notes{
        c4()c( c c  |
index 62ffe16ab58c273596e9221eeef34a08569504fd..2c8847044aaca79444e98bb3874fa4d023f95b6a 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 % bug
 % excentric slur can't handle this ...
index d47ac6e85d2774df226eee200b4dcbe833be72a5..c5502cffcb7eccdebed13dce001affd836fde74d 100644 (file)
@@ -1,5 +1,5 @@
 % test damping
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\relative c'{
index f52b14895352b8e21c45f9446754248081edf0cb..f4ae8923f361367ffbb2432d609c7772b10cb796 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 % urg, the direction of the slur gets swapped!
 \score{
index 51d0ed3429c4e6d10e96e4b06ac386cc999edb41..3367ec63807ce33ae0947a75e20855c11b05f77c 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\transpose c'{
index 50a9053fbb1bd1c0ee5a024b27913ecb7d293a5f..13fe18350f4429be46fd13955f2236ee60b0d13c 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 multipart = \notes{ 
     \type StaffGroup < 
index e5aa9b730b0134a41e01e8d5b36b6078a294533d..992b5f73074a5963554996767ec1eead19a81b65 100644 (file)
@@ -8,7 +8,7 @@ of beams";
        
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 beamintervals = \notes{
                \time 7/4;
index bbeba82c454d5559ee1e314edd39f814c1793d1c..3ef1f47c4fc640eee6601d487ef0f6965ff5c94c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 $somewhat_long = \lyrics{
        \property Lyrics . textstyle = "roman" 
index c97ce8390dd60bc9cb7566c61f823b325319b852..db218ab9b17bb51dce3c020bcc367c0ae18de083 100644 (file)
@@ -7,11 +7,11 @@
 % the thumb-script is used in cello music to indicate a note that should
 % be played with your thumb. 
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score { \notes \relative c'' {
-               <[ a8_\thumb a'8-3(> <)b_\thumb b'-3>
-               <c_\thumb c'-3(> <)d_\thumb d'-3]>
+               [<a8_\thumb a'8-3(> <)b_\thumb b'-3>
+               <c_\thumb c'-3(> <)d_\thumb d'-3>]
        }
        \paper{ 
                linewidth = 80.\mm; 
index b6dc33c6de7625d9bf371126dd8d28e199aef1f1..991f964f5a96782ab9e0a7e90003fdce26a196e8 100644 (file)
@@ -1,10 +1,10 @@
-\version "1.0.10";
+\version "1.0.14";
 
 
 %  middle tie is wrong
 \score{
        \notes\relative c'{
-       {               <c4 e g~ > <d f a>
+       {               <c4 e g  > ~ <d f a>
        }
 }}
 
index 84c17e149772ee8ea7895bf63f9a21054e04dec7..fd5c83fb43617265f278e9bbfd3a4e7807b640e5 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 tie = \notes\transpose c''{
 
index 12867630b11c53d3aab5108cae970e75f5054dc0..00679b3926ed2ad3a3e06c8705861888fd70b5d1 100644 (file)
@@ -10,7 +10,7 @@ source =      "urtext";
 instrument=    "Instrument";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes
index 8299b1b5a4c03b596d944efaac08d60ec46f982c..0b42cfca53bb3f7053a1051513f8b6c19b31537f 100644 (file)
@@ -22,7 +22,7 @@ copyright =    "public domain";
 }
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 vOne = \notes \relative c''{
         \clef"violin";
index 0deb7931319f9280ddfa25471bd0877fee651d0f..0df66e2fd6d8cd88e053ae0fe94356dd656f63a7 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score {
 \notes <
index 6a720cb9661e1af284f4f2d08b2c910da7e1e2d1..088dd25b6249ed5fa6c171df1234ec7a44ce52a0 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests trills" +
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes{ 
index 2676202973ecb4fc43da376b1df154531e49d0f5..80c38ee46ce706fa7624ed130ac686ce5d0ddac5 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
-\version "1.0.12";
+\version "1.0.14";
 
 melodie = \notes\relative c'' {
         \clef "violin";
index b1cd29253d5bccfa23e7716d1df21d1a5428429f..f8f86913d07e569593750fd0e0e6bd0d5ce6ad70 100644 (file)
@@ -20,7 +20,7 @@ traditional song in various languages.
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 melody = \notes \relative c'' {
        \clef violin;
index 36279673fd1fc049f414fb0a1adee8f582c49271..f9f8b89dff9b27cd47d757718ce004c039d46ef5 100644 (file)
@@ -40,7 +40,7 @@ Abbreviation::brew_molecule_p () const
   if (stem_l_ && stem_l_->beam_l_) {
     slope_f = stem_l_->beam_l_->slope_f_;
     // ugh, rather calc from Abbreviation_req
-    beams_i = stem_l_->beams_right_i_ >? stem_l_->beams_left_i_;
+    beams_i = stem_l_->beams_i_drul_[RIGHT] >? stem_l_->beams_i_drul_[LEFT];
   } 
   Real sl = slope_f * internote_f;
 
index 5f2b7f4b805c291aaf4501fd9e6e9a53d0eeb28b..391a101503adeb72325f7d84cc2b648b096a9146 100644 (file)
@@ -32,7 +32,7 @@ Abbreviation_beam_engraver::do_try_music (Music*r)
   if (!b)
     return false;
 
-  if (bool (abeam_p_) == bool (b->spantype == Span_req::START))
+  if (bool (abeam_p_) == bool (b->spantype_ == START))
     return false;
 
   Direction d = (!abeam_p_) ? LEFT : RIGHT;
@@ -84,10 +84,7 @@ Abbreviation_beam_engraver::acknowledge_element (Score_element_info i)
 
   int type_i = span_reqs_drul_[LEFT]->type_i_;
   s->flag_i_ = intlog2 (type_i) - 2;
-  if (span_reqs_drul_[RIGHT])
-    s->beams_left_i_ = s->flag_i_;
-  else
-    s->beams_right_i_ = s->flag_i_;
+  s->beams_i_drul_[(span_reqs_drul_[RIGHT]) ? LEFT: RIGHT] = s->flag_i_;
 
   abeam_p_->multiple_i_ = s->flag_i_;
   if (s->type_i () != 1) // no abbrev gaps on half note
index b1ec28d01d134207ce929601cda2bac7d82d2d29..c8357fa38842d84bfae0fe9657e29b8d9413a325 100644 (file)
@@ -29,7 +29,7 @@ Beam_engraver::do_try_music (Music*r)
   if (!b)
     return false;
 
-  if (bool (beam_p_) == bool (b->spantype == Span_req::START))
+  if (bool (beam_p_) == bool (b->spantype_ == START))
     return false;
 
   Direction d = (!beam_p_) ? LEFT : RIGHT;
index 31c0b34af2e185973f3380cc694c439206fb6bcf..6e50bbf30b2487ae1e4bc6b46db1651e8a9e13a7 100644 (file)
@@ -613,8 +613,8 @@ Beam::set_grouping (Rhythmic_grouping def, Rhythmic_grouping cur)
   for (int j=0, i=0; i < b.size () && j <stems_.size (); i+= 2, j++)
     {
       Stem *s = stems_[j];
-      s->beams_left_i_ = b[i];
-      s->beams_right_i_ = b[i+1];
+      s->beams_i_drul_[LEFT] = b[i];
+      s->beams_i_drul_[RIGHT] = b[i+1];
       multiple_i_ = multiple_i_ >? (b[i] >? b[i+1]);
     }
 }
@@ -647,8 +647,8 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
   /* half beams extending to the left. */
   if (prev)
     {
-      int lhalfs= lhalfs = here->beams_left_i_ - prev->beams_right_i_ ;
-      int lwholebeams= here->beams_left_i_ <? prev->beams_right_i_ ;
+      int lhalfs= lhalfs = here->beams_i_drul_[LEFT] - prev->beams_i_drul_[RIGHT] ;
+      int lwholebeams= here->beams_i_drul_[LEFT] <? prev->beams_i_drul_[RIGHT] ;
       /*
        Half beam should be one note-width, 
        but let's make sure two half-beams never touch
@@ -669,8 +669,8 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
 
   if (next)
     {
-      int rhalfs = here->beams_right_i_ - next->beams_left_i_;
-      int rwholebeams = here->beams_right_i_ <? next->beams_left_i_;
+      int rhalfs = here->beams_i_drul_[RIGHT] - next->beams_i_drul_[LEFT];
+      int rwholebeams = here->beams_i_drul_[RIGHT] <? next->beams_i_drul_[LEFT];
 
       Real w = next->hpos_f () - here->hpos_f ();
       Atom a = lookup_l ()->beam (sl, w + stemdx, beam_f);
diff --git a/lily/cbeam-engraver.cc b/lily/cbeam-engraver.cc
new file mode 100644 (file)
index 0000000..1b65892
--- /dev/null
@@ -0,0 +1,164 @@
+/*   
+  cbeam-engraver.cc --  implement Command_beam_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#include "cbeam-engraver.hh"
+#include "musical-request.hh"
+#include "beam.hh"
+#include "grouping.hh"
+#include "stem.hh"
+#include "warn.hh"
+#include "time-description.hh"
+
+Command_beam_engraver::Command_beam_engraver ()
+{
+  beam_p_ = 0;
+  finished_beam_p_ =0;
+  finished_grouping_p_ = 0;
+  grouping_p_ =0;
+  reqs_drul_[LEFT] = reqs_drul_[RIGHT] =0;
+}
+
+bool
+Command_beam_engraver::do_try_music (Music *m)
+{
+  if (Beam_req * c = dynamic_cast<Beam_req*>(m))
+    {
+      reqs_drul_[c->spantype_] = c;
+      return true;
+    }
+  return false;
+}
+
+
+void
+Command_beam_engraver::do_process_requests ()
+{
+  if (reqs_drul_[STOP])
+    {
+      if (!beam_p_)
+       reqs_drul_[STOP]->warning (_("No beam to stop"));
+      finished_beam_p_ = beam_p_;
+      finished_grouping_p_ = grouping_p_;
+
+      beam_p_ = 0;
+      grouping_p_ = 0;
+    }
+  
+  if (reqs_drul_[START])
+    {
+      beam_p_ = new Beam;
+      grouping_p_ = new Rhythmic_grouping;
+
+      Scalar prop = get_property ("beamslopedamping");
+      if (prop.isnum_b ()) 
+       beam_p_->damping_i_ = prop;
+
+      prop = get_property ("beamquantisation");
+      if (prop.isnum_b ()) 
+       beam_p_->quantisation_ = (Beam::Quantisation)(int)prop;
+      announce_element (Score_element_info (beam_p_, reqs_drul_[START]));
+    }
+}
+
+void
+Command_beam_engraver::typeset_beam ()
+{
+  if (finished_beam_p_)
+    {
+      Rhythmic_grouping const * rg_C = get_staff_info().rhythmic_C_;
+      rg_C->extend (finished_grouping_p_->interval());
+      finished_beam_p_->set_grouping (*rg_C, *finished_grouping_p_);
+      typeset_element (finished_beam_p_);
+      finished_beam_p_ = 0;
+    
+      delete finished_grouping_p_;
+      finished_grouping_p_= 0;
+    
+      reqs_drul_[STOP] = 0;
+    }
+}
+
+void
+Command_beam_engraver::do_post_move_processing ()
+{
+  reqs_drul_ [START] =0;
+}
+
+void
+Command_beam_engraver::do_pre_move_processing ()
+{
+  typeset_beam ();
+}
+
+void
+Command_beam_engraver::do_removal_processing ()
+{
+  typeset_beam ();
+  finished_beam_p_ = beam_p_;
+  finished_grouping_p_ = grouping_p_;
+  typeset_beam ();
+}
+
+void
+Command_beam_engraver::acknowledge_element (Score_element_info info)
+{
+    if (beam_p_)
+      {
+       Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_);
+       if (!stem_l)
+         return;
+
+
+       Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
+       if (!rhythmic_req)
+         {
+           String s=_("Stem must have Rhythmic structure.");
+           if (info.req_l_)
+             info.req_l_->warning(s);
+           else
+             ::warning (s);
+         
+           return;
+         }
+      
+
+       if (rhythmic_req->duration_.durlog_i_<= 2)
+         {
+           rhythmic_req->warning (_ ("stem doesn't fit in beam"));
+           return;
+         }
+
+       /*
+         TODO: do something sensible if it doesn't fit in the beam.
+       */
+       Moment start = get_staff_info().time_C_->whole_in_measure_;
+
+       if (!grouping_p_->child_fit_b (start))
+         {
+           String s (_("please fix me") + ": " 
+                     + _f ("stem at %s doesn't fit in beam", now_moment ().str ()));
+
+           if (info.req_l_)
+             info.req_l_->warning(s);
+           else 
+             warning (s);
+         }
+       else
+         {
+           grouping_p_->add_child (start, rhythmic_req->duration ());
+           stem_l->flag_i_ = rhythmic_req->duration_.durlog_i_;
+           beam_p_->add_stem (stem_l);
+         }
+      }
+}
+
+
+
+ADD_THIS_TRANSLATOR(Command_beam_engraver);
index 65fc6ad78c52cf06a9305c28c5ccaa99210b24f4..a75ab3beb8ad6441f4bbab4e10b6f903672ea1ad 100644 (file)
@@ -20,7 +20,7 @@ Compressed_music_iterator::do_process_and_next (Moment m)
 {
   if (first_b_)
     {
-      bool success =   report_to_l ()->try_music (dynamic_cast<Compressed_music const*> (music_l_));
+      bool success = report_to_l ()->try_music (dynamic_cast<Compressed_music const*> (music_l_));
       if (!success)
        music_l_->warning ( _("No one to print a tuplet start bracket"));
     }
index 25082cd973881e22ccca7f72d044fed36fd1ea24..662a55484441e4d70199db6b5cf20f097b68468a 100644 (file)
@@ -11,6 +11,7 @@
 #include "command-request.hh"
 #include "note-head.hh"
 #include "musical-request.hh"
+#include "tie.hh"
 
 Command_tie_engraver::Command_tie_engraver()
 {
@@ -42,12 +43,47 @@ Command_tie_engraver::acknowledge_element (Score_element_info i)
 void
 Command_tie_engraver::do_process_requests ()
 {
-  
+  if (req_l_)
+    {
+      Moment now = now_moment ();
+      Link_array<Note_head> nharr;
+      
+      stopped_heads_.clear ();
+      while (past_notes_pq_.size ()
+            && past_notes_pq_.front ().end_ == now)
+       stopped_heads_.push (past_notes_pq_.get ());
+
+    }
 }
 
 void
-Command_tie_engraver::processed_acknowledged ()
+Command_tie_engraver::process_acknowledged ()
 {
+  if (req_l_)
+    {
+      if (now_heads_.size () != stopped_heads_.size ())
+       {
+         req_l_->warning ("Unequal number of note heads for tie");
+       }
+      int sz = now_heads_.size () <? stopped_heads_.size ();
+
+      // hmm. Should do something more sensible.
+      // because, we assume no more noteheads come along after the 1st pass.
+      if (sz > tie_p_arr_.size ())
+       {
+         now_heads_.sort (CHead_melodic_tuple::pitch_compare);
+         stopped_heads_.sort(CHead_melodic_tuple::pitch_compare);
+
+         for (int i=0; i < sz; i++)
+           {
+             Tie * p = new Tie;
+             p->set_head (LEFT, stopped_heads_[i].head_l_);
+             p->set_head (RIGHT, now_heads_[i].head_l_);
+             tie_p_arr_.push (p);
+             announce_element (Score_element_info (p, req_l_));
+           }
+       }
+    }
 }
 
 void
@@ -57,13 +93,21 @@ Command_tie_engraver::do_pre_move_processing ()
     {
       past_notes_pq_.insert (now_heads_[i]);
     }
+  now_heads_.clear( );
+  
+  for (int i=0; i<  tie_p_arr_.size (); i++)
+    {
+      typeset_element (tie_p_arr_[i]);
+    }
+  tie_p_arr_.clear ();
 }
 
 void
 Command_tie_engraver::do_post_move_processing ()
 {
+  req_l_ =0;
   Moment now = now_moment ();
-  while (past_notes_pq_.front ().end_ < now)
+  while (past_notes_pq_.size () && past_notes_pq_.front ().end_ < now)
     past_notes_pq_.delmin ();
 }
 
index d5419588446007feaffcf4426e6d177cae55c895..e01a2fb6b69a727c498b73588cd9441abb867f6e 100644 (file)
@@ -75,7 +75,7 @@ Dynamic_engraver::do_process_requests()
        }
       else if (Span_dynamic_req *span_l = dynamic_cast <Span_dynamic_req *> (dreq_l))
        {
-         if (span_l->spantype == Span_req::STOP)
+         if (span_l->spantype_ == STOP)
            {
              if (!cresc_p_)
                {
@@ -88,7 +88,7 @@ Dynamic_engraver::do_process_requests()
                  cresc_p_ = 0;
                }
            }
-         else if (span_l->spantype == Span_req::START)
+         else if (span_l->spantype_ == START)
            {
              cresc_req_l_ = span_l;
              assert (!new_cresc_p);
index 32c3e5787fcfa1950e58cf21aedf1edb076370ad..f7eebd9e42491d1992c8dead4f98a091f666ce47 100644 (file)
@@ -43,7 +43,7 @@ Extender_engraver::do_try_music (Music* req_l)
 {
   if (Extender_req* p = dynamic_cast <Extender_req *> (req_l))
     {
-      if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START))
+      if (bool (extender_spanner_p_) == bool (p->spantype_ == START))
        return false;
 
       Direction d = (!extender_spanner_p_) ? LEFT : RIGHT;
diff --git a/lily/include/cbeam-engraver.hh b/lily/include/cbeam-engraver.hh
new file mode 100644 (file)
index 0000000..d041f41
--- /dev/null
@@ -0,0 +1,39 @@
+/*   
+  cbeam-engraver.hh -- declare Command_beam_engraver
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef CBEAM_ENGRAVER_HH
+#define CBEAM_ENGRAVER_HH
+
+#include "engraver.hh"
+#include "drul-array.hh"
+
+class Command_beam_engraver : public Engraver {
+  Drul_array<Beam_req*> reqs_drul_;
+
+  Beam *finished_beam_p_;
+  Beam *beam_p_;
+
+  Rhythmic_grouping*grouping_p_;
+  Rhythmic_grouping*finished_grouping_p_;
+  
+  void typeset_beam ();
+protected:
+  virtual void do_pre_move_processing ();
+  virtual void do_post_move_processing ();
+  virtual void do_removal_processing ();
+  virtual void acknowledge_element (Score_element_info);
+  virtual bool do_try_music (Music*);
+  virtual void do_process_requests ();
+public:
+  Command_beam_engraver ();
+  VIRTUAL_COPY_CONS (Translator);
+};
+
+#endif /* CBEAM_ENGRAVER_HH */
+
index 527ffbce016b5ab7d30b0ae03d906865de02e566..81990b4f3f29f864aa343c42aeff569b068536e1 100644 (file)
@@ -168,4 +168,5 @@ public:
   REQUESTMETHODS(Bracket_req);
 };
 
+
 #endif // COMMANDREQUEST_HH
index 238db2ff192dfb4471ec4ed30ed8d7e057207bd5..0242fd09fabae93dcd45c913c77edacf9da7ea8e 100644 (file)
@@ -34,13 +34,16 @@ class Command_tie_engraver : public Engraver
   PQueue<CHead_melodic_tuple> past_notes_pq_;
   Command_tie_req *req_l_;
   Array<CHead_melodic_tuple> now_heads_;
+  Array<CHead_melodic_tuple> stopped_heads_;
+  Link_array<Tie> tie_p_arr_;
+  
 protected:
   virtual void do_post_move_processing ();
   virtual void do_pre_move_processing ();
   virtual void acknowledge_element (Score_element_info);
   virtual bool do_try_music (Music*);
   virtual void do_process_requests ();
-  virtual void processed_acknowledged ();
+  virtual void process_acknowledged ();
 public:
   VIRTUAL_COPY_CONS(Translator);
   Command_tie_engraver();
index e192dd35f353da444561e13141b028db57de73f3..45f574b83a8bc83e8db9f7c3dc484971cc7cf460 100644 (file)
@@ -21,6 +21,8 @@ enum Direction
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
+  START = -1,
+  STOP = 1
 };
 
 inline Direction
index bd90bde2aac510602aca46f143f17f5f9b45de59..4d0a5f2a0a8fd30daa367a684895a2343ba0a67e 100644 (file)
@@ -72,9 +72,7 @@ public:
 class Span_req  : public virtual Request  {
 public:
   /// should the spanner start or stop, or is it unwanted?
-  enum Spantype {
-    NOSPAN, START, STOP
-  } spantype;
+  Direction spantype_;
   bool do_equal_b (Request*) const;
   REQUESTMETHODS(Span_req);
 
index 967bc2e7b2caac73a3e34ee302adf95cd98dbf7a..f33038822b97d1107b76239272582a7cfb5ca4e8 100644 (file)
@@ -63,8 +63,7 @@ public:
    */
   Beam* beam_l_;
 
-  int beams_left_i_;
-  int beams_right_i_;
+  Drul_array<int> beams_i_drul_;
 
   /// maximum number of beams
   int mult_i_;
index 7c64c9229f21c7ee39ab3c972bce4dcf304a4abe..34d4fdaf733efda49b3598c72ffaf275bd4442c4 100644 (file)
@@ -38,7 +38,7 @@ void
 Span_req::do_print () const
 {
 #ifndef NPRINT
-  DOUT << spantype;
+  DOUT << spantype_;
 #endif
 }
 
@@ -157,11 +157,6 @@ Rhythmic_req::compress (Moment m)
 {
   duration_.compress (m);
 }
-  
-
-
-
-
 
 void
 Lyric_req::do_print () const
@@ -203,19 +198,12 @@ Note_req::do_print () const
 #endif
 }
 
-
-
 void
 Rest_req::do_print () const
 {
       Rhythmic_req::do_print ();
 }
 
-
-
-
-
-
 void
 Multi_measure_rest_req::do_print () const
 {
@@ -223,18 +211,11 @@ Multi_measure_rest_req::do_print () const
 }
 
 
-
-
-
-
 void
 Beam_req::do_print () const
 {
 }
 
-
-
-
 Abbreviation_beam_req::Abbreviation_beam_req ()
 {
   type_i_ = 0;
@@ -277,12 +258,12 @@ bool
 Span_req::do_equal_b (Request*r) const
 {
   Span_req * s = dynamic_cast <Span_req *> (r);
-  return s && spantype == s->spantype;
+  return s && spantype_ == s->spantype_;
 }
 
 Span_req::Span_req ()
 {
-  spantype = NOSPAN;
+  spantype_ = CENTER;
 }
 
 Script_req::Script_req (Script_req const&s)
@@ -300,8 +281,7 @@ bool
 Script_req::do_equal_b (Request*r) const
 {
   Script_req * s = dynamic_cast <Script_req *> (r);
-
-  return s&&  scriptdef_p_->equal_b (*s->scriptdef_p_);
+  return s &&  scriptdef_p_->equal_b (*s->scriptdef_p_);
 }
 
 Script_req::Script_req ()
@@ -328,10 +308,6 @@ Musical_script_req::do_print () const
   Script_req::do_print ();
 }
 
-
-
-
-
 Script_req::~Script_req ()
 {
   delete scriptdef_p_;
@@ -356,9 +332,6 @@ Text_req::Text_req (int dir_i, Text_def* tdef_p)
   tdef_p_ = tdef_p;
 }
 
-
-
-
 void
 Text_req::do_print () const
 {
@@ -368,32 +341,20 @@ Text_req::do_print () const
 #endif
 }
 
-
-
-
-
 void
 Skip_req::do_print () const
 {
 #ifndef NPRINT
-
   DOUT << "duration: " << duration ();
 #endif
 }
 
-
-
-
-
 void
 Dynamic_req::do_print () const
 {
   Musical_req::do_print ();
 }
 
-
-
-
 void
 Absolute_dynamic_req::do_print () const
 {
@@ -403,7 +364,6 @@ Absolute_dynamic_req::do_print () const
 #endif
 }
 
-
 bool
 Absolute_dynamic_req::do_equal_b (Request *r) const
 {
@@ -466,9 +426,6 @@ Span_dynamic_req::Span_dynamic_req ()
   dynamic_dir_  = CENTER;
 }
 
-
-
-
 void
 Span_dynamic_req::do_print () const
 {
index 8773ae06d08717a58d7443291505615bfd7670df..88a05f698525b1d3fb362a964a8c88d1005bc81a 100644 (file)
@@ -349,13 +349,13 @@ My_lily_parser::get_parens_request (int t)
     case '>':
     case '(':
     case '[':
-      dynamic_cast<Span_req*> (reqs[0])->spantype = Span_req::START;
+      dynamic_cast<Span_req*> (reqs[0])->spantype_ = START;
       break;
       
     case '!':
     case ')':
     case ']':
-      dynamic_cast<Span_req*> (reqs[0])->spantype = Span_req::STOP;
+      dynamic_cast<Span_req*> (reqs[0])->spantype_ = STOP;
       break;
 
     default:
index a0c4fbdba75e84966e20a246e0b17fb6e75de769..d41a1e499d2bdddfd0c2e3e9b17fea6bb29fae5e 100644 (file)
@@ -46,8 +46,8 @@
 #include "repeated-music.hh"
 
 // mmm
-Mudela_version oldest_version ("1.0.10");
-Mudela_version version ("1.0.12");
+Mudela_version oldest_version ("1.0.14");
+Mudela_version version ("1.0.14");
 
 
 // needed for bison.simple's malloc() and free()
@@ -231,7 +231,6 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <scope>  mudela_header mudela_header_body
 %type <box>    box
 %type <i>      open_request_parens close_request_parens
-%type <i>      open_abbrev_parens
 %type <i>      sub_quotes sup_quotes
 %type <music>  simple_element  request_chord command_element Simple_music  Composite_music 
 %type <music>  Alternative_music Repeated_music
@@ -774,9 +773,13 @@ Simple_music:
        | MUSIC_IDENTIFIER { $$ = $1->access_content_Music (true); }
        | property_def
        | translator_change
-       | Simple_music '*' unsigned '/' unsigned {  }
-       | Simple_music '*' unsigned              {  }
-
+       | Simple_music '*' unsigned '/' unsigned        {
+               /* urg */
+               $$ = new Compressed_music ($3, $5, $1);
+       }
+       | Simple_music '*' unsigned              {
+               $$ = new Compressed_music ($3, 1, $1);
+       }
        ;
 
 
@@ -906,19 +909,19 @@ abbrev_command_req:
        | COMMAND_IDENTIFIER    {
                $$ = $1->access_content_Request (true);
        }
-/* TODO */
-/*     | '~'   {
+       | '~'   {
                $$ = new Command_tie_req;
        }
        | '['           {
-               $$ = new Beam_req;
-               $$->spantype = Span_req::START;
+               Beam_req*b= new Beam_req;
+               b->spantype_ = START;
+               $$ =b;
        }
        | ']'           {
-               $$ = new Beam_req;
-               $$->spantype = Span_req::STOP;
+               Beam_req*b= new Beam_req;
+               b->spantype_ = STOP;
+               $$ = b;
        }
-*/
        ;
 
 
@@ -1136,7 +1139,7 @@ extender_req:
                if (!THIS->lexer_p_->lyric_state_b ())
                        THIS->parser_error (_ ("have to be in Lyric mode for lyrics"));
                Extender_req * e_p = new Extender_req;
-               e_p->spantype = Span_req::START;
+               e_p->spantype_ = START;
                $$ = e_p;
                THIS->extender_req = e_p;
        };
@@ -1149,7 +1152,7 @@ dynamic_req:
        }
        | SPANDYNAMIC '{' int int '}' {
                Span_dynamic_req * sp_p = new Span_dynamic_req;
-               sp_p->spantype = (Span_req::Spantype)$4;
+               sp_p->spantype_ = (Direction)$4;
                sp_p-> dynamic_dir_  = (Direction)$3;
                $$ = sp_p;
        }
@@ -1158,15 +1161,9 @@ dynamic_req:
 
 
 close_request_parens:
-       '~'     {
-               $$ = '~';
-       }
-       | '('   {
+       '('     {
                $$='(';
        }
-       | ']'   {
-               $$ = ']';
-       }
        | E_SMALLER {
                $$ = '<';
        }
@@ -1175,17 +1172,6 @@ close_request_parens:
        }
        ;
 
-open_abbrev_parens:
-       '[' ':' unsigned {
-               $$ = '[';
-               if (!Duration::duration_type_b ($3))
-                       THIS->parser_error (_f ("not a duration: %d", $3));
-               else if ($3 < 8)
-                       THIS->parser_error (_ ("can't abbreviate"));
-               else
-                       THIS->set_abbrev_beam ($3);
-       }
-       ;
 
 
 open_request_parens:
@@ -1195,10 +1181,6 @@ open_request_parens:
        | ')'   {
                $$=')';
        }
-       | '['   {
-               $$='[';
-       }
-       | open_abbrev_parens
        ;
 
 
@@ -1294,7 +1276,7 @@ pre_requests:
                if (THIS->extender_req)
                  {
                    Extender_req * e_p = new Extender_req;
-                   e_p->spantype = Span_req::STOP;
+                   e_p->spantype_ = STOP;
                    THIS->pre_reqs.push (e_p);
                    THIS->extender_req = 0;
                  }
index a1ab4444991a1b50892d774ef2e1c70339daf157..ff855674b563b46d37457aefe58c94bb78c2ec8b 100644 (file)
@@ -54,9 +54,9 @@ Plet_engraver::do_try_music (Music* req_l)
   Beam_req* b = dynamic_cast <Beam_req *> (req_l);
   if (b)
     {
-      if (b->spantype)
+      if (b->spantype_)
         {
-          Direction d = (Direction)(((int)(b->spantype - 1)) * 2 - 1);
+          Direction d = (Direction)(((int)(b->spantype_ - 1)) * 2 - 1);
           beam_mom_drul_[d] = get_staff_info ().musical_l ()->when ();
        }
       return false;
@@ -66,7 +66,7 @@ Plet_engraver::do_try_music (Music* req_l)
   if (!p)
     return false;
 
-  if (bool (plet_spanner_p_) == bool (p->spantype == Span_req::START))
+  if (bool (plet_spanner_p_) == bool (p->spantype_ == START))
     return false;
 
   Direction d = (!plet_spanner_p_) ? LEFT : RIGHT;
index c89d39a73a795302456908b6ebdc72352f3acbe7..35a41c6f9d00c76d2915942c8e9504983a2deecd 100644 (file)
@@ -48,7 +48,7 @@ Rest_collision::do_post_processing()
   if (!stem_l)
     return;
   // no beam
-  if (!(stem_l->beams_left_i_ || stem_l->beams_right_i_))
+  if (!(stem_l->beams_i_drul_[LEFT] || stem_l->beams_i_drul_[RIGHT]))
     return;
 
   int dir_i = rest_l_arr_[0]->dir_;
index 24a87c81e6da5240b78e11cd2ce3c75d16b94ffa..308cc419354aec64447810f188c675644a744dcd 100644 (file)
@@ -59,7 +59,7 @@ Slur_engraver::do_process_requests()
     {
       Slur_req* slur_req_l = new_slur_req_l_arr_[i];
       // end slur: move the slur to other array
-      if (slur_req_l->spantype == Span_req::STOP)
+      if (slur_req_l->spantype_ == STOP)
        {
          if (slur_l_stack_.empty())
 
@@ -70,7 +70,7 @@ Slur_engraver::do_process_requests()
              requests_arr_.pop();
            }
        }
-      else  if (slur_req_l->spantype == Span_req::START)
+      else  if (slur_req_l->spantype_ == START)
        {
          // push a new slur onto stack.
          //(use temp. array to wait for all slur STOPs)
index aa9d542f48266a1ff18e153ffec544a86507f869..2f1f141a12629d3752c8b999e3f64594a9c20593 100644 (file)
 Stem::~Stem ()
 {
 }
+
 Stem::Stem ()
 {
   /*
     TODO: staff-size
     */
-  beam_l_ = 0;
-  beams_left_i_ = 0;
-  beams_right_i_ = 0;
+  beams_i_drul_[LEFT] = beams_i_drul_[RIGHT] = 0;
   mult_i_ = 0;
 
   yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
index a8cc0afc3a8cc72d4a307cb74c7512e0b80a55bd..8c90d01de8ae2936c3f29f967cff677d31c7772b 100644 (file)
@@ -21,7 +21,7 @@ include-flower = $(depth)/flower/include
 
 
 
-LILYPOND_INCLUDES = -Istinho $(include-lib) $(depth)/lib/$(outdir) $(include-flower) $(depth)/flower/$(outdir) 
+LILYPOND_INCLUDES = $(include-lib) $(depth)/lib/$(outdir) $(include-flower) $(depth)/flower/$(outdir) 
 
 
 # should use to create .spec ?
index 7f7a88a3ca78e27120537e1a2fcd916faf73d321..ac80176182a1790f43cb904679908156c9011259 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.14
-Inschrijf datum: 09DEC98
+Versie: 1.1.15
+Inschrijf datum: 14DEC98
 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.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index 628679c9238576d0196032f74095094ffb120b0b..897c5fbf61cb2220191e715e73a027d1f0c306e6 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.14
-Entered-date: 09DEC98
+Version: 1.1.15
+Entered-date: 14DEC98
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.1.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Copying-policy: GPL
 End
index a5cf6f131794e69fdaaacace4873886551e777b6..e59b099c7870a359def37b644e6bf8a75368f606 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.14
+Version: 1.1.15
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.14.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.15.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index 3d949865fa6896660b4ce412b3aba2243036780a..d06d48bcda199c259020a23d1bb6456c8c553f3d 100644 (file)
@@ -36,7 +36,7 @@
                     "clef" "cm" "consists" "contains" "duration" "absdynamic" 
                     "in" "translator" "type" "lyric" "key" "maininput" "notes"
                     "musical_pitch" "time" "midi" "mm" "header"
-                    "notenames" "octave" "output" "partial" "paper" "plet"
+                    "notenames" "octave" "output" "partial" "paper" "plet" "name"
                     "property" "pt" "shape" "relative" "include" "score"
                     "scm" "scmfile"
                     "script" "skip"  "table" "times" "spandynamic" "symboltables"
index af898f6404d152bf3b2a05dc376c9920944ed84a..14fac641d38a69c522175bc453ffc8601caac3c5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violoncello.ly"
index 45409ae85e5c061ed0ebc247a7440092aa318cc1..c62420360fe99f1fac89ecd9486f64165d313031 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "clarinetti.ly"
index f6e3f6a4cb718ad8b11a34368f1d9bfaae000641..ea3d37a1a57d6156ce931ef141a3e3188f21ca9b 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "clarinetto-1.ly"
 \include "clarinetto-2.ly"
index 4f701016abc642295b8875542c532b9c24fd9b34..7aec16dcf7cb0387902daa6796bf9dc80532447c 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 clarinetto1 = \notes \relative c {
        R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 |
index 55c562baa8dc910b83dd4e54e96108040c0a21e6..31738f0b254e9e8eea7ddf58a7c1e1ad6db8da18 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 clarinetto2 = \notes \relative c { 
        R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | 
index b496c49bc8cae463bfdb3ed4b490192d177db4ed..91ae1e5763cb6a78d35e3e1602c8cc8b1e8ea13c 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "contrabasso.ly"
index 84584365882a48a9cdd122c780fbb6ea81afc18d..86ff955b71ebce2ac2939d1e11267b47ccca1a97 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 contrabasso = \notes \relative c {
 %      \translator Staff=violoncello
index 56dba64710fc7c2fe0eb4ad1deaf49e12cb2dcbc..6ad5f01e98a2f7551f54a8a4e27a7722b5886cf6 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 
index 305c4ac1dac89d4480b78b6e520e54b4e242c004..6ee7f94c2484b2ff58251494593c157bd3c954d8 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "corni.ly"
index 8996b9c76cc5ec065f79dc79d6e3499f4d83991d..35ae851869e272721a5ebe4eefc84a9e703d9467 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "corno-1.ly"
 \include "corno-2.ly"
index e05d0c0ac3db5cf3fe0bed47e86133934083e759..7313cf617a1f72abc1ae7c31da3e108f6cfd00f5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 corno1 = \notes \relative c {
        R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index f2f941838aa5226e3c5642c89d3681e679322c2b..e24bed021a8382a78ea45ca62327915ee32996e7 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 corno2 = \notes \relative c {
        R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
index 0e7ab52fa32ade487595843d0a141dc8915acc03..20d56dfd29bacb25409fc2f466f7124a075d80df 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "fagotti.ly"
index a5f7199c2941ab715fbcc9a721384c6d82d48185..016f3a59cb69d7d26cb3e8ffc756e47bef78316b 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "fagotto-1.ly"
 \include "fagotto-2.ly"
index 7bdf0f12175e653e09efcfea0b84a03314980ec4..3111902d5eb6ff02914170a774de9b0e8a360904 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 fagotto1 = \notes \relative c {
        R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
index f8d9e16c73f9ebdb6dcfacd8636cda8effa9a48a..12f7c68b145e39cf063db10bcadfd4276949f8c7 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 fagotto2 = \notes \relative c {
        R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index 74b79ab978494770b3ad651f48a4b4ab541c6b58..d50c1abae5a9a0656b899e643852e9d425076ec7 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "flauti.ly"
index 4424e0639c032da5daddd42ac5b8ca78aa82d22b..db56765385ec6136c0a533c7480f89d413787987 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
index 2d590d84cd9f3758618511b1755e53f9f6730dd6..4af6b54a6493cf9565d7f3be717f28866e3b10cb 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 flauto1 = \notes \relative c {
        R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
index daf8cbd7dae00eb82fe1ca6713ed95021791594e..f7d266083c0773a1419727ddce7d90d69e1a007c 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 flauto2 = \notes \relative c {
        R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | 
index 451210d76b3560b091a387fed625a745de2f62c2..37c80a8298fd51c1d34c4e324ff3b3fda5763161 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
        \time 4/4;
index 22d402bdb0a7deb525c97ba811973f6bdba372fc..ae7073b1e6ae74d3fb6d42a9293df7da2716c1aa 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 oboe1 = \notes \relative c'' {
        R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
index 869a894afce679acbdfbf1df69134f309fd05764..4c3e5c141b2093f83ebdedf0295a5b8789ccf177 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 oboe2 = \notes \relative c{
        R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
index 3f4cae703b4348ad4c62aaee48f1ff30eddd2af4..967010b981553b6f247bf7a88007d4e3f69c49ab 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "oboi.ly"
index d2fab53cd4807e989e8c03832088b8c5bab79068..57ed1985f00112eb815e11d58aa70c234864c558 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "oboe-1.ly"
 \include "oboe-2.ly"
index f167114441c18210697133e2c84fd28b05f228aa..74374f04b08b3b01aa24c8b270764aaa6eedf466 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 timpani = \notes \relative c {
        R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index c046c65f520421c5791eadc48d21d5c32b0fb67e..818d668d9103e31484787a0812c5ee2b6c3af019 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "trombe.ly"
index e5f365627983eaf8e2216554b70567d48025e340..d8fc0b91b4b68c68065200db29a1e3fadf35ba2b 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
index a33ffe7138862ef1f9a2114d42e1fd2a037007cb..fb52b473e5c21582676fbd5bfcc35b86f3e09858 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 trombo1 = \notes \relative c {
        R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index 4c0887ee626b140a638adadfa32daacac25e08b2..0788561f0c7b553068081885f2fe0b9aa018d387 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 trombo2 = \notes \relative c {
        R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
index ab83e56693cf78f6572283683cc3949eaf9ecc1c..155c8b5b53fc6c51535d0a33f876f999fa3a88d2 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 viola1 = \notes \relative c {
        \type Voice=one
index ed02415a57aa90304c784d8791b6c1be74a81cc2..edfa67e706c658809baff5797355831ee0084763 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 viola2 = \notes \relative c {
        % starts on (actualy, most part is on) same staff as viola1
index 4db1c2cd011ab4ccdb2eaabcd3fe841ac2fcaf1d..94a0f7e8822d4d275d3f41e455a5d20954f10271 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "viola-1.ly"
index 5e5dbed0defb4da0784d4100b0146755019502f6..7b6c9bd1a7223e49482fef7ecc566c11047437d4 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violino-1.ly"
index 14196cc240d6bd9eef515ffe4cdd58dc619945ba..ab12d3ca958e415fe7f7b9875146d4c4bf886c8f 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 violino1 = \notes \relative c {
        c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
@@ -54,9 +54,9 @@ violino1 = \notes \relative c {
        g2.\p( as4 | g f d ) bes | bes'2.( c4 | 
        %55
        bes2 )as |
-       g4 <bes2-"cresc." bes'> <bes4 bes'~> |
-       <bes-"cresc." bes'> <bes2 bes'> <bes4 bes'~> |
-       <bes bes'> <bes2 bes'> <bes4 bes'~>  |
+       g4 <bes2-"cresc." bes'> <bes4 bes' > ~ |
+       <bes-"cresc." bes'> <bes2 bes'> <bes4 bes' > ~ |
+       <bes bes'> <bes2 bes'> <bes4 bes' > ~  |
        <bes bes'> <bes2 bes'> <bes4 bes'> |
        %60
        bes'2:16 bes: | bes: bes: |
@@ -237,11 +237,11 @@ violino1 = \notes \relative c {
        [c8 c] c4. c8 c4 ~ |
        [c8 c] c4. c8 c4 ~ |
        [c8 c] c4. c8 c4 ~ |
-       c4.\ff <c8 c,> <c2\sf c,~> |
+       c4.\ff <c8 c,> <c2\sf c, > ~ |
        %265
-       <c4. c,> <c8 c,> <c2\sf c,~> |
-       <c4. c,> <c8 c,> <c2\sf c,~> |
-       <c4. c,> <c8 c,> <c2\sf c,~> |
+       <c4. c,> <c8 c,> <c2\sf c, > ~ |
+       <c4. c,> <c8 c,> <c2\sf c, > ~ |
+       <c4. c,> <c8 c,> <c2\sf c, > ~ |
        <c4. c,> <c8 c,> <c2\sf c,> |
        d4. d8 d2\sf |
        %270
index 3860a45c60ae4c6694fcad3f4737b053e56a8f7e..efa657dbd67124752659ba8e0d75fbfef0036887 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violino-2.ly"
index cb2097cdb8d57a1996d4ddb4f6014ac86a1c4163..064f48f605ce25397c5a5ee80b163835ddd8fcbb 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 violino2 = \notes \relative c {
        c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
@@ -110,7 +110,7 @@ violino2 = \notes \relative c {
        bes4\f r8 es d4 r8 a | 
        g4 r8 c bes4 r8 f | 
        es4 r8 a g4 r8 cis |
-       <[d16 s> <bes g'> <bes g'> <bes g']> <a4:16 fis':> <a2:16 fis':> |
+       <[d16 s> <bes g'> <bes g'> <bes g'>] <a4:16 fis':> <a2:16 fis':> |
        <bes: g':> <bes: g':> |
        <bes: g':> <bes: g':> |
        <bes: g':> <bes: g':> |
index 0bfc69ad267e54c34d4d1c6fe7b3f7ba5f9b4b69..8ff1afdfcdf30c836e05bf16be001bf2f0c63d12 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violoncello.ly"
index 634f07d69915e73277696aea5c3540e5a1287003..7c5a1eb2780b37d5e1fdc3a66aee40d97dfe6304 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 violoncello = \notes \relative c {
        c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 |
index 5144576d2e9f06bac7ee2dd68090dba971ab3e9e..d8f3dbd6a4497d0bca5bed0b292b49c408594858 100644 (file)
@@ -17,7 +17,7 @@ title = "Verso II";
        under the Gnu Public Licence.
 %}
        
-\version "1.0.10";
+\version "1.0.14";
 
 $voice_one = \notes \relative c' {
        a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~|
index e8e7bd35744dca120285efdc9d63f9083459d355..919d880d0327db7b09b19f961f7e8838af5886ff 100644 (file)
@@ -10,7 +10,7 @@ title = "An Sylvia";
 }
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "paper16.ly";
 \include "paper13.ly";
@@ -18,119 +18,119 @@ title = "An Sylvia";
 pianoRH=\notes \relative c''  {
                 \clef "G";
 %1
-                <[b,8-.(\pp d-. g-.> <b8-. d-. g-.> <b-. d-. g-.> <)b-. d-. g-.]>
-                <[b8-. d-. g-.(> <b8-. d-. g-.> <b-. d-. g-.> <)b-. d-. g-.]>
+                <[b,8-.(\pp d-. g-.> <b8-. d-. g-.> <b-. d-. g-.> <)b-. d-. g-.>]
+                <[b8-. d-. g-.(> <b8-. d-. g-.> <b-. d-. g-.> <)b-. d-. g-.>]
                 |
 %2
-                <[c d g_"{\it simile}" \< > <c d g> <c d fis> <c d fis]>
-                <[c d fis> < \! c d fis > <c d fis> <c d fis]>
+                <[c d g_"{\it simile}" \< > <c d g> <c d fis> <c d fis>]
+                <[c d fis> < \! c d fis > <c d fis> <c d fis>]
 %3
                 |
-                <[d f gis \> > <d f gis> <d f gis> < \! d f gis ]>
-                <[c e a> <c e a> <e a c> <e a c]> 
+                <[d f gis \> > <d f gis> <d f gis> < \! d f gis >]
+                <[c e a> <c e a> <e a c> <e a 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]> |
+                <[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
-                <[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>]
                 |
 %6
-                <[c d g> <c d g> <c d fis> <c d fis]>
-                <[c d fis> <c d fis> < a c dis fis> <a c dis fis]>
+                <[c d g> <c d g> <c d fis> <c d fis>]
+                <[c d fis> <c d fis> < a c dis fis> <a c dis fis>]
                 |
 %7
-                <[g c e g> <g c e g> <g c e g> <g c e g ]> 
-                <[g c e g> <g c e g>  <g c e> <g c e]>
+                <[g c e g> <g c e g> <g c e g> <g c e g >] 
+                <[g c e g> <g c e g>  <g c e> <g c e>]
                 |
 %8
-                <[g c e> <g c e> <g b d> <g b d]>
-                <[g b d> <g b d> <g b d> <g b d]>
+                <[g c e> <g c e> <g b d> <g b d>]
+                <[g b d> <g b d> <g b d> <g b d>]
                 |
 %9
-                <[fis a d> <fis a d> <fis a d> <fis a d]>
-                <[g b d> <g b d> <g b d> <g b d]>
+                <[fis a d> <fis a d> <fis a d> <fis a d>]
+                <[g b d> <g b d> <g b d> <g b d>]
                 |
 %10
-                <[  g a c d \> > <g a c d> <fis a c d> <\! fis a c d ]>
-                <[g b d> <g b d><g b d><g b d]>
+                [< g a c d \> > <g a c d> <fis a c d> <\! fis a c d >]
+                <[g b d> <g b d><g b d><g b d>]
                 |
 %11
-               <[g a c d> <g a c d> <fis a c d> <fis a c d]>
-               <[g b d> <g b d]> <[b d g> <b d g]>
+               <[g a c d> <g a c d> <fis a c d> <fis a c d>]
+               <[g b d> <g b d>] <[b d g> <b d g>]
                |
 %12
-               <[ d fis b> <d fis b><d fis b><d fis b]>
-               <[ d fis b> <d fis b><d fis b><d fis b]>
+               [<d fis b> <d fis b><d fis b><d fis b>]
+               [<d fis b> <d fis b><d fis b><d fis b>]
                |
 %13
-               <[e fis b> <e fis b> < e fis ais> <e fis ais]>
-               <[e fis ais> <e fis ais> <d fis b> <d fis b]>
+               <[e fis b> <e fis b> < e fis ais> <e fis ais>]
+               <[e fis ais> <e fis ais> <d fis b> <d fis b>]
                |
 %14
-               <[cis g' a!> <cis g' a> <cis a' g> <cis a' g]>
-               <[cis g' a> <cis g' a> < e g a> <e g a]>
+               <[cis g' a!> <cis g' a> <cis a' g> <cis a' g>]
+               <[cis g' a> <cis g' a> < e g a> <e g a>]
                |
 %15
-               <[e g a> <e g a> <d fis a> <d fis a]>
-               <[d fis a> <d fis a> <d fis a> <d fis a]>
+               <[e g a> <e g a> <d fis a> <d fis a>]
+               <[d fis a> <d fis a> <d fis a> <d fis a>]
                |
 %16
-               <[d fis a> <d fis a> <d fis a> <d fis a]>
-               <[d fis a \< > <d fis a> <d fis a> < \! d fis a ]>
+               <[d fis a> <d fis a> <d fis a> <d fis a>]
+               <[d fis a \< > <d fis a> <d fis a> < \! d fis a >]
                |
 %17
-               <[d a' c \> > <d a' c><d a' c>< \! d a' c  ]>
-               <[d a' c> <d a' c><d a' c><d a' c]>
+               <[d a' c \> > <d a' c><d a' c>< \! d a' c  >]
+               <[d a' c> <d a' c><d a' c><d a' c>]
                |
 %18
-               <[d g a c \> > <d g a c> <d g a c> <d g a c]>
-               <[d fis a c> <\! d fis a c \pp > <d fis a c> <d fis a c]>
+               <[d g a c \> > <d g a c> <d g a c> <d g a c>]
+               <[d fis a c> <\! d fis a c \pp > <d fis a c> <d fis a c>]
                |
 %19
-               <[d g b> <d g b> <d g b> <d g b]>
-               <[d g b> <d g b> <d g b> <s g b]>
+               <[d g b> <d g b> <d g b> <d g b>]
+               <[d g b> <d g b> <d g b> <s g b>]
                |
 %20
-               <[e g c> <e g c> <e gis c> <e gis c]>
-               <[e a c> <e a c> <e b' c> < e b' c]>
+               <[e g c> <e g c> <e gis c> <e gis c>]
+               <[e a c> <e a c> <e b' c> < e b' c>]
                |
 %21
-               <[e c'> <e c'> <e a c> <e a c]>
-               <[e a c> <e a c> <e a c> <e a c]>
+               <[e c'> <e c'> <e a c> <e a c>]
+               <[e a c> <e a c> <e a c> <e a c>]
                |
 %22
-               <[d a' c> <d a' c> <d a'> <d a']>
-               <[d a' d> <d a' d> <d a' c> <d a' c]>
+               <[d a' c> <d a' c> <d a'> <d a'>]
+               <[d a' d> <d a' d> <d a' c> <d a' c>]
                |
 %23
-               <[b d b'> <b d b'> <b d a'> <b d a']>
-               <[b d g \< > <b d g> <b d fis> < \! b d fis  ]>
+               <[b d b'> <b d b'> <b d a'> <b d a'>]
+               <[b d g \< > <b d g> <b d fis> < \! b d fis  >]
                |
 %24
-               <[b d e \> > <b d e> <gis b e> < \! gis b e  ]>
-               <[a c e> <a c e> <e' a> <e a]>
+               <[b d e \> > <b d e> <gis b e> < \! gis b e  >]
+               <[a c e> <a c e> <e' a> <e a>]
                |
 %25
-               <[d a' c> <d a' c> <d a' c> <d a' c]>
-               <[d a'> <d a' \> > <c d fis> < \! c d fis  \p ]>
+               <[d a' c> <d a' c> <d a' c> <d a' c>]
+               <[d a'> <d a' \> > <c d fis> < \! c d fis  \p >]
                |
 %26
-               <[b d g> <b d g> <b d g> <b d g]>
-               <[b d g> <b d g> <b d g> <b d g]>
+               <[b d g> <b d g> <b d g> <b d g>]
+               <[b d g> <b d g> <b d g> <b d g>]
                |
 %27
-               <[c d g > <c d g > <c d fis  > <c d fis ]>
-               <[c d fis \< > <c d fis >< \! c d fis  ><c d fis ]>
+               <[c d g > <c d g > <c d fis  > <c d fis >]
+               <[c d fis \< > <c d fis >< \! c d fis  ><c d fis >]
                |
 %28
-               <[d f gis \> > <d f gis> < \! d f gis  > <d f gis]>
-               <[c e a> <c e a> <e a c> <e a c]>
+               <[d f gis \> > <d f gis> < \! d f gis  > <d f gis>]
+               <[c e a> <c e a> <e a c> <e a 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]>
+               <[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
index 45e3e12b103a56916e2d19cc599372b192e84da9..971e9f5c813e956fb8f1ad0b58343f101d750603 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "standchen.ly"
index b1327373ec18edd9e80b7fe330e5fd6ca9643b91..daaed0bbcabb382da4870c3cde5a43857ebd0efb 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 description = "A schubert song in 20 pt";
 } 
 
-\version "1.0.10";
+\version "1.0.14";
 
 % fool make-website
 % \include "standchen.ly";
index 4bc8f842f3d0de5f49086e0505cf34fd595586ed..0e2b89d72cba9b7360521a5eb18e46901103a7cd 100644 (file)
@@ -16,7 +16,7 @@ multiple \paper{}s in one \score
 Note: Original key F.
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 $vocal_verse1 = \notes\relative c''{
        % ugh: treble/bass
@@ -170,44 +170,44 @@ $treble_intro = \notes\relative c{
        \clef violin;
        % ugh: id like to type this!
        %r8\pp [<g'-. c-.> <c-. es-.> <g-. c-.> <c-. es-.> <g-. c-.>] |
-       r8^"\bf m\\\"assig"\pp <[g'-. c-.> <c-. es-.> <g-. c-.> <c-. es-.> <g-. c-.]> |
-       r8 <[as-. c-.> <c-. es-.> <as-. c-.> <c-. es-.> <as-. c-.]> |
-       r8 <[as-. c-.> <c-. d-.> <as-. c-.> <c-. d-.> <as-. c-.]> |
-       r8 <[g-. b-.> <b-. d-.> <g-. b-.> <b-. d-.> <g-. b-.]> |
+       r8^"\bf m\\\"assig"\pp <[g'-. c-.> <c-. es-.> <g-. c-.> <c-. es-.> <g-. c-.>] |
+       r8 <[as-. c-.> <c-. es-.> <as-. c-.> <c-. es-.> <as-. c-.>] |
+       r8 <[as-. c-.> <c-. d-.> <as-. c-.> <c-. d-.> <as-. c-.>] |
+       r8 <[g-. b-.> <b-. d-.> <g-. b-.> <b-. d-.> <g-. b-.>] |
        \break
 }
 
 $treble_verse1 = \notes\relative c{
 %      \clef violin;
        %5
-       r8 <[g' c> <c es> <g c> <c es> <g c]> |
-       r8 <[f c'> <c' d> <f, c'> <c' d> <f, c']> |
-       r8 <[f g b> <g b d> <f g b> <g b d> <f g b]> |
-       r8 <[es g c> <g c es> <es g c> <g c es> <es g c]> |
+       r8 <[g' c> <c es> <g c> <c es> <g c>] |
+       r8 <[f c'> <c' d> <f, c'> <c' d> <f, c'>] |
+       r8 <[f g b> <g b d> <f g b> <g b d> <f g b>] |
+       r8 <[es g c> <g c es> <es g c> <g c es> <es g c>] |
        <g''4.( b,> <)f8 d>
          \times 2/3 { < [ f( d> <es c> <)d b] > } |
        %10
        <c2. es> |
-       r8 <[g, c> <c es> <g c> <c es> <g c]> |
-       r8 <[f c'> <c' d> <f, c'> <c' d> <f, c']> |
-       r8 <[f as bes> <as bes d> <f g bes> <as bes d> <f g bes]> |
-       r8 <[es g bes> <g bes es> <es g bes> <g bes es]> 
+       r8 <[g, c> <c es> <g c> <c es> <g c>] |
+       r8 <[f c'> <c' d> <f, c'> <c' d> <f, c'>] |
+       r8 <[f as bes> <as bes d> <f g bes> <as bes d> <f g bes>] |
+       r8 <[es g bes> <g bes es> <es g bes> <g bes es>] 
        <{ es'~ | d4. ~ f8}{ c'~ | bes4. ~ as8 } > 
         \times 2/3 { < [f( as> <es g> <)d f] > } |
        %16
        <es2. g> |
-       r8 <[f, g> <g b> <f g> <g b> <f g]> |
-       r8 <[es g> <g c> <es g> <g c> <es g]> |
-       r8\pp <[es as c> <as c es> <es as c> <as c es> <es as c]> |
+       r8 <[f, g> <g b> <f g> <g b> <f g>] |
+       r8 <[es g> <g c> <es g> <g c> <es g>] |
+       r8\pp <[es as c> <as c es> <es as c> <as c es> <es as c>] |
        %20
-       r8 <[es g bes> <g bes es> <es g bes> <g bes es> <es g bes]> |
+       r8 <[es g bes> <g bes es> <es g bes> <g bes es> <es g bes>] |
        % \times 2/3 { [ as\grace( bes )
        \times 2/3 { [ as'8( g as] } c4.-> ) as8 |
        g2. |
-       r8 <[f, g> <g b> <f g> <g b> <f g]> |
-       r8 <[e g> <g c> <e g> <g c> <e g]> |
-       r8 <[f a c> <a c f> <f a c> <a c f> <f a c]> |
-       r8 <[e g c> <g c e> <e g c> <g c e> <e g c]> |
+       r8 <[f, g> <g b> <f g> <g b> <f g>] |
+       r8 <[e g> <g c> <e g> <g c> <e g>] |
+       r8 <[f a c> <a c f> <f a c> <a c f> <f a c>] |
+       r8 <[e g c> <g c e> <e g c> <g c e> <e g c>] |
        \times 2/3 <
          { [ f'8\f( e f]  }
          {  f' e f } >
@@ -216,13 +216,13 @@ $treble_verse1 = \notes\relative c{
 
 $treble_eentje = \notes \relative c'{
        <e2 e'> <e4 g>|
-       <f2\mf as!(> <[as8.->( c> <)f16 )as]> |
-       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.]> |
+       <f2\mf as!(> <[as8.->( c> <)f16 )as>] |
+       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.>] |
+       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.>] |
        <e2 g> <e4\pp g> |
-       <f2 a(> <[a8. c> <f16 )a]> |
-       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.]> |
+       <f2 a(> <[a8. c> <f16 )a>] |
+       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.>] |
+       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.>] |
        %60
        <e2. g> |
 }
@@ -231,11 +231,11 @@ $treble_through = \notes \relative c'{
        <e2. e'> |
        %61
        R2. |
-       <[g,8.\< g'> <g16 g'> <b8. b'> <\! b16\> b'16> <d8. d'> <d16 d']> |
+       <[g,8.\< g'> <g16 g'> <b8. b'> <\! b16\> b'16> <d8. d'> <d16 d'>] |
        < { c4( )b } { c'4( )b } > \!r |
 % ugh
 %      <g4. g> <b8 b> <[d8.-> d->> c16] |
-       <g4. g'> <b8 b'> <[ d'8.-> d,-> > c16] |
+       <g4. g'> <b8 b'> [<d'8.-> d,-> > c16] |
 % ugh ugh: connecting chords
        %65
        < { d,2.\f a'2} { e2. ~ e2 } { b'2. c,2 }> r4 |
@@ -252,9 +252,9 @@ $treble_through = \notes \relative c'{
                }
        >
        % 4 bars copied from end verse1
-       r8 <[f, a c> <a c f> <f a c> <a c f> <f a c]> |
+       r8 <[f, a c> <a c f> <f a c> <a c f> <f a c>] |
        %70
-       r8 <[e g c> <g c e> <e g c> <g c e> <e g c]> |
+       r8 <[e g c> <g c e> <e g c> <g c e> <e g c>] |
        \times 2/3 < { [ f'8\f( e f] }
           {  f' e f }>
        < { a4.-> )f8 } { a4. f8 } > |
@@ -267,9 +267,9 @@ $treble_through = \notes \relative c'{
        <c2 c'> <e4\pp g> |
 
        % four copied from begin eentje
-       <f2 as!(> <[as8.-> c> <f16 )as]> |
-       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.]> |
+       <f2 as!(> <[as8.-> c> <f16 )as>] |
+       <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.>] |
+       <f4. g> <[b,8-. g'-.(> <d-. g-.> <f-. )g-.>] |
        %80
        \property Voice . textstyle =  "italic"
        <e2._"dim." g> |
@@ -295,73 +295,73 @@ $bass_verse1 = \notes\relative c{
        <as2 as'> r4 |
        <g2 g'> r4 |
        <c2 c'> r4 |
-       <g8 g'> <[g'' d'> <d' f> <g, d'> <d' f> <g, d']> |
+       <g8 g'> <[g'' d'> <d' f> <g, d'> <d' f> <g, d'>] |
 %10
-       <c,,8 c'> <[g'' c> <c es> <g c> <c es> <g c]> |
+       <c,,8 c'> <[g'' c> <c es> <g c> <c es> <g c>] |
        <c,,2 c'> r4 |
        <as2 as'> r4 |
        <bes2 bes'> r4 |
        <es,2 es'> r4 |
 %15
-       bes'8 <[bes' f'> <f' as> <bes, f'> <f' as> <bes, f']> |
-       es,8 <[bes' es> <es g> <bes es> <es g> <bes es]> |
+       bes'8 <[bes' f'> <f' as> <bes, f'> <f' as> <bes, f'>] |
+       es,8 <[bes' es> <es g> <bes es> <es g> <bes es>] |
        <g,2 g'> r4 |
        <c2 c'> r4 |
        <as2 as'> r4 |
        <es2 es'> r4 |
-       <bes'8 bes'> <[f'' bes> <bes d> <f bes> <bes d> <f bes]> |
-       <es,,8 es'> <[es'' g bes> <g bes es> <es g bes> <g bes es> <es g bes]> |
+       <bes'8 bes'> <[f'' bes> <bes d> <f bes> <bes d> <f bes>] |
+       <es,,8 es'> <[es'' g bes> <g bes es> <es g bes> <g bes es> <es g bes>] |
        <g,,2 g'> r4 |
        <c2 c'> r4 |
        <f,2 f'> r4 |
        <c'2 c'> r4 |
-       <g8 g'> <[d'' g> <g b> <d g> <g b> <d g]> |
-       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g]> |
+       <g8 g'> <[d'' g> <g b> <d g> <g b> <d g>] |
+       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g>] |
 }
 
 $bass_eentje = \notes\relative c{
        \property Voice.dynamicdir=1
-       <c,8 c'> <[c' f as!> <f as c> <c f as> <f as c> <c f as]> |
-       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g]> |
-       <g,8 g'> <[d'' g> <g b> <d g> <g b> <d g]> |
-       c,8 <[e' g> <g c> <e g> <g c> <e g]> |
-       <c,8 c'> <[c' f a> <f a c> <c f a> <f a c> <c f a]> |
-       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g]> |
-       <g,8 g'> <[d'' g> <g b> <d g> <g b> <d g]> |
-       c,8 <[e' g> <g c> <e g> <g c> <e g]> |
+       <c,8 c'> <[c' f as!> <f as c> <c f as> <f as c> <c f as>] |
+       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g>] |
+       <g,8 g'> <[d'' g> <g b> <d g> <g b> <d g>] |
+       c,8 <[e' g> <g c> <e g> <g c> <e g>] |
+       <c,8 c'> <[c' f a> <f a c> <c f a> <f a c> <c f a>] |
+       c,8 <[c' e g> <e g c> <c e g> <e g c> <c e g>] |
+       <g,8 g'> <[d'' g> <g b> <d g> <g b> <d g>] |
+       c,8 <[e' g> <g c> <e g> <g c> <e g>] |
 }
 
 $bass_through = \notes\relative c{
        \property Voice.dynamicdir=1
        %61
-       <g,8^"cresc." g'> <[g' b d> <b d f> <g b d> <as!-> b-> d->> <b d f]> |
-       <g,8 g'> <[g' d'> <d' f> <g, d'> <as-> b-> d->> <b d f]> |
+       <g,8^"cresc." g'> <[g' b d> <b d f> <g b d> <as!-> b-> d->> <b d f>] |
+       <g,8 g'> <[g' d'> <d' f> <g, d'> <as-> b-> d->> <b d f>] |
        % copied
-       <g,8 g'> <[g' d'> <d' f> <g, d'> <as-> b-> d->> <b d f]> |
-       <g,8 g'> <[g' d' e> <d' f> <g, d'> <gis-> b-> d->> <b d f]> |
+       <g,8 g'> <[g' d'> <d' f> <g, d'> <as-> b-> d->> <b d f>] |
+       <g,8 g'> <[g' d' e> <d' f> <g, d'> <gis-> b-> d->> <b d f>] |
        %65
-       <gis,8 gis'> <[d''\> e> <e b'> <d e> <e b'> <d\! e]> |
-       <a,8 a'> <[c' e> <e a> <c e> <e a> <c e]> |
-       <a,8 a'> <[a' d f> <d f a> <a d f> <d f a> <a d f]> |
-       <a,8 a'> <[a' c e> <c e a> <a c e> <c e a> <a c e]> |
+       <gis,8 gis'> <[d''\> e> <e b'> <d e> <e b'> <d\! e>] |
+       <a,8 a'> <[c' e> <e a> <c e> <e a> <c e>] |
+       <a,8 a'> <[a' d f> <d f a> <a d f> <d f a> <a d f>] |
+       <a,8 a'> <[a' c e> <c e a> <a c e> <c e a> <a c e>] |
        % 4 bars copied from end verse1
        <f,2\p f'> r4 |
        %70
        <c'2 c'> r4 |
-       <g8 g'> <[d'' g> <g b> <d g> <g b> <d g]> |
-       c,8\> <[c' e g> < \! e g c> <c e g> <e g c> <c e g]> |
+       <g8 g'> <[d'' g> <g b> <d g> <g b> <d g>] |
+       c,8\> <[c' e g> < \! e g c> <c e g> <e g c> <c e g>] |
 
-       <c,8 c'> <[c' es! g> <es g c> <c es g> <es g c> <c es g]> |
-       <f,,8 f'> <[d'' f> <f as!> <d f> <f as> <d f]> |
+       <c,8 c'> <[c' es! g> <es g c> <c es g> <es g c> <c es g>] |
+       <f,,8 f'> <[d'' f> <f as!> <d f> <f as> <d f>] |
        %75
-       <g,,8 g'> <[d'' f> <f g> <d f> <f g> <d f]> |
-       c,8 <[c' e> <e g> <c e> <e g> <c e]> |
-       c,8 <[c' f> <f as> <c f> <f as> <c f]> |
-       c,8 <[c' e> <e g> <c e> <e g> <c e]> |
-       <g,8 g'> <[g' d'> <d' f> <g, d'> <d' f> <g, d']> |
+       <g,,8 g'> <[d'' f> <f g> <d f> <f g> <d f>] |
+       c,8 <[c' e> <e g> <c e> <e g> <c e>] |
+       c,8 <[c' f> <f as> <c f> <f as> <c f>] |
+       c,8 <[c' e> <e g> <c e> <e g> <c e>] |
+       <g,8 g'> <[g' d'> <d' f> <g, d'> <d' f> <g, d'>] |
        %80
-       c,8 <[c' e> <e g> <c e> <e g> <c e]> |
-       c,8 <[c' g> <e c> <c g> <e c> <c g]> |
+       c,8 <[c' e> <e g> <c e> <e g> <c e>] |
+       c,8 <[c' g> <e c> <c g> <e c> <c g>] |
        <c,2._\fermata g' c> |
 }
                
index d05370f110634b7b897b4d083e5610f5f6cc02a4..a4c7cea4178bcc6d4488e2f81107040f1367f652 100644 (file)
@@ -6,7 +6,7 @@ date = "1868";
 title = "Diademata";
 metre = "6 6. 8 6. D";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 sop=\notes \transpose c''{
        ees2  | ees4 ees4 g2 g2 |  c'1.  \bar "||";
index 0d0e4a5a5b32d128e74ef946a70ad8401925e289..ff97300514113373616f2e1a30f40bb758eac4fd 100644 (file)
@@ -4,7 +4,7 @@ composer = "Parry";
 metre = "10 10 . 11 11";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop = \notes \transpose c''{
        f4 | d' bes c' | f2 \bar "||";
index 607e0cf461229d161ddd7bb0de877627db6c6585..6e83b1adc9970e76c89078ee70c7f1bd037730e4 100644 (file)
@@ -7,7 +7,7 @@ title = "Maccabaeus";
 metre = "10 11. 11 11. and refrain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop=\notes \relative c'' {
        b2 gis4. a8  |b2 e,2 |
index 9f6dd4712990e3a2629117d84a4d411860ac7d17..a7b8937d1189a08c5c93b93de1290b612f1ee85c 100644 (file)
@@ -7,7 +7,7 @@ title = "Ode to Joy";
 metre = "8 7 8 7 D";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop=\notes \relative c'' {
        b4 b c d | d c b a | g g a b | b4. a8 a2 \bar "||";
index a4754360a35372b603d9f0c51e1a23abe3e9afd6..5ac3f7ab386575642f700f93eb611aea4cd5b693 100644 (file)
@@ -5,7 +5,7 @@ composer = "J. S. Bach";
 enteredby = "Peter Chubb";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop=\notes \transpose c'' {
        \repeat 2 {
index 336c30bf387097262e3084b8c417a02be21c36db..96708ca2dd832679a6560311fac8a63cc17fcc42 100644 (file)
@@ -8,7 +8,7 @@ poet = "Joseph Mohr";
 }
 
 
-\version "1.0.7";
+\version "1.0.14";
 
 global=\notes {
              \time 6/4;
index 1da211415639a102f81889aec433aac692cd7178..810712d226a4cb783af5147d4efa2eda818d7a36 100644 (file)
@@ -4,7 +4,7 @@
        piece = "Allemande";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes{
        \time 4/4;
@@ -52,7 +52,7 @@ hoyreEn = \notes\relative c'''{
        \type Staff <
                { \stemup [bes8 d'][bes a16 g] g4~ g16 }
                { \stemup s2 s16 d8.~ d16 }
-               { \stemdown r8 <g d> <[g d><fis c]> r16 [d16 b8~] b16 }
+               { \stemdown r8 <g d> <[g d><fis c>] r16 [d16 b8~] b16 }
        >
        [es'16 d c] |
 %17
@@ -75,7 +75,7 @@ hoyreEn = \notes\relative c'''{
        fis4.~ [fis16 e32 fis][g16 d f es][d c b a] |
        \type Staff <
                { \stemup [g8 g'][es d16 c] c4. }
-               { \stemdown r8 <g c es> <[g c> <f b]> <es4. g> } 
+               { \stemdown r8 <g c es> <[g c> <f b>] <es4. g> } 
        >       s8
 }
 
index cddc7bfacf7a60678ccc1fb51837f7b6c34b4504..d121ae998cc1c9294bd48e35dfd8c96fd5e1cc38 100644 (file)
@@ -10,7 +10,7 @@
 %% 
 %% Noe liknende skjer ogsÃ¥ i mellom andre og tredje stemme i takt 28
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes{
        \time 2/4;
@@ -137,7 +137,7 @@ vOne = \type Voice = voiceOne \notes\relative c''{
        c4 r |
 %93
        r8 g f'4~ |
-       [f8 d g <f as,]> |
+       [f8 d g <f as,>] |
        <es4 g,> <d f,> |
        <c2 g es>
 }
index d0c682e8cfd6292d2170777f30d19e672f123ee0..891ff5acfef22ffac958f21cf5f6dba433fc25bf 100644 (file)
@@ -10,7 +10,7 @@
   copyright =   "Public Domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
        \time 4/4;
@@ -36,8 +36,8 @@ hoyreOpp = \notes\relative c''  {
 %4
        f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] |
        c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ |
-       d2 ~ [d16. g,32 a16. b32] [c16. <b32 g> <c16. a> <d32 b]> |
-       <[es8. c> <es16 c]>
+       d2 ~ [d16. g,32 a16. b32] [c16. <b32 g> <c16. a> <d32 b>] |
+       <[es8. c> <es16 c>]
        \type Staff <
                { \stemup fis4 }
                { \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] }
@@ -63,9 +63,9 @@ venstreOpp = \notes\relative c' {
        <c4 g es> r <b as f d> r |
        r <b f d> <c g es> r |
        <c g e> r r <c g> |
-       <c as f> r r16 <[as d,><as. d,><g32 d]> <g4 d> |
+       <c as f> r r16 <[as d,><as. d,><g32 d>] <g4 d> |
 %5
-       r16 <[g c,><g. c,><f32 c]> 
+       r16 <[g c,><g. c,><f32 c>] 
        \type Staff <
                {\stemup f4~ f}
                {\stemup c4 d}
index d469868bbdcfa9d255fa8b9655a536b2a4a8246c..1c00016cae435a2b6cf9077d2eb2cbde496c0059 100644 (file)
@@ -12,7 +12,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 one = \notes\relative c {
        \property Voice . textstyle =  "italic"
index ae31ddfb021b52928c898a10d63d52101fa65571..13ed9b83e0f22ab9d8b911c255a70750cc53e7b1 100644 (file)
@@ -10,7 +10,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\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] |
index 6361ccd1f239685ed3491b436dca427d0ce74cfb..302a8adfb9271de5914145470a6a9b13b47a9185 100644 (file)
@@ -17,7 +17,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
-\version "1.0.7";
+\version "1.0.14";
 
 
 one = \notes  \transpose c`` {
index 1f7f612113827f34c0817b3f8c84dbd391eb3a1a..4301782d53f6687b739cf737153e8428e9188082 100644 (file)
@@ -8,7 +8,7 @@ composer =       "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 one = \notes\relative c{
        \property Voice . textstyle =  "italic"
@@ -78,7 +78,7 @@ two = \notes\relative c{
        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>
+       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~] |
index 605d3214ca59889252fe3fa4f7e88f844c541267..0a793324313f1fe66fc8f1837c1c1fb90dbe45dd 100644 (file)
@@ -8,7 +8,7 @@ composer =       "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 
 one = \notes\relative c{
index 8d01b0f20ab803f5b123074a10016061bd3101a1..cb9168062a993e7e79497654ee2e45141530df70 100644 (file)
@@ -8,7 +8,7 @@ composer =       "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 
 one = \notes\relative c{
@@ -84,7 +84,7 @@ four = \notes\relative c{
        \stemup
        b2-1 a-1 |
        g a4. [gis16 a] |
-       gis2 <[g8 cis,> <f-3 d-1]> e4-2 |
+       gis2 <[g8 cis,> <f-3 d-1>] e4-2 |
        d4. [fis16-3 g-2] r16 bes8.-1 ~ bes4 |
        %10
        \stemdown
index d24f8c406121655b60df42a35fc9f80480289abb..08c3346aae9d7e7929af68f999e4a5cfd7598807 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "allemande-urtext.ly";
 
index 624080a800168c7199e67e4e96989eaeca6b954a..c7c11ed713bb6fa2006370fccdae395b89ca92b8 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "allemande-urtext.ly";
 
index 6747c7ac74568677db256849bee635c75fbdcec1..bc1e61e12528aa9637ec4dfd41a8fadfb233f072 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "courante-urtext.ly";
 
index 44eccf69107120238067a6d5aa4b910f4a3238eb..83e144bf3edd535b09ee4145b85baf80eb2bdaf0 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "courante-urtext.ly";
 
index 485c2fad5bcb0a06db8d55708b4d4cd814923204..aaa6782df9c59b4d0202c31f802bee239ed642ba 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "gigue-urtext.ly";
 
index e8bdd260316b171e631994b8a739cb9cdec1aa16..9444fda5549eabfffea95f443cbebcd12c59fa37 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "gigue-urtext.ly";
 
index 29852a2f3290a2358c1e2706b97b8a6eb7a4d473..5017b4b9b4046e5ef341d3112f2b1a6b448ad581 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "menuetto-urtext.ly";
 
index b00f4aafd2230590f6c23396e717a72de121699d..c00d23402e749026916649ee66b405b016f29d9d 100644 (file)
@@ -17,7 +17,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "menuetto-urtext.ly";
 
index 205cef71adb61778ad35536c7b96f6244ddc8376..6a8765eb4a0becd4c641de5fe2ec5b20be36e01b 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "prelude-urtext.ly";
 
index e31dac216f2736ceeec85c5674070e6f76794086..f2f4e72d43c7be3bd128b3be0bc6c049a8b8a19f 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "prelude-urtext.ly";
 
index e26b37f593084e54ce81a2a00c6160476cfc34ba..9214126eb7fea31560c2f6c963fe67aff7e3a88c 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "sarabande-urtext.ly";
 
index 91a0f23c61b38d3e6d2ab8addf9e5007970130ba..44d5eff18e24e4da376cb4cc85e8c6caf1fd94cd 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "sarabande-urtext.ly";
 
index cf291e628cc8a5cf646df15dad397fca97fef130..080cdef0210a90d9575e5904f451036b5ad76dec 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "Public Domain";
 %{
        
 %}
-\version "1.0.10";
+\version "1.0.14";
 
 
 global = 
index d17f35b344c964816115dfdc47330381915f4868..00b857b638e53a5ede8631971c2de6ea0c812e30 100644 (file)
@@ -13,7 +13,7 @@
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "nederlands.ly"                 % for correct parsing of note names
 
@@ -67,7 +67,7 @@ dux = \notes \relative c'' {
   [b, c d b] [b c] r c |
   [f16 d es c] ~ [c8 b] c4 r8 e |
 %%30
-  f4 r8 f [f es16 d] [es8 <f as]> |
+  f4 r8 f [f es16 d] [es8 <f as>] |
   <b, d> r <b d> r <g2 c> |
 }
 
@@ -110,7 +110,7 @@ comes = \notes \relative c''  {
   [g f16 es] [f8 d] [as' g] r a |
   [b c] [f,16 es d c] c8 [c'16 b] [c8 g] |
 %%30
-  [as c16 b] [c8 <d b ! as !]> [g,8 c16 b] [c8 d] |
+  [as c16 b] [c8 <d b ! as !>] [g,8 c16 b] [c8 d] |
   [f,16 g] as4 [g16 f] e2 |
 }
 
index 7265e4fb110a7b33dd60a9b1f0251c961380b788..0070af7015a68a8fb0b97f323a7b07895a8ec4aa 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = 
     \notes {
index 5367473c2a31f74ad6e0536673f1636d03e99f48..1d521bc14cb9d798d17592e0747179c32213118f 100644 (file)
@@ -13,7 +13,7 @@ Tested Features: cadenza mode
 Ugh.. Wish we had grace notes....  It adds another dimension to this
 piece of music.  %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 
 cad = \notes  \relative c' {
index 537ef2a27dcd26b5fd19fcbafaecfca9d99c2fc8..b7068d337a3737b615d99960a288e741113a421e 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 }
 
 
-\version "1.0.10";
+\version "1.0.14";
 
 allegro =
        \notes
index 636c09b38f9a3c4aa7ffc090553b09e3a54d745e..2d84ce1c492022bf4a1b6b41a8b37dd3e58e5d47 100644 (file)
@@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper
 definition below. --MB
 %} 
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
   \property StaffGroup.timeSignatureStyle = "old"
index c47ba35755b46e3eb012c748d11d07f66ba6673b..e9a9decec7883155b368c72c41f4401ae84283f3 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "public domain";
 latexheaders=    "headers";
 } 
-\version "1.0.10";
+\version "1.0.14";
 
 %{
 Silly latex file dropped; use ly2dvi
index 19288a08b4569b75ebae70769999d941dbd96041..69feb53f57f55ee756a92da475f6323e9121e913 100644 (file)
 program_name = 'convert-mudela'
 version = '0.4'
 
-
 import os
 import sys
 import __main__
 import getopt
 from string import *
 import re
-
 import time
+
 mudela_version_re_str = '\\\\version *\"(.*)\"'
 mudela_version_re = re.compile(mudela_version_re_str)
 
@@ -49,7 +48,6 @@ def gulp_file(f):
        i.close ()
        return s
 
-
 def str_to_tuple (s):
        return tuple (map (atoi, split (s,'.')))
 
@@ -126,7 +124,7 @@ if 1:                                       # need new a namespace
                ((0,1,20), conv, 'deprecated \\textstyle, new \key syntax'))
 
 
-if 1:                                  # need new a namespace
+if 1:
        def conv (lines):
                newlines = []
                for x in lines:
@@ -142,7 +140,7 @@ if 1:                                       # need new a namespace
                ((0,1,21), conv, '\\musical_pitch -> \\musicalpitch, '+
                 '\\meter -> \\time'))
 
-if 1:                                  # need new a namespace
+if 1:
        def conv (lines):
                return lines
 
@@ -150,7 +148,7 @@ if 1:                                       # need new a namespace
                ((1,0,0), conv, '0.1.21 -> 1.0.0 '))
 
 
-if 1:                                  # need new a namespace
+if 1:
        def conv (lines):
                newlines = []
                for x in lines:
@@ -256,6 +254,34 @@ if 1:
        
        conversions.append ((1,0,10), conv, '[2/3 ]1/1 -> \\times 2/3 ')
 
+if 1:
+       def conv(lines):
+               return lines
+       conversions.append ((1,0,12), conv, 'Chord syntax stuff')
+
+
+if 1:
+       def conv(lines):
+               newlines =[]
+               for x in lines:
+                       x =  re.sub ('<([^>~]+)~([^>]*)>','<\\1 \\2> ~', x)
+                       newlines.append (x)
+               return newlines
+       
+       conversions.append ((1,0,13), conv, '<a ~ b> c -> <a b> ~ c')
+
+if 1:
+       def conv(lines):
+               newlines =[]
+               for x in lines:
+                       x =  re.sub ('<\\[ ','[<', x)
+                       x =  re.sub ('\\]>','>]', x)
+                       newlines.append (x)
+               return newlines
+       
+       conversions.append ((1,0,14), conv, '<[a b> <a b]>c -> [<a b> <a b>]')
+
+
 
 ############################
        
index 98fb69f81ea44b09d479f1904b0f080f90a787fc..e79f120c807b2fee5834b925c60cea2811e8132f 100644 (file)
 #   - mudela-book will scan the mudela code to find out if it has to add
 #     paper-definition and \score{\notes{...}}
 #   - possible to define commands that look like this: \mudela{ c d e }
+# 0.5.1:
+#   - removed init/mudela-book-defs.py, \mudela is defined inside mudela-book
+#   - fragment and nonfragment options will override autodetection of type of
+#     in mudela-block (voice contents or complete code)
 
 import os
 import string
@@ -45,7 +49,7 @@ import sys
 
 outdir = 'out'
 initfile = ''
-program_version = '0.5'
+program_version = '0.5.1'
 
 out_files = []
 
@@ -592,24 +596,11 @@ def main():
     if outdir[-1:] != '/':
         outdir = outdir + '/'
 
-    std_init_filename = ''
-    for p in string.split(os.environ['LILYINCLUDE'], ':'):
-        try:
-            std_init_filename =  p+os.sep+'mudela-book-defs.py'
-            break
-        except:
-            continue
-    defined_mudela_cmd_re = {}
-    try:
-       f = open(std_init_filename)
-       s = f.read()
-       f.close()
-       defined_mudela_cmd = eval(s)    # UGH
-    except IOError, w:
-        sys.stderr.write("%s (`%s')\n" % (w[1], std_init_filename))
-#        sys.exit(1)
-
-
+    defined_mudela_cmd = {'mudela': r"""
+\begin{mudela}[eps \fontoptions]
+    \maininput
+\end{mudela}
+"""}
     if initfile != '':
         f = open(initfile)
         s = f.read()
@@ -618,7 +609,6 @@ def main():
         for i in d.keys():
             defined_mudela_cmd[i] = d[i]
         del d
-
     c = defined_mudela_cmd.keys()[0]
     for x in defined_mudela_cmd.keys()[1:]:
         c = c + '|'+x