]> 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
 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?)
 
 
 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
 
 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(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)
 
 
 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.
 
 
 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)
 
 
 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 
 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 
     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.
 
 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)
 
 
 bf(About the input)
 
@@ -53,16 +43,17 @@ to whatever he wants.
 code(\begin) takes the following options:
 
 description(
 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(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()
 
 
 startdit()
 
-dit(--mudela-fontsize)
+dit(--default-mudela-fontsize=??pt)
     Set the fontsize to use for mudela if no fontsize is given
     as option.
     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}
     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.
     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
     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.
         Write dependencies to outdir/filename.dep
 dit(--force-verbatim)
        Make all mudela verbatim.
+dit(--initfile=FILE)
+        read command definitions from file(FILE)
 enddit()
 
 manpagefiles()
 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).
 
   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.
 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)
 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 
 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 
 .PP 
 \fBAbout the input\fP
 .PP 
@@ -69,30 +41,31 @@ to whatever he wants\&.
 .PP 
 \f(CW\ebegin\fP takes the following options:
 .PP 
 .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 "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 
 .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\&.
 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}
 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\&.
 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
 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\&.
 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" 
 .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 
 \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 
 .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
 .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
 
 \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
 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. 
 
 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
 % 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}
 
 <c' e' g'>
 \end{mudela}
 
@@ -220,6 +207,68 @@ The following options set the fontsize:
 \end{mudela}
 \end{itemize}
 
 \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
 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 [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;}
 }
   }
   \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
 
 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:
 \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 [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;}
     [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},
 @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']
 )
 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
 
 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
 
 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)(
 
 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. 
 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']
 c'2:8 c':32 [:16 e'1 g'] [:8 e'4 f']
-)
+))
 
 COMMENT(
 Is the last paragraph correct?  Is it called "tremolo"?  Why is
 "abbreviation" used?  (What is the unabreviated form?)
 
 
 COMMENT(
 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]
 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.]
 )
 
 [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.  
 
 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
 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
 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.)
   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.
   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)(
 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{
   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 }
         \staffStuff
       >
       <
         \type Voice = celloVoice { \bach \bach }
-        \type Voice = celloVoice { \slursTwo \slursTwo }
+        \type Voice = celloVoice < { \slursTwo \slursTwo }
+             { \bachBeams \bachBeams } >
         \staffStuff
       >
     }
         \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.jcn1
         - bf: get_chord C-m5-
         - typos: chord-name
 
+pl 14.tca2     
+       - move option proccing out of main
+
+**********
+
 pl 14
 
 pl 13.hwn1
 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
 
 BUGS:
        * c4 \! \> c4
 
-       * resurrect tremolo beams.
+       * tremolo stuff
 
        * gallina barlines.
 
 
        * gallina barlines.
 
@@ -94,8 +94,6 @@ STUFF
 
        * typo checks on property names?
 
 
        * typo checks on property names?
 
-       * --safe:  disallow backslashes
-
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
 
        * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
 
@@ -105,8 +103,6 @@ STUFF
 
        * zip target for binary windows dist (JBR)
 
 
        * zip target for binary windows dist (JBR)
 
-       * revise documentation
-
        * junking \skip req in lyrics
 
        * Language:
        * junking \skip req in lyrics
 
        * Language:
@@ -125,8 +121,6 @@ STUFF
 
        * mi2mu empty staffs.
 
 
        * mi2mu empty staffs.
 
-       * include MIDI list 
-
        * midi_instrument -> midiInstrument
 
        * horizontal centering of dynamics 
        * midi_instrument -> midiInstrument
 
        * horizontal centering of dynamics 
@@ -137,16 +131,11 @@ STUFF
 
        * stable make/config stuff
 
 
        * stable make/config stuff
 
-       * stemup/stemdown; see test/updown.fly
-         - check examples; add \type Staff hither and thether
-
        * $DEPENDENCIES_OUTPUT support
 
        * $DEPENDENCIES_OUTPUT support
 
-       * use a fake-yodl.sh to mimick yodl when yodl is not installed
-
        * fix BUGs
 
        * 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
 
        * 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> }
 
 
        * make Tie_req a "command" { <c g> ~ <c g> }
 
-       * bib ep1988
-
        * revise the Score_priority_align_engraver concept.  It sucks. 
 
        * revise the Score_priority_align_engraver concept.  It sucks. 
 
-       * ly2xdvi, ly2ps
-
        * make new VoiceOne, VoiceTwo, VoiceThree contexts with
 ydirection and hshift preset
 
        * 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
          * \cadenza , \meter, \grouping should all be \properties
 
        * rename
-         - plet -> tuplet
          - measure -> bar
          - abbrev -> tremolo
          - abbreviation-beam -> (measured/unmeasured) tremolo
          - measure -> bar
          - abbrev -> tremolo
          - abbreviation-beam -> (measured/unmeasured) tremolo
@@ -261,6 +245,7 @@ ydirection and hshift preset
        
        * handle ^C for tmp/file creation.
 
        
        * handle ^C for tmp/file creation.
 
