From aad5ddf9162f3ee43f74a8e108324f3959f2f9c0 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 14 Dec 1998 15:30:19 +0100 Subject: [PATCH] release: 1.1.15 --- Documentation/faq.yo | 88 +++++++++- Documentation/links.yo | 2 +- Documentation/man/mudela-book.yo | 45 ++--- Documentation/man/out/mudela-book.1 | 61 ++----- Documentation/tex/mudela-book-doc.doc | 95 +++++++--- Documentation/tex/other-packages.bib | 14 ++ Documentation/tex/refman.yo | 54 ++---- Documentation/tex/tutorial.yo | 35 ++-- NEWS | 13 ++ TODO | 152 +++++++++++++--- VERSION | 4 +- buildscripts/set-lily.sh | 3 +- init/GNUmakefile | 3 +- init/book-fragment.ly | 2 +- init/book-init.ly | 2 +- init/center-fragment.ly | 2 +- init/center.ly | 2 +- init/engraver.ly | 4 +- init/fragment.ly | 2 +- init/init.fly | 2 +- init/init.ly | 2 +- init/mudela-book-defs.py | 17 -- init/paper16.ly | 2 +- init/paper20.ly | 2 +- init/property.ly | 18 +- input/bugs/bar-space.ly | 2 +- input/bugs/core.ly | 2 +- input/example-3.ly | 2 +- input/keys.ly | 2 +- input/kortjakje.ly | 2 +- input/opus-130.ly | 4 +- input/part.ly | 2 +- input/pedal.ly | 2 +- input/praeludium-fuga-E.ly | 42 ++++- input/rhythm.ly | 2 +- input/scales.ly | 2 +- input/scripts.ly | 2 +- input/test/abbrev.ly | 2 +- input/test/bar-scripts.ly | 2 +- input/test/beam-chord.ly | 14 +- input/test/beam-pos.ly | 2 +- input/test/beams.ly | 2 +- input/test/broken.ly | 2 +- input/test/c.ly | 2 +- input/test/chords.ly | 2 +- input/test/clefs.ly | 2 +- input/test/collisions.ly | 2 +- input/test/defaultbars.ly | 2 +- input/test/denneboom.ly | 2 +- input/test/dotted-slur.ly | 2 +- input/test/find-quarts.ly | 2 +- input/test/font-body.ly | 2 +- input/test/font.ly | 2 +- input/test/font16.ly | 2 +- input/test/gourlay.ly | 2 +- input/test/grace.ly | 2 +- input/test/hara-kiri.ly | 2 +- input/test/keys.ly | 2 +- input/test/knee.ly | 2 +- input/test/mark.ly | 2 +- input/test/multi-rest.ly | 2 +- input/test/ossia.ly | 2 +- input/test/score-bar-scripts.ly | 2 +- input/test/sleur.ly | 2 +- input/test/slur-bug.ly | 2 +- input/test/slur-damping.ly | 2 +- input/test/slur-swap.ly | 2 +- input/test/slurs.ly | 2 +- input/test/spacing.ly | 2 +- input/test/stem.ly | 2 +- input/test/test-lyrics.ly | 2 +- input/test/thumb.ly | 6 +- input/test/tie-bug.ly | 4 +- input/test/tie.ly | 2 +- input/test/title.ly | 2 +- input/test/transposition.ly | 2 +- input/test/vertical-align.ly | 2 +- input/tril.ly | 2 +- input/twinkle-pop.ly | 2 +- input/twinkle.ly | 2 +- lily/abbrev.cc | 2 +- lily/abbreviation-beam-engraver.cc | 7 +- lily/beam-engraver.cc | 2 +- lily/beam.cc | 12 +- lily/cbeam-engraver.cc | 164 ++++++++++++++++++ lily/compressed-music-iterator.cc | 2 +- lily/ctie-engraver.cc | 50 +++++- lily/dynamic-engraver.cc | 4 +- lily/extender-engraver.cc | 2 +- lily/include/cbeam-engraver.hh | 39 +++++ lily/include/command-request.hh | 1 + lily/include/ctie-engraver.hh | 5 +- lily/include/direction.hh | 2 + lily/include/request.hh | 4 +- lily/include/stem.hh | 3 +- lily/musical-request.cc | 51 +----- lily/my-lily-parser.cc | 4 +- lily/parser.yy | 58 +++---- lily/plet-engraver.cc | 6 +- lily/rest-collision.cc | 2 +- lily/slur-engraver.cc | 4 +- lily/stem.cc | 5 +- make/generic-vars.make | 2 +- make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- mudela-mode.el | 2 +- mutopia/Coriolan/bassi-part.ly | 2 +- mutopia/Coriolan/clarinetti-part.ly | 2 +- mutopia/Coriolan/clarinetti.ly | 2 +- mutopia/Coriolan/clarinetto-1.ly | 2 +- mutopia/Coriolan/clarinetto-2.ly | 2 +- mutopia/Coriolan/contrabasso-part.ly | 2 +- mutopia/Coriolan/contrabasso.ly | 2 +- mutopia/Coriolan/coriolan.ly | 2 +- mutopia/Coriolan/corni-part.ly | 2 +- mutopia/Coriolan/corni.ly | 2 +- mutopia/Coriolan/corno-1.ly | 2 +- mutopia/Coriolan/corno-2.ly | 2 +- mutopia/Coriolan/fagotti-part.ly | 2 +- mutopia/Coriolan/fagotti.ly | 2 +- mutopia/Coriolan/fagotto-1.ly | 2 +- mutopia/Coriolan/fagotto-2.ly | 2 +- mutopia/Coriolan/flauti-part.ly | 2 +- mutopia/Coriolan/flauti.ly | 2 +- mutopia/Coriolan/flauto-1.ly | 2 +- mutopia/Coriolan/flauto-2.ly | 2 +- mutopia/Coriolan/global.ly | 2 +- mutopia/Coriolan/oboe-1.ly | 2 +- mutopia/Coriolan/oboe-2.ly | 2 +- mutopia/Coriolan/oboi-part.ly | 2 +- mutopia/Coriolan/oboi.ly | 2 +- mutopia/Coriolan/timpani.ly | 2 +- mutopia/Coriolan/trombe-part.ly | 2 +- mutopia/Coriolan/trombe.ly | 2 +- mutopia/Coriolan/trombo-1.ly | 2 +- mutopia/Coriolan/trombo-2.ly | 2 +- mutopia/Coriolan/viola-1.ly | 2 +- mutopia/Coriolan/viola-2.ly | 2 +- mutopia/Coriolan/viola-part.ly | 2 +- mutopia/Coriolan/violino-1-part.ly | 2 +- mutopia/Coriolan/violino-1.ly | 16 +- mutopia/Coriolan/violino-2-part.ly | 2 +- mutopia/Coriolan/violino-2.ly | 4 +- mutopia/Coriolan/violoncello-part.ly | 2 +- mutopia/Coriolan/violoncello.ly | 2 +- mutopia/D.Zipoli/verso_2.ly | 2 +- mutopia/F.Schubert/AnSylvia.ly | 118 ++++++------- mutopia/F.Schubert/standchen-16.ly | 2 +- mutopia/F.Schubert/standchen-20.ly | 2 +- mutopia/F.Schubert/standchen.ly | 138 +++++++-------- mutopia/Hymns/diademata.ly | 2 +- mutopia/Hymns/laudatedom.ly | 2 +- mutopia/Hymns/maccabaeus.ly | 2 +- mutopia/Hymns/ode.ly | 2 +- mutopia/Hymns/passion.ly | 2 +- mutopia/Hymns/stille.ly | 2 +- .../Cembalo-Partitas/Partita_II_Allemande.ly | 6 +- .../Cembalo-Partitas/Partita_II_Capriccio.ly | 4 +- .../Cembalo-Partitas/Partita_II_Sinfonia.ly | 10 +- .../J.S.Bach/Petites-Preludes/preludes-1.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-2.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-3.lym4 | 2 +- .../J.S.Bach/Petites-Preludes/preludes-4.ly | 4 +- .../J.S.Bach/Petites-Preludes/preludes-5.ly | 2 +- .../J.S.Bach/Petites-Preludes/preludes-6.ly | 4 +- .../Solo-Cello-Suites/allemande-cello.ly | 2 +- .../Solo-Cello-Suites/allemande-viola.ly | 2 +- .../Solo-Cello-Suites/courante-cello.ly | 2 +- .../Solo-Cello-Suites/courante-viola.ly | 2 +- .../J.S.Bach/Solo-Cello-Suites/gigue-cello.ly | 2 +- .../J.S.Bach/Solo-Cello-Suites/gigue-viola.ly | 2 +- .../Solo-Cello-Suites/menuetto-cello.ly | 2 +- .../Solo-Cello-Suites/menuetto-viola.ly | 2 +- .../Solo-Cello-Suites/prelude-cello.ly | 2 +- .../Solo-Cello-Suites/prelude-viola.ly | 2 +- .../Solo-Cello-Suites/sarabande-cello.ly | 2 +- .../Solo-Cello-Suites/sarabande-viola.ly | 2 +- mutopia/J.S.Bach/wtk1-fugue1.ly | 2 +- mutopia/J.S.Bach/wtk1-fugue2.ly | 6 +- mutopia/J.S.Bach/wtk1-prelude1.ly | 2 +- mutopia/W.A.Mozart/cadenza.ly | 2 +- mutopia/W.A.Mozart/horn-concerto-3.ly | 2 +- mutopia/gallina.ly | 2 +- mutopia/los-toros-oboe.ly | 2 +- scripts/convert-mudela.py | 38 +++- scripts/mudela-book.py | 30 ++-- 187 files changed, 1082 insertions(+), 681 deletions(-) delete mode 100644 init/mudela-book-defs.py create mode 100644 lily/cbeam-engraver.cc create mode 100644 lily/include/cbeam-engraver.hh diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 1939a8e11f..bb1ff83233 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -284,7 +284,7 @@ lurl(http://harmonia.scar.utoronto.ca). There is also a GUI package RoseGarden that could be extended to output mudela. If you want to work on this, please send e-mail to the mailing list -email(gnu-misc-discuss@gnu.org). +email(gnu-music-discuss@gnu.org). question(I want to implement XXXX! How should I do this?) @@ -353,16 +353,16 @@ LilyPond already compiles into a different directory ((the different directory is called out/, there is one in every source directory). make distclean essentially reduces to file(rm -f out/*) in every directory - question(gdb crashes when I debug!) Upgrade to 4.17. -question(Why do I need g++ >= 2.7?) +question(Why do I need g++ >= 2.8 / EGCS-1.1 ?) -By using g++, GNU LilyPond is portable to all platforms which support -g++ (there are quite a few). Not having to support other compilers -saves us a em(lot) of trouble. +Supporting more compilers then EGCS/G++ 2.8 is unlikely to make +LilyPond run on more platforms. It would give us an enormous headache +in detecting and catering for every variant of every compiler: not +having to support other compilers saves us a em(lot) of trouble. sect(Running) @@ -414,11 +414,81 @@ done, and as a method of proof"reading" the input. The MIDI support is by no means finished. Patches appreciated. -sect(Other) +sect(Copyright) + +question(How does copyright for sheet music work? Can I enter and +spread my newly bought Bach urtext?) + + +Silas S. Brown : + +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 : + +[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) diff --git a/Documentation/links.yo b/Documentation/links.yo index 58732fb793..aed379bb1e 100644 --- a/Documentation/links.yo +++ b/Documentation/links.yo @@ -99,7 +99,7 @@ sect(Backlinks) description( dit(lurl(http://www.ssc.com/linux/)) The Number One Free Operating System Kernel: Linux -dit(lurl(http://www.bright.net/~dlphilp/linux_soundapps.html)) +dit(lurl( http://sound.condorow.net)) Dave Philips' Linux sound applications page dit(lurl(http://www.home.fh-karlsruhe.de/~rost0001/web/musik/musik.html)) Stochastic composing using LilyPond diff --git a/Documentation/man/mudela-book.yo b/Documentation/man/mudela-book.yo index b636b5e7e5..03035a61aa 100644 --- a/Documentation/man/mudela-book.yo +++ b/Documentation/man/mudela-book.yo @@ -21,18 +21,8 @@ fragments of mudela in your source file, and includes the results into document that can be processed with LaTeX. The result is a text document with formatted music integrated. -Lilypond will create a directory to put temporary files, the default -dir name is file(out). When you run mudela on a file, like this: - -verb(mudelab-book myfile.tex) - -the a file file(out/myfile.latex) will be created. And to create -the file(.dvi) file you should type: - -verb(latex out/myfile.latex) - -This will create file(myfile.dvi) in the current directory. Bad things -will happen if you cd to file(out) and then runs verb(latex myfile.latex) +Lilypond will by default create all output files in directory file(out). +The file to give to latex has ext file(.latex). bf(About the input) @@ -53,16 +43,17 @@ to whatever he wants. code(\begin) takes the following options: description( -dit(floating) - the created graphics can be inserted in the middle of a text line, - not only as a separate paragraph -dit(fragment) - mudela-book adds some redtape. You - can substitute voice-contents for CONTENTS in this case. +dit(eps) + the music is created as eps graphics that can be inserted in + the middle of a text line, not only as a separate paragraph dit(verbatim) CONTENTS is copied into the TeX source enclosed in a verbatim block. dit(11pt, 13pt, 16pt, 20pt, 26pt) set the fontsize to use for the music +dit(fragment) +dit(nonfragment) + Override mudela-book autodetection of what type of code is in the + mudela block, voice contents or complete code. ) @@ -70,16 +61,16 @@ manpageoptions() startdit() -dit(--mudela-fontsize) +dit(--default-mudela-fontsize=??pt) Set the fontsize to use for mudela if no fontsize is given as option. -dit(--force-mudela-fontsize) +dit(--force-mudela-fontsize=??pt) Force all mudela to use this fontsize, overriding options given to \begin{mudela} -dit(--outname) +dit(--outname=FILE) The name of LaTeX() file to output. If this option is not given, the output name derived from the input name. -dit(--outdir) +dit(--outdir=DIRECTORY) The directory to output lilypond output and input to. dit(--help) Print a short help message @@ -87,12 +78,13 @@ dit(--dependencies) Write dependencies to outdir/filename.dep dit(--force-verbatim) Make all mudela verbatim. +dit(--initfile=FILE) + read command definitions from file(FILE) enddit() manpagefiles() - You have to install LaTeX. file(mudela-book) is not tested on LaTeX 2.09 - and will probably fail on something else than LaTeX2e. - + See file(Documentation/tex/out/mudela-book-doc.dvi) for more info. + You have to install LaTeX. file(mudela-book) is written in python 1.5, so you have to install url(python)(http://www.python.org). @@ -104,7 +96,8 @@ You get trouble if you use the --force-verbatim option and have some music in \footnote{...} or \marginpar{...}. Ignores almost all LaTeX commands that changes margins and linewidths. - + +file(\begin{verbatim}) is ignored. manpageauthor() nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/people/hanwen) diff --git a/Documentation/man/out/mudela-book.1 b/Documentation/man/out/mudela-book.1 index 845347cd80..601d4e1d45 100644 --- a/Documentation/man/out/mudela-book.1 +++ b/Documentation/man/out/mudela-book.1 @@ -14,36 +14,8 @@ fragments of mudela in your source file, and includes the results into document that can be processed with LaTeX\&. The result is a text document with formatted music integrated\&. .PP -Lilypond will create a directory to put temporary files, the default -dir name is \fBout\fP\&. When you run mudela on a file, like this: -.PP - -.DS - -mudelab-book myfile\&.tex -.DE - - -.PP -the a file \fBout/myfile\&.latex\fP will be created\&. And to create -the \fB\&.dvi\fP file you should type: -.PP - -.DS - -latex out/myfile\&.latex -.DE - - -.PP -This will create \fBmyfile\&.dvi\fP in the current directory\&. Bad things -will happen if you cd to \fBout\fP and then runs -.DS - -latex myfile\&.latex -.DE - - +Lilypond will by default create all output files in directory \fBout\fP\&. +The file to give to latex has ext \fB\&.latex\fP\&. .PP \fBAbout the input\fP .PP @@ -69,30 +41,31 @@ to whatever he wants\&. .PP \f(CW\ebegin\fP takes the following options: .PP -.IP "floating" -the created graphics can be inserted in the middle of a text line, -not only as a separate paragraph -.IP "fragment" -mudela-book adds some redtape\&. You -can substitute voice-contents for CONTENTS in this case\&. +.IP "eps" +the music is created as eps graphics that can be inserted in +the middle of a text line, not only as a separate paragraph .IP "verbatim" CONTENTS is copied into the TeX source enclosed in a verbatim block\&. .IP "11pt, 13pt, 16pt, 20pt, 26pt" set the fontsize to use for the music +.IP "fragment" +.IP "nonfragment" +Override mudela-book autodetection of what type of code is in the +mudela block, voice contents or complete code\&. .PP .SH "OPTIONS" .PP .IP -.IP "--mudela-fontsize" +.IP "--default-mudela-fontsize=??pt" Set the fontsize to use for mudela if no fontsize is given as option\&. -.IP "--force-mudela-fontsize" +.IP "--force-mudela-fontsize=??pt" Force all mudela to use this fontsize, overriding options given to \ebegin{mudela} -.IP "--outname" +.IP "--outname=FILE" The name of file to output\&. If this option is not given, the output name derived from the input name\&. -.IP "--outdir" +.IP "--outdir=DIRECTORY" The directory to output lilypond output and input to\&. .IP "--help" Print a short help message @@ -100,11 +73,12 @@ Print a short help message Write dependencies to outdir/filename\&.dep .IP "--force-verbatim" Make all mudela verbatim\&. +.IP "--initfile=FILE" +read command definitions from \fBFILE\fP .PP .SH "FILES" -You have to install LaTeX\&. \fBmudela-book\fP is not tested on LaTeX 2\&.09 -and will probably fail on something else than LaTeX2e\&. -.PP +See \fBDocumentation/tex/out/mudela-book-doc\&.dvi\fP for more info\&. +You have to install LaTeX\&. \fBmudela-book\fP is written in python 1\&.5, so you have to install python\&. .PP @@ -117,6 +91,7 @@ music in \efootnote{\&.\&.\&.} or \emarginpar{\&.\&.\&.}\&. .PP Ignores almost all LaTeX commands that changes margins and linewidths\&. .PP +\fB\ebegin{verbatim}\fP is ignored\&. .SH "AUTHOR" .PP Han-Wen Nienhuys , http://www\&.cs\&.uu\&.nl/people/hanwen diff --git a/Documentation/tex/mudela-book-doc.doc b/Documentation/tex/mudela-book-doc.doc index 3aa58bedb9..cd5591adfd 100644 --- a/Documentation/tex/mudela-book-doc.doc +++ b/Documentation/tex/mudela-book-doc.doc @@ -12,6 +12,8 @@ \maketitle %\printparam +\section{Introduction} + Mudela-book is a script that process your \LaTeX~file and with great help from GNU LilyPond it translates blocks of mudela code it finds inside \verb|mudela| environments to tex or eps graphics. It then @@ -157,27 +159,12 @@ To avoid that \LaTeX~places the music on a line of its one, there should be no empty lines between the normal text and the mudela environment. -There is an even shorter way to write small musical fragments. This -triad, \mudela{}, was created with this code: -\verb|\mudela{}| - -Mudela-book let you define your own commands, see the file -\verb|mudela-book-defs.py|. In a later version, it will be possible to -have your own file that defines new commands. To print small rhythms -like this, \mudelaRhythm{c4 r8 [c16 c] c4 c}, the default -\verb|mudela-book-defs.py| also defines a command \verb|mudelaRhythm|. -The last music was created like this: -\verb|\mudelaRhytm{c4 r8 [c16 c] c4 c}|. This feature is higly -experimental, so Things Will Change. - -The last example show that we need options to change the +\section{Fontsize options} +You can use all lilypond fontsizes in mudela-book. % LONG line just to test multiple mudela on one line -fontsize of the music. 11pt, \mudela[11pt]{} or 13pt, \mudela[13pt]{} is probably a better fontsize -if you include music in the middle of the text. The code looks like this: -\verb|\mudela[11pt]{}| - -or -\begin{mudela}[13pt, verbatim] +The default 16pt fontsize, \mudela{}, is probably to big to be included in the middle of the text. 11pt, \mudela[11pt]{} or 13pt, \mudela[13pt]{} is probably better. +The code can look like this: +\begin{mudela}[13pt, eps, verbatim] \end{mudela} @@ -220,6 +207,68 @@ The following options set the fontsize: \end{mudela} \end{itemize} +\section{User defined commands} +There is an even shorter way to write small musical fragments. This +triad, \mudela{}, was created with this code: +\verb|\mudela{}| + +Mudela-book defines the \verb|\mudela| command, and let you define +your own commands in a file specified by +the command line option \verb|--initfile=filename|. The format for the +file is a definition of a python dictionary: +% mudela-book should really respect \begin{verbatim} + +\verb|{ 'mudela': r"""| + +\verb|\begin|\verb|{mudela}[eps \fontoptions]| + +\verb| \maininput| + +\verb|\end|\verb|{mudela}| + +\verb|""",| + +\verb| 'mudelaRhythm': r"""| + +\verb|\begin|\verb|{mudela}[eps \fontoptions]| +\begin{verbatim} +\score{ + \type RhythmicStaff{ + \notes{\stemup \maininput} + } + \paper{linewidth = -1.\cm;} +} +\end{verbatim} +\verb|\end|\verb|{mudela}| + +\verb|"""| + +\verb|}| + +The above code show how \verb|\mudela| could have been defined, and +also defines a new command \verb|mudelaRhythm|. Notice that you can +send fontsize options to the defined commands. +\verb|\mudelaRhytm[11pt]{c4 c8 [c16 c] c4 c}| produce this music: +\begin{mudela}[eps, 11pt] +\score{ + \type RhythmicStaff{ + \notes{ \stemup c4 r8 [c16 c] c4 c } + } + \paper{linewidth = -1.\cm;} +} +\end{mudela} + +\section{Just in case...} +The options \verb|fragment| and \verb|nonfragment| will override +mudela-book when it scans the mudela code to see if it is staff +contents or complete code. This might be useful if mudela-book choose +wrong. + +Since there is no finder's fee which doubles every year, there is no +need to wait for the price money to grow. So send a bug report today +if you need this one of this options. + +\section{Examples} This was all options to \verb|\begin{mudela}|. The rest of the document will show some ways you can use mudela in \LaTeX~documents. It will also act as a simple test-suite for @@ -244,7 +293,7 @@ and marginspars just as any other included eps graphics. r4-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--] [f16-.( )f-. dis8-- gis16-.( )gis-.] cis4.-\fermata | - r4.-\fermata [cis,16 cis g'8 f16 f b][g16 g f8 b16 b] dis4.-\fermata + r4.-\fermata [cis,16 cis g'8 f16 f b8][g16 g f8 b16 b] dis4.-\fermata } \paper{linewidth = 7.\cm;} } @@ -253,7 +302,7 @@ and marginspars just as any other included eps graphics. To the right you can see some bars from the trumpet fanfara from the beginning of the fantastic street opera ``Houdini the Great'', by the -danish composer Andy Pape. The music is put inside a +danish composer Andy Pape. The music is put inside a \verb|floatingfigure| environment, and the music will be aligned by the right marging if you set floatingfigure width and mudela linewidth to the same value. The code looks like this: @@ -266,7 +315,7 @@ to the same value. The code looks like this: r4.-\fermata [b16-.( )b-.] [f'8-- dis16-.( )dis-. gis8--] [f16-.( )f-. dis8-- gis16-.( )gis-.] cis8.-\fermata | - r4.-\fermata [cis,16 cis g'8 f16 f b] + r4.-\fermata [cis,16 cis g'8 f16 f b8] [g16 g f8 b16 b] dis4.-\fermata } \paper{linewidth = 7.\cm;} diff --git a/Documentation/tex/other-packages.bib b/Documentation/tex/other-packages.bib index 78e2391355..a1fc1732d8 100644 --- a/Documentation/tex/other-packages.bib +++ b/Documentation/tex/other-packages.bib @@ -15,6 +15,20 @@ + +@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}, diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index a357d2d33e..535201b8f1 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -470,40 +470,8 @@ code([) and code(]). mudela(fragment,verbatim,center)( [a'8 a'] [a'16 a' a' a'] ) -If you want to put beams over chords, you will find that the obvious -construction does not work. You must do the following: -mudela(fragment,verbatim,center)(<[a'8 c''> b' ) -The bracket characters must appear immediately adjacent to a note. - -In order to create triplets, you must use a length multiplier after -the brackets. An open bracket code([) followed by a fraction -instructs LilyPond to print a number over the beam, and it also -starts multiplying all note lengths by the fraction. The closing -bracket code(]) should be followed by the fraction code(1/1) in order -to restore normal note lengths. To create a triplet without a beam, -place a backslace code(\) before the opening and closing brackets. - -For example, in an ordinary triplet, the notes have duration 2/3 as -long as normal. -mudela(fragment,verbatim,center)( -[2/3 a'8 a' a' ]1/1 \[2/3 b'4 b' b'\]1/1 -) - -There is a shorthand that can be used when you -want notes lengths multiplied by 2/n. -The 2 can be omitted after the open bracket -and the first 1 can be omitted after the closing bracket. -mudela(fragment,verbatim,center)( -[/3 b'8 b' b' ]/1 \[/3 a'4 a'8\]/1 -) -COMMENT(This next bit needs to be fixed...or the language needs to be -fixed.) - -Here is a combination -mudela(fragment,verbatim,center)( -[/3 a'8 a'16 a'] a'8 \] -) +[EXPLAIN TUPLETS HERE] Another type of spanner is the slur. Slurs connects chords and try to avoid crossing stems. A slur is started with code(CHAR(40)) and stopped with @@ -517,13 +485,10 @@ f'()g'()a' [a'8 b']( a'4 g' )f' A tie connects two adjacent note heads. When used with chords, it connects all of the note heads. Ties are indicated using the tilde symbol -code(~) by analogy with TeX()'s tie which connects words. For ties -between chords, the input convention is somewhat peculiar. You cannot -write code(~), but rather must put the tilde after -a note within the first chord. +code(~) by analogy with TeX()'s tie which connects words. mudela(fragment,verbatim,center)( -e' ~ e' +e' ~ e' ~ ) @@ -613,18 +578,21 @@ property if there was no last value. To place tremolo marks in between two notes, begin with code([:)var(length) and end with code(]). The tremolo marks will appear instead of beams. Putting more than two notes in such a construction will produce odd effects. -mudela(fragment,verbatim,center)( + +[TREMOLO BEAMS TEMPORARILY OUT OF ORDER] + +COMMENT(mudela (fragment,verbatim,center)( c'2:8 c':32 [:16 e'1 g'] [:8 e'4 f'] -) +)) COMMENT( Is the last paragraph correct? Is it called "tremolo"? Why is "abbreviation" used? (What is the unabreviated form?) - -mudela(fragment,verbatim,center)( +COMMENT( +mudela (fragment,verbatim,center)( c'4:32 [:16 c'8 d'8] -) +)) ) diff --git a/Documentation/tex/tutorial.yo b/Documentation/tex/tutorial.yo index 03b1249e62..3aef3a0891 100644 --- a/Documentation/tex/tutorial.yo +++ b/Documentation/tex/tutorial.yo @@ -651,23 +651,23 @@ mudela(fragment,verbatim)( [c'8 c'] [c'16 c' c' c'] [c'16. c'32 c' c'16.] ) +The brackets themselves have no duration, so they are grammatically +equivalent to the barcheck. + dit(Tie) LilyPond's tie is entered as a tilde, `code(~)', in analogy with TeX()'s tie (which ties together words with a space), The tie is similar to the slur: it looks like a slur, but a slur connects whole chords, whereas the tie connects note heads. -The input convention for the tilde is somewhat peculiar when used in -conjunction with chords. Internally, the extra information that is -represented by the tilde has to be attached to a note (or to a rest, -for that matter). For this reason, you can't put the tilde between -two chords (as in code( ~nop( ))). 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 - + ~ ) +Since the tie is thought to be inbetween the notes, it has no +duration, and is grammatically equivalent to the barcheck. + dit(Hairpins) Crescendi and decrescendi can be printed in hairpin style. The starting marker for the crescendo is code(\<), and for the decrescendo @@ -951,8 +951,8 @@ dit(GrandStaff) A code(GrandStaff) context contains code(Staff) contexts, and it adds a brace to the output at the nop(left.)footnote(The GrandStaff is quite limited, LilyPond can not do cross staff beaming and slurring.) - - A code(GrandStaff) context can contain code(Staff)s. Typically, it + + A code(GrandStaff) context can contain code(Staff)s. Typically, it will contain two code(Staff)s, one treble staff, and one bass staff. The bar lines of the contained staffs are connected vertically. @@ -1504,21 +1504,26 @@ rests; here they are used as a placeholder to attach articulation marks to. mudela(verbatim)( - bach = \notes \relative c { [g16 d' b' a] [b d, b' d,] } - + bach = \notes \relative c { g16 d' b' a b d, b' d, } + bachBeams = \notes { [s4] [s4] } staffStuff = \notes { \clef bass; \time 4/4; s1 \bar "|."; } slursOne = \notes { s16( s s s s16 s s )s } slursTwo = \notes { s16-. s s() s s16() s s ()s } \score{ - { < \type Voice = celloVoice { \bach \bach } - \type Voice = celloVoice { \slursOne \slursOne } + + + { < + \type Voice = celloVoice { \bach \bach} + \type Voice = celloVoice < { \slursOne \slursOne } + { \bachBeams \bachBeams } > \staffStuff > < \type Voice = celloVoice { \bach \bach } - \type Voice = celloVoice { \slursTwo \slursTwo } + \type Voice = celloVoice < { \slursTwo \slursTwo } + { \bachBeams \bachBeams } > \staffStuff > } diff --git a/NEWS b/NEWS index ff0fe81a05..c4bbcd3efc 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,20 @@ +pl 15 + +pl 14.hwn1 + - new beam syntax: { [ ] }, changed in lilypond, +parser, lilypond (mudela 1.0.14), manual + - new tie syntax: { ~ } changed in manual, +parser, lilypond (Mudela 1.0.13) + pl 14.jcn1 - bf: get_chord C-m5- - typos: chord-name +pl 14.tca2 + - move option proccing out of main + +********** + pl 14 pl 13.hwn1 diff --git a/TODO b/TODO index a6cd3ecbf6..cbc7bc7157 100644 --- a/TODO +++ b/TODO @@ -9,7 +9,7 @@ grep for TODO and ugh/ugr/urg BUGS: * c4 \! \> c4 - * resurrect tremolo beams. + * tremolo stuff * gallina barlines. @@ -94,8 +94,6 @@ STUFF * typo checks on property names? - * --safe: disallow backslashes - * use streambufs and iostream to provide IO handling for TeX stream, mudela stream, data-file. @@ -105,8 +103,6 @@ STUFF * zip target for binary windows dist (JBR) - * revise documentation - * junking \skip req in lyrics * Language: @@ -125,8 +121,6 @@ STUFF * mi2mu empty staffs. - * include MIDI list - * midi_instrument -> midiInstrument * horizontal centering of dynamics @@ -137,16 +131,11 @@ STUFF * stable make/config stuff - * stemup/stemdown; see test/updown.fly - - check examples; add \type Staff hither and thether - * $DEPENDENCIES_OUTPUT support - * use a fake-yodl.sh to mimick yodl when yodl is not installed - * fix BUGs - * fix weird behaviour when .AFMs not found. + * fix weird behaviour when .AFMs/.SCMs not found. * Xdvi zooming ?! Try to understand GS garbage collection. gs: Error: /undefined in draw_beam @@ -166,12 +155,8 @@ STUFF * make Tie_req a "command" { ~ } - * bib ep1988 - * revise the Score_priority_align_engraver concept. It sucks. - * ly2xdvi, ly2ps - * make new VoiceOne, VoiceTwo, VoiceThree contexts with ydirection and hshift preset @@ -235,7 +220,6 @@ ydirection and hshift preset * \cadenza , \meter, \grouping should all be \properties * rename - - plet -> tuplet - measure -> bar - abbrev -> tremolo - abbreviation-beam -> (measured/unmeasured) tremolo @@ -261,6 +245,7 @@ ydirection and hshift preset * handle ^C for tmp/file creation. + * dots & rest collisions. * documentation @@ -491,10 +476,6 @@ PROJECTS - use plet grouping - separate visual from rhythmic info even more - beams over bars - - endbeam req should be *after* the duration, so you can do - < { [c4] } - { c8. c16 } > - * lines: - Ledger lines, should be separate item: Ledger_lines, Ledger_lines @@ -581,8 +562,6 @@ SMALLISH PROJECTS * Flower types: - A decent scalar type - * binsearch/hash for identifiers - * stafftypes: voice names/ instrument names. * lily \tempo @@ -637,8 +616,125 @@ IDEAS * versioning stuff (cvt mudela, mudela, etc.) * Klavarskribo? -5 - * lyrics in chords still fuck up. - - * Use hooks/dependency graphs for properties + * dynamic loading of engravers? + +SMOBS: + +**************************************** +Han-Wen Nienhuys 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 004c9f433a..688692906a 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=14 -MY_PATCH_LEVEL=tca2 +PATCH_LEVEL=15 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/set-lily.sh b/buildscripts/set-lily.sh index 67c5d80616..4ae9087c39 100755 --- a/buildscripts/set-lily.sh +++ b/buildscripts/set-lily.sh @@ -48,7 +48,8 @@ chmod 755 $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh ln -sf $LILYPOND_SOURCEDIR/buildscripts/ps-to-gifs.sh $prefix/bin/ps-to-gifs ln -sf $LILYPOND_SOURCEDIR/mf/out/ afm mkdir -p $prefix/share/lilypond -ln -sf $LILYPOND_SOURCEDIR/scm $prefix/share/lilypond +ln -sf $LILYPOND_SOURCEDIR/ $prefix/share/lilypond + if [ -f ../.gdbinit ]; then ln ../.gdbinit . diff --git a/init/GNUmakefile b/init/GNUmakefile index 1157e404da..6513297576 100644 --- a/init/GNUmakefile +++ b/init/GNUmakefile @@ -3,8 +3,7 @@ depth = .. INI_FILES = $(FLY_FILES) $(LY_FILES) -PY_FILES=$(wildcard *.py) -EXTRA_DIST_FILES = $(SCM_FILES) $(PY_FILES) +EXTRA_DIST_FILES = $(SCM_FILES) INSTALLATION_DIR=$(datadir)/ly/ INSTALLATION_FILES=$(INI_FILES) diff --git a/init/book-fragment.ly b/init/book-fragment.ly index 3f8deb6965..46fd731997 100644 --- a/init/book-fragment.ly +++ b/init/book-fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly" diff --git a/init/book-init.ly b/init/book-init.ly index 34bac0ef49..7cb2e6b12b 100644 --- a/init/book-init.ly +++ b/init/book-init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly"; diff --git a/init/center-fragment.ly b/init/center-fragment.ly index 7e8247a243..72be0acd36 100644 --- a/init/center-fragment.ly +++ b/init/center-fragment.ly @@ -1,7 +1,7 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly" diff --git a/init/center.ly b/init/center.ly index 0245fd3d36..500c25aad5 100644 --- a/init/center.ly +++ b/init/center.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly" diff --git a/init/engraver.ly b/init/engraver.ly index a7c13b6bbc..044beade24 100644 --- a/init/engraver.ly +++ b/init/engraver.ly @@ -95,14 +95,14 @@ VoiceContext = \translator { \consists "Dot_column_engraver"; \consists "Stem_engraver"; % \consists "Plet_engraver"; - \consists "Beam_engraver"; + \consists "Command_beam_engraver"; \consists "Abbreviation_beam_engraver"; \consists "Multi_measure_rest_engraver"; \consists "Script_engraver"; \consists "Rhythmic_column_engraver"; \consists "Font_size_engraver"; \consists "Slur_engraver"; - \consists "Ties_engraver"; + \consists "Command_tie_engraver"; \consists "Tuplet_engraver"; \consists "Note_heads_engraver" ; \consists "Skip_req_swallow_translator"; diff --git a/init/fragment.ly b/init/fragment.ly index a1ce3f163b..3ddb7de69a 100644 --- a/init/fragment.ly +++ b/init/fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly" diff --git a/init/init.fly b/init/init.fly index 0358846984..cacdd4b865 100644 --- a/init/init.fly +++ b/init/init.fly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.12"; +\version "1.0.14"; \include "declarations.ly" diff --git a/init/init.ly b/init/init.ly index adfd6272e5..c01291c340 100644 --- a/init/init.ly +++ b/init/init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.10"; +\version "1.0.14"; \include "declarations.ly"; diff --git a/init/mudela-book-defs.py b/init/mudela-book-defs.py deleted file mode 100644 index 9348a8e9c4..0000000000 --- a/init/mudela-book-defs.py +++ /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} -""" -} diff --git a/init/paper16.ly b/init/paper16.ly index 224c81abf4..dc67fabdf3 100644 --- a/init/paper16.ly +++ b/init/paper16.ly @@ -6,7 +6,7 @@ -\version "1.0.10"; +\version "1.0.14"; paper_sixteen = \paper { staffheight = 16.0\pt; diff --git a/init/paper20.ly b/init/paper20.ly index e3a3013d50..69c36b358d 100644 --- a/init/paper20.ly +++ b/init/paper20.ly @@ -5,7 +5,7 @@ \include "table13.ly"; \include "table16.ly"; -\version "1.0.10"; +\version "1.0.14"; paper_twenty = \paper { staffheight = 20.0\pt; diff --git a/init/property.ly b/init/property.ly index 7140c7ce03..3d09808157 100644 --- a/init/property.ly +++ b/init/property.ly @@ -78,23 +78,29 @@ instrument ascii midi instrument table lookup %hmm, (these) abbrevs suck, imo % i guess they're meant as some form of doco % that's what i use them for... -stemup = { +stemup = \notes { + s1*0 % Stupid hack to make < { \stemup } > work \property Voice.ydirection = \up } -stemboth= { +stemboth= \notes { + s1*0 \property Voice.ydirection = \center } -stemdown = { +stemdown = \notes { + s1*0 \property Voice.ydirection = \down } -slurup = { +slurup = \notes { + s1*0 \property Voice.slurydirection = \up } -slurboth= { +slurboth= \notes { + s1*0 \property Voice.slurydirection = \center } -slurdown = { +slurdown = \notes { + s1*0 \property Voice.slurydirection = \down } diff --git a/input/bugs/bar-space.ly b/input/bugs/bar-space.ly index 5c70a49425..8cc8adc456 100644 --- a/input/bugs/bar-space.ly +++ b/input/bugs/bar-space.ly @@ -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 diff --git a/input/bugs/core.ly b/input/bugs/core.ly index 6b3c8abb5c..514dec8d5c 100644 --- a/input/bugs/core.ly +++ b/input/bugs/core.ly @@ -16,7 +16,7 @@ copyright = "public domain"; % scales with accents. % -\version "1.0.10"; +\version "1.0.14"; blah = \notes { \time 6/8; \transpose c { diff --git a/input/example-3.ly b/input/example-3.ly index c3971dde48..102a594910 100644 --- a/input/example-3.ly +++ b/input/example-3.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c{ c'' d e f diff --git a/input/keys.ly b/input/keys.ly index 1eb19dec08..bfdff32654 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; blah = \notes { diff --git a/input/kortjakje.ly b/input/kortjakje.ly index b8ec9a8519..238576810e 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -10,7 +10,7 @@ copyright = "public domain"; Tested Features: example file with comments %} -\version "1.0.10"; +\version "1.0.14"; % the % is a comment. diff --git a/input/opus-130.ly b/input/opus-130.ly index 0f74f1e355..7ce7cf7a9a 100644 --- a/input/opus-130.ly +++ b/input/opus-130.ly @@ -8,7 +8,7 @@ enteredby = "JCN"; copyright = "public domain"; } -% \version "1.0.10"; +% \version "1.0.14"; global = \notes { \key g; @@ -46,7 +46,7 @@ viola = \notes\relative c'{ \type Voice=i \clef "alto"; [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] | - [e(g,)e'] | [e(e,<)a' c,]> | <[a(c,> )b,] | + [e(g,)e'] | [e(e,<)a' c,>] | <[a(c,> )b,] | } cello = \notes\relative c'{ diff --git a/input/part.ly b/input/part.ly index bcf7875e3e..7720acfab2 100644 --- a/input/part.ly +++ b/input/part.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; part = \notes { c-1 c c c r1*3 diff --git a/input/pedal.ly b/input/pedal.ly index d76df98ab6..3353dfe970 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -28,7 +28,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "1.0.10"; +\version "1.0.14"; \score{ \notes { diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index 9b586694f9..c8d3c86919 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -23,7 +23,7 @@ * organ staff... %} -\version "1.0.10"; +\version "1.0.14"; @@ -70,17 +70,17 @@ praeludium_left = \notes \relative c { % 13 \type Staff < - { \stemup r4 dis' cis cis ~ | + \type VoiceOne { \stemup r4 dis' cis cis ~ | [cis8 a d cis] [bis gis] cis4 | dis2 cis4 r8 cis } - { \stemup bis2 } - { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 | + \type VoiceOne { \stemup bis2 } + \type VoiceThree { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 | a4. fis8 gis4. a8 ~ | a4 gis4 gis r8 gis } % { \stemup \shifton s4 fis4 e} % a quick hack to avoid some collisons - { \stemdown \shifton s4 fis4 e} - { \stemdown s4 dis4 cis4 } + \type VoiceFour { \stemdown \shifton s4 fis4 e} + \type VoiceTwo { \stemdown s4 dis4 cis4 } > | %16 } @@ -187,7 +187,35 @@ breakmusic = \notes { \praeludium_pedal \breakmusic \fugaII_pedal } > - \paper{} + \paper { + \translator { + \VoiceContext + \name "BLA"; + } + \translator { + \VoiceContext + \name "VoiceOne"; + ydirection = "1"; + } + \translator { + \VoiceContext + \name "VoiceTwo"; + ydirection = "-1"; + } + \translator { + \VoiceContext + \name "VoiceThree"; + ydirection = "1"; + hshift = "1"; + } + \translator { + \VoiceContext + \name "VoiceFour"; + ydirection = "-1"; + hshift = "1"; + } + + } \midi { \tempo 4 =96; } diff --git a/input/rhythm.ly b/input/rhythm.ly index 92d0a1055a..9798f32d06 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -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; diff --git a/input/scales.ly b/input/scales.ly index 58e2b102b3..ae2eba39d1 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -16,7 +16,7 @@ copyright = "public domain"; % scales with accents. % -\version "1.0.10"; +\version "1.0.14"; blah = \notes { \time 6/8; \transpose c { diff --git a/input/scripts.ly b/input/scripts.ly index 89b2b97630..f2e1fc7398 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.10"; +\version "1.0.14"; blah = \notes{ \transpose c'' { diff --git a/input/test/abbrev.ly b/input/test/abbrev.ly index f76091d8eb..f9afb51bd0 100644 --- a/input/test/abbrev.ly +++ b/input/test/abbrev.ly @@ -1,5 +1,5 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes \transpose c'''{ \stemup diff --git a/input/test/bar-scripts.ly b/input/test/bar-scripts.ly index ea6200dd5a..90d842fd08 100644 --- a/input/test/bar-scripts.ly +++ b/input/test/bar-scripts.ly @@ -1,7 +1,7 @@ -\version "1.0.10"; +\version "1.0.14"; onestaff = \type Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/beam-chord.ly b/input/test/beam-chord.ly index 4295813018..b6a7392164 100644 --- a/input/test/beam-chord.ly +++ b/input/test/beam-chord.ly @@ -1,15 +1,15 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes\transpose c'{ \property Score.beamquantisation = \none - [a'8 - [c - [a'16 - [c - [a'32 - [c + [a'8 ] + [c ] + [a'16 ] + [c ] + [a'32 ] + [c ] } \paper{ castingalgorithm = \Wordwrap; diff --git a/input/test/beam-pos.ly b/input/test/beam-pos.ly index 5709a714d0..85cd581938 100644 --- a/input/test/beam-pos.ly +++ b/input/test/beam-pos.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes\transpose c''{ diff --git a/input/test/beams.ly b/input/test/beams.ly index 0080b0be8d..1216d624d3 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -6,7 +6,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "1.0.10"; +\version "1.0.14"; \score{ < diff --git a/input/test/broken.ly b/input/test/broken.ly index 282d6e2359..adbc6417a4 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.10"; +\version "1.0.14"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/c.ly b/input/test/c.ly index a2259fae93..3067d98957 100644 --- a/input/test/c.ly +++ b/input/test/c.ly @@ -1,4 +1,4 @@ -\version "1.0.12"; +\version "1.0.14"; %{ Would this be acceptable/good enough/convenient for entry? diff --git a/input/test/chords.ly b/input/test/chords.ly index 6f46d04336..2295120799 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -1,4 +1,4 @@ -\version "1.0.12"; +\version "1.0.14"; %{ Would this be acceptable/good enough/convenient for entry? diff --git a/input/test/clefs.ly b/input/test/clefs.ly index c7cb1df256..d79ab9a22f 100644 --- a/input/test/clefs.ly +++ b/input/test/clefs.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score { \notes{ diff --git a/input/test/collisions.ly b/input/test/collisions.ly index eca12b5158..f057211c7f 100644 --- a/input/test/collisions.ly +++ b/input/test/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "1.0.10"; +\version "1.0.14"; diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly index cb9b5e45f7..d952926b61 100644 --- a/input/test/defaultbars.ly +++ b/input/test/defaultbars.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score { diff --git a/input/test/denneboom.ly b/input/test/denneboom.ly index a8993c5455..42cf2d59f1 100644 --- a/input/test/denneboom.ly +++ b/input/test/denneboom.ly @@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes"; \include "paper20.ly" -\version "1.0.10"; +\version "1.0.14"; oden = \lyrics{ O8 | diff --git a/input/test/dotted-slur.ly b/input/test/dotted-slur.ly index 148d2dd6d5..10dc35283a 100644 --- a/input/test/dotted-slur.ly +++ b/input/test/dotted-slur.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes{ diff --git a/input/test/find-quarts.ly b/input/test/find-quarts.ly index abeae4c46f..f419286288 100644 --- a/input/test/find-quarts.ly +++ b/input/test/find-quarts.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes \relative c { diff --git a/input/test/font-body.ly b/input/test/font-body.ly index f3f1b91977..d8603fb2cf 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; FontBody= \notes\transpose c''{ \bar "|:"; diff --git a/input/test/font.ly b/input/test/font.ly index dd821c9614..66c061eb8c 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.10"; +\version "1.0.14"; \include "font-body.ly" \score{ diff --git a/input/test/font16.ly b/input/test/font16.ly index b50fef90e3..49c4db5098 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.10"; +\version "1.0.14"; \include "font-body.ly" \score{ diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index 049462f94d..004ab010ec 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -4,7 +4,7 @@ copyright = "PD"; TestedFeatures = "This file tests some nasty Gourlay spacings"; } -\version "1.0.10"; +\version "1.0.14"; %{ diff --git a/input/test/grace.ly b/input/test/grace.ly index 4f35ac6a30..8419d39a3f 100644 --- a/input/test/grace.ly +++ b/input/test/grace.ly @@ -1,5 +1,5 @@ -\version "1.0.10"; +\version "1.0.14"; \include "table13.ly"; \include "table16.ly"; diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index b25883fd07..52ad9ca67b 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; toeter_i = \notes\relative c { \property Staff.instrument = "Toeters" diff --git a/input/test/keys.ly b/input/test/keys.ly index 323c79ac95..f8c7ed7424 100644 --- a/input/test/keys.ly +++ b/input/test/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; %{ test key itemv breaking diff --git a/input/test/knee.ly b/input/test/knee.ly index 420573c068..34e1b9668d 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes\relative c'{ [c16 \stemdown c'' \stemboth c,, d] diff --git a/input/test/mark.ly b/input/test/mark.ly index 6f8d82ef61..30bd288f24 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; global = \notes { s1 | \mark "A"; diff --git a/input/test/multi-rest.ly b/input/test/multi-rest.ly index dda71ded61..be44b11d88 100644 --- a/input/test/multi-rest.ly +++ b/input/test/multi-rest.ly @@ -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 | diff --git a/input/test/ossia.ly b/input/test/ossia.ly index cbc24d27e4..053b737440 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; \score { diff --git a/input/test/score-bar-scripts.ly b/input/test/score-bar-scripts.ly index 40a9052cce..e5c3d7bded 100644 --- a/input/test/score-bar-scripts.ly +++ b/input/test/score-bar-scripts.ly @@ -1,7 +1,7 @@ -\version "1.0.10"; +\version "1.0.14"; onestaff = \type Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/sleur.ly b/input/test/sleur.ly index d23fe761cb..112d7cc2c9 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.10"; +\version "1.0.14"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/slur-bug.ly b/input/test/slur-bug.ly index 62ffe16ab5..2c8847044a 100644 --- a/input/test/slur-bug.ly +++ b/input/test/slur-bug.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; % bug % excentric slur can't handle this ... diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index d47ac6e85d..c5502cffcb 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,5 +1,5 @@ % test damping -\version "1.0.10"; +\version "1.0.14"; \score{ \notes\relative c'{ diff --git a/input/test/slur-swap.ly b/input/test/slur-swap.ly index f52b148953..f4ae8923f3 100644 --- a/input/test/slur-swap.ly +++ b/input/test/slur-swap.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; % urg, the direction of the slur gets swapped! \score{ diff --git a/input/test/slurs.ly b/input/test/slurs.ly index 51d0ed3429..3367ec6380 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,5 +1,5 @@ -\version "1.0.10"; +\version "1.0.14"; \score{ \notes\transpose c'{ diff --git a/input/test/spacing.ly b/input/test/spacing.ly index 50a9053fbb..13fe18350f 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "1.0.10"; +\version "1.0.14"; multipart = \notes{ \type StaffGroup < diff --git a/input/test/stem.ly b/input/test/stem.ly index e5aa9b730b..992b5f7307 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "1.0.10"; +\version "1.0.14"; beamintervals = \notes{ \time 7/4; diff --git a/input/test/test-lyrics.ly b/input/test/test-lyrics.ly index bbeba82c45..3ef1f47c4f 100644 --- a/input/test/test-lyrics.ly +++ b/input/test/test-lyrics.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; $somewhat_long = \lyrics{ \property Lyrics . textstyle = "roman" diff --git a/input/test/thumb.ly b/input/test/thumb.ly index c97ce8390d..db218ab9b1 100644 --- a/input/test/thumb.ly +++ b/input/test/thumb.ly @@ -7,11 +7,11 @@ % the thumb-script is used in cello music to indicate a note that should % be played with your thumb. -\version "1.0.10"; +\version "1.0.14"; \score { \notes \relative c'' { - <[ a8_\thumb a'8-3(> <)b_\thumb b'-3> - <)d_\thumb d'-3]> + [ <)b_\thumb b'-3> + <)d_\thumb d'-3>] } \paper{ linewidth = 80.\mm; diff --git a/input/test/tie-bug.ly b/input/test/tie-bug.ly index b6dc33c6de..991f964f5a 100644 --- a/input/test/tie-bug.ly +++ b/input/test/tie-bug.ly @@ -1,10 +1,10 @@ -\version "1.0.10"; +\version "1.0.14"; % middle tie is wrong \score{ \notes\relative c'{ - { + { ~ } }} diff --git a/input/test/tie.ly b/input/test/tie.ly index 84c17e1497..fd5c83fb43 100644 --- a/input/test/tie.ly +++ b/input/test/tie.ly @@ -1,4 +1,4 @@ -\version "1.0.10"; +\version "1.0.14"; tie = \notes\transpose c''{ diff --git a/input/test/title.ly b/input/test/title.ly index 12867630b1..00679b3926 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -10,7 +10,7 @@ source = "urtext"; instrument= "Instrument"; } -\version "1.0.10"; +\version "1.0.14"; \score{ \notes diff --git a/input/test/transposition.ly b/input/test/transposition.ly index 8299b1b5a4..0b42cfca53 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -22,7 +22,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; vOne = \notes \relative c''{ \clef"violin"; diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index 0deb793131..0df66e2fd6 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -1,5 +1,5 @@ -\version "1.0.10"; +\version "1.0.14"; \score { \notes < diff --git a/input/tril.ly b/input/tril.ly index 6a720cb966..088dd25b62 100644 --- a/input/tril.ly +++ b/input/tril.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests trills" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.10"; +\version "1.0.14"; \score{ \notes{ diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index 2676202973..80c38ee46c 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -11,7 +11,7 @@ copyright = "public domain"; Tested Features lyrics and chords %} -\version "1.0.12"; +\version "1.0.14"; melodie = \notes\relative c'' { \clef "violin"; diff --git a/input/twinkle.ly b/input/twinkle.ly index b1cd29253d..f8f86913d0 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -20,7 +20,7 @@ traditional song in various languages. Tested Features: lyrics, interleaving lyrics and staffs %} -\version "1.0.10"; +\version "1.0.14"; melody = \notes \relative c'' { \clef violin; diff --git a/lily/abbrev.cc b/lily/abbrev.cc index 36279673fd..f9f8b89dff 100644 --- a/lily/abbrev.cc +++ b/lily/abbrev.cc @@ -40,7 +40,7 @@ Abbreviation::brew_molecule_p () const if (stem_l_ && stem_l_->beam_l_) { slope_f = stem_l_->beam_l_->slope_f_; // ugh, rather calc from Abbreviation_req - beams_i = stem_l_->beams_right_i_ >? stem_l_->beams_left_i_; + beams_i = stem_l_->beams_i_drul_[RIGHT] >? stem_l_->beams_i_drul_[LEFT]; } Real sl = slope_f * internote_f; diff --git a/lily/abbreviation-beam-engraver.cc b/lily/abbreviation-beam-engraver.cc index 5f2b7f4b80..391a101503 100644 --- a/lily/abbreviation-beam-engraver.cc +++ b/lily/abbreviation-beam-engraver.cc @@ -32,7 +32,7 @@ Abbreviation_beam_engraver::do_try_music (Music*r) if (!b) return false; - if (bool (abeam_p_) == bool (b->spantype == Span_req::START)) + if (bool (abeam_p_) == bool (b->spantype_ == START)) return false; Direction d = (!abeam_p_) ? LEFT : RIGHT; @@ -84,10 +84,7 @@ Abbreviation_beam_engraver::acknowledge_element (Score_element_info i) int type_i = span_reqs_drul_[LEFT]->type_i_; s->flag_i_ = intlog2 (type_i) - 2; - if (span_reqs_drul_[RIGHT]) - s->beams_left_i_ = s->flag_i_; - else - s->beams_right_i_ = s->flag_i_; + s->beams_i_drul_[(span_reqs_drul_[RIGHT]) ? LEFT: RIGHT] = s->flag_i_; abeam_p_->multiple_i_ = s->flag_i_; if (s->type_i () != 1) // no abbrev gaps on half note diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index b1ec28d01d..c8357fa388 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -29,7 +29,7 @@ Beam_engraver::do_try_music (Music*r) if (!b) return false; - if (bool (beam_p_) == bool (b->spantype == Span_req::START)) + if (bool (beam_p_) == bool (b->spantype_ == START)) return false; Direction d = (!beam_p_) ? LEFT : RIGHT; diff --git a/lily/beam.cc b/lily/beam.cc index 31c0b34af2..6e50bbf30b 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -613,8 +613,8 @@ Beam::set_grouping (Rhythmic_grouping def, Rhythmic_grouping cur) for (int j=0, i=0; i < b.size () && j beams_left_i_ = b[i]; - s->beams_right_i_ = b[i+1]; + s->beams_i_drul_[LEFT] = b[i]; + s->beams_i_drul_[RIGHT] = b[i+1]; multiple_i_ = multiple_i_ >? (b[i] >? b[i+1]); } } @@ -647,8 +647,8 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const /* half beams extending to the left. */ if (prev) { - int lhalfs= lhalfs = here->beams_left_i_ - prev->beams_right_i_ ; - int lwholebeams= here->beams_left_i_ beams_right_i_ ; + int lhalfs= lhalfs = here->beams_i_drul_[LEFT] - prev->beams_i_drul_[RIGHT] ; + int lwholebeams= here->beams_i_drul_[LEFT] beams_i_drul_[RIGHT] ; /* Half beam should be one note-width, but let's make sure two half-beams never touch @@ -669,8 +669,8 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const if (next) { - int rhalfs = here->beams_right_i_ - next->beams_left_i_; - int rwholebeams = here->beams_right_i_ beams_left_i_; + int rhalfs = here->beams_i_drul_[RIGHT] - next->beams_i_drul_[LEFT]; + int rwholebeams = here->beams_i_drul_[RIGHT] beams_i_drul_[LEFT]; Real w = next->hpos_f () - here->hpos_f (); Atom a = lookup_l ()->beam (sl, w + stemdx, beam_f); diff --git a/lily/cbeam-engraver.cc b/lily/cbeam-engraver.cc new file mode 100644 index 0000000000..1b6589279d --- /dev/null +++ b/lily/cbeam-engraver.cc @@ -0,0 +1,164 @@ +/* + cbeam-engraver.cc -- implement Command_beam_engraver + + source file of the GNU LilyPond music typesetter + + (c) 1998 Han-Wen Nienhuys + + */ + +#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(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 (info.elem_l_); + if (!stem_l) + return; + + + Rhythmic_req *rhythmic_req = dynamic_cast (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); diff --git a/lily/compressed-music-iterator.cc b/lily/compressed-music-iterator.cc index 65fc6ad78c..a75ab3beb8 100644 --- a/lily/compressed-music-iterator.cc +++ b/lily/compressed-music-iterator.cc @@ -20,7 +20,7 @@ Compressed_music_iterator::do_process_and_next (Moment m) { if (first_b_) { - bool success = report_to_l ()->try_music (dynamic_cast (music_l_)); + bool success = report_to_l ()->try_music (dynamic_cast (music_l_)); if (!success) music_l_->warning ( _("No one to print a tuplet start bracket")); } diff --git a/lily/ctie-engraver.cc b/lily/ctie-engraver.cc index 25082cd973..662a554844 100644 --- a/lily/ctie-engraver.cc +++ b/lily/ctie-engraver.cc @@ -11,6 +11,7 @@ #include "command-request.hh" #include "note-head.hh" #include "musical-request.hh" +#include "tie.hh" Command_tie_engraver::Command_tie_engraver() { @@ -42,12 +43,47 @@ Command_tie_engraver::acknowledge_element (Score_element_info i) void Command_tie_engraver::do_process_requests () { - + if (req_l_) + { + Moment now = now_moment (); + Link_array nharr; + + stopped_heads_.clear (); + while (past_notes_pq_.size () + && past_notes_pq_.front ().end_ == now) + stopped_heads_.push (past_notes_pq_.get ()); + + } } void -Command_tie_engraver::processed_acknowledged () +Command_tie_engraver::process_acknowledged () { + if (req_l_) + { + if (now_heads_.size () != stopped_heads_.size ()) + { + req_l_->warning ("Unequal number of note heads for tie"); + } + int sz = now_heads_.size () tie_p_arr_.size ()) + { + now_heads_.sort (CHead_melodic_tuple::pitch_compare); + stopped_heads_.sort(CHead_melodic_tuple::pitch_compare); + + for (int i=0; i < sz; i++) + { + Tie * p = new Tie; + p->set_head (LEFT, stopped_heads_[i].head_l_); + p->set_head (RIGHT, now_heads_[i].head_l_); + tie_p_arr_.push (p); + announce_element (Score_element_info (p, req_l_)); + } + } + } } void @@ -57,13 +93,21 @@ Command_tie_engraver::do_pre_move_processing () { past_notes_pq_.insert (now_heads_[i]); } + now_heads_.clear( ); + + for (int i=0; i< tie_p_arr_.size (); i++) + { + typeset_element (tie_p_arr_[i]); + } + tie_p_arr_.clear (); } void Command_tie_engraver::do_post_move_processing () { + req_l_ =0; Moment now = now_moment (); - while (past_notes_pq_.front ().end_ < now) + while (past_notes_pq_.size () && past_notes_pq_.front ().end_ < now) past_notes_pq_.delmin (); } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index d541958844..e01a2fb6b6 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -75,7 +75,7 @@ Dynamic_engraver::do_process_requests() } else if (Span_dynamic_req *span_l = dynamic_cast (dreq_l)) { - if (span_l->spantype == Span_req::STOP) + if (span_l->spantype_ == STOP) { if (!cresc_p_) { @@ -88,7 +88,7 @@ Dynamic_engraver::do_process_requests() cresc_p_ = 0; } } - else if (span_l->spantype == Span_req::START) + else if (span_l->spantype_ == START) { cresc_req_l_ = span_l; assert (!new_cresc_p); diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 32c3e5787f..f7eebd9e42 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -43,7 +43,7 @@ Extender_engraver::do_try_music (Music* req_l) { if (Extender_req* p = dynamic_cast (req_l)) { - if (bool (extender_spanner_p_) == bool (p->spantype == Span_req::START)) + if (bool (extender_spanner_p_) == bool (p->spantype_ == START)) return false; Direction d = (!extender_spanner_p_) ? LEFT : RIGHT; diff --git a/lily/include/cbeam-engraver.hh b/lily/include/cbeam-engraver.hh new file mode 100644 index 0000000000..d041f41ef0 --- /dev/null +++ b/lily/include/cbeam-engraver.hh @@ -0,0 +1,39 @@ +/* + cbeam-engraver.hh -- declare Command_beam_engraver + + source file of the GNU LilyPond music typesetter + + (c) 1998 Han-Wen Nienhuys + + */ + +#ifndef CBEAM_ENGRAVER_HH +#define CBEAM_ENGRAVER_HH + +#include "engraver.hh" +#include "drul-array.hh" + +class Command_beam_engraver : public Engraver { + Drul_array 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 */ + diff --git a/lily/include/command-request.hh b/lily/include/command-request.hh index 527ffbce01..81990b4f3f 100644 --- a/lily/include/command-request.hh +++ b/lily/include/command-request.hh @@ -168,4 +168,5 @@ public: REQUESTMETHODS(Bracket_req); }; + #endif // COMMANDREQUEST_HH diff --git a/lily/include/ctie-engraver.hh b/lily/include/ctie-engraver.hh index 238db2ff19..0242fd09fa 100644 --- a/lily/include/ctie-engraver.hh +++ b/lily/include/ctie-engraver.hh @@ -34,13 +34,16 @@ class Command_tie_engraver : public Engraver PQueue past_notes_pq_; Command_tie_req *req_l_; Array now_heads_; + Array stopped_heads_; + Link_array tie_p_arr_; + protected: virtual void do_post_move_processing (); virtual void do_pre_move_processing (); virtual void acknowledge_element (Score_element_info); virtual bool do_try_music (Music*); virtual void do_process_requests (); - virtual void processed_acknowledged (); + virtual void process_acknowledged (); public: VIRTUAL_COPY_CONS(Translator); Command_tie_engraver(); diff --git a/lily/include/direction.hh b/lily/include/direction.hh index e192dd35f3..45f574b83a 100644 --- a/lily/include/direction.hh +++ b/lily/include/direction.hh @@ -21,6 +21,8 @@ enum Direction CENTER=0, SMALLER=-1, BIGGER=1, + START = -1, + STOP = 1 }; inline Direction diff --git a/lily/include/request.hh b/lily/include/request.hh index bd90bde2aa..4d0a5f2a0a 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -72,9 +72,7 @@ public: class Span_req : public virtual Request { public: /// should the spanner start or stop, or is it unwanted? - enum Spantype { - NOSPAN, START, STOP - } spantype; + Direction spantype_; bool do_equal_b (Request*) const; REQUESTMETHODS(Span_req); diff --git a/lily/include/stem.hh b/lily/include/stem.hh index 967bc2e7b2..f33038822b 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -63,8 +63,7 @@ public: */ Beam* beam_l_; - int beams_left_i_; - int beams_right_i_; + Drul_array beams_i_drul_; /// maximum number of beams int mult_i_; diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 7c64c9229f..34d4fdaf73 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -38,7 +38,7 @@ void Span_req::do_print () const { #ifndef NPRINT - DOUT << spantype; + DOUT << spantype_; #endif } @@ -157,11 +157,6 @@ Rhythmic_req::compress (Moment m) { duration_.compress (m); } - - - - - void Lyric_req::do_print () const @@ -203,19 +198,12 @@ Note_req::do_print () const #endif } - - void Rest_req::do_print () const { Rhythmic_req::do_print (); } - - - - - void Multi_measure_rest_req::do_print () const { @@ -223,18 +211,11 @@ Multi_measure_rest_req::do_print () const } - - - - void Beam_req::do_print () const { } - - - Abbreviation_beam_req::Abbreviation_beam_req () { type_i_ = 0; @@ -277,12 +258,12 @@ bool Span_req::do_equal_b (Request*r) const { Span_req * s = dynamic_cast (r); - return s && spantype == s->spantype; + return s && spantype_ == s->spantype_; } Span_req::Span_req () { - spantype = NOSPAN; + spantype_ = CENTER; } Script_req::Script_req (Script_req const&s) @@ -300,8 +281,7 @@ bool Script_req::do_equal_b (Request*r) const { Script_req * s = dynamic_cast (r); - - return s&& scriptdef_p_->equal_b (*s->scriptdef_p_); + return s && scriptdef_p_->equal_b (*s->scriptdef_p_); } Script_req::Script_req () @@ -328,10 +308,6 @@ Musical_script_req::do_print () const Script_req::do_print (); } - - - - Script_req::~Script_req () { delete scriptdef_p_; @@ -356,9 +332,6 @@ Text_req::Text_req (int dir_i, Text_def* tdef_p) tdef_p_ = tdef_p; } - - - void Text_req::do_print () const { @@ -368,32 +341,20 @@ Text_req::do_print () const #endif } - - - - void Skip_req::do_print () const { #ifndef NPRINT - DOUT << "duration: " << duration (); #endif } - - - - void Dynamic_req::do_print () const { Musical_req::do_print (); } - - - void Absolute_dynamic_req::do_print () const { @@ -403,7 +364,6 @@ Absolute_dynamic_req::do_print () const #endif } - bool Absolute_dynamic_req::do_equal_b (Request *r) const { @@ -466,9 +426,6 @@ Span_dynamic_req::Span_dynamic_req () dynamic_dir_ = CENTER; } - - - void Span_dynamic_req::do_print () const { diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index 8773ae06d0..88a05f6985 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -349,13 +349,13 @@ My_lily_parser::get_parens_request (int t) case '>': case '(': case '[': - dynamic_cast (reqs[0])->spantype = Span_req::START; + dynamic_cast (reqs[0])->spantype_ = START; break; case '!': case ')': case ']': - dynamic_cast (reqs[0])->spantype = Span_req::STOP; + dynamic_cast (reqs[0])->spantype_ = STOP; break; default: diff --git a/lily/parser.yy b/lily/parser.yy index a0c4fbdba7..d41a1e499d 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -46,8 +46,8 @@ #include "repeated-music.hh" // mmm -Mudela_version oldest_version ("1.0.10"); -Mudela_version version ("1.0.12"); +Mudela_version oldest_version ("1.0.14"); +Mudela_version version ("1.0.14"); // needed for bison.simple's malloc() and free() @@ -231,7 +231,6 @@ yylex (YYSTYPE *s, void * v_l) %type mudela_header mudela_header_body %type box %type open_request_parens close_request_parens -%type open_abbrev_parens %type sub_quotes sup_quotes %type simple_element request_chord command_element Simple_music Composite_music %type Alternative_music Repeated_music @@ -774,9 +773,13 @@ Simple_music: | MUSIC_IDENTIFIER { $$ = $1->access_content_Music (true); } | property_def | translator_change - | Simple_music '*' unsigned '/' unsigned { } - | Simple_music '*' unsigned { } - + | Simple_music '*' unsigned '/' unsigned { + /* urg */ + $$ = new Compressed_music ($3, $5, $1); + } + | Simple_music '*' unsigned { + $$ = new Compressed_music ($3, 1, $1); + } ; @@ -906,19 +909,19 @@ abbrev_command_req: | COMMAND_IDENTIFIER { $$ = $1->access_content_Request (true); } -/* TODO */ -/* | '~' { + | '~' { $$ = new Command_tie_req; } | '[' { - $$ = new Beam_req; - $$->spantype = Span_req::START; + Beam_req*b= new Beam_req; + b->spantype_ = START; + $$ =b; } | ']' { - $$ = new Beam_req; - $$->spantype = Span_req::STOP; + Beam_req*b= new Beam_req; + b->spantype_ = STOP; + $$ = b; } -*/ ; @@ -1136,7 +1139,7 @@ extender_req: if (!THIS->lexer_p_->lyric_state_b ()) THIS->parser_error (_ ("have to be in Lyric mode for lyrics")); Extender_req * e_p = new Extender_req; - e_p->spantype = Span_req::START; + e_p->spantype_ = START; $$ = e_p; THIS->extender_req = e_p; }; @@ -1149,7 +1152,7 @@ dynamic_req: } | SPANDYNAMIC '{' int int '}' { Span_dynamic_req * sp_p = new Span_dynamic_req; - sp_p->spantype = (Span_req::Spantype)$4; + sp_p->spantype_ = (Direction)$4; sp_p-> dynamic_dir_ = (Direction)$3; $$ = sp_p; } @@ -1158,15 +1161,9 @@ dynamic_req: close_request_parens: - '~' { - $$ = '~'; - } - | '(' { + '(' { $$='('; } - | ']' { - $$ = ']'; - } | E_SMALLER { $$ = '<'; } @@ -1175,17 +1172,6 @@ close_request_parens: } ; -open_abbrev_parens: - '[' ':' unsigned { - $$ = '['; - if (!Duration::duration_type_b ($3)) - THIS->parser_error (_f ("not a duration: %d", $3)); - else if ($3 < 8) - THIS->parser_error (_ ("can't abbreviate")); - else - THIS->set_abbrev_beam ($3); - } - ; open_request_parens: @@ -1195,10 +1181,6 @@ open_request_parens: | ')' { $$=')'; } - | '[' { - $$='['; - } - | open_abbrev_parens ; @@ -1294,7 +1276,7 @@ pre_requests: if (THIS->extender_req) { Extender_req * e_p = new Extender_req; - e_p->spantype = Span_req::STOP; + e_p->spantype_ = STOP; THIS->pre_reqs.push (e_p); THIS->extender_req = 0; } diff --git a/lily/plet-engraver.cc b/lily/plet-engraver.cc index a1ab444499..ff855674b5 100644 --- a/lily/plet-engraver.cc +++ b/lily/plet-engraver.cc @@ -54,9 +54,9 @@ Plet_engraver::do_try_music (Music* req_l) Beam_req* b = dynamic_cast (req_l); if (b) { - if (b->spantype) + if (b->spantype_) { - Direction d = (Direction)(((int)(b->spantype - 1)) * 2 - 1); + Direction d = (Direction)(((int)(b->spantype_ - 1)) * 2 - 1); beam_mom_drul_[d] = get_staff_info ().musical_l ()->when (); } return false; @@ -66,7 +66,7 @@ Plet_engraver::do_try_music (Music* req_l) if (!p) return false; - if (bool (plet_spanner_p_) == bool (p->spantype == Span_req::START)) + if (bool (plet_spanner_p_) == bool (p->spantype_ == START)) return false; Direction d = (!plet_spanner_p_) ? LEFT : RIGHT; diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index c89d39a73a..35a41c6f9d 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -48,7 +48,7 @@ Rest_collision::do_post_processing() if (!stem_l) return; // no beam - if (!(stem_l->beams_left_i_ || stem_l->beams_right_i_)) + if (!(stem_l->beams_i_drul_[LEFT] || stem_l->beams_i_drul_[RIGHT])) return; int dir_i = rest_l_arr_[0]->dir_; diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 24a87c81e6..308cc41935 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -59,7 +59,7 @@ Slur_engraver::do_process_requests() { Slur_req* slur_req_l = new_slur_req_l_arr_[i]; // end slur: move the slur to other array - if (slur_req_l->spantype == Span_req::STOP) + if (slur_req_l->spantype_ == STOP) { if (slur_l_stack_.empty()) @@ -70,7 +70,7 @@ Slur_engraver::do_process_requests() requests_arr_.pop(); } } - else if (slur_req_l->spantype == Span_req::START) + else if (slur_req_l->spantype_ == START) { // push a new slur onto stack. //(use temp. array to wait for all slur STOPs) diff --git a/lily/stem.cc b/lily/stem.cc index aa9d542f48..2f1f141a12 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -25,14 +25,13 @@ Stem::~Stem () { } + Stem::Stem () { /* TODO: staff-size */ - beam_l_ = 0; - beams_left_i_ = 0; - beams_right_i_ = 0; + beams_i_drul_[LEFT] = beams_i_drul_[RIGHT] = 0; mult_i_ = 0; yextent_drul_[DOWN] = yextent_drul_[UP] = 0; diff --git a/make/generic-vars.make b/make/generic-vars.make index a8cc0afc3a..8c90d01de8 100644 --- a/make/generic-vars.make +++ b/make/generic-vars.make @@ -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 ? diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 7f7a88a3ca..ac80176182 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.14 -Inschrijf datum: 09DEC98 +Versie: 1.1.15 +Inschrijf datum: 14DEC98 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.14.tar.gz + 770k lilypond-1.1.15.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.14.tar.gz + 770k lilypond-1.1.15.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 628679c923..897c5fbf61 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.14 -Entered-date: 09DEC98 +Version: 1.1.15 +Entered-date: 14DEC98 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.1.14.tar.gz + 770k lilypond-1.1.15.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.14.tar.gz + 770k lilypond-1.1.15.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index a5cf6f1317..e59b099c78 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.14 +Version: 1.1.15 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.14.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.15.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mudela-mode.el b/mudela-mode.el index 3d949865fa..d06d48bcda 100644 --- a/mudela-mode.el +++ b/mudela-mode.el @@ -36,7 +36,7 @@ "clef" "cm" "consists" "contains" "duration" "absdynamic" "in" "translator" "type" "lyric" "key" "maininput" "notes" "musical_pitch" "time" "midi" "mm" "header" - "notenames" "octave" "output" "partial" "paper" "plet" + "notenames" "octave" "output" "partial" "paper" "plet" "name" "property" "pt" "shape" "relative" "include" "score" "scm" "scmfile" "script" "skip" "table" "times" "spandynamic" "symboltables" diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index af898f6404..14fac641d3 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly index 45409ae85e..c62420360f 100644 --- a/mutopia/Coriolan/clarinetti-part.ly +++ b/mutopia/Coriolan/clarinetti-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "clarinetti.ly" diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index f6e3f6a4cb..ea3d37a1a5 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "clarinetto-1.ly" \include "clarinetto-2.ly" diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index 4f701016ab..7aec16dcf7 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -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 | diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index 55c562baa8..31738f0b25 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -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 | diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly index b496c49bc8..91ae1e5763 100644 --- a/mutopia/Coriolan/contrabasso-part.ly +++ b/mutopia/Coriolan/contrabasso-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "contrabasso.ly" diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index 8458436588..86ff955b71 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; contrabasso = \notes \relative c { % \translator Staff=violoncello diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 56dba64710..6ad5f01e98 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly index 305c4ac1da..6ee7f94c24 100644 --- a/mutopia/Coriolan/corni-part.ly +++ b/mutopia/Coriolan/corni-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "corni.ly" diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index 8996b9c76c..35ae851869 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "corno-1.ly" \include "corno-2.ly" diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index e05d0c0ac3..7313cf617a 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; corno1 = \notes \relative c { R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index f2f941838a..e24bed021a 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; corno2 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly index 0e7ab52fa3..20d56dfd29 100644 --- a/mutopia/Coriolan/fagotti-part.ly +++ b/mutopia/Coriolan/fagotti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "fagotti.ly" diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index a5f7199c29..016f3a59cb 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "fagotto-1.ly" \include "fagotto-2.ly" diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index 7bdf0f1217..3111902d5e 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -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 | diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index f8d9e16c73..12f7c68b14 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; fagotto2 = \notes \relative c { R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index 74b79ab978..d50c1abae5 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "flauti.ly" diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index 4424e0639c..db56765385 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "flauto-1.ly" \include "flauto-2.ly" diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index 2d590d84cd..4af6b54a64 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; flauto1 = \notes \relative c { R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index daf8cbd7da..f7d266083c 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; flauto2 = \notes \relative c { R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly index 451210d76b..37c80a8298 100644 --- a/mutopia/Coriolan/global.ly +++ b/mutopia/Coriolan/global.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; global = \notes { \time 4/4; diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 22d402bdb0..ae7073b1e6 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; oboe1 = \notes \relative c'' { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index 869a894afc..4c3e5c141b 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -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 | diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly index 3f4cae703b..967010b981 100644 --- a/mutopia/Coriolan/oboi-part.ly +++ b/mutopia/Coriolan/oboi-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "oboi.ly" diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly index d2fab53cd4..57ed1985f0 100644 --- a/mutopia/Coriolan/oboi.ly +++ b/mutopia/Coriolan/oboi.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "oboe-1.ly" \include "oboe-2.ly" diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index f167114441..74374f04b0 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -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 | diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly index c046c65f52..818d668d91 100644 --- a/mutopia/Coriolan/trombe-part.ly +++ b/mutopia/Coriolan/trombe-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "trombe.ly" diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly index e5f3656279..d8fc0b91b4 100644 --- a/mutopia/Coriolan/trombe.ly +++ b/mutopia/Coriolan/trombe.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "trombo-1.ly" \include "trombo-2.ly" diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index a33ffe7138..fb52b473e5 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; trombo1 = \notes \relative c { R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index 4c0887ee62..0788561f0c 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; trombo2 = \notes \relative c { R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index ab83e56693..155c8b5b53 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; viola1 = \notes \relative c { \type Voice=one diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly index ed02415a57..edfa67e706 100644 --- a/mutopia/Coriolan/viola-2.ly +++ b/mutopia/Coriolan/viola-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; viola2 = \notes \relative c { % starts on (actualy, most part is on) same staff as viola1 diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index 4db1c2cd01..94a0f7e882 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "viola-1.ly" diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly index 5e5dbed0de..7b6c9bd1a7 100644 --- a/mutopia/Coriolan/violino-1-part.ly +++ b/mutopia/Coriolan/violino-1-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "violino-1.ly" diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index 14196cc240..ab12d3ca95 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; violino1 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | @@ -54,9 +54,9 @@ violino1 = \notes \relative c { g2.\p( as4 | g f d ) bes | bes'2.( c4 | %55 bes2 )as | - g4 | - | - | + g4 ~ | + ~ | + ~ | | %60 bes'2:16 bes: | bes: bes: | @@ -237,11 +237,11 @@ violino1 = \notes \relative c { [c8 c] c4. c8 c4 ~ | [c8 c] c4. c8 c4 ~ | [c8 c] c4. c8 c4 ~ | - c4.\ff | + c4.\ff ~ | %265 - | - | - | + ~ | + ~ | + ~ | | d4. d8 d2\sf | %270 diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly index 3860a45c60..efa657dbd6 100644 --- a/mutopia/Coriolan/violino-2-part.ly +++ b/mutopia/Coriolan/violino-2-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "violino-2.ly" diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index cb2097cdb8..064f48f605 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; violino2 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | @@ -110,7 +110,7 @@ violino2 = \notes \relative c { bes4\f r8 es d4 r8 a | g4 r8 c bes4 r8 f | es4 r8 a g4 r8 cis | - <[d16 s> | + <[d16 s> ] | | | | diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly index 0bfc69ad26..8ff1afdfcd 100644 --- a/mutopia/Coriolan/violoncello-part.ly +++ b/mutopia/Coriolan/violoncello-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 634f07d699..7c5a1eb278 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -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 | diff --git a/mutopia/D.Zipoli/verso_2.ly b/mutopia/D.Zipoli/verso_2.ly index 5144576d2e..d8f3dbd6a4 100644 --- a/mutopia/D.Zipoli/verso_2.ly +++ b/mutopia/D.Zipoli/verso_2.ly @@ -17,7 +17,7 @@ title = "Verso II"; under the Gnu Public Licence. %} -\version "1.0.10"; +\version "1.0.14"; $voice_one = \notes \relative c' { a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~| diff --git a/mutopia/F.Schubert/AnSylvia.ly b/mutopia/F.Schubert/AnSylvia.ly index e8e7bd3574..919d880d03 100644 --- a/mutopia/F.Schubert/AnSylvia.ly +++ b/mutopia/F.Schubert/AnSylvia.ly @@ -10,7 +10,7 @@ title = "An Sylvia"; } -\version "1.0.10"; +\version "1.0.14"; \include "paper16.ly"; \include "paper13.ly"; @@ -18,119 +18,119 @@ title = "An Sylvia"; pianoRH=\notes \relative c'' { \clef "G"; %1 - <[b,8-.(\pp d-. g-.> <)b-. d-. g-.]> - <[b8-. d-. g-.(> <)b-. d-. g-.]> + <[b,8-.(\pp d-. g-.> <)b-. d-. g-.>] + <[b8-. d-. g-.(> <)b-. d-. g-.>] | %2 - <[c d g_"{\it simile}" \< > - <[c d fis> < \! c d fis > + <[c d g_"{\it simile}" \< > ] + <[c d fis> < \! c d fis > ] %3 | - <[d f gis \> > < \! d f gis ]> - <[c e a> + <[d f gis \> > < \! d f gis >] + <[c e a> ] | %4 - <[d a' b> - <[d g a> | + <[d a' b> ] + <[d g a> ] | \bar "|:"; %5 - <[b_. d g( \pp > <)b_. d g]> - <[b_. d g(> <)b_. d g]> + <[b_. d g( \pp > <)b_. d g>] + <[b_. d g(> <)b_. d g>] | %6 - <[c d g> - <[c d fis> < a c dis fis> + <[c d g> ] + <[c d fis> < a c dis fis> ] | %7 - <[g c e g> - <[g c e g> + <[g c e g> ] + <[g c e g> ] | %8 - <[g c e> - <[g b d> + <[g c e> ] + <[g b d> ] | %9 - <[fis a d> - <[g b d> + <[fis a d> ] + <[g b d> ] | %10 - <[ g a c d \> > <\! fis a c d ]> - <[g b d> + [< g a c d \> > <\! fis a c d >] + <[g b d> ] | %11 - <[g a c d> - <[g b d> <[b d g> + <[g a c d> ] + <[g b d> ] <[b d g> ] | %12 - <[ d fis b> - <[ d fis b> + [ ] + [ ] | %13 - <[e fis b> < e fis ais> - <[e fis ais> + <[e fis b> < e fis ais> ] + <[e fis ais> ] | %14 - <[cis g' a!> - <[cis g' a> < e g a> + <[cis g' a!> ] + <[cis g' a> < e g a> ] | %15 - <[e g a> - <[d fis a> + <[e g a> ] + <[d fis a> ] | %16 - <[d fis a> - <[d fis a \< > < \! d fis a ]> + <[d fis a> ] + <[d fis a \< > < \! d fis a >] | %17 - <[d a' c \> > < \! d a' c ]> - <[d a' c> + <[d a' c \> > < \! d a' c >] + <[d a' c> ] | %18 - <[d g a c \> > - <[d fis a c> <\! d fis a c \pp > + <[d g a c \> > ] + <[d fis a c> <\! d fis a c \pp > ] | %19 - <[d g b> - <[d g b> + <[d g b> ] + <[d g b> ] | %20 - <[e g c> - <[e a c> < e b' c]> + <[e g c> ] + <[e a c> < e b' c>] | %21 - <[e c'> - <[e a c> + <[e c'> ] + <[e a c> ] | %22 - <[d a' c> - <[d a' d> + <[d a' c> ] + <[d a' d> ] | %23 - <[b d b'> - <[b d g \< > < \! b d fis ]> + <[b d b'> ] + <[b d g \< > < \! b d fis >] | %24 - <[b d e \> > < \! gis b e ]> - <[a c e> + <[b d e \> > < \! gis b e >] + <[a c e> ] | %25 - <[d a' c> - <[d a'> > < \! c d fis \p ]> + <[d a' c> ] + <[d a'> > < \! c d fis \p >] | %26 - <[b d g> - <[b d g> + <[b d g> ] + <[b d g> ] | %27 - <[c d g > - <[c d fis \< > < \! c d fis > + <[c d g > ] + <[c d fis \< > < \! c d fis >] | %28 - <[d f gis \> > < \! d f gis > - <[c e a> + <[d f gis \> > < \! d f gis > ] + <[c e a> ] %29 - <[d a' b> - <[d g a> < d fis! a> + <[d a' b> ] + <[d g a> < d fis! a> ] \bar ":|"; %30 r2 diff --git a/mutopia/F.Schubert/standchen-16.ly b/mutopia/F.Schubert/standchen-16.ly index 45e3e12b10..971e9f5c81 100644 --- a/mutopia/F.Schubert/standchen-16.ly +++ b/mutopia/F.Schubert/standchen-16.ly @@ -9,6 +9,6 @@ description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; \include "standchen.ly" diff --git a/mutopia/F.Schubert/standchen-20.ly b/mutopia/F.Schubert/standchen-20.ly index b1327373ec..daaed0bbca 100644 --- a/mutopia/F.Schubert/standchen-20.ly +++ b/mutopia/F.Schubert/standchen-20.ly @@ -9,7 +9,7 @@ copyright = "public domain"; description = "A schubert song in 20 pt"; } -\version "1.0.10"; +\version "1.0.14"; % fool make-website % \include "standchen.ly"; diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index 4bc8f842f3..0e2b89d72c 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -16,7 +16,7 @@ multiple \paper{}s in one \score Note: Original key F. %} -\version "1.0.10"; +\version "1.0.14"; $vocal_verse1 = \notes\relative c''{ % ugh: treble/bass @@ -170,44 +170,44 @@ $treble_intro = \notes\relative c{ \clef violin; % ugh: id like to type this! %r8\pp [ ] | - r8^"\bf m\\\"assig"\pp <[g'-. c-.> | - r8 <[as-. c-.> | - r8 <[as-. c-.> | - r8 <[g-. b-.> | + r8^"\bf m\\\"assig"\pp <[g'-. c-.> ] | + r8 <[as-. c-.> ] | + r8 <[as-. c-.> ] | + r8 <[g-. b-.> ] | \break } $treble_verse1 = \notes\relative c{ % \clef violin; %5 - r8 <[g' c> | - r8 <[f c'> | - r8 <[f g b> | - r8 <[es g c> | + r8 <[g' c> ] | + r8 <[f c'> ] | + r8 <[f g b> ] | + r8 <[es g c> ] | <)f8 d> \times 2/3 { < [ f( d> <)d b] > } | %10 | - r8 <[g, c> | - r8 <[f c'> | - r8 <[f as bes> | - r8 <[es g bes> + r8 <[g, c> ] | + r8 <[f c'> ] | + r8 <[f as bes> ] | + r8 <[es g bes> ] <{ es'~ | d4. ~ f8}{ c'~ | bes4. ~ as8 } > \times 2/3 { < [f( as> <)d f] > } | %16 | - r8 <[f, g> | - r8 <[es g> | - r8\pp <[es as c> | + r8 <[f, g> ] | + r8 <[es g> ] | + r8\pp <[es as c> ] | %20 - r8 <[es g bes> | + r8 <[es g bes> ] | % \times 2/3 { [ as\grace( bes ) \times 2/3 { [ as'8( g as] } c4.-> ) as8 | g2. | - r8 <[f, g> | - r8 <[e g> | - r8 <[f a c> | - r8 <[e g c> | + r8 <[f, g> ] | + r8 <[e g> ] | + r8 <[f a c> ] | + r8 <[e g c> ] | \times 2/3 < { [ f'8\f( e f] } { f' e f } > @@ -216,13 +216,13 @@ $treble_verse1 = \notes\relative c{ $treble_eentje = \notes \relative c'{ | - <[as8.->( c> <)f16 )as]> | - <[e8-. g-.(> | - <[b,8-. g'-.(> | + <[as8.->( c> <)f16 )as>] | + <[e8-. g-.(> ] | + <[b,8-. g'-.(> ] | | - <[a8. c> | - <[e8-. g-.(> | - <[b,8-. g'-.(> | + <[a8. c> ] | + <[e8-. g-.(> ] | + <[b,8-. g'-.(> ] | %60 | } @@ -231,11 +231,11 @@ $treble_through = \notes \relative c'{ | %61 R2. | - <[g,8.\< g'> <\! b16\> b'16> | + <[g,8.\< g'> <\! b16\> b'16> ] | < { c4( )b } { c'4( )b } > \!r | % ugh % <[d8.-> d->> c16] | - <[ d'8.-> d,-> > c16] | + [ d,-> > c16] | % ugh ugh: connecting chords %65 < { d,2.\f a'2} { e2. ~ e2 } { b'2. c,2 }> r4 | @@ -252,9 +252,9 @@ $treble_through = \notes \relative c'{ } > % 4 bars copied from end verse1 - r8 <[f, a c> | + r8 <[f, a c> ] | %70 - r8 <[e g c> | + r8 <[e g c> ] | \times 2/3 < { [ f'8\f( e f] } { f' e f }> < { a4.-> )f8 } { a4. f8 } > | @@ -267,9 +267,9 @@ $treble_through = \notes \relative c'{ | % four copied from begin eentje - <[as8.-> c> | - <[e8-. g-.(> | - <[b,8-. g'-.(> | + <[as8.-> c> ] | + <[e8-. g-.(> ] | + <[b,8-. g'-.(> ] | %80 \property Voice . textstyle = "italic" | @@ -295,73 +295,73 @@ $bass_verse1 = \notes\relative c{ r4 | r4 | r4 | - <[g'' d'> | + <[g'' d'> ] | %10 - <[g'' c> | + <[g'' c> ] | r4 | r4 | r4 | r4 | %15 - bes'8 <[bes' f'> | - es,8 <[bes' es> | + bes'8 <[bes' f'> ] | + es,8 <[bes' es> ] | r4 | r4 | r4 | r4 | - <[f'' bes> | - <[es'' g bes> | + <[f'' bes> ] | + <[es'' g bes> ] | r4 | r4 | r4 | r4 | - <[d'' g> | - c,8 <[c' e g> | + <[d'' g> ] | + c,8 <[c' e g> ] | } $bass_eentje = \notes\relative c{ \property Voice.dynamicdir=1 - <[c' f as!> | - c,8 <[c' e g> | - <[d'' g> | - c,8 <[e' g> | - <[c' f a> | - c,8 <[c' e g> | - <[d'' g> | - c,8 <[e' g> | + <[c' f as!> ] | + c,8 <[c' e g> ] | + <[d'' g> ] | + c,8 <[e' g> ] | + <[c' f a> ] | + c,8 <[c' e g> ] | + <[d'' g> ] | + c,8 <[e' g> ] | } $bass_through = \notes\relative c{ \property Voice.dynamicdir=1 %61 - <[g' b d> b-> d->> | - <[g' d'> b-> d->> | + <[g' b d> b-> d->> ] | + <[g' d'> b-> d->> ] | % copied - <[g' d'> b-> d->> | - <[g' d' e> b-> d->> | + <[g' d'> b-> d->> ] | + <[g' d' e> b-> d->> ] | %65 - <[d''\> e> | - <[c' e> | - <[a' d f> | - <[a' c e> | + <[d''\> e> ] | + <[c' e> ] | + <[a' d f> ] | + <[a' c e> ] | % 4 bars copied from end verse1 r4 | %70 r4 | - <[d'' g> | - c,8\> <[c' e g> < \! e g c> | + <[d'' g> ] | + c,8\> <[c' e g> < \! e g c> ] | - <[c' es! g> | - <[d'' f> | + <[c' es! g> ] | + <[d'' f> ] | %75 - <[d'' f> | - c,8 <[c' e> | - c,8 <[c' f> | - c,8 <[c' e> | - <[g' d'> | + <[d'' f> ] | + c,8 <[c' e> ] | + c,8 <[c' f> ] | + c,8 <[c' e> ] | + <[g' d'> ] | %80 - c,8 <[c' e> | - c,8 <[c' g> | + c,8 <[c' e> ] | + c,8 <[c' g> ] | | } diff --git a/mutopia/Hymns/diademata.ly b/mutopia/Hymns/diademata.ly index d05370f110..a4c7cea417 100644 --- a/mutopia/Hymns/diademata.ly +++ b/mutopia/Hymns/diademata.ly @@ -6,7 +6,7 @@ date = "1868"; title = "Diademata"; metre = "6 6. 8 6. D"; } -\version "1.0.10"; +\version "1.0.14"; sop=\notes \transpose c''{ ees2 | ees4 ees4 g2 g2 | c'1. \bar "||"; diff --git a/mutopia/Hymns/laudatedom.ly b/mutopia/Hymns/laudatedom.ly index 0d0e4a5a5b..ff97300514 100644 --- a/mutopia/Hymns/laudatedom.ly +++ b/mutopia/Hymns/laudatedom.ly @@ -4,7 +4,7 @@ composer = "Parry"; metre = "10 10 . 11 11"; } -\version "1.0.10"; +\version "1.0.14"; sop = \notes \transpose c''{ f4 | d' bes c' | f2 \bar "||"; diff --git a/mutopia/Hymns/maccabaeus.ly b/mutopia/Hymns/maccabaeus.ly index 607e0cf461..6e83b1adc9 100644 --- a/mutopia/Hymns/maccabaeus.ly +++ b/mutopia/Hymns/maccabaeus.ly @@ -7,7 +7,7 @@ title = "Maccabaeus"; metre = "10 11. 11 11. and refrain"; } -\version "1.0.10"; +\version "1.0.14"; sop=\notes \relative c'' { b2 gis4. a8 |b2 e,2 | diff --git a/mutopia/Hymns/ode.ly b/mutopia/Hymns/ode.ly index 9f6dd47129..a7b8937d11 100644 --- a/mutopia/Hymns/ode.ly +++ b/mutopia/Hymns/ode.ly @@ -7,7 +7,7 @@ title = "Ode to Joy"; metre = "8 7 8 7 D"; } -\version "1.0.10"; +\version "1.0.14"; sop=\notes \relative c'' { b4 b c d | d c b a | g g a b | b4. a8 a2 \bar "||"; diff --git a/mutopia/Hymns/passion.ly b/mutopia/Hymns/passion.ly index a4754360a3..5ac3f7ab38 100644 --- a/mutopia/Hymns/passion.ly +++ b/mutopia/Hymns/passion.ly @@ -5,7 +5,7 @@ composer = "J. S. Bach"; enteredby = "Peter Chubb"; } -\version "1.0.10"; +\version "1.0.14"; sop=\notes \transpose c'' { \repeat 2 { diff --git a/mutopia/Hymns/stille.ly b/mutopia/Hymns/stille.ly index 336c30bf38..96708ca2dd 100644 --- a/mutopia/Hymns/stille.ly +++ b/mutopia/Hymns/stille.ly @@ -8,7 +8,7 @@ poet = "Joseph Mohr"; } -\version "1.0.7"; +\version "1.0.14"; global=\notes { \time 6/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly index 1da2114156..810712d226 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly @@ -4,7 +4,7 @@ piece = "Allemande"; } -\version "1.0.10"; +\version "1.0.14"; global = \notes{ \time 4/4; @@ -52,7 +52,7 @@ hoyreEn = \notes\relative c'''{ \type Staff < { \stemup [bes8 d'][bes a16 g] g4~ g16 } { \stemup s2 s16 d8.~ d16 } - { \stemdown r8 <[g d> r16 [d16 b8~] b16 } + { \stemdown r8 <[g d>] r16 [d16 b8~] b16 } > [es'16 d c] | %17 @@ -75,7 +75,7 @@ hoyreEn = \notes\relative c'''{ fis4.~ [fis16 e32 fis][g16 d f es][d c b a] | \type Staff < { \stemup [g8 g'][es d16 c] c4. } - { \stemdown r8 <[g c> } + { \stemdown r8 <[g c> ] } > s8 } diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly index cddc7bfacf..d121ae998c 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly @@ -10,7 +10,7 @@ %% %% Noe liknende skjer også i mellom andre og tredje stemme i takt 28 -\version "1.0.10"; +\version "1.0.14"; global = \notes{ \time 2/4; @@ -137,7 +137,7 @@ vOne = \type Voice = voiceOne \notes\relative c''{ c4 r | %93 r8 g f'4~ | - [f8 d g | + [f8 d g ] | | } diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly index d0c682e8cf..891ff5acfe 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -10,7 +10,7 @@ copyright = "Public Domain"; } -\version "1.0.10"; +\version "1.0.14"; global = \notes { \time 4/4; @@ -36,8 +36,8 @@ hoyreOpp = \notes\relative c'' { %4 f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] | c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ | - d2 ~ [d16. g,32 a16. b32] [c16. | - <[es8. c> + d2 ~ [d16. g,32 a16. b32] [c16. ] | + <[es8. c> ] \type Staff < { \stemup fis4 } { \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] } @@ -63,9 +63,9 @@ venstreOpp = \notes\relative c' { r r | r r | r r | - r r16 <[as d,> | + r r16 <[as d,>] | %5 - r16 <[g c,> + r16 <[g c,>] \type Staff < {\stemup f4~ f} {\stemup c4 d} diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index d469868bbd..1c00016cae 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -12,7 +12,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c { \property Voice . textstyle = "italic" diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index ae31ddfb02..13ed9b83e0 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -10,7 +10,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c{ \property Voice . textstyle = "italic" r8\mf [c'-1( e-2 g-4] [e-2 c-1 bes'-5 g-3] | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 index 6361ccd1f2..302a8adfb9 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 @@ -17,7 +17,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.7"; +\version "1.0.14"; one = \notes \transpose c`` { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index 1f7f612113..4301782d53 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c{ \property Voice . textstyle = "italic" @@ -78,7 +78,7 @@ two = \notes\relative c{ e4 d ~ [d16 d-1 cis-2 b-1] cis4-2 ~ | [cis8 a-3] d4.-1 d4^> cis8-2 | \translator Staff=treble \stemdown - d4 \stemboth r16 [b-1\< d-2 b~] + d4 \stemboth r16 [b-1\< d-2 b~] r16 [cis,-1 e-2 \!cis~] | r16 [d,-1 fis-2 d~] r16 [fis-1 a fis~] | diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 605d3214ca..0a79332431 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index 8d01b0f20a..cb9168062a 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; one = \notes\relative c{ @@ -84,7 +84,7 @@ four = \notes\relative c{ \stemup b2-1 a-1 | g a4. [gis16 a] | - gis2 <[g8 cis,> e4-2 | + gis2 <[g8 cis,> ] e4-2 | d4. [fis16-3 g-2] r16 bes8.-1 ~ bes4 | %10 \stemdown diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly index d24f8c4061..08c3346aae 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly index 624080a800..c7c11ed713 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly index 6747c7ac74..bc1e61e125 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly index 44eccf6910..83e144bf3e 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly index 485c2fad5b..aaa6782df9 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly index e8bdd26031..9444fda554 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly index 29852a2f32..5017b4b9b4 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly @@ -16,7 +16,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly index b00f4aafd2..c00d23402e 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly @@ -17,7 +17,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly index 205cef71ad..6a8765eb4a 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly index e31dac216f..f2f4e72d43 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly index e26b37f593..9214126eb7 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly index 91a0f23c61..44d5eff18e 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.10"; +\version "1.0.14"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index cf291e628c..080cdef021 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ %} -\version "1.0.10"; +\version "1.0.14"; global = diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index d17f35b344..00b857b638 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -13,7 +13,7 @@ Tested Features: stem direction, multivoice, forced accidentals. %} -\version "1.0.10"; +\version "1.0.14"; \include "nederlands.ly" % for correct parsing of note names @@ -67,7 +67,7 @@ dux = \notes \relative c'' { [b, c d b] [b c] r c | [f16 d es c] ~ [c8 b] c4 r8 e | %%30 - f4 r8 f [f es16 d] [es8 | + f4 r8 f [f es16 d] [es8 ] | r r | } @@ -110,7 +110,7 @@ comes = \notes \relative c'' { [g f16 es] [f8 d] [as' g] r a | [b c] [f,16 es d c] c8 [c'16 b] [c8 g] | %%30 - [as c16 b] [c8 [g,8 c16 b] [c8 d] | + [as c16 b] [c8 ] [g,8 c16 b] [c8 d] | [f,16 g] as4 [g16 f] e2 | } diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index 7265e4fb11..0070af7015 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "1.0.10"; +\version "1.0.14"; global = \notes { diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly index 5367473c2a..1d521bc14c 100644 --- a/mutopia/W.A.Mozart/cadenza.ly +++ b/mutopia/W.A.Mozart/cadenza.ly @@ -13,7 +13,7 @@ Tested Features: cadenza mode Ugh.. Wish we had grace notes.... It adds another dimension to this piece of music. %} -\version "1.0.10"; +\version "1.0.14"; cad = \notes \relative c' { diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index 537ef2a27d..b7068d337a 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.10"; +\version "1.0.14"; allegro = \notes diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly index 636c09b38f..2d84ce1c49 100644 --- a/mutopia/gallina.ly +++ b/mutopia/gallina.ly @@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper definition below. --MB %} -\version "1.0.10"; +\version "1.0.14"; global = \notes { \property StaffGroup.timeSignatureStyle = "old" diff --git a/mutopia/los-toros-oboe.ly b/mutopia/los-toros-oboe.ly index c47ba35755..e9a9decec7 100644 --- a/mutopia/los-toros-oboe.ly +++ b/mutopia/los-toros-oboe.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "public domain"; latexheaders= "headers"; } -\version "1.0.10"; +\version "1.0.14"; %{ Silly latex file dropped; use ly2dvi diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 19288a08b4..69feb53f57 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -16,15 +16,14 @@ program_name = 'convert-mudela' version = '0.4' - import os import sys import __main__ import getopt from string import * import re - import time + mudela_version_re_str = '\\\\version *\"(.*)\"' mudela_version_re = re.compile(mudela_version_re_str) @@ -49,7 +48,6 @@ def gulp_file(f): i.close () return s - def str_to_tuple (s): return tuple (map (atoi, split (s,'.'))) @@ -126,7 +124,7 @@ if 1: # need new a namespace ((0,1,20), conv, 'deprecated \\textstyle, new \key syntax')) -if 1: # need new a namespace +if 1: def conv (lines): newlines = [] for x in lines: @@ -142,7 +140,7 @@ if 1: # need new a namespace ((0,1,21), conv, '\\musical_pitch -> \\musicalpitch, '+ '\\meter -> \\time')) -if 1: # need new a namespace +if 1: def conv (lines): return lines @@ -150,7 +148,7 @@ if 1: # need new a namespace ((1,0,0), conv, '0.1.21 -> 1.0.0 ')) -if 1: # need new a namespace +if 1: def conv (lines): newlines = [] for x in lines: @@ -256,6 +254,34 @@ if 1: conversions.append ((1,0,10), conv, '[2/3 ]1/1 -> \\times 2/3 ') +if 1: + def conv(lines): + return lines + conversions.append ((1,0,12), conv, 'Chord syntax stuff') + + +if 1: + def conv(lines): + newlines =[] + for x in lines: + x = re.sub ('<([^>~]+)~([^>]*)>','<\\1 \\2> ~', x) + newlines.append (x) + return newlines + + conversions.append ((1,0,13), conv, ' c -> ~ 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> c -> [ ]') + + ############################ diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index 98fb69f81e..e79f120c80 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -36,6 +36,10 @@ # - mudela-book will scan the mudela code to find out if it has to add # paper-definition and \score{\notes{...}} # - possible to define commands that look like this: \mudela{ c d e } +# 0.5.1: +# - removed init/mudela-book-defs.py, \mudela is defined inside mudela-book +# - fragment and nonfragment options will override autodetection of type of +# in mudela-block (voice contents or complete code) import os import string @@ -45,7 +49,7 @@ import sys outdir = 'out' initfile = '' -program_version = '0.5' +program_version = '0.5.1' out_files = [] @@ -592,24 +596,11 @@ def main(): if outdir[-1:] != '/': outdir = outdir + '/' - std_init_filename = '' - for p in string.split(os.environ['LILYINCLUDE'], ':'): - try: - std_init_filename = p+os.sep+'mudela-book-defs.py' - break - except: - continue - defined_mudela_cmd_re = {} - try: - f = open(std_init_filename) - s = f.read() - f.close() - defined_mudela_cmd = eval(s) # UGH - except IOError, w: - sys.stderr.write("%s (`%s')\n" % (w[1], std_init_filename)) -# sys.exit(1) - - + defined_mudela_cmd = {'mudela': r""" +\begin{mudela}[eps \fontoptions] + \maininput +\end{mudela} +"""} if initfile != '': f = open(initfile) s = f.read() @@ -618,7 +609,6 @@ def main(): for i in d.keys(): defined_mudela_cmd[i] = d[i] del d - c = defined_mudela_cmd.keys()[0] for x in defined_mudela_cmd.keys()[1:]: c = c + '|'+x -- 2.39.2