From: Han-Wen Nienhuys Date: Tue, 20 Jul 1999 01:18:05 +0000 (+0200) Subject: release: 1.1.63 X-Git-Tag: release/1.1.63 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=91629326e2c28dab86952c2abbe786978b7c1e92;p=lilypond.git release: 1.1.63 --- diff --git a/Documentation/BLURB.in b/Documentation/BLURB.in index 0833dd214e..d423023825 100644 --- a/Documentation/BLURB.in +++ b/Documentation/BLURB.in @@ -1,4 +1,4 @@ +LilyPond produces beautiful sheet music using a high level description +file as input. LilyPond is part of the GNU project. -LilyPond is the GNU Project music typesetter. It transforms a musical -description file into beautiful sheet music. diff --git a/Documentation/mail.yo b/Documentation/mail.yo index c11d059563..dc6fcb741c 100644 --- a/Documentation/mail.yo +++ b/Documentation/mail.yo @@ -15,8 +15,8 @@ dit(info-gnu-music@gnu.org) Since the GNU Music project currently only has LilyPond, this list is mainly for announcing new versions of LilyPond. - -dit(bug-gnu-music@gnu.org) + +lurl(http://www.mail-archive.com/info-gnu-music@gnu.org) dit(help-gnu-music@gnu.org) For help with programs from the GNU music project. To subscribe: send @@ -24,12 +24,16 @@ dit(help-gnu-music@gnu.org) email(help-gnu-music-request@gnu.org) Since the GNU Music project currently only has LilyPond, this list is mainly about using and extending LilyPond. - + + lurl(http://www.mail-archive.com/help-gnu-music@gnu.org) + + dit(bug-gnu-music@gnu.org) If you have bugreports, you should send them to this list. If you want to read all bugreports, you should subscribe to this list. To subscribe: send mail with subject "subscribe" to email(bug-gnu-music-request@gnu.org) + lurl(http://www.mail-archive.com/bug-gnu-music@gnu.org) dit(gnu-music-discuss@gnu.org,) For discussions concerning the GNU Music project, to subscribe: send mail with subject "subscribe" to diff --git a/Documentation/ntweb/GNUmakefile b/Documentation/ntweb/GNUmakefile index fe2bbdef62..f2c4dd09c7 100644 --- a/Documentation/ntweb/GNUmakefile +++ b/Documentation/ntweb/GNUmakefile @@ -4,12 +4,12 @@ STEPMAKE_TEMPLATES=documentation TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES)) PLAIN_FILES=angels.ly guile.patch -EXTRA_DIST_FILES += $(PLAIN_FILES) +EXTRA_DIST_FILES = $(PLAIN_FILES) include $(depth)/make/stepmake.make -default: do-doc +default: do-doc dist-plain $(outdir)/%.html: %.yo $(sed-version) < $< > $<.out diff --git a/Documentation/topdocs/INSTALL.yo b/Documentation/topdocs/INSTALL.yo index 190b2bf382..63fc6e4c76 100644 --- a/Documentation/topdocs/INSTALL.yo +++ b/Documentation/topdocs/INSTALL.yo @@ -58,6 +58,10 @@ it()The geometry package for LaTeX is needed to use ly2dvi. Available at lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry) or at mirror site lurl(ftp://ftp.dante.de) + +it()MetaPost, if you want to use direct PostScript output. Please +note that tetex-0.4pl8 (included with Redhat 5.x) does not include +file(mfplain.mp), which is needed for producing the scaleable font files. ) diff --git a/Documentation/topdocs/index.yo b/Documentation/topdocs/index.yo index 7cc1afc560..0e1a5cd587 100644 --- a/Documentation/topdocs/index.yo +++ b/Documentation/topdocs/index.yo @@ -71,7 +71,7 @@ it()url(FAQ)(DOEXPAND(docdir)/DOEXPAND(outdir)/faq.html) it()url(Mailing Lists)(DOEXPAND(docdir)/DOEXPAND(outdir)/mail.html) it()url(All of the LilyPond documentation)(DOEXPAND(docdir)/DOEXPAND(outdir)/index.html) it()url(The DOC++ documentation of the C++ sources.)(DOEXPAND(depth)/docxx/index.html) -it()url(The installation instructions)(INSTALL.html) +it()url(The installation instructions)(Documentation/topdocs/DOEXPAND(outdir)/INSTALL.html) ) nsect(Sites) diff --git a/INSTALL.txt b/INSTALL.txt index dccba82a8d..3dfb8ed76a 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -76,35 +76,39 @@ o The geometry package for LaTeX is needed to use ly2dvi. archive/macros/latex/contrib/supported/geometry or at mirror site ftp://ftp.dante.de +o MetaPost, if you want to use direct PostScript output. + Please note that tetex-0.4pl8 (included with Redhat + 5.x) does not include mfplain.mp, which is needed for + producing the scaleable font files. + 4: RUNNING -GNU LilyPond does use a lot of resources. For operation you +GNU LilyPond does use a lot of resources. For operation you need the following software o TeX o A PostScript printer and/or viewer (such as - Ghostscript) is strongly recommended. Xdvi will show - all embedded PostScript too if you have Ghostscript + Ghostscript) is strongly recommended. Xdvi will show + all embedded PostScript too if you have Ghostscript installed. -o GUILE 1.3, check out http://www.gnu.org/pro- +o GUILE 1.3, check out http://www.gnu.org/pro- grams/guile.html -For running LilyPond successfully you have to help TeX and -MetaFont find various files. The recommended way of doing -so is adjusting the environment variables in the start-up -scripts of your shell. An example is given here for the +For running LilyPond successfully you have to help TeX and +MetaFont find various files. The recommended way of doing +so is adjusting the environment variables in the start-up +scripts of your shell. An example is given here for the Bourne shell: export MFINPUTS="/usr/local/share/lilypond/mf:" export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:" -The empty path component represents and MetaFont's default - -search paths. Scripts with the proper paths for the bourne +The empty path component represents and MetaFont's default +search paths. Scripts with the proper paths for the bourne and C-shell respectively are generated in build- -scripts/out/lilypond-profile and buildscripts/out/lilypond- +scripts/out/lilypond-profile and buildscripts/out/lilypond- login during compilation. LilyPond is a hideously slow program. A fast CPU and plenty @@ -112,24 +116,24 @@ of RAM is recommended for comfortable use. 5: WEBSITE -If you want to auto-generate Lily's website, you'll need +If you want to auto-generate Lily's website, you'll need some additional conversion tools. o xpmtoppm (from the Portable Bitmap Utilities) (For Red- - Hat Linux users: it is included within the package - libgr-progs). the original is at ftp://ftp.x.org/con- + Hat Linux users: it is included within the package + libgr-progs). the original is at ftp://ftp.x.org/con- trib/utilities/netpbm-1mar1994.p1.tar.gz -o pnmtopng, which is also in libgr-progs for RedHat. The - original is at +o pnmtopng, which is also in libgr-progs for RedHat. The + original is at ftp://swrinde.nde.swri.edu/pub/png/applications/pnm- topng-2.37.2.tar.gz.i The version of pnmtopng that is distributed with RedHat - 5.1 and 5.2 contains a bug: pnmtopng is dynamically - linked to the wrong version of libpng. Recompile it - from source, and make sure that the pnmtopng binary is - linked statically to the libpng that is included in + 5.1 and 5.2 contains a bug: pnmtopng is dynamically + linked to the wrong version of libpng. Recompile it + from source, and make sure that the pnmtopng binary is + linked statically to the libpng that is included in libgr. RedHat 6.0 does not have this problem. tar xzf libgr-2.0.13.tar.gz @@ -138,22 +142,21 @@ o pnmtopng, which is also in libgr-progs for RedHat. The rm libpng.so* make pnmtopng - You can then install the new pnmtopng into + You can then install the new pnmtopng into /usr/local/bin/ o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html. - Which, in turn depends on man2html for proper - - installation. man2html can be had from http://askdon- + Which, in turn depends on man2html for proper installa- + tion. man2html can be had from http://askdon- ald.ask.uni-karlsruhe.de/hppd/hpux/Network- ing/WWW/Man2html-1.05. - The website will build without this utility, but you + The website will build without this utility, but you will not see our hypertextified bibliography. TeTeX users should not forget to rerun texhash. -You also have to install buildscripts/out/ps-to-gifs in a +You also have to install buildscripts/out/ps-to-gifs in a directory that is in the path. 6: CONFIGURING and COMPILING @@ -177,10 +180,9 @@ This will install a number of files, something close to: /usr/local/share/lilypond/* /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo -The above assumes that you are root and have the GNU devel- +The above assumes that you are root and have the GNU devel- opment tools, and your make is GNU make. If this is not the -case, you can adjust your environment variables to your - +case, you can adjust your environment variables to your taste: export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" @@ -189,16 +191,16 @@ taste: CPPFLAGS are the preprocessor flags. The configure script is Cygnus configure, and it will accept ---help. If you are not root, you will probably have to make +--help. If you are not root, you will probably have to make it with a different --prefix option. Our favourite location is ./configure --prefix=$HOME/usr -In this case, you will have to set up MFINPUTS, and TEXIN- +In this case, you will have to set up MFINPUTS, and TEXIN- PUTS accordingly. -Since GNU LilyPond currently is beta, you are advised to +Since GNU LilyPond currently is beta, you are advised to also use --enable-debugging @@ -210,33 +212,33 @@ Options to configure include: Enable debugging print routines (lilypond -D option) --enable-optimise - Set maximum optimisation: compile with -O2. This can - be unreliable on some compiler/platform combinations + Set maximum optimisation: compile with -O2. This can + be unreliable on some compiler/platform combinations (eg, DEC Alpha and PPC) --enable-profiling Compile with support for profiling. --enable-config - Output to a different configuration file. Needed for + Output to a different configuration file. Needed for multi-platform builds -All options are documented in the configure help The option +All options are documented in the configure help The option --enable-optimise is recommended for Real Life usage. If you do make all -everything will be compiled, but nothing will be installed. -The resulting binaries can be found in the subdirectories +everything will be compiled, but nothing will be installed. +The resulting binaries can be found in the subdirectories out/ (which contain all files generated during compilation). 7: CONFIGURING FOR MULTIPLE PLATFORMS If you want to compile LilyPond with different configuration -settings, then, you can use the --enable-config option. -Example: suppose I want to build with and without profil- +settings, then, you can use the --enable-config option. +Example: suppose I want to build with and without profil- ing. Then I'd use the following for the normal build, ./configure --prefix=~ --disable-optimise --enable-checking @@ -259,13 +261,14 @@ If you have done a successful make, then a simple should do the trick. If you are doing an upgrade, please remember to remove obso- -lete .pk and .tfm files of the fonts. A script has been +lete .pk and .tfm files of the fonts. A script has been provided to do the work for you, see bin/clean-fonts.sh. CAVEATS -o The -O2 option triggers bugs on various platforms - (PowerPC, Alpha). If you experience problems, you +o The -O2 option triggers bugs on various platforms + (PowerPC, Alpha). If you experience problems, you + should first try turning off this. o On PPC you need at least EGCS-1.1.2f. @@ -299,8 +302,8 @@ refer to the man page for more information. 9: REDHAT LINUX -RedHat Linux users can compile an RPM. A spec file is in -make/out/lilypond.spec, it is distributed along with the +RedHat Linux users can compile an RPM. A spec file is in +make/out/lilypond.spec, it is distributed along with the sources. You can make the rpm by issuing @@ -308,13 +311,13 @@ You can make the rpm by issuing rpm -tb lilypond-x.y.z.tar.gz rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z -Precompiled i386 RedHat RPMS are available from +Precompiled i386 RedHat RPMS are available from http://linux.umbc.edu/software/lilypond/rpms/. 10: DEBIAN GNU/LINUX -A Debian package is also available; contact Anthony Fok -foka@debian.org. The build scripts are in the subdirectory +A Debian package is also available; contact Anthony Fok +foka@debian.org. The build scripts are in the subdirectory debian/. 11: WINDOWS NT/95 diff --git a/NEWS b/NEWS index fbaecd7e79..df64243e3d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,41 @@ +pl 62.hwn1 + - ps-to-pfa.py: use std modules re, find + - minor input fixes + - use mfplain.mp + - Metapost does unfill with setgray. This confuses +GS. Do text substitution with eofill. + +pl 62.jcn3 + - bfs: preludes + - found more wierd spacing + +pl 62.jcn2 + - bf: don't start auto-beam on stem that contains only a rest + - bf: rm .ms yodl output + - bumped stepmake version + +pl 62.uu1 + - don't space rhythmic requests coming from Lyrics. + +pl 62.jcn1 + - bf: auto-beamer: consider starting beam based on new rhythmic head + - bfs: preludes-4, cello-suites + - \addlyricsified standchen and twinkle (ugh: \repeat and \addlyrics) + - bf: interstaff slur slope damping + - bf: in-band signaling slur snap + +pl 61.jbr1 + - Documentation/ntweb/GNUmakefile: Made EXTRA_DIST_FILE style fix and + added dist-plain target as dependency to the default target. + - scripts/ly2dvi.py: getpid does not behave very well across platforms + so I am creating temp file names with the Python tempfile module. + The generate lilypond dependency file option was broken and + is now operational. I also changed the dependency switch + from -d or -M to match lilypond. + - stepmake/bin/package-zip32.sh: Added build of ntweb html + documentation + +*********** pl 61.hwn2 - revise / junk various input files. - junk Music_list_iterator diff --git a/TODO b/TODO index 7a9ca6eefe..35ff2f3e24 100644 --- a/TODO +++ b/TODO @@ -12,9 +12,9 @@ Grep for TODO and ugh/ugr/urg. . * align left edge of broken (de)cresc/slur/tie/tuplet/volta . * auto-staff-switching. . * broken examples: -mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly -mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly -mutopia/J.S.Bach/Solo-Cello-Suites/* +input/star-spangled-banner.ly: hw? +mutopia/J.S.Bach/Petites-Preludes/preludes-paper.ly? hw? +mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly: hw: slurs + autobeamer ? mutopia/Coriolan/* . * spacing of accidentals @@ -30,7 +30,7 @@ mutopia/Coriolan/* . * PostScript . * half notes in pfa . * We need feta-din*.mf files for more sizes than 10. -. * fix dynamics decently, ie. use kerning & ligatures. +. * fix dynamics decently, ie. use kerning & ligatures. .* Cleanups needed . * \$ and $ identifier syntax in examples. @@ -555,3 +555,4 @@ hesitate to ask. (require 'allout) (outline-init 't) + diff --git a/VERSION b/VERSION index 95b14773b2..f64a357ccb 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=62 +PATCH_LEVEL=63 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/aclocal.m4 b/aclocal.m4 index ace44c49b3..602d77213a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -2,12 +2,6 @@ dnl WARNING WARNING WARNING WARNING dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl WARNING WARNING WARNING WARNING dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in diff --git a/buildscripts/ps-to-pfa.py b/buildscripts/ps-to-pfa.py index cf4e374b10..f1d4d8c38b 100644 --- a/buildscripts/ps-to-pfa.py +++ b/buildscripts/ps-to-pfa.py @@ -9,10 +9,11 @@ #TODO. This could be more efficient. name = 'ps-to-pfa' -version = '0.3' +version = '0.4' datadir = '' +import find import os import sys @@ -90,78 +91,94 @@ def header (f): f.write ('%!PS-AdobeFont-3.0: ' + font_name + '\n') f.write ('%%%%Creator: %s-%s\n' % (name, version)) f.write ('\n') - f.write ('/setgray { 1 add } bind def\n' - '\n' -'8 dict begin\n' -'/FontType 3 def %% Required elements of font\n' -'/FontName /%s def\n' -'/FontMatrix [.001 0 0 .001 0 0] def\n' -'%%/FontMatrix [.01 0 0 .01 0 0] def\n' -'%%/FontMatrix [0.1 0 0 0.1 0 0] def\n' -'%%/FontBBox [-1000 -1000 1000 1000] def\n' -'/FontBBox [-3000 -3000 3000 3000] def\n' -'%%/FontBBox [-300 -300 300 300] def\n' -'%%/FontBBox [-30 -30 30 30] def\n' -'\n' -'/Encoding 256 array def %% Trivial encoding vector\n' -'0 1 255 {Encoding exch /.notdef put} for\n' % (font_name)) - + f.write (r""" +8 dict begin +/FontType 3 def %% Required elements of font +/FontName /%s def""" % font_name) + f.write (r""" +/FontMatrix [.083 0 0 .083 0 0] def %% why .83? +/FontBBox [-1000 -1000 1000 1000] def %% does not seem to matter. +/Encoding 256 array def %% Trivial encoding vector +0 1 255 {Encoding exch /.notdef put} for +""") def footer (f): - f.write ('\n' -'/BuildGlyph { % Stack contains: font charname\n' -'% 1000 0 % Width\n' -'% -1000 -1000 1000 1000 % Bounding Box\n' -'% -750 -750 750 750 % Bounding Box\n' -'% -750 -750 750 750 % Bounding Box\n' -' 3000 0 % Width\n' -' -3000 -3000 3000 3000 % Bounding Box\n' -'% 300 0 % Width\n' -'% -300 -300 300 300 % Bounding Box\n' -'% 30 0 % Width\n' -'% -30 -30 30 30 % Bounding Box\n' -' setcachedevice\n' -' exch /CharProcs get exch % Get CharProcs dictionary\n' -' 2 copy known not {pop /.notdef} if % See if charname is known\n' -' get exec % Execute character procedure\n' -'} bind def\n' -'\n' -'/BuildChar { % Level 1 compatibility\n' -' 1 index /Encoding get exch get\n' -' 1 index /BuildGlyph get exec\n' -'} bind def\n' -'\n' -'currentdict\n' -'end % of font dictionary\n') - f.write ('\n') + f.write (r""" +/BuildGlyph { % Stack contains: font charname + 1000 0 % Width + -1000 -1000 1000 1000 % Bounding Box + setcachedevice + exch /CharProcs get exch % Get CharProcs dictionary + 2 copy known not {pop /.notdef} if % See if charname is known + get exec % Execute character procedure +} bind def + +/BuildChar { % Level 1 compatibility + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec +} bind def + +currentdict +end % of font dictionary +""" +) + f.write ('/%s\n' % font_name) f.write ('' 'exch definefont pop % Define the font\n') + +suspect_re = re.compile ('closepath (.*?) 1 setgray newpath (.*?) closepath fill') + def characters (f): - #urg - # chars = os.listdir () - # chars.sort () sys.stderr.write ('[') - pipe = os.popen ('/bin/ls -1 ' + font_name + '.[0-9] ' + font_name + '.[0-9][0-9] ' + font_name + '.[0-9][0-9][0-9] 2> /dev/null') - chars = [] - i = pipe.readline () - while i: - chars.append (i[0:len (i)-1]) - i = pipe.readline () - f.write ('\n' -'/CharProcs 3 dict def % Subsidiary dictiorary for\n' -'CharProcs begin % individual character definitions\n') + + files = [] + import find # q + suffixes = [".[0-9]", ".[0-9][0-9]", ".[0-9][0-9][0-9]"] + for suf in suffixes: + files = files + find.find (font_name + suf) + + + # concat all files into charprocs. charprocs = ' /.notdef {} def\n' encoding = '' - for i in chars: + for i in files: s = gulp_file (i) - s = regsub.gsub ('^%.*\n', '', s) - s = regsub.gsub ('^showpage\n', '', s) - s = regsub.gsub ('^', ' ', s) - n = atoi (regsub.gsub ('.*\.', '', i)) + s = re.sub ('%[^\n]*\n', '', s) + + # if you want readable stuff, look at MP output. + s = re.sub ('[\n\t ]+', ' ', s) + s = re.sub ('showpage', '', s) + + # MP's implementation of unfill confuses GS. + # Look for "Metapost & setgray" on deja.com + # we do some twiddling to use eofill i.s.o. fill + if re.search ('setgray',s ): + m = suspect_re.search (s) + while m: + fill = m.group (1) + path = m.group (2) + + # be complicated, in case of gsave/grestore. + # vill as quick hack to avoid duple substitutions. + fill = re.sub ('fill', 'eovill', fill, count = 1) + s = re.sub (m.group (0), ' %s %s ' % (path, fill), s) + m = suspect_re.search (s) + + s = re.sub ('eovill' , 'eofill', s) + s = re.sub ('0 setgray' ,'', s) + + + m = re.match ('.*\.([0-9]+)',i) + n = atoi (m.group (1)) + s = '\n /%s-%d{\n%s} bind def\n' % (font_name, n, s) encoding = encoding + 'Encoding %d /%s-%d put\n' % (n, font_name, n) charprocs = charprocs + s + + f.write ('\n' +'/CharProcs 3 dict def % Subsidiary dictiorary for\n' +'CharProcs begin % individual character definitions\n') f.write (charprocs) f.write ('\n') f.write ('end % of CharProcs\n') @@ -176,5 +193,5 @@ characters (ps_file) footer (ps_file) sys.stderr.write ('\n') ps_file.close () -sys.stderr.write ('Wrote PostScript font: %s\n'% output_name) +sys.stderr.write ('Wrote PostScript font: %s\n' % output_name) diff --git a/debian/control b/debian/control index 39108826e8..3076aee6f7 100644 --- a/debian/control +++ b/debian/control @@ -10,9 +10,9 @@ Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.981031-2) Recommends: python-base (>= 1.5.1), python-misc (>= 1.5.1), tetex-base (>= 0.9.981030-1), tetex-extra (>= 0.9.981030-1) Conflicts: musixtex-fonts, tetex-base (<< 0.9) Description: The GNU Project music typesetter. + LilyPond produces beautiful sheet music using a high level description + file as input. LilyPond is part of the GNU project. - LilyPond is the GNU Project music typesetter. It transforms a musical - description file into beautiful sheet music. . URLs: http://www.cs.uu.nl/~hanwen/lilypond/ diff --git a/debian/out/control b/debian/out/control index 39108826e8..3076aee6f7 100644 --- a/debian/out/control +++ b/debian/out/control @@ -10,9 +10,9 @@ Depends: ${shlibs:Depends}, tetex-bin (>= 0.9.981031-2) Recommends: python-base (>= 1.5.1), python-misc (>= 1.5.1), tetex-base (>= 0.9.981030-1), tetex-extra (>= 0.9.981030-1) Conflicts: musixtex-fonts, tetex-base (<< 0.9) Description: The GNU Project music typesetter. + LilyPond produces beautiful sheet music using a high level description + file as input. LilyPond is part of the GNU project. - LilyPond is the GNU Project music typesetter. It transforms a musical - description file into beautiful sheet music. . URLs: http://www.cs.uu.nl/~hanwen/lilypond/ diff --git a/input/bugs/hinterfleisch-gone.ly b/input/bugs/hinterfleisch-gone.ly new file mode 100644 index 0000000000..2a51746a62 --- /dev/null +++ b/input/bugs/hinterfleisch-gone.ly @@ -0,0 +1,12 @@ +% jij had zoon mooi tight spacing example, +% kan zo'n harde space ook niet voor en na maatstreep! +\score { + \notes \relative c'' { + \time 2/4; + \property Voice.beamAuto=0 + a4 a8 + a32 a a a +} +%set bit wide +\paper {linewidth = 100.\mm;} +} diff --git a/input/bugs/slur-minimum.ly b/input/bugs/slur-minimum.ly new file mode 100644 index 0000000000..287ca4faba --- /dev/null +++ b/input/bugs/slur-minimum.ly @@ -0,0 +1,9 @@ +% slur minimum length too long, or what happened? +\score { + \notes \relative c'' { + c8()c c()c + c()c c()c +} +%set very tight +\paper {linewidth = 40.\mm;} +} diff --git a/input/rhythm.ly b/input/rhythm.ly index 98af477f45..a3217d5daf 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -36,7 +36,7 @@ ritme = \notes\transpose c'' { another = - \relative c'' \notes{ \time 6/4; + \notes \relative c'' { \time 6/4; c1. c1. \time 4/4;c4 c4 c4 c4 c1 c1 c1 } diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index b609d34d70..383bfe90e2 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -79,7 +79,28 @@ textx = \lyrics { and8 the8 home4. of8 the4 brave.2 } -text = \lyrics { +textxx = \lyrics { + Oh __ " " \repeat fold 2 { } + \alternative { + { + say. can you | see, by the16 dawn's ear- ly light What + so proud- ly we hailed, At the16 twi- light's last gleam- + ing. Whose broad16 + } + + { + stripes and bright stars, through the16 per- il- ous fight, + O'er the ram- parts we watched, were so16 gal- lant- ly + } + } + stream- ing. And the16 rock- ets' red glare, the bombs + burst- ing in air, gave proof through the night that + our flag was still there, Oh say, does that star- span- + gled ban- ner yet wave, __ O'er the land __ of the free + and the home of the brave. +} + +textxxx = \lyrics { Oh4 __ %\alternative { { @@ -100,6 +121,27 @@ text = \lyrics { and8 the8 home4. of8 the4 brave.2 } +text = \lyrics { + Oh __ " " + %\alternative { + { + say. can you | see, " " by the16 dawn's ear- ly light What + so proud- ly we hailed, At the16 twi- light's last gleam- + ing. Whose broad16 + } + + %{ + stripes and bright stars, through the16 per- il- ous fight, + O'er the ram- parts we watched, were so16 gal- lant- ly + } + %} + stream- ing. And the16 rock- ets' red glare, the bombs + burst- ing in air, gave proof through the night that + our flag was still there, Oh say, does that " " star- span- + gled ban- ner " " yet " " wave, __ " " O'er the land __ " " of the free + and the home of the brave. +} + global = \notes { \time 3/4; \key D; @@ -115,6 +157,7 @@ global = \notes { \score{ \context GrandStaff < + \addlyrics \context Staff=staffA < \global \notes \transpose c'' {\voiceone \$staff1_voice_1 } diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly index 2d176e5565..7107a6edd9 100644 --- a/input/test/slur-interstaff.ly +++ b/input/test/slur-interstaff.ly @@ -27,8 +27,6 @@ } > \paper{ - % no slur damping - slur_slope_damping = 10.0; \translator{ \PianoStaffContext minVerticalAlign = 3.0*\staffheight; diff --git a/input/twinkle.ly b/input/twinkle.ly index 1f5c15fa1b..d8b695706f 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -16,7 +16,8 @@ traditional song in various languages. %} %{ -Tested Features: lyrics, interleaving lyrics and staffs, repeats +Tested Features: lyrics, interleaving lyrics and staffs, repeats, + auto beaming, adding lyrics to notes, hyphens %} \version "1.1.52"; @@ -52,12 +53,12 @@ global = \notes { } tekst = \lyrics{ - Al-4 tijd is Kort- jak- je ziek,2 - midden4 "in de" week maar "'s zon-" dags niet.2 - "'s Zon-"4 dags gaat ze naar de kerk,2 - met4 een boek vol zil- ver werk.2 - Al-4 tijd is Kort- jak- je ziek,2 - mid-8 den in de week4 maar "'s zon-" dags niet.2 + Al -- tijd is Kort -- jak -- je ziek, " " + midden "in de" week maar "'s zon" -- dags " " niet. + "'s Zon" -- dags gaat ze naar de kerk, " " + met een boek vol zil -- ver " " werk. " " + Al -- tijd is Kort -- jak -- je ziek, " " + midden "in de" week maar "'s zon" -- dags " " niet. } @@ -67,64 +68,79 @@ tekst. Mogen wij ook af en toe ergens op afgeven? %} hegedraagjetekst = \lyrics{ - Al-4 tijd zuigt Bill Gates mijn piek,2 - "\TeX"4 is slecht- ser dan mu- ziek.2 - "'s Zon-"4 dags gaat het door een raam,2 - Weet4 dat ik me er- voor schaam.2 - Al-4 tijd zuigt Bill Gates mijn piek,2 - "\TeX"4 is slecht- ser dan mu- ziek.2 + Al -- tijd zuigt Bill Gates mijn piek, " " + "\TeX" is slecht -- ser dan mu -- " " ziek. + "'s Zon" -- dags gaat het door een raam, " " + Weet dat ik me er -- voor " " schaam. + Al -- tijd zuigt Bill Gates mijn piek, " " + "\TeX" is slecht -- ser dan mu -- " " ziek. } texte = \lyrics{ \property Lyrics . textStyle" = "italic" % \property Lyrics . textStyle" = "roman" - Ah!4 vous dir- ai- je ma- man2 - Ce4 qui cau- se mon tour- ment2 - Pa-4 pa veut que je rai- son- ne - Comm' u- ne gran- de per- son- ne - Moi je dis que les bon- bons2 - Va-4 lent mieux que la rai- son2 + Ah! vous dir -- ai -- je ma -- man " " + Ce qui cau -- se mon tour -- " " ment + Pa -- pa veut que je rai -- son -- ne + Comm' u -- ne gran -- de per -- " " son -- ne + Moi je dis que les bon -- bons " " + Va -- lent mieux que la rai -- " " son } texti = \lyrics{ \property "Lyrics"."textStyle" = "roman" - Twin-4 kle, twin- kle, lit- tle star,2 - How4 I won- der what you are.2 - Up4 a- bove the world so high,2 - Like4 a dia- mond in the sky.2 - Twin-4 kle, twin- kle, lit- tle star,2 - How4 I won- der what you are!2 + Twin -- kle, twin -- kle, lit -- tle star, " " + How I won -- der what you " " are. + Up a -- bove the world so high, " " + Like a dia -- mond in the " " sky. " " + Twin -- kle, twin -- kle, lit -- tle star, " " + How I won -- der what you " " are! } textii = \lyrics{ - When4 the bla- zing sun is gone,2 - When4 he no- thing shines up- on,2 - Then4 you show your lit- tle light,2 - Twin-4 kle, twin- kle, all the night.2 - Twin-4 kle, twin- kle, lit- tle star,2 - How4 I won- der what you are!2 - + When the bla -- zing sun is gone, " " + When he no -- thing shines up -- " " on, + Then you show your lit -- tle light, " " + Twin -- kle, twin -- kle, all the " " night. " " + Twin -- kle, twin -- kle, lit -- tle star, " " + How I won -- der what you " " are! } textiii = \lyrics{ - Then4 the tra- veler in the dark2 - Thanks4 you for your ti- ny spark;2 - He4 could not see which way8 to8 go,2 - If4 you did not twin- kle so.2 - Twin-4 kle, twin- kle, lit- tle star,2 - How4 I won- der what you are!2 + Then the tra -- veler in the dark " " + Thanks you for your ti -- ny " " spark; + He could not see which way to go, + If you did not twin -- kle " " so. " " + Twin -- kle, twin -- kle, lit -- tle star, " " + How I won -- der what you " " are! } \score{ - < - \context Staff=i \repeat semi 2 < \global\melody > - \context Lyrics=top \context LyricVoice \repeat fold 2 {} \alternative { \tekst \texte } + \notes < + \context Staff=i s1 + \context Lyrics=top s1 \context GrandStaff < \context Staff=ii \repeat semi 2 < \global\melody > \context Staff=iii \repeat semi 2 < \global\accompany > > - \context Lyrics =bottom \context LyricVoice \repeat fold 3 {} - \alternative { \texti \textii \textiii } + \context Lyrics=bottom s1 + % ugh, \repeat in \addlyrics dumps core + \addlyrics + % \context Staff = i \repeat semi 2 <\global\melody> + \context Staff = i <\global\melody> + < + %\repeat fold 2 {} + %\alternative { + \context Lyrics = top \tekst + \context Lyrics = top \texte + %} + %\repeat fold 3 {} + %\alternative { + \context Lyrics = bottom \texti + \context Lyrics = bottom \textii + \context Lyrics = bottom \textiii + %} + > > \paper{ gourlay_maxmeasures = 14.0; diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index fcf83877e2..672da02f63 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -294,58 +294,87 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) { end_beam (); } - else if (Stem* stem_l = dynamic_cast (info.elem_l_)) + } + + if (Stem* stem_l = dynamic_cast (info.elem_l_)) + { + Rhythmic_req *rhythmic_req = dynamic_cast (info.req_l_); + if (!rhythmic_req) { - Rhythmic_req *rhythmic_req = dynamic_cast (info.req_l_); - if (!rhythmic_req) - { - programming_error ("Stem must have rhythmic structure"); - return; - } - - if (stem_l->beam_l_) - { - junk_beam (); - return ; - } - - /* - now that we have last_add_mom_, perhaps we can (should) do away - with these individual junk_beams - */ + programming_error ("Stem must have rhythmic structure"); + return; + } + +#if 0 + /* + Don't (start) auto-beam over empty stems. + ugly check for rests! + --> doesn't even work: stem-dir is not set + + ../flower/include/drul-array.hh:26: Real & Drul_array::elem(enum Direction): Assertion `d==1 || d== -1' failed. +/home/fred/root/usr/scripts/src/out/Linux/li: line 8: 14641 Aborted (core dumped) lilypond $opts + + */ + if (stem_l->extent (Y_AXIS).empty_b ()) + { + if (stem_l_arr_p_) + end_beam (); + return; + } +#else + if (!stem_l->head_l_arr_.size ()) + { + if (stem_l_arr_p_) + end_beam (); + return; + } +#endif - int durlog =rhythmic_req->duration_.durlog_i_; - if (durlog <= 2) + if (stem_l->beam_l_) + { + if (stem_l_arr_p_) + junk_beam (); + return ; + } + + /* + now that we have last_add_mom_, perhaps we can (should) do away + with these individual junk_beams + */ + + int durlog =rhythmic_req->duration_.durlog_i_; + if (durlog <= 2) + { + if (stem_l_arr_p_) end_beam (); - else + return; + } + + /* + if shortest duration would change + reconsider ending/starting beam first. + */ + Moment mom = rhythmic_req->duration_.length_mom (); + consider_end_and_begin (mom); + if (!stem_l_arr_p_) + return; + if (mom < shortest_mom_) + { + if (stem_l_arr_p_->size ()) { - /* - if shortest duration would change - reconsider ending/starting beam first. - */ - Moment mom = rhythmic_req->duration_.length_mom (); - consider_end_and_begin (mom); + shortest_mom_ = mom; + consider_end_and_begin (shortest_mom_); if (!stem_l_arr_p_) return; - if (mom < shortest_mom_) - { - if (stem_l_arr_p_->size ()) - { - shortest_mom_ = mom; - consider_end_and_begin (shortest_mom_); - if (!stem_l_arr_p_) - return; - } - shortest_mom_ = mom; - } - Moment now = now_mom (); - - grouping_p_->add_stem (now - beam_start_moment_ + beam_start_location_, durlog - 2); - stem_l_arr_p_->push (stem_l); - last_add_mom_ = now; - extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom (); } + shortest_mom_ = mom; } + Moment now = now_mom (); + + grouping_p_->add_stem (now - beam_start_moment_ + beam_start_location_, durlog - 2); + stem_l_arr_p_->push (stem_l); + last_add_mom_ = now; + extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom (); } } diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh index 28d10c7745..1a35162ab1 100644 --- a/lily/include/ly-symbols.hh +++ b/lily/include/ly-symbols.hh @@ -54,6 +54,7 @@ DECLARE_LY_SYMBOL(minimum_space); DECLARE_LY_SYMBOL(molecule); DECLARE_LY_SYMBOL(notewidth); DECLARE_LY_SYMBOL(non_default); +DECLARE_LY_SYMBOL(non_rhythmic); DECLARE_LY_SYMBOL(octave_dir); DECLARE_LY_SYMBOL(origin); DECLARE_LY_SYMBOL(output); diff --git a/lily/include/stem.hh b/lily/include/stem.hh index 9f8fb0a7e3..4a59ac6911 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -48,6 +48,7 @@ class Stem : public Item, public Staff_symbol_referencer { */ Drul_array yextent_drul_; +public: // urg, autobeamer needs to know if there are (only) rests here? Link_array head_l_arr_; Link_array rest_l_arr_; diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index 7171fc7200..37aa4065ee 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -42,12 +42,13 @@ Lyric_engraver::do_process_requests() { text_p_= new Text_item; text_p_->text_str_ = req_l_->text_str_; - text_p_->text_str_ += " "; // ugh. Scalar style = get_property ("textStyle", 0); if (style.length_i ()) text_p_->style_str_ = style; + + text_p_->set_elt_property (non_rhythmic_scm_sym, SCM_BOOL_T); announce_element (Score_element_info (text_p_, req_l_)); } diff --git a/lily/slur.cc b/lily/slur.cc index 025b17da6b..bc8fa4b5a7 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -263,22 +263,24 @@ Slur::do_post_processing () snap_max_dy_f = paper_l ()->get_var ("slur_interstaff_snap_max_slope_change"); } - Real ratio_f; if (!fix_broken_b) dy_f_drul_[RIGHT] += interstaff_f; + Real dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]; + if (!fix_broken_b) + dy_f -= interstaff_f; Real dx_f = do_width ().length () + dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]; /* Avoid too steep slurs. */ - ratio_f = abs (dy_f / dx_f); - if (ratio_f > slope_damp_f) + Real slope_ratio_f = abs (dy_f / dx_f); + if (slope_ratio_f > slope_damp_f) { Direction d = (Direction)(- dir_ * (sign (dy_f))); if (!d) d = LEFT; - Real damp_f = (ratio_f - slope_damp_f) * dx_f; + Real damp_f = (slope_ratio_f - slope_damp_f) * dx_f; /* must never change sign of dy */ @@ -300,15 +302,17 @@ Slur::do_post_processing () Real width_f = curve_xy_drul[X].length (); dy_f = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]; + if (!fix_broken_b) + dy_f -= interstaff_f; - ratio_f = abs (height_f / width_f); - if (ratio_f > height_damp_f) + Real height_ratio_f = abs (height_f / width_f); + if (height_ratio_f > height_damp_f) { Direction d = (Direction)(- dir_ * (sign (dy_f))); if (!d) d = LEFT; /* take third step */ - Real damp_f = (ratio_f - height_damp_f) * width_f / 3; + Real damp_f = (height_ratio_f - height_damp_f) * width_f / 3; /* if y positions at about the same height, correct both ends */ @@ -335,6 +339,8 @@ Slur::do_post_processing () snapy_f_drul[LEFT] = snapy_f_drul[RIGHT] = 0; Drul_array snapx_f_drul; snapx_f_drul[LEFT] = snapx_f_drul[RIGHT] = 0; + Drul_array snapped_b_drul; + snapped_b_drul[LEFT] = snapped_b_drul[RIGHT] = false; do { if ((note_column_drul[d] == spanned_drul_[d]) @@ -353,6 +359,7 @@ Slur::do_post_processing () snapy_f_drul[d] = stem_l->extent (Y_AXIS)[dir_]; snapy_f_drul[d] += info_drul[d].interstaff_f_; snapy_f_drul[d] += dir_ * 2 * y_gap_f; + snapped_b_drul[d] = true; } } while (flip (&d) != LEFT); @@ -361,9 +368,11 @@ Slur::do_post_processing () only use snapped positions if sign (dy) will not change and dy doesn't change too much */ - if (snapy_f_drul[LEFT] && snapy_f_drul[RIGHT] + if (!fix_broken_b) + dy_f += interstaff_f; + if (snapped_b_drul[LEFT] && snapped_b_drul[RIGHT] && ((sign (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f))) - && (!dy_f || (abs (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT] - dy_f) + && (!dy_f || (abs (snapy_f_drul[RIGHT] - snapy_f_drul[LEFT] - dy_f) < abs (dy_f * snap_max_dy_f)))) { do @@ -374,18 +383,18 @@ Slur::do_post_processing () while (flip (&d) != LEFT); } - else if (snapy_f_drul[LEFT] + else if (snapped_b_drul[LEFT] && ((sign (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT]) == sign (dy_f))) - && (!dy_f || (abs (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT] - dy_f) + && (!dy_f || (abs (dy_f_drul_[RIGHT] - snapy_f_drul[LEFT] - dy_f) < abs (dy_f * snap_max_dy_f)))) { Direction d = LEFT; dy_f_drul_[d] = snapy_f_drul[d]; dx_f_drul_[d] = snapx_f_drul[d]; } - else if (snapy_f_drul[RIGHT] + else if (snapped_b_drul[RIGHT] && ((sign (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT]) == sign (dy_f))) - && (!dy_f || (abs (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT] - dy_f) + && (!dy_f || (abs (snapy_f_drul[RIGHT] - dy_f_drul_[LEFT] - dy_f) < abs (dy_f * snap_max_dy_f)))) { Direction d = RIGHT; diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index a7785e47b4..8b6b4c893d 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -55,6 +55,9 @@ Spacing_engraver::acknowledge_element (Score_element_info i) if (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F) return; + if (i.elem_l_->get_elt_property (non_rhythmic_scm_sym) != SCM_BOOL_F) + return; + if (Rhythmic_req * r = dynamic_cast(i.req_l_)) { Rhythmic_tuple t(i, now_mom () + r->length_mom ()); diff --git a/ly/auto-beam-settings.ly b/ly/auto-beam-settings.ly index d08d3d8ae1..fb80c544d2 100644 --- a/ly/auto-beam-settings.ly +++ b/ly/auto-beam-settings.ly @@ -25,9 +25,11 @@ time3_2beamAutoEnd = "1/2"; time3_2beamAutoEnd_16 = "1/4"; time3_2beamAutoEnd_32 = "1/8"; -time3_4beamAutoBegin = "1/4"; +time3_4beamAutoBegin_8 = "1/4"; time3_4beamAutoEnd_8 = "3/4"; -time3_4beamAutoBegin_32 = "1/8"; +time3_4beamAutoBegin_16 = "1/16"; +time3_4beamAutoEnd_16 = "1/4"; +%time3_4beamAutoBegin_32 = "1/8"; time3_4beamAutoEnd_32 = "1/8"; time3_8beamAutoBegin = "1/8"; diff --git a/ly/params.ly b/ly/params.ly index 65d4e8d02a..e9fc341694 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -101,7 +101,7 @@ slur_x_minimum = 3.0 * \interline; slur_slope_damping = 0.3; slur_interstaff_slope_damping = 0.6; % height damping: keep h/dx < slur_height_damping -slur_height_damping = 0.5; +slur_height_damping = 0.4; slur_interstaff_height_damping = 0.5; % snap to stem if slur ends closer to stem than slur_snap_to_stem = 1.75 * \interline; diff --git a/make/lelievijver.lsm.in b/make/lelievijver.lsm.in deleted file mode 100644 index f05d79bff1..0000000000 --- a/make/lelievijver.lsm.in +++ /dev/null @@ -1,15 +0,0 @@ -Begin3 -Titel: LilyPond -Versie: @TOPLEVEL_VERSION@ -Inschrijf datum: @DATE@ -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 @package@-@TOPLEVEL_VERSION@.tar.gz -Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k @package@-@TOPLEVEL_VERSION@.tar.gz -Copi-eer voorwaarden: GPL -End diff --git a/make/lilypond.lsm.in b/make/lilypond.lsm.in index efaa469901..71bf18e624 100644 --- a/make/lilypond.lsm.in +++ b/make/lilypond.lsm.in @@ -4,12 +4,12 @@ Version: @TOPLEVEL_VERSION@ Entered-date: @DATE@ Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving -Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) +Author: hanwen@cs.uu.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 @package@-@TOPLEVEL_VERSION@.tar.gz + 1000k @package@-@TOPLEVEL_VERSION@.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k @package@-@TOPLEVEL_VERSION@.tar.gz + 1000k @package@-@TOPLEVEL_VERSION@.tar.gz Copying-policy: GPL End diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm deleted file mode 100644 index 6c030642fa..0000000000 --- a/make/out/lelievijver.lsm +++ /dev/null @@ -1,15 +0,0 @@ -Begin3 -Titel: LilyPond -Versie: 1.1.62 -Inschrijf datum: 19JUL99 -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.62.tar.gz -Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.62.tar.gz -Copi-eer voorwaarden: GPL -End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index c56fe88133..12d099bf33 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,19 +1,19 @@ Begin3 Title: LilyPond -Version: 1.1.62 -Entered-date: 19JUL99 +Version: 1.1.63 +Entered-date: 20JUL99 Description: +LilyPond produces beautiful sheet music using a high level description +file as input. LilyPond is part of the GNU project. -LilyPond is the GNU Project music typesetter. It transforms a musical -description file into beautiful sheet music. Keywords: music notation typesetting midi fonts engraving -Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) +Author: hanwen@cs.uu.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.62.tar.gz + 1000k lilypond-1.1.63.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.62.tar.gz + 1000k lilypond-1.1.63.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index fd3c166533..72f5d55443 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.62 +Version: 1.1.63 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.62.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.63.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys @@ -13,9 +13,9 @@ Prereq: tetex %description +LilyPond produces beautiful sheet music using a high level description +file as input. LilyPond is part of the GNU project. -LilyPond is the GNU Project music typesetter. It transforms a musical -description file into beautiful sheet music. %prep diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 44946caef7..21c285a5a4 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -4,7 +4,9 @@ depth = .. STEPMAKE_TEMPLATES=metafont metapost install install-out -EXTRA_DIST_FILES += README feta.mp mfplain.ini +EXTRA_DIST_FILES += README feta.mp + +# wtf is feta.mp ? FET_FILES = $(wildcard feta[0-9]*.mf) diff --git a/mf/feta-autometric.mf b/mf/feta-autometric.mf index 27703e2686..97d88a6bc8 100644 --- a/mf/feta-autometric.mf +++ b/mf/feta-autometric.mf @@ -113,7 +113,7 @@ enddef; def breapth_endchar = scantokens extra_endchar; if proofing > 0: makebox_with_breapth(proofrule); fi - chardx := 10*(w + b); +% chardx := 10*(w + b); shipit; endgroup enddef; diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index fc2996b1ae..96a9249eb4 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -107,6 +107,8 @@ fet_beginchar("longa rest", "-2", "longarest"); draw_block ((0,-breve_rest_y), (breve_rest_x, breve_rest_y)); fet_endchar; +tracingvariables := 1; + fet_beginchar("multi rest", "-4", "multirest"); set_char_box(multi_rest_x#, multi_rest_x#, breve_rest_y#, breve_rest_y#); diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index a50866f73a..b1cdd49fbc 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -35,9 +35,9 @@ if test = 0: input feta-klef; input feta-timesig; else: - input feta-bolletjes; +% input feta-bolletjes; % input feta-banier; -% input feta-eindelijk; + input feta-eindelijk; % input feta-klef; % input feta-toevallig; % input feta-schrift; diff --git a/mf/feta-slag.mf b/mf/feta-slag.mf index 625c7e0dd3..413ecf5b9e 100644 --- a/mf/feta-slag.mf +++ b/mf/feta-slag.mf @@ -119,6 +119,10 @@ fet_endchar; input feta-sleur; +% +% URG. The attached slurs look weird, and discontinuous in their connection to the +% main part. --hwn + fet_beginchar("upprall", "upprall", "upprall") % trills := 4; trills := 3; diff --git a/mf/feta.mp b/mf/feta.mp index 7f0c80c8b4..fb0fb32c68 100644 --- a/mf/feta.mp +++ b/mf/feta.mp @@ -1,3 +1,7 @@ +% +% What's this ? --hwn +% + % feta.mp batchmode; diff --git a/mf/mfplain.ini b/mf/mfplain.ini deleted file mode 100644 index 7ad4dfd71e..0000000000 --- a/mf/mfplain.ini +++ /dev/null @@ -1,3 +0,0 @@ -\input plain.mf -\input modes.mf -\dump mfplain diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index c124113668..aa61bf49a7 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -11,7 +11,7 @@ copyright = "public domain"; } %{ - Tested Features@ multivoice accents lyrics chords piano music + Tested Features: multivoice accents lyrics chords piano music multiple \paper{}s in one \score Note: Original key F. %} @@ -69,104 +69,55 @@ vocalThrough = \notes\relative c{ e2 r4 | } -lyricVerse1 = \lyrics{ -% 5 - \times 2/3 { Lei-4 se8 } fleh-4. en8 | - \times 2/3 { mei-4 ne8 } Lie-4 der8 " "8 | - Durch4. die8 \times 2/3 { Nacht4 zu8 } | - dir;2 " "4 | - " "2.*2 -%{ " "4 " " " " | - " " " " " " |%} -% 11 - \times 2/3 { In4 den8 } stil-4. len8 | - \times 2/3 { Hain4 her-8 } nie-4. der8 | - Lieb-4. chen,8 \times 2/3 { komm4 zu8 } | - mir!2 " "4 | - " "2.*2 -%{ " "4 " " " " | - " " " " " " |%} -% 17 - Fl\"us-8. ternd16 schlan-4. ke8 | - Wip-8. fel16 rau-4. schen8 | - \times 2/3 { In4 des8 } Mon-4. des8 | - Licht;2. | - \times 2/3 { In4 des8 } Mon-4. des8 | - Licht;2. | -% 23 - Des8. Ver-16 r\"a-4. thers8 | - feind-8. lich16 Lau-4. schen8 | - \times 2/3 { F\"urch-4 te8 } Hol-4. de8 | - nicht2. | - \times 2/3 { f\"urch-4 te8 } Hol-4. de8 | - nicht.2. | +lyricVerseOne = \lyrics{ + Lei- " " se fleh- en mei- " " ne Lie- der + Durch die Nacht " " zu dir; + In " " den stil- len Hain " " her- nie- der + Lieb- chen, komm " " zu mir! + + Fl\"us- ternd schlan- ke Wip- fel rau- schen + In " " des Mon- des Licht, + In " " des Mon- des Licht; + + Des Ver- r\"a- ters feind- lich Lau- schen + F\"urch- " " te, Hol- de, nicht, + F\"urch- " " te, Hol- de, nicht. } -lyricVerse2 = \lyrics{ -% 5 - \times 2/3 { H\"orst4 die8 } Nach-4. ti-8 - \times 2/3 { gal-4 len8 } schla-4 gen?8 " "8 - ach!4. sie8 \times 2/3 { fleh-4 en8 } - dich,2 " "4 - " "2.*2 -%{ " "4 " " " " - " "4" " " " -%} -% 11 - \times 2/3 { Mit4 der8 } T\"o-4. ne8 - \times 2/3 { s\"u-4 "\ss en"8 } Kla-4. gen8 - Fleh-4. en8 \times 2/3 { sie4 f\"ur8 } - mich2 " "4 - " "2.*2 -%{ " "4" " " " - " "4" " " " -%} -% 17 - Sie-8. ver-16 stehn4. des8 - Bus-8. ens16 Seh-4. nen8 - \times 2/3 { Ken-4 nen8 } Lieb-4. es-8 - schmerz,2. - \times 2/3 { Ken-4 nen8 } Lieb-4. es-8 - schmerz.2. - -% 23 - R\"uh-8. ren16 mit4. den8 - Sil-8. ber-16 t\"o-4. nen8 - \times 2/3 { jed-4 es8 } wei-4. che8 - Herz,2. - \times 2/3 { jed-4 es8 } wei-4. che8 - Herz.2. +lyricVerseTwo = \lyrics{ + H\"orst " " die Nach- ti- gal- " " len schla- gen? + Ach! sie fleh- " " en dich, + Mit " " der T\"o- ne s\"u- " " "\ss en" Kla- gen + Fleh- en sie " " f\"ur mich. + + Sie- ver- "steh'n" des Bus- ens Seh- nen + Ken- " " nen Lieb- es- schmerz, + Ken- " " nen Lieb- es- schmerz. + + R\"uh- ren mit den Sil- ber- t\"o- nen + Jed- " " es wei- che Herz, + Jed- " " es wei- che Herz. } lyricThrough = \lyrics{ -% 37 - La\ss8. auch16 dir8. die16 Brust8. be-16 | - we-4 gen " " | - Lieb-4. chen,8 h\"o-8. re16 | - mich!2 " "4 | - Be-4. bend8 \times 2/3 { harr'4 ich8} | - dir8. ent-16 ge-4 gen!8 " "8 | - " "2. | - " "2. | - \times 2/3 { Komm4 be-8 } gl\"u4. cke8 | - mich!2. | - \times 2/3 { Komm4 be-8 } gl\"u4. cke8 | - mich,2. __ | - " "2 be-4 | - gl\"u-2. | - cke2. | - mich!2 " "4 | + La\ss auch dir die Brust be- we- gen + Lieb- chen, h\"o- re mich! + Be- bend harr' " " ich dir ent- ge- gen! + + Komm, " " be- gl\"uk- ke mich! + Komm, " " be- gl\"uk- ke mich, __ " " + Be- gl\"uk- ke mich! } trebleIntro = \notes\relative c{ - r8^"\bf m\\\"a\\\ss ig"\pp | + r8^"\bf M\\\"a\\ss ig"\pp | r8 | r8 | r8 | \break } -trebleVerse1 = \notes\relative c{ +trebleVerseOne = \notes\relative c{ %5 r8 | r8 | @@ -274,7 +225,7 @@ bassIntro = \notes\relative c{ r4 | } -bassVerse1 = \notes\relative c{ +bassVerseOne = \notes\relative c{ % \clef bass; \property Voice.dynamicDir=1 %5 @@ -361,24 +312,9 @@ global = \notes{ \bar "|."; } - -lyricFour = \lyrics{ - " "2.*4 -%{ " "4 " " " " - " " " " " " - " " " " " " - " " " " " "%} -} - -allLyrics = { - \time 3/4; -% \skip 4 * 12; - \lyricFour - \lyricVerse1 -% \skip 4 * 24; - \lyricFour - \lyricFour - \lyricVerse2 +allLyrics = \lyrics { + \lyricVerseOne + \lyricVerseTwo \lyricThrough } @@ -390,7 +326,6 @@ vocals = \notes{ \clef treble; % certainly no auto-beaming for vocals \property Voice.beamAuto=0 - \property Voice.dynamicDir = \up \skip 4 * 12; @@ -401,18 +336,18 @@ vocals = \notes{ } vocalStaff = \context Staff = vocal< - \property Staff.instrument = "alto sax" - \global - \vocals + \property Staff.instrument = "alto sax" + \global + \vocals > treble = { \clef treble; \property Voice.beamAutoBegin=0 \trebleIntro - \trebleVerse1 + \trebleVerseOne \trebleEentje - \trebleVerse1 + \trebleVerseOne \trebleThrough } @@ -424,9 +359,9 @@ trebleStaff = \context Staff = treble< bass = { \clef bass; \bassIntro - \bassVerse1 + \bassVerseOne \bassEentje - \bassVerse1 + \bassVerseOne \bassThrough } @@ -440,27 +375,32 @@ grandStaff = \context PianoStaff < \bassStaff > + \score{ - % Transpose as you like for your voice - % Range untransposed is c' to f'' (for tenors and sopranos) - % To get original, \transpose d' - % \transpose a gives a' to d'' (for basses, who sing an octave down) < -% kjoet, but i like the original better -- jcn -% { \notes \transpose a { \vocalStaff } } -% \lyricStaff -% { \notes \transpose a { \grandStaff } } - { \notes { \vocalStaff } } - \lyricStaff - { \notes { \grandStaff } } + +%{ + Transpose as you like for your voice + Range untransposed is c' to f'' (for tenors and sopranos) + \transpose a gives a' to d'' (for basses, who sing an octave down) + + \addlyrics + \notes \transpose a \vocalStaff + \lyricStaff + \notes \transpose a \grandStaff +%} + + \addlyrics + %\context Staff=vocal \vocalStaff + %\context Lyrics=lyric \lyricStaff + \vocalStaff + \lyricStaff + \grandStaff > \paper { -% \translator { \OrchestralScoreContext } -% \translator { \OrchestralPartStaffContext } \translator { \HaraKiriStaffContext } } -%broken 1.1.51 -% \midi{ -% \tempo 4 = 54; -% } + \midi{ + \tempo 4 = 54; + } } 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 41b4496d43..597e706039 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -234,7 +234,7 @@ allegroEn = \notes\relative c''{ c4~ [c16 g' des c] [bes es bes as] | [g as bes c] [des8 bes] g'4~ | [g8 c,16 bes] [as f' bes, as] [g des' g, f] | - [e f g as] [bes8 g] [e'.-\prallprall d32 e] | + [e f g as] [bes8 g] [e'8.-\prallprall d32 e] | %78 [f8 f,16 g] [as8 bes c d] | [es16 d c d] [es8 f g as] | diff --git a/mutopia/J.S.Bach/Petites-Preludes/GNUmakefile b/mutopia/J.S.Bach/Petites-Preludes/GNUmakefile index e1d72d7d30..4bd2ddbf9c 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/GNUmakefile +++ b/mutopia/J.S.Bach/Petites-Preludes/GNUmakefile @@ -4,6 +4,9 @@ depth = ../../.. EXTRA_DIST_FILES= +LILYINCLUDE:=$(LILYINCLUDE):out +export LILYINCLUDE + examples=preludes-2 LOCALSTEPMAKE_TEMPLATES=mutopia diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 index fb7f748af2..234732a3d5 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-3.lym4 @@ -20,8 +20,8 @@ copyright = "public domain"; \version "1.1.60"; -upper = \type Staff \notes \transpose c'' { - \type Voice=i +upper = \context Staff \notes \transpose c'' { + \context Voice=i \property Voice . textstyle = "italic" %# s(^c@ ^es@ ^g@ ^\p(\<@ ^\!@ ^)\!@ ^\>@) t(c,es,g,^\p(\<@,\!,^)\!@,\>) @@ -79,15 +79,15 @@ upper = \type Staff \notes \transpose c'' { s(fis` c es) s(fis` c es) r16 [g`(\< b` d] [b` g` b` d] [es c a` \!fis] | - < - {\stemup ) g2.-\fermata\mf} - \type Voice=ii {\stemdown } + \context Staff < + \context Voice=i {\stemup ) g2.-\fermata\mf} + \context Voice=ii {\stemdown } > \stemboth \bar "|."; } -lower = \type Staff \notes{ +lower = \context Staff \notes{ % c4 r [g8-.(\ped )es-.\*] | c4 r [g8-.( )es-.] | c4 r [g8-.( )es-.] | @@ -155,12 +155,12 @@ global = \notes{ \score{ % Semplice e non troppo legato - \type GrandStaff < - \type Staff = upper < + \context GrandStaff < + \context Staff = upper < \global \upper > - \type Staff = lower < + \context Staff = lower < \global \clef "bass"; \lower diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index fc90830c0b..07048f3d24 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -114,8 +114,8 @@ two = \context Staff \notes\relative c{ a'8~ | a g-3~ g16 e fis8~ fis16 d8.~ d8. cis!16 | \translator Staff=lower \stemup - < - { \stemup d8-2 a~ a4 } + \context Staff < + \context Voice=i { \stemup d8-2 a~ a4 } \context Voice=ii { \stemdown a8-1 g fis16-2 e-1 fis-2 d-1 } > \stemup @@ -177,8 +177,8 @@ four = \context Staff \notes\relative c{ %15 \stemdown d1 ~ | - d ~ | - d, ~ + d | + d, ~ | d2 d2 } diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes.ly index 6fd6068dcf..d397df5f55 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes.ly @@ -1,7 +1,7 @@ \header{ filename = "preludes.ly"; % mmm -title = "DOUZE PETITES PR\\'ELUDES"; +title = "Petites Pr\'eludes"; % urg subtitle = "Clavierb\\"uchlein"; subtitle = "Clavierbuechlein"; composer = "Johann Sebastian Bach (1685-1750)"; @@ -11,8 +11,7 @@ copyright = "public domain"; \include "preludes-1.ly" \include "preludes-2.ly" -% urg, still broken -% \include "preludes-3.ly" +\include "preludes-3.ly" \include "preludes-4.ly" \include "preludes-5.ly" \include "preludes-6.ly" diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/GNUmakefile b/mutopia/J.S.Bach/Solo-Cello-Suites/GNUmakefile index 283e7cd439..18e9385e3f 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/GNUmakefile +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/GNUmakefile @@ -4,7 +4,7 @@ depth = ../../.. EXTRA_DIST_FILES= -examples= #scsii-cello +examples=scsii-cello LOCALSTEPMAKE_TEMPLATES=mutopia include $(depth)/make/stepmake.make 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 937ec2cd03..3b11fae767 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.1.52"; +\version "1.1.55"; \include "allemande-urtext.ly"; @@ -27,15 +27,11 @@ allemande_cello_global = \notes{ \partial 16; s16 s1*11 | - s2 s4 s8 - \partial 16*15; - s16 + s2 s4 s8. } \repeat "semi" 2 { - % urg - s32 \partial 16; s32 + s16 s1*11 s16*15 - \partial 16*15; } } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly index fdfdf76f8b..622ccb12fd 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly @@ -7,12 +7,6 @@ Well, there are still some scripts in this "urtext". But merging melodic and scripts doen't work too well yet (see viola_scripts). %} -n = { \slurnormal } -d = { \slurdotted } -comma = "\\sethuge\\ \\ ," - -phrasingcomma = { } % { \bar "empty"; \mark "'"; \nobreak } - allemande_a = \context Staff \notes \relative c { \context Voice=i \stemup @@ -21,48 +15,45 @@ allemande_a = \context Staff \notes \relative c { g()f e()d d()cis d()e a,8 bes16()g | f( a )d f, e8 cis' \stemup d8. e16 \stemboth f g a bes! | %3 - \stemup c8 \n d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 | - e( g )bes d c()bes a()g \n bes()a g()f + \stemup c8 d16()es \stemboth d()c bes()a c()bes a()g d'8. f,16 | + e( g )bes d c()bes a()g bes()a g()f < f8. a> | % urg fix - b \n f( e )d e \d cis'( d )cis \stemup d8.( )e16 \stemboth - \n f( e d)e | + b f( e )d e cis' d cis \stemup d8. e16 \stemboth + f( e d)e | %6 d( c b )c b( a gis)a gis8-\prall fis16()e e' c( a )g | \stemup e' a, f d d f d b \stemboth - gis( b e )gis \d b( d c )b | + gis( b e )gis b d c b | %8 - \n c( a f )e d( f e )d gis8.-\trill()a16 \d b d e,()d | + c( a f )e d( f e )d gis8.-\trill()a16 b d e, d | % urg - c( e a)d \stemup b8.-\trill a16 a8 s4 s8 \stemboth | + c e a d \stemup b8.-\trill a16 a8 s4 s8 \stemboth | %10 d,!16 gis( a b a gis fis )e \stemup e8 f16()e \stemboth d()c b()a | - \stemup d8 e16()f \stemboth\d e()d c()b + \stemup d8 e16()f \stemboth e d c b \stemup d'16()b c()a \stemboth e8 gis | - a,8. cis16 e g!( f! )e f( a )d gis, a8. + a,8. cis16 e g! f! e f a d gis, [ a8. ] %13 e16 \stemup e8. f16 \stemboth - \n g!()e f()a \n cis,( d )e bes a8.-\trill()g16 | - f a'(f)d g \n b,()cis a' g(f e)d fis d()es c( | + g!()e f()a cis,( d )e bes a8.-\trill()g16 | + f a'(f)d g b,()cis a' g(f e)d fis d()es c( | %15 )bes g'(a, )g fis a d c' bes(fis)g bes d()a bes()g | - es(d)es g c()a bes()g \d d(c)d g \n bes()fis g()es | + es(d)es g c()a bes()g d c d g bes()fis g()es | %17 - \n c(bes)c bes' a(c)es g, \stemup fis8-\trill\d g16()a \stemboth - d,8 es16()c | - bes(d )g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f | + c(bes)c bes' a(c)es g, \stemup fis8-\trill g16 a \stemboth + d,8 es16 c | + bes d g bes, d,8 fis' \stemup g8. a16 \stemboth bes d g, f | %19 - \stemup e8.-\trill()f16 \stemboth g()e c()bes - \n a()f' g,()f e g'( a )bes | - % :-( - % bes( a g )f^\comma - bes( a g )f \phrasingcomma + \stemup e8.-\trill f16 \stemboth g e c bes + a()f' g,()f e g'( a )bes | + bes( a g )f a()e f()d bes d(f)a d()a bes()g | %21 - a,(\n)g'(\n cis())d e()g, a()e f()d bes()d \d gis, f'(e)d | - % \n d( cis b )a^\comma c(a)fis d' c a( b )d - \n d( cis b )a \phrasingcomma %^"\\sethuge\\ \\ ," + a,()g'cis()d e()g, a()e f()d bes()d gis, f' e d | + d( cis b )a c(a)fis d' c a( b )d f!(d )gis, d' | %23 @@ -85,12 +76,14 @@ allemande_b = \notes \relative c { s1 | f!16 s16*3 b, s16*3 s2 | s1 | - s4 e dis8 ~ dis32 e( fis gis a b c d! c b c )a | + \property Voice.slurVerticalDirection=1 + s4 e [dis8 ~ dis32 e( fis gis] [a b c d! c b c )a] | + \property Voice.slurVerticalDirection=0 %10 s2 s8 s4 | s8 s4 s8 s4 | s2 s4 s8. - s16 | + s16 s8 s2. | %15 s1*3 | @@ -106,4 +99,4 @@ allemande = \context Staff \notes< > -\version "1.1.52"; +\version "1.1.55"; 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 e59035d9a8..d835f9b3c9 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.16"; +\version "1.1.55"; \include "allemande-urtext.ly"; @@ -23,19 +23,15 @@ allemande_viola_global = \notes{ \time 4/4; \key f; \clef alto; - \repeat 2 { + \repeat "semi" 2 { \partial 16; s16 s1*11 | - s2 s4 s8 - \partial 16*15; + s2 s4 s8. + } \repeat "semi" 2 { s16 - } \repeat 2 { - % urg - s32 \partial 16; s32 s1*11 s16*15 - \partial 16*15; } } 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 4ef6fb8f48..9741a5e4f5 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.16"; +\version "1.1.55"; \include "courante-urtext.ly"; @@ -23,20 +23,15 @@ courante_cello_global = \notes{ \time 3/4; \key f; \clef bass; - \repeat 2 { + \repeat "semi" 2 { \partial 16; s16 s2.*15 - % hmm - s2 s8 - \partial 16*11; + s2 s8. + } \repeat "semi" 2 { s16 - } \repeat 2 { - % urg - s32 \partial 16; s32 s2.*15 s16*11 - \partial 16*11; } } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly index 65793d7931..123c6de140 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly @@ -7,55 +7,50 @@ Well, there are still some scripts in this "urtext". But merging melodic and scripts doen't work too well yet (see viola_scripts). %} -n = { \slurnormal } -d = { \slurdotted } - courante_a = \context Staff \notes \relative c { \context Voice=i d'16 | - d a f a d, f g a \d bes()a bes()g | - \stemup s4 \stemboth \d g16()f g()e | + d a f a d, f g a bes a bes g | + \stemup s4 \stemboth g16 f g e | % urg, a good case for mean-distance-beam-dir-algorithm! - f()d e()c! \n bes(a)bes a' g f e d | + f d e c! bes(a)bes a' g f e d | %4 - % cis e \n a,(\d(b cis d e f )g )bes-- a e | - cis e \n a,(b cis d e f )g bes-- a e | - % f a \n d,(\d( e f g a bes )c )bes-- d c | - f a \n d,( e f g a bes )c bes-- d c | - \n\stemup ~ < c16 f,> bes a g \stemboth f()es d()es | + cis e a,(b cis d e f )g bes-- a e | + f a d,( e f g a bes )c bes-- d c | + \stemup ~ < c16 f,> bes a g \stemboth f()es d()es | %7 d bes(a)bes d bes e! bes f' bes, g' bes, | - \d e,( g )c d e f g a bes()a bes()g | - \n a f(e)f a f bes f c' f, d' f, | + e, g c d e f g a bes a bes g | + a f(e)f a f bes f c' f, d' f, | %10 cis( e )a b cis d e f g()f g()e | - d,( a' )f' e \n d()c d()c b()a b()a | - \n gis( a )b e, \n f()e f()d e()c d()b | + d,( a' )f' e d()c d()c b()a b()a | + gis( a )b e, f()e f()d e()c d()b | %13 - \n c a'( b c b a gis)a d, a' e a | + c a'( b c b a gis)a d, a' e a | f a( b c b a gis)a f a e a | dis, a'( b c b a gis)a e a e gis | - a e cis e a, cis e gis a8. - e'16 | + a e cis e a, cis e gis [ a8. ] + e'16 %17 e cis a cis e, f g a bes()g cis()g | \stemup d'4 ~ d16 a d e f d a c! \stemboth | - \n b16 f(d)f \d g, d'(f)g b f d' f, | + b16 f(d)f g, d' f g b f d' f, | %20 - e g c,(d e f g a )bes! d c g | + e g c, d e f g a bes! d c g | \stemup a s16*3 s4 s4 d, ~ d16 e! f g \stemboth a bes c d | %23 - e, bes(a)g a f' \n g,()f \d c()g' f' e | - f a( bes a g f e )f g e f d | + e, bes a g a f' g,()f c g' f' e | + f a bes a g f e f g e f d | cis g' b, g' a, g' b, g' cis, g' a, g' | %26 f d f a d a d e f a, f d | - g, d'(g)a bes g' a, f' g, e' f, d' | - \n cis(d)e cis a cis bes cis a cis g cis | + g, d' g a bes g' a, f' g, e' f, d' | + cis(d)e cis a cis bes cis a cis g cis | %29 - \n f, d'(e f e d cis)d g, d' a d | - \d bes d(e f e d cis)d bes d a d | + f, d'(e f e d cis)d g, d' a d | + bes d e f e d cis d bes d a d | gis, d'(e f e d cis)d a d a cis | d a f a d, f a, d d,8. @@ -67,20 +62,22 @@ courante_b = \notes \relative c { s16 | s2. | %2 - \n cis4 ~ cis16 d e f s4 | + cis4 ~ cis16 d e f s4 | s2.*3 | %6 a,4 s2 s2.*9 % 16 s2 s8. - s16 | + s16 s2. %18 f'4 s s | s2.*2 %21 + \property Voice.slurVerticalDirection=1 f16 c'(bes a g f es d )es c' f, es | + \property Voice.slurVerticalDirection=0 bes4 s s s2.*9 s2 s8. @@ -91,4 +88,4 @@ courante = \context Staff \notes< \$courante_b > -\version "1.1.52"; +\version "1.1.55"; 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 3205773dcb..02b676844a 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.16"; +\version "1.1.55"; \include "courante-urtext.ly"; @@ -23,20 +23,15 @@ courante_viola_global = \notes{ \time 3/4; \key f; \clef alto; - \repeat 2 { + \repeat "semi" 2 { \partial 16; s16 s2.*15 - % hmm - s2 s8 - \partial 16*11; + s2 s8. + } \repeat "semi" 2 { s16 - } \repeat 2 { - % urg - s32 \partial 16; s32 s2.*15 s16*11 - \partial 16*11; } } 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 439eed58ab..f5b0528995 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.16"; +\version "1.1.55"; \include "gigue-urtext.ly"; @@ -23,18 +23,19 @@ gigue_cello_global = \notes{ \time 3/8; \key f; \clef bass; - \repeat 2 { + \repeat "semi" 2 { \partial 8; s8 s4.*31 s4 - \partial 4; - } \repeat 2 { + %\partial 4; + } \repeat "semi" 2 { % urg - s16 \partial 8; s16 + %s16 \partial 8; s16 + s8 s4.*43 s4 - \partial 4; + %\partial 4; } } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly index 2ea545bd7b..51e81a8571 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly @@ -7,9 +7,6 @@ Well, there are still some scripts in this "urtext". But merging melodic and scripts doen't work too well yet (see viola_scripts). %} -n = { \slurnormal } -d = { \slurdotted } - % % this must be redone a bit: % @@ -25,8 +22,7 @@ gigue_notes = \context Staff \notes \relative c { f4-\trill a8 | b,()g' cis, | d f16( c bes )a | g8()es' a, | bes d16( a g )f | e!8()cis' bes' a g16( f e)d | %15 - %\stemup e(f g e f)d \stemboth e8()a,\comma c''! | - \stemup e(f g e f)d \stemboth e8()a,^"\\sethuge{\\ \\ '}" c'! | + \stemup e(f g e f)d \stemboth e8()a, c'! | \stemup c16(d es c d)a bes8 r bes | bes16(c d bes c)g a8 r a | %21 @@ -106,4 +102,4 @@ gigue = \notes< \$gigue_b > -\version "1.1.52"; +\version "1.1.55"; 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 72be38e830..fff70f59e9 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.16"; +\version "1.1.55"; \include "gigue-urtext.ly"; @@ -23,13 +23,13 @@ gigue_viola_global = \notes{ \time 3/8; \key f; \clef alto; - \repeat 2 { + \repeat "semi" 2 { \partial 8; s8 s4.*31 s4 \partial 4; - } \repeat 2 { + } \repeat "semi" 2 { % urg s16 \partial 8; s16 s4.*43 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 80dc4bb656..ce6c6c983b 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.1.52"; +\version "1.1.55"; \include "menuetto-urtext.ly"; @@ -24,13 +24,14 @@ menuetto_i_cello_global = \notes{ \time 3/4; \key f; \clef bass; - \repeat "semi" 2 { + \repeat "semi" 2 { \skip 2.*8; } \repeat "semi" 2 { \skip 2.*1; \slurdotted \skip 2.*14; + \property Voice.textEmptyDimension = 1 s2._"Fine" } } @@ -87,6 +88,7 @@ menuetto_ii_cello_global = \notes{ \skip 2.*1; \slurdotted \skip 2.*14; + \property Voice.textEmptyDimension = 1 s2._"Menuetto I da Capo" } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly index f74c407aa5..410cc6d946 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly @@ -18,24 +18,23 @@ menuetto_i_a = \context Staff \notes \relative c { %7 | | - d8( e16 )f | - \slurdotted - e8( d cis )e a,()g | - a4 () d cis | - g'8( f e )f d() c | + d8 e16 f | + e8 d cis e a, g | + a4 d cis | + g'8 f e f d c | %13 bes2 c4 | a8 g a f | bes8 a g a | - f8( e )f a g bes | + f8 e f a g bes | bes4 | c8 bes c a fis4^\trill | %19 % dispute % < d,8 bes'(> )a | - bes8()a | - c8( bes a )bes g()bes | - d4 () cis d | + bes8 a | + c8 bes a bes g bes | + d4 cis d | g,8 f g e f4 | g,8 g' <{e4.^\trill d8 } a4.> ~ | | @@ -44,7 +43,6 @@ menuetto_i_a = \context Staff \notes \relative c { menuetto_i_b = \context Staff \notes \relative c { \context Voice = ii \stemdown - \slurdotted \skip 2.*1; | \skip 8*5; | \skip 2.*1; | @@ -118,11 +116,9 @@ menuetto_i = \context Staff \notes< menuetto_ii = \context Staff\notes \relative c { \context Voice=i - \slurdotted - fis4^\trill d8( e fis )g | + fis4^\trill d8 e fis g | a4 fis, a' | - g,8()b e4 g | - \slurnormal + g,8 b e4 g | d8( cis )b cis a g | % ugh, forcing knee % Lily's not yet smart enough to decide for herself. @@ -135,11 +131,9 @@ menuetto_ii = \context Staff\notes \relative c { cis4^\prall e8( d cis )b | cis4 g, cis' | fis,8()a d4 fis | - b,8()a g()fis \slurdotted g()b | - \slurnormal + b,8()a g()fis g b | %13 e, d'( cis )b cis()ais | - % check slur! d, b' a! g fis )e | d,( b' a! g fis )e | g( fis e d cis )d | b( cis d e fis )g | @@ -148,12 +142,10 @@ menuetto_ii = \context Staff\notes \relative c { %19 b8()a c( b a )g | fis() g a()fis g()e | - \slurdotted - cis4^\trill a8( b cis )d | - \slurnormal + cis4^\trill a8 b cis d | e( fis g )b a4 | g8()fis e()d e()cis | d2. } -\version "1.1.52"; +\version "1.1.55"; 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 8a2e3de470..1d8cde31b7 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.16"; +\version "1.1.55"; \include "menuetto-urtext.ly"; @@ -25,15 +25,16 @@ menuetto_i_viola_global = \notes{ \time 3/4; \key f; \clef alto; - \repeat 2 { + \repeat "semi" 2 { \skip 2.*8; \clef violin; \skip 2.*1; - } \repeat 2 { + } \repeat "semi" 2 { \slurdotted \skip 2.*3; \clef alto; \skip 2.*11; + \property Voice.textEmptyDimension = 1 s2._"Fine" } } @@ -78,12 +79,13 @@ menuetto_ii_viola_global = \notes{ \time 3/4; \key D; \clef alto; - \repeat 2 { + \repeat "semi" 2 { \skip 2.*8; - } \repeat 2 { + } \repeat "semi" 2 { \skip 2.*1; \slurdotted \skip 2.*14; + \property Voice.textEmptyDimension = 1 s2._"Menuetto I da Capo" } } 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 158b401ac0..977e6d24fd 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.1.52"; +\version "1.1.55"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly index 7e8847975b..7f9b4df710 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly @@ -101,20 +101,12 @@ prelude_b = \notes \relative c { a'2. a a a } -%{ -properties, urg! + fig1 = \notes{ s16( s s )s } fig2 = \notes{ s16( s ) s s } fig3 = \notes{ s16 s( s )s } fig4 = \notes{ s16( s s s s s s )s } fig5 = \notes{ s8.()s16 } -%} - -fig1 = \notes{ \slurnormal s16( s s )s } -fig2 = \notes{ \slurnormal s16( s ) s s } -fig3 = \notes{ s16 \slurnormal s( s )s } -fig4 = \notes{ \slurnormal s16( s s s s s s )s } -fig5 = \notes{ \slurnormal s8.()s16 } % of course, i just type fig1, and add the \ and the silly $ later prelude_slurs = \notes{ @@ -192,87 +184,10 @@ prelude_slurs = \notes{ s4 \$fig3 s4 | } -fig1 = \notes{ \slurdotted s16( s s )s } -fig2 = \notes{ \slurdotted s16( s ) s s } -fig3 = \notes{ s16 \slurdotted s( s )s } -fig4 = \notes{ \slurdotted s16( s s s s s s )s } -fig5 = \notes{ \slurdotted s8.()s16 } -fig6 = \notes{ \slurdotted s16()s \slurdotted s()s } - -prelude_suggested_slurs = \notes{ - \context Voice=i - \slurdotted - s2. | - s2. | - s4 \$fig5 s4 | - s2. | - %5 - s4 \$fig5 \$fig1 | - \$fig1 \$fig1 \$fig2 | - s4 \$fig5 s4 | - \$fig1 \$fig1 s4 | - \$fig2 \$fig5 s4 | - %10 - s2. | - s2 \$fig2 | - s4 \$fig3 \$fig2 | - s2. | - s2. | - %15 - \$fig2 s4 \$fig3 | - s2 \$fig3 | - \$fig1 \$fig1 \$fig1 | - s4 \$fig5 s4 | - \$fig1 \$fig5 s4 | - %20 - s4 \$fig5 s4 | - \$fig3 s2 | - s2. | - \$fig3 \$fig3 s4 | - \$fig1 \$fig1 \$fig1 | - %25 - s4 \$fig5 s4 | - s2. | - s2. | - s2 \$fig3 | - s2. | - %30 - s2. | - s2. | - \$fig3 \$fig3 \$fig2 | - \$fig2 s2 | - s2. | - %35 - s4 \$fig3 \$fig3 | - s2 \$fig3 | - s2. | - \$fig2 s2 | - \$fig2 s2 | - %40 - s2. | - s2. | - s2. | - s2. | - % check ! - \$fig3 \$fig2 s4 | - %45 - \$fig3 \$fig2 s4 | - % check! - \$fig3 s2 | - s2. | - s2. | - s2 \$fig2 | - %50 - \$fig1 \$fig5 s4 | - s4 \$fig6 \$fig6 | - \$fig3 \$fig1 \$fig1 | - \$fig3 s2 | -} - prelude_a = \notes< \$prelude_notes - \$prelude_slurs - \$prelude_suggested_slurs + % Han-Wen: help: adding slurs breaks auto-beaming?? + %\$prelude_slurs > prelude = \context Staff \notes< @@ -280,4 +195,4 @@ prelude = \context Staff \notes< \$prelude_b > -\version "1.1.52"; +\version "1.1.55"; 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 1da2d1d072..ed4be20863 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.1.52"; +\version "1.1.55"; \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 e7e8cd846f..320035f023 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.16"; +\version "1.1.55"; \include "sarabande-urtext.ly"; @@ -23,9 +23,9 @@ sarabande_cello_global = \notes{ \time 3/4; \key f; \clef bass; - \repeat 2 { + \repeat "semi" 2 { s2.*12 - } \repeat 2 { + } \repeat "semi" 2 { s2.*16 } } diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly index ead13666a5..c47147d957 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly @@ -7,45 +7,42 @@ Well, there are still some scripts in this "urtext". But merging melodic and scripts doen't work too well yet (see viola_scripts). %} -n = { \slurnormal } -d = { \slurdotted } - sarabande_a = \context Staff \notes \relative c { \context Voice=i - \stemup \d d8.()e16 e4.-\trill( d16 )e | - f4. \stemboth e8(d)c | - bes g' \n f e16(f g a bes)d, | - cis4.-\trill\d b8(a)g | + \stemup d8. e16 e4.-\trill d16 e | + f4. \stemboth e8 d c | + [bes g'] f e16(f g a bes)d, | + cis4.-\trill b8 a g | % copy bar 1, half bar 2 - \stemup \d d'8.()e16 f4.-\trill( d16 )e | + \stemup d'8. e16 f4.-\trill d16 e | %5 - f4. \stemboth d8(e)f | - \n g bes16()a c()bes a()g d'8 f, | - \stemup e4.-\trill \stemboth \d d8(c)bes | + f4. \stemboth d8 e f | + g bes16()a c()bes a()g d'8 f, | + \stemup e4.-\trill \stemboth d8 c bes | %8 - \stemup \n f' g16()a a4. g16()f | + \stemup f' g16()a a4. g16()f | g8 a16()bes bes4. c16()d | % 11 - \stemboth \d e,8()f c, g' f'()e | + \stemboth e,8 f c, g' f' e | f4 f,2 | - \stemup a'4 \d a4.-\trill()bes8 | - c bes16()a \stemboth fis8.-\trill()es16 d8()c | - bes g' a, fis' es'()d | + \stemup a'4 a4.-\trill bes8 | + c bes16 a \stemboth fis8.-\trill es16 d8 c | + bes g' a, fis' es' d | %16 - \stemup bes4.-\trill \stemboth a8(g)f! | - e bes()a f'(g)a | - d, as()g es'(f)g | - cis, bes' a g16()f e!8 f16()d | - cis8 e16()a a,8. g'16 \n f8()e | + \stemup bes4.-\trill \stemboth a8 g f! | + e bes a f' g a | + d, as g es' f g | + cis, bes' a g16 f e!8 f16 d | + cis8 e16 a a,8. g'16 f8()e | %21 \stemup d e16()f f4. e16()d | e8 f16()g g4. a16()bes | - \d a8 cis16()d d,8 e16(f32)g f8-\trill \n e16()d | + a8 cis16 d d,8 e16 f32 g f8-\trill e16()d | d4 d,16 a'( b cis d e f )g | %25 a(b c)b c4. b16()a | - \d b(cis d )cis d4. \n e16()f | - \stemboth d(cis)d f, a,8 e' \d d'()cis | + b cis d cis d4. e16()f | + \stemboth d(cis)d f, a,8 e' d' cis | d4 d,,2 | } @@ -70,7 +67,7 @@ sarabande_b = \context Staff \notes \relative c { %10 bes4 | s2.*2 | - \d f'8()es es4. r8 | + f'8 es es4. r8 | d4 s2 | %15 s2. | @@ -92,4 +89,4 @@ sarabande = \context Staff \notes< \$sarabande_b > -\version "1.1.52"; +\version "1.1.55"; 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 cdefd2bacc..47e8abd46a 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.16"; +\version "1.1.55"; \include "sarabande-urtext.ly"; @@ -23,9 +23,9 @@ sarabande_viola_global = \notes{ \time 3/4; \key f; \clef alto; - \repeat 2 { + \repeat "semi" 2 { s2.*12 - } \repeat 2 { + } \repeat "semi" 2 { s2.*16 } } diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index e10794f19c..4987ce2aaf 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -16,7 +16,7 @@ allegro = \relative c' { \time 4/4; - \partial 4; + r4 | R1*4 c'2^"tutti" g c, r diff --git a/ps/lilyponddefs.ps b/ps/lilyponddefs.ps index a1a0d94f90..9a1bc6b629 100644 --- a/ps/lilyponddefs.ps +++ b/ps/lilyponddefs.ps @@ -1,7 +1,7 @@ %!PS-Adobe-1.0: lilyponddefs % hmm -/setgray { 1 add } bind def +% /setgray { 1 add } bind def /stafflinethickness mudelapaperstaffline def /staffheight mudelapaperstaffheight def diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 86ebadd0ea..64afbc5c4d 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -14,7 +14,7 @@ Output: DVI file """ name = 'ly2dvi' -version = '0.0.12' +version = '0.0.13' errorlog = '' import sys @@ -24,6 +24,7 @@ import re import string import time import glob +import tempfile class Input: @@ -260,9 +261,12 @@ class TeXOutput: linewidth, horizontalMarginArg, textheight, verticalMarginArg, Props.get('header') ) - pathcomp = os.path.splitext(file) - this.__base = pathcomp[0] - this.__outfile = '%s.%d%s' % (pathcomp[0], os.getpid(), pathcomp[1]) + base, ext = os.path.splitext(file) + this.__base = base + tempfile.template= base + '_ly' + this.__outfile = tempfile.mktemp(ext) + base, ext = os.path.splitext(this.__outfile) + this.__tmpbase = base try: this.__fd = open(this.__outfile,"w") except: @@ -333,7 +337,7 @@ class TeXOutput: if stat: sys.exit('ExitBadLatex') if not os.path.isfile(outfile): - os.rename(this.__base + '.' + str(os.getpid()) + '.dvi', outfile) + os.rename(this.__tmpbase + '.dvi', outfile) sys.stderr.write('\n' + program_id() + ': dvi file name is %s\n\n' % (outfile)) @@ -793,7 +797,7 @@ class Properties: # # Set or Clear Dependencies flag to generate makefile dependencies # - def setDependencies(this, requester): + def setDependencies(this, value, requester): """ Set or Clear dependencies flag """ @@ -886,15 +890,17 @@ def getLilyopts(): else: if Props.get('dependencies'): - dep=' -d' + dep=' -M' else: dep='' return inc + dep return inc -def writeLilylog(contents): +def writeLilylog(file,contents): if Props.get('keeplilypond'): - file='lilylog.' + str(os.getpid()) + base, ext = os.path.splitext(file) + tempfile.template=base + "_li" + file=tempfile.mktemp('.log') output = Props.get('output') if output != '': file = os.path.join( output, file ) @@ -958,7 +964,7 @@ def help (): ' -O,--orientation= set orientation (obsolete - use -L instead)\n' ' -P,--postscript generate postscript file\n' ' -W,--Width= set paper width (points) (see manual page)\n' - ' -d,--dependencies tell lilypond make a dependencies file\n' + ' -M,--dependencies tell lilypond make a dependencies file\n' ' -h,--help this help text\n' ' -k,--keeply2dvi keep ly2dvi output files\n' ' -l,--language= give LaTeX language (babel)\n' @@ -981,9 +987,10 @@ def main(): infile = Input() outfile = TeXOutput() texInputFiles=[] + tempfile.tempdir="" (options, files) = getopt.getopt (sys.argv[1:], - 'DF:H:I:KLNPW:dhkl:o:p:s', + 'DF:H:I:KLNPW:Mhkl:o:p:s', ['debug', 'headers=', 'Height=', 'include=', 'keeplilypond', 'landscape', 'nonumber', 'Width=', 'dependencies', @@ -1009,7 +1016,7 @@ def main(): Props.setNonumber(1,'commandline') elif o == '--Width' or o == '-W': Props.setLineWidth(a,'commandline') - elif o == '--dependencies' or o == '-d': + elif o == '--dependencies' or o == '-M': Props.setDependencies(1,'commandline') elif o == '--help' or o == '-h': help() @@ -1060,7 +1067,7 @@ def main(): if stat: sys.exit('ExitBadLily', cmd ) texFiles=getTeXFile(log) - writeLilylog(log) + writeLilylog(file,log) Props.addLilyOutputFiles(texFiles,'program') texInputFiles = texInputFiles + texFiles else: @@ -1074,7 +1081,7 @@ def main(): if Props.get('debug'): Props.printProps() if firstfile: - outfile.start(file) + outfile.start(file) # allow for specified name else: outfile.next() outfile.write("""\ @@ -1115,7 +1122,7 @@ def cleanup(): if not Props.get('keeplilypond'): lilyfiles = Props.get('lilyOutputFiles') if not Props.get('keeply2dvi'): - tmpfiles = glob.glob('*.' + str(os.getpid()) + '.*' ) + tmpfiles = glob.glob('*_ly[0-9]*.*') for file in lilyfiles + tmpfiles: if os.path.isfile(file): os.remove(file) diff --git a/stepmake/VERSION b/stepmake/VERSION index 0583295050..26f5b35fe0 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=StepMake MAJOR_VERSION=0 MINOR_VERSION=1 -PATCH_LEVEL=77 +PATCH_LEVEL=78 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index a86a37f121..d579266f49 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -1,11 +1,5 @@ dnl WARNING WARNING WARNING WARNING dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in diff --git a/stepmake/bin/package-zip32.sh b/stepmake/bin/package-zip32.sh index fbe52f3d95..fd41ca4883 100644 --- a/stepmake/bin/package-zip32.sh +++ b/stepmake/bin/package-zip32.sh @@ -63,6 +63,11 @@ if ! make -C Documentation/man WWW ; then exit 1 fi +if ! make -C Documentation/ntweb WWW ; then + echo "make -C documentation/ntweb WWW failed" + exit 1 +fi + # # Post install clean up # diff --git a/stepmake/make/out/stepmake.lsm b/stepmake/make/out/stepmake.lsm index 972cf5fbbd..de724303c6 100644 --- a/stepmake/make/out/stepmake.lsm +++ b/stepmake/make/out/stepmake.lsm @@ -1,15 +1,15 @@ Begin3 Title: StepMake -Version: 0.1.77 -Entered-date: 25MAY99 +Version: 0.1.78 +Entered-date: 20JUL99 Description: Keywords: music notation typesetting midi fonts engraving Author: janneke@gnu.org (Jan Nieuwenhuizen) hanwen@cs.ruu.nl (Han-Wen Nienhuys) Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 40k stepmake-0.1.77.tar.gz + 40k stepmake-0.1.78.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 40k stepmake-0.1.77.tar.gz + 40k stepmake-0.1.78.tar.gz Copying-policy: GPL End diff --git a/stepmake/make/out/stepmake.spec b/stepmake/make/out/stepmake.spec index 6ae5300fb1..8430d20b25 100644 --- a/stepmake/make/out/stepmake.spec +++ b/stepmake/make/out/stepmake.spec @@ -1,9 +1,9 @@ Name: stepmake -Version: 0.1.77 +Version: 0.1.78 Release: 1 Copyright: GPL Group: Development -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.77.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.78.tar.gz Summary: generic make package Packager: janneke@gnu.org (Jan Nieuwenhuizen) Buildroot: /tmp/stepmake-install diff --git a/stepmake/stepmake/metapost-rules.make b/stepmake/stepmake/metapost-rules.make index 525777d6f9..8c73b296e0 100644 --- a/stepmake/stepmake/metapost-rules.make +++ b/stepmake/stepmake/metapost-rules.make @@ -6,8 +6,14 @@ # -$(METAPOST) "&mfmp \mode=ljfour; \mag=100.0; batchmode; input $<" # -$(METAPOST) "&mfplain \mode=lowres; \mag=100.0; batchmode; input $<" -$(outdir)/%.0: %.mf - -$(METAPOST) "&mfplain \mode=lowres; \mag=30.0; batchmode; input $<" +$(outdir)/%.0: %.mf mfplain.mem + -$(METAPOST) "&mfplain \mode=lowres; \mag=1.0; nonstopmode; input $<" + + + +mfplain.mem: mfplain.ini + $(INIMETAPOST) mfplain.ini + $(outdir)/%.pfa: $(outdir)/%.0 $(PYTHON) $(depth)/buildscripts/ps-to-pfa.py --output $(basename $<).pfa $< diff --git a/stepmake/stepmake/metapost-targets.make b/stepmake/stepmake/metapost-targets.make index fb013f244f..c90fd062bb 100644 --- a/stepmake/stepmake/metapost-targets.make +++ b/stepmake/stepmake/metapost-targets.make @@ -1,5 +1,3 @@ -pfa: mfplain.mem $(PFA_FILES) -mfplain.mem: mfplain.ini - $(INIMETAPOST) mfplain.ini +pfa: $(PFA_FILES) diff --git a/stepmake/stepmake/toplevel-targets.make b/stepmake/stepmake/toplevel-targets.make index 5f4602b707..daf0e7c8da 100644 --- a/stepmake/stepmake/toplevel-targets.make +++ b/stepmake/stepmake/toplevel-targets.make @@ -3,6 +3,7 @@ local-dist: configure +# urg!: this gets into every package (ie: yodl) local-distclean: rm -f config.h config.hh config.make Makefile GNUmakefile \ config.cache config.status config.log index.html \ diff --git a/stepmake/stepmake/yodl-rules.make b/stepmake/stepmake/yodl-rules.make index 66598c81ad..3c0099560c 100644 --- a/stepmake/stepmake/yodl-rules.make +++ b/stepmake/stepmake/yodl-rules.make @@ -24,5 +24,4 @@ $(outdir)/%.texinfo: %.yo $(outdir)/%.txt: %.yo # $(YODL2TXT) -doutdir=$(outdir) --live-data=3 -o $@ $< $(YODL2MSLESS) -doutdir=$(outdir) --live-data=3 $< > $@ -# rm -f $(basename $<).ms - + rm -f $(basename $<).ms