+       
        * dots & rest collisions.
 
        * documentation
        * dots & rest collisions.
 
        * documentation
@@ -491,10 +476,6 @@ PROJECTS
        - use plet grouping
        - separate visual from rhythmic info even more
        - beams over bars
        - 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
 
        * lines:
        - Ledger lines, should be separate item: Ledger_lines, Ledger_lines
@@ -581,8 +562,6 @@ SMALLISH PROJECTS
        * Flower types:
        - A decent scalar type
 
        * Flower types:
        - A decent scalar type
 
-       * binsearch/hash for identifiers
-
        * stafftypes: voice names/ instrument names.
 
        * lily \tempo
        * stafftypes: voice names/ instrument names.
 
        * lily \tempo
@@ -637,8 +616,125 @@ IDEAS
        * versioning stuff (cvt mudela, mudela, etc.)
 
        * Klavarskribo?
        * 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
 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.
 
 # 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/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 .
 if [ -f ../.gdbinit ];
 then
     ln ../.gdbinit .
index 1157e404daf46cba6d660d7d2c765520338f1f7b..6513297576c50209155a431b3cd6c498a3da6941 100644 (file)
@@ -3,8 +3,7 @@
 depth = ..
 
 INI_FILES = $(FLY_FILES) $(LY_FILES)
 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)
 
 INSTALLATION_DIR=$(datadir)/ly/
 INSTALLATION_FILES=$(INI_FILES)
index 3f8deb6965e91d208686314e8e6b18a130b194a6..46fd731997cb89dcbbddf69c9a38330d5b9035b4 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
 
 
 \include "declarations.ly"
index 34bac0ef49b69580934872c1cab0cad6ab086d06..7cb2e6b12b27875cda6b237b864e179b4c5120e3 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly";
 
 
 \include "declarations.ly";
index 7e8247a243fdf784e628fd401c614a24f0bbcfbb..72be0acd364f7b467bee6ef0f7a93dec4f899015 100644 (file)
@@ -1,7 +1,7 @@
 % Toplevel initialisation file. 
        
 
 % Toplevel initialisation file. 
        
 
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
 
 
 \include "declarations.ly"
index 0245fd3d36eddab595201656baa989dec28d214f..500c25aad516611b020131e003642e84c91464eb 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
 
 
 \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 "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 "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";
        \consists "Tuplet_engraver";    
        \consists "Note_heads_engraver" ;       
        \consists "Skip_req_swallow_translator";
index a1ce3f163b33be7a1e28e009558804b23ab6dc65..3ddb7de69a2efd6d65fb903b39a1854dc1c4e94c 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly"
 
 
 \include "declarations.ly"
index 035884698498e2de3d9e6a9f3a40bd010e547e8b..cacdd4b865f371b14f1d52a923a99f0f99e9bd6c 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.12";
+\version "1.0.14";
 
 
 \include "declarations.ly"
 
 
 \include "declarations.ly"
index adfd6272e5db63e2c54dbe650398f558f1690ee7..c01291c340111c291a09591602353e68bf8e8790 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
 % Toplevel initialisation file. 
        
-\version "1.0.10";
+\version "1.0.14";
 
 
 \include "declarations.ly";
 
 
 \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;
 
 paper_sixteen = \paper {
        staffheight = 16.0\pt;
index e3a3013d50e84a850c67ecbc2956ae810ff6f540..69c36b358dff3728c30f2181e464d5c59e37b19f 100644 (file)
@@ -5,7 +5,7 @@
  \include "table13.ly";
  \include "table16.ly";
 
  \include "table13.ly";
  \include "table16.ly";
 
-\version "1.0.10";
+\version "1.0.14";
 
 paper_twenty = \paper {
        staffheight = 20.0\pt;
 
 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...
 %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 
        }
        % Stupid hack to make < { \stemup } > work
        \property Voice.ydirection = \up 
        }
-stemboth= {
+stemboth= \notes {
+       s1*0
        \property Voice.ydirection = \center
 }
        \property Voice.ydirection = \center
 }
-stemdown = {   
+stemdown = \notes {    
+       s1*0
        \property Voice.ydirection = \down
 }
        \property Voice.ydirection = \down
 }
-slurup = {
+slurup = \notes {
+       s1*0
        \property Voice.slurydirection = \up 
        }
        \property Voice.slurydirection = \up 
        }
-slurboth= {
+slurboth= \notes {
+       s1*0
        \property Voice.slurydirection = \center
 }
        \property Voice.slurydirection = \center
 }
-slurdown = {   
+slurdown = \notes {    
+       s1*0
        \property Voice.slurydirection = \down
 }
 
        \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 
 
 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.
 %
 
 % scales with accents.
 %
 
-\version "1.0.10";
+\version "1.0.14";
 blah =         \notes {
                \time 6/8;      
 \transpose c {
 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
 
 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 {
 
 
 blah = \notes {
index b8ec9a85192270779ccb38a2c42e77e640014d32..238576810e346ca751481cff68479ae2fc0b98d8 100644 (file)
@@ -10,7 +10,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
 Tested Features: example file with comments
 
 %}
-\version "1.0.10";
+\version "1.0.14";
 
 
 % the % is a comment.
 
 
 % the % is a comment.
index 0f74f1e355b0df29130336748a29caa5add487d9..7ce7cf7a9a89318dddcb997f621d01c5a68461bb 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-% \version "1.0.10";
+% \version "1.0.14";
 
 global = \notes {
        \key g;
 
 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] | 
        \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'{
 }
 
 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
 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
 
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
                \notes {
 
 \score{
                \notes {
index 9b586694f935f4974b6850e6161143ea84df6f7b..c8d3c86919cf122f70c465fdf9a5ccaaec0ccf25 100644 (file)
@@ -23,7 +23,7 @@
    * organ staff...
 %}
 
    * organ staff...
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 
 
 
 
 
@@ -70,17 +70,17 @@ praeludium_left = \notes \relative c {
 
   % 13
   \type Staff <
 
   % 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 }
       [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
       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
 }
   > |
   %16
 }
@@ -187,7 +187,35 @@ breakmusic = \notes {
       \praeludium_pedal \breakmusic \fugaII_pedal }
   >
 
       \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; }
 
   \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;
 
 ritme = \notes\transpose c'' {
        \time  4/4;
index 58e2b102b3eaa0c044b534adbfa3c009074811d5..ae2eba39d1a49fb6e85b372729158fa6d0faa7ca 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
 % scales with accents.
 %
 
 % scales with accents.
 %
 
-\version "1.0.10";
+\version "1.0.14";
 blah =         \notes {
                \time 6/8;      
 \transpose c {
 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'' {
 
 
 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
 \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
 
 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
 
 
 \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;
        }
        \paper{
                castingalgorithm = \Wordwrap;
index 5709a714d0e644e15828095e44078bf797e46b5e..85cd5819380951a049cab2fdeae34a2d75d94373 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\transpose c''{
 
 \score{
        \notes\transpose c''{
index 0080b0be8d465104175ebcca1bc883b2370f4f20..1216d624d3c512750c41152ad52f2edf866f5355 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        <
 
 \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)";
 }
 
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 shortlong = \notes{
        c4()c( c c  |
 
 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?
 
 %{
 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?
 
 %{
 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{ 
 
 \score {
        \notes{ 
index eca12b5158f65edad398ef6f38a358cc8bb98ddc..f057211c7f245a13deb1746caf7cd2e645d7cee8 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
 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 {
 
 
 \score {
index a8993c5455f81d6749567b8c0676eeebdd5d54d2..42cf2d59f191d1cd0c4270e45d6947aa59f6cc3a 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes";
 
 \include "paper20.ly"
 
 
 \include "paper20.ly"
 
-\version "1.0.10";
+\version "1.0.14";
 
 oden = \lyrics{ 
        O8 |
 
 oden = \lyrics{ 
        O8 |
index 148d2dd6d59204c4f7e7fce0cd632b2728d1e7bc..10dc35283ad06211cb690fd3fa259e8e3aa2bc91 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes{
 
 \score{
        \notes{
index abeae4c46f1ac5035761916f52e787e838ab301e..f41928628854673662cc773a343118cf739f0188 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes \relative c {
 
 \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 "|:";
 
 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)";
 }
 
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "font-body.ly"
 \score{
 
 \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)";
 }
 
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 \include "font-body.ly"
 
 \score{
 \include "font-body.ly"
 
 \score{
index 049462f94de0083735741804e725329f702ec654..004ab010ecdac1ad766673459462521e59fc1196 100644 (file)
@@ -4,7 +4,7 @@ copyright =      "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
 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";
 
 \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"
 
 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
 
 %{
 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]
 \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";
 
 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 |
 
 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 {
 
 
 \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
 
 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)";
 }
 
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 shortlong = \notes{
        c4()c( c c  |
 
 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 ...
 
 % bug
 % excentric slur can't handle this ...
index d47ac6e85d2774df226eee200b4dcbe833be72a5..c5502cffcb7eccdebed13dce001affd836fde74d 100644 (file)
@@ -1,5 +1,5 @@
 % test damping
 % test damping
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes\relative c'{
 
 \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{
 
 % 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'{
 
 \score{
        \notes\transpose c'{
index 50a9053fbb1bd1c0ee5a024b27913ecb7d293a5f..13fe18350f4429be46fd13955f2236ee60b0d13c 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 multipart = \notes{ 
     \type StaffGroup < 
 
 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;
 
 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" 
 
 $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. 
 
 % 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'' {
 
 \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; 
        }
        \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'{
 
 
 %  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''{
 
 
 tie = \notes\transpose c''{
 
index 12867630b11c53d3aab5108cae970e75f5054dc0..00679b3926ed2ad3a3e06c8705861888fd70b5d1 100644 (file)
@@ -10,7 +10,7 @@ source =      "urtext";
 instrument=    "Instrument";
 }
 
 instrument=    "Instrument";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes
 
 \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";
 
 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 <
 
 \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)";
 }
 
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \score{
        \notes{ 
 
 \score{
        \notes{ 
index 2676202973ecb4fc43da376b1df154531e49d0f5..80c38ee46ce706fa7624ed130ac686ce5d0ddac5 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
 Tested Features                lyrics and chords
 %}
 
-\version "1.0.12";
+\version "1.0.14";
 
 melodie = \notes\relative c'' {
         \clef "violin";
 
 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
 %}
 
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 melody = \notes \relative c'' {
        \clef violin;
 
 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
   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;
 
   } 
   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 (!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;
     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;
 
   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
 
   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 (!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;
     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];
   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]);
     }
 }
       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)
     {
   /* 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
       /*
        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)
     {
 
   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);
 
       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_)
     {
 {
   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"));
     }
       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 "command-request.hh"
 #include "note-head.hh"
 #include "musical-request.hh"
+#include "tie.hh"
 
 Command_tie_engraver::Command_tie_engraver()
 {
 
 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 ()
 {
 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
 }
 
 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
 }
 
 void
@@ -57,13 +93,21 @@ Command_tie_engraver::do_pre_move_processing ()
     {
       past_notes_pq_.insert (now_heads_[i]);
     }
     {
       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 ()
 {
 }
 
 void
 Command_tie_engraver::do_post_move_processing ()
 {
+  req_l_ =0;
   Moment now = now_moment ();
   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 ();
 }
 
     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))
        {
        }
       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_)
                {
            {
              if (!cresc_p_)
                {
@@ -88,7 +88,7 @@ Dynamic_engraver::do_process_requests()
                  cresc_p_ = 0;
                }
            }
                  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);
            {
              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 (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;
        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);
 };
 
   REQUESTMETHODS(Bracket_req);
 };
 
+
 #endif // COMMANDREQUEST_HH
 #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_;
   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 ();
 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();
 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,
   CENTER=0,
   SMALLER=-1,
   BIGGER=1,
+  START = -1,
+  STOP = 1
 };
 
 inline Direction
 };
 
 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?
 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);
 
   bool do_equal_b (Request*) const;
   REQUESTMETHODS(Span_req);
 
index 967bc2e7b2caac73a3e34ee302adf95cd98dbf7a..f33038822b97d1107b76239272582a7cfb5ca4e8 100644 (file)
@@ -63,8 +63,7 @@ public:
    */
   Beam* beam_l_;
 
    */
   Beam* beam_l_;
 
-  int beams_left_i_;
-  int beams_right_i_;
+  Drul_array<int> beams_i_drul_;
 
   /// maximum number of beams
   int mult_i_;
 
   /// maximum number of beams
   int mult_i_;
index 7c64c9229f21c7ee39ab3c972bce4dcf304a4abe..34d4fdaf733efda49b3598c72ffaf275bd4442c4 100644 (file)
@@ -38,7 +38,7 @@ void
 Span_req::do_print () const
 {
 #ifndef NPRINT
 Span_req::do_print () const
 {
 #ifndef NPRINT
-  DOUT << spantype;
+  DOUT << spantype_;
 #endif
 }
 
 #endif
 }
 
@@ -157,11 +157,6 @@ Rhythmic_req::compress (Moment m)
 {
   duration_.compress (m);
 }
 {
   duration_.compress (m);
 }
-  
-
-
-
-
 
 void
 Lyric_req::do_print () const
 
 void
 Lyric_req::do_print () const
@@ -203,19 +198,12 @@ Note_req::do_print () const
 #endif
 }
 
 #endif
 }
 
-
-
 void
 Rest_req::do_print () const
 {
       Rhythmic_req::do_print ();
 }
 
 void
 Rest_req::do_print () const
 {
       Rhythmic_req::do_print ();
 }
 
-
-
-
-
-
 void
 Multi_measure_rest_req::do_print () const
 {
 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
 {
 }
 
 void
 Beam_req::do_print () const
 {
 }
 
-
-
-
 Abbreviation_beam_req::Abbreviation_beam_req ()
 {
   type_i_ = 0;
 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);
 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 ()
 {
 }
 
 Span_req::Span_req ()
 {
-  spantype = NOSPAN;
+  spantype_ = CENTER;
 }
 
 Script_req::Script_req (Script_req const&s)
 }
 
 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);
 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 ()
 }
 
 Script_req::Script_req ()
@@ -328,10 +308,6 @@ Musical_script_req::do_print () const
   Script_req::do_print ();
 }
 
   Script_req::do_print ();
 }
 
-
-
-
-
 Script_req::~Script_req ()
 {
   delete scriptdef_p_;
 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;
 }
 
   tdef_p_ = tdef_p;
 }
 
-
-
-
 void
 Text_req::do_print () const
 {
 void
 Text_req::do_print () const
 {
@@ -368,32 +341,20 @@ Text_req::do_print () const
 #endif
 }
 
 #endif
 }
 
-
-
-
-
 void
 Skip_req::do_print () const
 {
 #ifndef NPRINT
 void
 Skip_req::do_print () const
 {
 #ifndef NPRINT
-
   DOUT << "duration: " << duration ();
 #endif
 }
 
   DOUT << "duration: " << duration ();
 #endif
 }
 
-
-
-
-
 void
 Dynamic_req::do_print () const
 {
   Musical_req::do_print ();
 }
 
 void
 Dynamic_req::do_print () const
 {
   Musical_req::do_print ();
 }
 
-
-
-
 void
 Absolute_dynamic_req::do_print () const
 {
 void
 Absolute_dynamic_req::do_print () const
 {
@@ -403,7 +364,6 @@ Absolute_dynamic_req::do_print () const
 #endif
 }
 
 #endif
 }
 
-
 bool
 Absolute_dynamic_req::do_equal_b (Request *r) const
 {
 bool
 Absolute_dynamic_req::do_equal_b (Request *r) const
 {
@@ -466,9 +426,6 @@ Span_dynamic_req::Span_dynamic_req ()
   dynamic_dir_  = CENTER;
 }
 
   dynamic_dir_  = CENTER;
 }
 
-
-
-
 void
 Span_dynamic_req::do_print () const
 {
 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 '[':
     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 ']':
       break;
       
     case '!':
     case ')':
     case ']':
-      dynamic_cast<Span_req*> (reqs[0])->spantype = Span_req::STOP;
+      dynamic_cast<Span_req*> (reqs[0])->spantype_ = STOP;
       break;
 
     default:
       break;
 
     default:
index a0c4fbdba75e84966e20a246e0b17fb6e75de769..d41a1e499d2bdddfd0c2e3e9b17fea6bb29fae5e 100644 (file)
@@ -46,8 +46,8 @@
 #include "repeated-music.hh"
 
 // mmm
 #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()
 
 
 // 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 <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
 %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
        | 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);
        }
        | COMMAND_IDENTIFIER    {
                $$ = $1->access_content_Request (true);
        }
-/* TODO */
-/*     | '~'   {
+       | '~'   {
                $$ = new Command_tie_req;
        }
        | '['           {
                $$ = 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;
                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;
        };
                $$ = 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;
        }
        | 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;
        }
                sp_p-> dynamic_dir_  = (Direction)$3;
                $$ = sp_p;
        }
@@ -1158,15 +1161,9 @@ dynamic_req:
 
 
 close_request_parens:
 
 
 close_request_parens:
-       '~'     {
-               $$ = '~';
-       }
-       | '('   {
+       '('     {
                $$='(';
        }
                $$='(';
        }
-       | ']'   {
-               $$ = ']';
-       }
        | E_SMALLER {
                $$ = '<';
        }
        | 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:
 
 
 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;
                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;
                  }
                    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)
     {
   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;
           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 (!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;
     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)
     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_;
     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
     {
       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())
 
        {
          if (slur_l_stack_.empty())
 
@@ -70,7 +70,7 @@ Slur_engraver::do_process_requests()
              requests_arr_.pop();
            }
        }
              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)
        {
          // push a new slur onto stack.
          //(use temp. array to wait for all slur STOPs)
index aa9d542f48266a1ff18e153ffec544a86507f869..2f1f141a12629d3752c8b999e3f64594a9c20593 100644 (file)
 Stem::~Stem ()
 {
 }
 Stem::~Stem ()
 {
 }
+
 Stem::Stem ()
 {
   /*
     TODO: staff-size
     */
 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;
   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 ?
 
 
 # should use to create .spec ?
index 7f7a88a3ca78e27120537e1a2fcd916faf73d321..ac80176182a1790f43cb904679908156c9011259 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
 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
 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/
 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
 Copi-eer voorwaarden: GPL
 End
index 628679c9238576d0196032f74095094ffb120b0b..897c5fbf61cb2220191e715e73a027d1f0c306e6 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
 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
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.1.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.14.tar.gz 
+       770k lilypond-1.1.15.tar.gz 
 Copying-policy: GPL
 End
 Copying-policy: GPL
 End
index a5cf6f131794e69fdaaacace4873886551e777b6..e59b099c7870a359def37b644e6bf8a75368f606 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
 Name: lilypond
-Version: 1.1.14
+Version: 1.1.15
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.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>
 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"
                     "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"
                     "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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violoncello.ly"
 
 \include "global.ly"
 \include "violoncello.ly"
index 45409ae85e5c061ed0ebc247a7440092aa318cc1..c62420360fe99f1fac89ecd9486f64165d313031 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "clarinetti.ly"
 
 \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"
 
 \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 |
 
 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 | 
 
 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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "contrabasso.ly"
 
 \include "global.ly"
 \include "contrabasso.ly"
index 84584365882a48a9cdd122c780fbb6ea81afc18d..86ff955b71ebce2ac2939d1e11267b47ccca1a97 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 contrabasso = \notes \relative c {
 %      \translator Staff=violoncello
 
 contrabasso = \notes \relative c {
 %      \translator Staff=violoncello
index 56dba64710fc7c2fe0eb4ad1deaf49e12cb2dcbc..6ad5f01e98a2f7551f54a8a4e27a7722b5886cf6 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 
 
 \include "global.ly"
 
index 305c4ac1dac89d4480b78b6e520e54b4e242c004..6ee7f94c2484b2ff58251494593c157bd3c954d8 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "corni.ly"
 
 \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"
 
 \include "corno-1.ly"
 \include "corno-2.ly"
index e05d0c0ac3db5cf3fe0bed47e86133934083e759..7313cf617a1f72abc1ae7c31da3e108f6cfd00f5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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";
 }
 
 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 |
 
 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"
 
 \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"
 
 \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 |
 
 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";
 }
 
 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 |
 
 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"
 
 \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"
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
index 2d590d84cd9f3758618511b1755e53f9f6730dd6..4af6b54a6493cf9565d7f3be717f28866e3b10cb 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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";
 }
 
 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 | 
 
 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;
 
 global = \notes {
        \time 4/4;
index 22d402bdb0a7deb525c97ba811973f6bdba372fc..ae7073b1e6ae74d3fb6d42a9293df7da2716c1aa 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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 |
 
 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"
 
 \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"
 
 \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 |
 
 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"
 
 \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"
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
index a33ffe7138862ef1f9a2114d42e1fd2a037007cb..fb52b473e5c21582676fbd5bfcc35b86f3e09858 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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";
 }
 
 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 |
 
 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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 viola1 = \notes \relative c {
        \type Voice=one
 
 viola1 = \notes \relative c {
        \type Voice=one
index ed02415a57aa90304c784d8791b6c1be74a81cc2..edfa67e706c658809baff5797355831ee0084763 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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
 
 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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "viola-1.ly"
 
 \include "global.ly"
 \include "viola-1.ly"
index 5e5dbed0defb4da0784d4100b0146755019502f6..7b6c9bd1a7223e49482fef7ecc566c11047437d4 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violino-1.ly"
 
 \include "global.ly"
 \include "violino-1.ly"
index 14196cc240d6bd9eef515ffe4cdd58dc619945ba..ab12d3ca958e415fe7f7b9875146d4c4bf886c8f 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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 |
        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: |
        <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 ~ |
        [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
        %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
        <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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violino-2.ly"
 
 \include "global.ly"
 \include "violino-2.ly"
index cb2097cdb8d57a1996d4ddb4f6014ac86a1c4163..064f48f605ce25397c5a5ee80b163835ddd8fcbb 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
 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 |
 
 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 |
        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':> |
        <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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "global.ly"
 \include "violoncello.ly"
 
 \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 |
 
 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.
 %}
        
        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 ~|
 
 $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";
 
 \include "paper16.ly";
 \include "paper13.ly";
@@ -18,119 +18,119 @@ title = "An Sylvia";
 pianoRH=\notes \relative c''  {
                 \clef "G";
 %1
 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
                 |
 %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
                 |
 %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
                 |
 %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
                  \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
                 |
 %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
                 |
 %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
                 |
 %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
                 |
 %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
                 |
 %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
                 |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
                |
 %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
 %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
                \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";
 } 
 
 copyright =     "public domain";
 } 
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "standchen.ly"
 
 \include "standchen.ly"
index b1327373ec18edd9e80b7fe330e5fd6ca9643b91..daaed0bbcabb382da4870c3cde5a43857ebd0efb 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 description = "A schubert song in 20 pt";
 } 
 
 description = "A schubert song in 20 pt";
 } 
 
-\version "1.0.10";
+\version "1.0.14";
 
 % fool make-website
 % \include "standchen.ly";
 
 % 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.
 %}
 
 Note: Original key F.
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 $vocal_verse1 = \notes\relative c''{
        % ugh: treble/bass
 
 $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-.>] |
        \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
        \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> |
        <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> |
        <{ 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
        %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. |
        % \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 } >
        \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>|
 
 $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> |
        <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> |
 }
        %60
        <e2. g> |
 }
@@ -231,11 +231,11 @@ $treble_through = \notes \relative c'{
        <e2. e'> |
        %61
        R2. |
        <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] |
        < { 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 |
 % 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
                }
        >
        % 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
        %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 } > |
        \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
        <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> |
        %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 |
        <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
 %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
        <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 |
        <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 |
        <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
 }
 
 $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
 }
 
 $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
        % 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
        %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 |
        % 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
        %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
        %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> |
 }
                
        <c,2._\fermata g' c> |
 }
                
index d05370f110634b7b897b4d083e5610f5f6cc02a4..a4c7cea4178bcc6d4488e2f81107040f1367f652 100644 (file)
@@ -6,7 +6,7 @@ date = "1868";
 title = "Diademata";
 metre = "6 6. 8 6. D";
 }
 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 "||";
 
 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";
 }
 
 metre = "10 10 . 11 11";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop = \notes \transpose c''{
        f4 | d' bes c' | f2 \bar "||";
 
 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";
 }
 
 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 |
 
 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";
 }
 
 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 "||";
 
 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";
 }
 
 enteredby = "Peter Chubb";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 sop=\notes \transpose c'' {
        \repeat 2 {
 
 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;
 
 global=\notes {
              \time 6/4;
index 1da211415639a102f81889aec433aac692cd7178..810712d226a4cb783af5147d4efa2eda818d7a36 100644 (file)
@@ -4,7 +4,7 @@
        piece = "Allemande";
 }
 
        piece = "Allemande";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes{
        \time 4/4;
 
 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 }
        \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
        >
        [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. }
        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
 }
 
        >       s8
 }
 
index cddc7bfacf7a60678ccc1fb51837f7b6c34b4504..d121ae998cc1c9294bd48e35dfd8c96fd5e1cc38 100644 (file)
@@ -10,7 +10,7 @@
 %% 
 %% Noe liknende skjer ogsÃ¥ i mellom andre og tredje stemme i takt 28
 
 %% 
 %% 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;
 
 global = \notes{
        \time 2/4;
@@ -137,7 +137,7 @@ vOne = \type Voice = voiceOne \notes\relative c''{
        c4 r |
 %93
        r8 g f'4~ |
        c4 r |
 %93
        r8 g f'4~ |
-       [f8 d g <f as,]> |
+       [f8 d g <f as,>] |
        <es4 g,> <d f,> |
        <c2 g es>
 }
        <es4 g,> <d f,> |
        <c2 g es>
 }
index d0c682e8cfd6292d2170777f30d19e672f123ee0..891ff5acfef22ffac958f21cf5f6dba433fc25bf 100644 (file)
@@ -10,7 +10,7 @@
   copyright =   "Public Domain";
 }
 
   copyright =   "Public Domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
        \time 4/4;
 
 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 ~ |
 %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] }
        \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> |
        <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
 %5
-       r16 <[g c,><g. c,><f32 c]> 
+       r16 <[g c,><g. c,><f32 c>] 
        \type Staff <
                {\stemup f4~ f}
                {\stemup c4 d}
        \type Staff <
                {\stemup f4~ f}
                {\stemup c4 d}
index d469868bbdcfa9d255fa8b9655a536b2a4a8246c..1c00016cae435a2b6cf9077d2eb2cbde496c0059 100644 (file)
@@ -12,7 +12,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 one = \notes\relative c {
        \property Voice . textstyle =  "italic"
 
 one = \notes\relative c {
        \property Voice . textstyle =  "italic"
index ae31ddfb021b52928c898a10d63d52101fa65571..13ed9b83e0f22ab9d8b911c255a70750cc53e7b1 100644 (file)
@@ -10,7 +10,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
 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] |
 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";
 }
 
 copyright =     "public domain";
 }
 
-\version "1.0.7";
+\version "1.0.14";
 
 
 one = \notes  \transpose c`` {
 
 
 one = \notes  \transpose c`` {
index 1f7f612113827f34c0817b3f8c84dbd391eb3a1a..4301782d53f6687b739cf737153e8428e9188082 100644 (file)
@@ -8,7 +8,7 @@ composer =       "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 one = \notes\relative c{
        \property Voice . textstyle =  "italic"
 
 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
        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~] |
        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";
 }
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 
 one = \notes\relative c{
 
 
 one = \notes\relative c{
index 8d01b0f20ab803f5b123074a10016061bd3101a1..cb9168062a993e7e79497654ee2e45141530df70 100644 (file)
@@ -8,7 +8,7 @@ composer =       "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
 enteredby =     "jcn";
 copyright =     "public domain";
 }
-\version "1.0.10";
+\version "1.0.14";
 
 
 one = \notes\relative c{
 
 
 one = \notes\relative c{
@@ -84,7 +84,7 @@ four = \notes\relative c{
        \stemup
        b2-1 a-1 |
        g a4. [gis16 a] |
        \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
        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
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "allemande-urtext.ly";
 
 
 \include "allemande-urtext.ly";
 
index 624080a800168c7199e67e4e96989eaeca6b954a..c7c11ed713bb6fa2006370fccdae395b89ca92b8 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "allemande-urtext.ly";
 
 
 \include "allemande-urtext.ly";
 
index 6747c7ac74568677db256849bee635c75fbdcec1..bc1e61e12528aa9637ec4dfd41a8fadfb233f072 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "courante-urtext.ly";
 
 
 \include "courante-urtext.ly";
 
index 44eccf69107120238067a6d5aa4b910f4a3238eb..83e144bf3edd535b09ee4145b85baf80eb2bdaf0 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "courante-urtext.ly";
 
 
 \include "courante-urtext.ly";
 
index 485c2fad5bcb0a06db8d55708b4d4cd814923204..aaa6782df9c59b4d0202c31f802bee239ed642ba 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "gigue-urtext.ly";
 
 
 \include "gigue-urtext.ly";
 
index e8bdd260316b171e631994b8a739cb9cdec1aa16..9444fda5549eabfffea95f443cbebcd12c59fa37 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "gigue-urtext.ly";
 
 
 \include "gigue-urtext.ly";
 
index 29852a2f3290a2358c1e2706b97b8a6eb7a4d473..5017b4b9b4046e5ef341d3112f2b1a6b448ad581 100644 (file)
@@ -16,7 +16,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "menuetto-urtext.ly";
 
 
 \include "menuetto-urtext.ly";
 
index b00f4aafd2230590f6c23396e717a72de121699d..c00d23402e749026916649ee66b405b016f29d9d 100644 (file)
@@ -17,7 +17,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "menuetto-urtext.ly";
 
 
 \include "menuetto-urtext.ly";
 
index 205cef71adb61778ad35536c7b96f6244ddc8376..6a8765eb4a0becd4c641de5fe2ec5b20be36e01b 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "prelude-urtext.ly";
 
 
 \include "prelude-urtext.ly";
 
index e31dac216f2736ceeec85c5674070e6f76794086..f2f4e72d43c7be3bd128b3be0bc6c049a8b8a19f 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "prelude-urtext.ly";
 
 
 \include "prelude-urtext.ly";
 
index e26b37f593084e54ce81a2a00c6160476cfc34ba..9214126eb7fea31560c2f6c963fe67aff7e3a88c 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "sarabande-urtext.ly";
 
 
 \include "sarabande-urtext.ly";
 
index 91a0f23c61b38d3e6d2ab8addf9e5007970130ba..44d5eff18e24e4da376cb4cc85e8c6caf1fd94cd 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
  dotted slurs
 %}
 
  dotted slurs
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "sarabande-urtext.ly";
 
 
 \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 = 
 
 
 global = 
index d17f35b344c964816115dfdc47330381915f4868..00b857b638e53a5ede8631971c2de6ea0c812e30 100644 (file)
@@ -13,7 +13,7 @@
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "1.0.10";
+\version "1.0.14";
 
 \include "nederlands.ly"                 % for correct parsing of note names
 
 
 \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
   [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> |
 }
 
   <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
   [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 |
 }
 
   [f,16 g] as4 [g16 f] e2 |
 }
 
index 7265e4fb110a7b33dd60a9b1f0251c961380b788..0070af7015a68a8fb0b97f323a7b07895a8ec4aa 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
 copyright =     "Public Domain";
 }
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = 
     \notes {
 
 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.  %}
 
 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' {
 
 
 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
 
 allegro =
        \notes
index 636c09b38f9a3c4aa7ffc090553b09e3a54d745e..2d84ce1c492022bf4a1b6b41a8b37dd3e58e5d47 100644 (file)
@@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper
 definition below. --MB
 %} 
 
 definition below. --MB
 %} 
 
-\version "1.0.10";
+\version "1.0.14";
 
 global = \notes {
   \property StaffGroup.timeSignatureStyle = "old"
 
 global = \notes {
   \property StaffGroup.timeSignatureStyle = "old"
index c47ba35755b46e3eb012c748d11d07f66ba6673b..e9a9decec7883155b368c72c41f4401ae84283f3 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "public domain";
 latexheaders=    "headers";
 } 
 copyright =     "public domain";
 latexheaders=    "headers";
 } 
-\version "1.0.10";
+\version "1.0.14";
 
 %{
 Silly latex file dropped; use ly2dvi
 
 %{
 Silly latex file dropped; use ly2dvi
index 19288a08b4569b75ebae70769999d941dbd96041..69feb53f57f55ee756a92da475f6323e9121e913 100644 (file)
 program_name = 'convert-mudela'
 version = '0.4'
 
 program_name = 'convert-mudela'
 version = '0.4'
 
-
 import os
 import sys
 import __main__
 import getopt
 from string import *
 import re
 import os
 import sys
 import __main__
 import getopt
 from string import *
 import re
-
 import time
 import time
+
 mudela_version_re_str = '\\\\version *\"(.*)\"'
 mudela_version_re = re.compile(mudela_version_re_str)
 
 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
 
        i.close ()
        return s
 
-
 def str_to_tuple (s):
        return tuple (map (atoi, split (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'))
 
 
                ((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:
        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'))
 
                ((0,1,21), conv, '\\musical_pitch -> \\musicalpitch, '+
                 '\\meter -> \\time'))
 
-if 1:                                  # need new a namespace
+if 1:
        def conv (lines):
                return lines
 
        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 '))
 
 
                ((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:
        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 ')
 
        
        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 }
 #   - 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
 
 import os
 import string
@@ -45,7 +49,7 @@ import sys
 
 outdir = 'out'
 initfile = ''
 
 outdir = 'out'
 initfile = ''
-program_version = '0.5'
+program_version = '0.5.1'
 
 out_files = []
 
 
 out_files = []
 
@@ -592,24 +596,11 @@ def main():
     if outdir[-1:] != '/':
         outdir = outdir + '/'
 
     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()
     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
         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
     c = defined_mudela_cmd.keys()[0]
     for x in defined_mudela_cmd.keys()[1:]:
         c = c + '|'+x