From: Han-Wen Nienhuys Date: Wed, 29 Oct 1997 10:32:58 +0000 (+0100) Subject: release: 0.1.27 X-Git-Tag: release/0.1.27 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=4138c5980a326486faa0f30db3bbe4b21a95cbd1;p=lilypond.git release: 0.1.27 --- diff --git a/AUTHORS.text b/AUTHORS.text index 7a58cdd098..2049a8e89a 100644 --- a/AUTHORS.text +++ b/AUTHORS.text @@ -61,6 +61,6 @@ CCCCOOOONNNNTTTTRRRRIIIIBBBBUUUUTTTTOOOORRRRSS -27/Oct/97 LilyPond 0.1.26 1 +27/Oct/97 LilyPond 0.1.27 1 diff --git a/Documentation/lilypond.pod b/Documentation/lilypond.pod index 2d85939d0f..20f75f4b82 100644 --- a/Documentation/lilypond.pod +++ b/Documentation/lilypond.pod @@ -32,6 +32,10 @@ Turn debugging info on. GNU LilyPond reads the file F<.dstreamrc>, which lists what functions and classes may produce copious debugging output. +=item B<-t,--test>, + +Switch on any experimental features. Not for general public use. + =item B<-w,--warranty>, Show the warranty with which GNU LilyPond comes. (It comes with B, how to read and write tab: a +guide to tab notation, +http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html + +[FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN] Cindy Grande, NIFF6a Notation Interchange File Format. Grande Software Inc., 1995. ftp://blackbox.cartah.washington.edu/pub/, diff --git a/Documentation/other-packages.pod b/Documentation/other-packages.pod index 24b9c5c926..7d79155446 100644 --- a/Documentation/other-packages.pod +++ b/Documentation/other-packages.pod @@ -115,7 +115,7 @@ Notation editor for W95 and Mac =item Sibelius, http://www.acorn.co.uk/developers/sibelius/Home Notation editor on Acorn machines. Their developers call it ``best -notation program available''. +notation program available''. In any case, they are good at bragging. =item ? [``EDV-Notensatz''] diff --git a/Documentation/vocabulary-data b/Documentation/vocabulary-data index 4f11d9d8f6..003780d928 100644 --- a/Documentation/vocabulary-data +++ b/Documentation/vocabulary-data @@ -20,6 +20,7 @@ arp augmenté (intervalle):augmented (interval):::: bariton:baritone:::: barre de mesure:bar line:::: +:beam:Balk::waardestreep/balk: barre de reprise:repeat:::: basse:bass:::: blanche:half note:::: diff --git a/INSTALL.text b/INSTALL.text index 2ba7e84cb0..e1d63e3117 100644 --- a/INSTALL.text +++ b/INSTALL.text @@ -61,7 +61,7 @@ RRRRUUUUNNNNNNNNIIIINNNNGGGG -20/Oct/97 LilyPond 0.1.25 1 +20/Oct/97 LilyPond 0.1.27 1 @@ -127,7 +127,7 @@ CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRIIIINNNNGGGG a -20/Oct/97 LilyPond 0.1.25 2 +20/Oct/97 LilyPond 0.1.27 2 @@ -193,7 +193,7 @@ INSTALL(1) LilyPond documentation INSTALL(1) -20/Oct/97 LilyPond 0.1.25 3 +20/Oct/97 LilyPond 0.1.27 3 @@ -259,7 +259,7 @@ IIIINNNNSSSSTTTTAAAALLLLLLLLIIIINNNNGGGG -20/Oct/97 LilyPond 0.1.25 4 +20/Oct/97 LilyPond 0.1.27 4 @@ -325,7 +325,7 @@ RRRREEEEDDDDHHHHAAAATTTT LLLLIIIINNNNUUUUXXXX -20/Oct/97 LilyPond 0.1.25 5 +20/Oct/97 LilyPond 0.1.27 5 @@ -391,6 +391,6 @@ AAAAUUUUTTTTHHHHOOOORRRRSSSS -20/Oct/97 LilyPond 0.1.25 6 +20/Oct/97 LilyPond 0.1.27 6 diff --git a/NEWS b/NEWS index 62469267cd..45eba4d92b 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,21 @@ + +pl 27 + - -t/--test switch for experimental stuff. + - bf: debian optimize is not with 'z' + - mf: naming feta fonts are now called feta16, feta-beams16, etc. + - feta: ledgerline + - lily adjustments for new and elegant ledger line + - bf: mf-source path. + pl 26.jcn1 - bf: numerals - sleur.ly - - embedded slur testing (mf is default) + - embedded slur testing - bf + patch: make-patch release.py / VERSION + +******** +oct 26 pl 26 - bf: \transpose - feta: numerals 0 - 9, rewrote flags. diff --git a/TODO b/TODO index c9edf2878f..5eb9af3245 100644 --- a/TODO +++ b/TODO @@ -7,6 +7,8 @@ Most of the items are marked in the code as well, with full explanation. grep for TODO and ugh/ugr * LILYSOURCEDIR + + * documentation * spurious "Junk beam" warnings @@ -50,7 +52,7 @@ grep for TODO and ugh/ugr * Score_bar/Piano_braces, are *not* ordinary bars 3RD PARTY BUGS: -* Rational infty(HUGE_VAL) on glibc / w32 + * Rational infty(HUGE_VAL) on glibc / w32 * Fix profiling. gprof bugreport? @@ -74,7 +76,6 @@ PROJECTS - adapt make-website to use \header info. * Makefile stuff: - - have make dist produce tarball in out/ directory. - Use Automake - shared lib on Solaris too. - check libtool @@ -192,7 +193,6 @@ languages: * lines: - Ledger lines, should be separate item: Ledger_lines, Ledger_lines - set different line sizes / thicknesses - - stem down too far right - beam stem showthrough, inter beam sizes (french vs german style) * Collisions @@ -407,7 +407,6 @@ Mudela. * pushgroup/popgroup - * whole head on ledger line * multi threading? - 1 thread per element/ 1 thread per line diff --git a/VERSION b/VERSION index f588daa2f8..34dc5b7113 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,8 @@ TOPLEVEL_MAJOR_VERSION = 0 TOPLEVEL_MINOR_VERSION = 1 -TOPLEVEL_PATCH_LEVEL = 26 -# use the above to send patches, always empty for released version: -# must not include leading . anymore! (why has convention changed?) -TOPLEVEL_MY_PATCH_LEVEL = jcn1 +TOPLEVEL_PATCH_LEVEL = 27 +TOPLEVEL_MY_PATCH_LEVEL = +# use the above to send patches, always empty for released version: +# please don't move these comments up; the patch should fail if +# the previous version was wrong. diff --git a/aclocal.m4 b/aclocal.m4 index 5f629705bf..8c45edc944 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -9,6 +9,7 @@ AC_DEFUN(AC_LILY_WARN, [ dnl should cache result. dnl should look in $prefix first. +dnl should probably assume TDS AC_DEFUN(AC_TEX_PREFIX, [ diff --git a/bin/lilypython.py b/bin/lilypython.py index 547e66187f..ab88f004f2 100644 --- a/bin/lilypython.py +++ b/bin/lilypython.py @@ -39,9 +39,8 @@ def version_tuple(file): mi = atoi(val) elif nm == 'TOPLEVEL_PATCH_LEVEL': pa = atoi(val) - # why has convention changed? - elif nm == 'TOPLEVEL_MY_PATCH_LEVEL' and nm != '': - mp = '.' + val + elif nm == 'TOPLEVEL_MY_PATCH_LEVEL': + mp = val return (mj,mi,pa,mp) def next_version(tup): @@ -94,7 +93,11 @@ def guess_mudela_version(filename): return '' def version_tuple_to_str(tup): - return '%d.%d.%d%s' % tup + mypatch ='' + if tup[3]: + mypatch = '.' + tup[3] + + return ('%d.%d.%d' % tup[0:3]) + mypatch class Lilydirs: def __init__(self): @@ -118,7 +121,8 @@ lilydirs = Lilydirs() if __name__ == '__main__': v= lilydirs.version_tuple() print v, prev_version(v), next_version(v) - mv = guess_mudela_version(lilydirs.topdir + 'init/symbol.ly') - - print version_str_to_tuple(mv) + pv=(0,1,1,'jcn4') + print version_tuple_to_str(pv), prev_version(pv), next_version(pv) + print version_tuple_to_str((0,1,1,'')) + print mv, version_str_to_tuple(mv) diff --git a/bin/make-website.pl b/bin/make-website.pl index 3ac7f7bf1f..2f177c29b2 100644 --- a/bin/make-website.pl +++ b/bin/make-website.pl @@ -95,6 +95,7 @@ local @examples=("twinkle-pop", "twinkle", "collisions", "font", + "font20", #"scales", "rhythm", "multi" ); diff --git a/bin/makepatch.py b/bin/makepatch.py index e69de29bb2..0d7ecfc082 100644 --- a/bin/makepatch.py +++ b/bin/makepatch.py @@ -0,0 +1,145 @@ +#!@PYTHON@ +from lilypython import * +import getopt +import pipes + + +mp_version = '2' + +class Options: + def __init__(self): + self.to_version = lilydirs.version_tuple() + self.from_version = prev_version(self.to_version) + +options = Options() + + +def help(): + sys.stdout.write( + 'Generate a patch to go to this version.\n' + ' --from=FROM, -f FROM old is FROM\n' + ' --to=TO, -t TO to version TO\n' + + ) + sys.exit(); + + + +def untar(fn): + sys.stderr.write('untarring ' + fn) + os.system ('tar xzf ' + fn) + sys.stderr.write('\n') + sys.stderr.flush() + + +header = 'Generated by make-patch, old = %s, new = %s\n\ +\n\ +usage \n\ +\n\ + cd lilypond-source-dir; patch -E -p0 < %s\n\ +\n\ +Patches do not contain automatically generated files, \n\ +i.e. you should rerun configure\n\n' + +import fnmatch +import os + +_debug = 0 + +_prune = ['(*)'] + + +def my_find(patterns, dir = os.curdir): + list = [] + names = os.listdir(dir) + names.sort() + for name in names: + if name in (os.curdir, os.pardir): + continue + fullname = os.path.join(dir, name) + for pat in patterns: + if fnmatch.fnmatch(name, pat): + list.append(fullname) + if os.path.isdir(fullname) and not os.path.islink(fullname): + for p in _prune: + if fnmatch.fnmatch(name, p): + if _debug: print "skip", `fullname` + break + else: + if _debug: print "descend into", `fullname` + found = my_find(patterns, fullname) + if found: + list = list + found + return list + +def multiple_find(pats, dirnames): + from find import find + l = [] + for d in dirnames: + l = l + my_find(pats, d) + return l + +pats = ['*.lsm', 'configure', '*.text', 'lilypond.spec'] +def remove_automatic(dirnames): + files = [] + files = files + multiple_find(pats, dirnames) + + for f in files: + os.remove(f) + +def makepatch(fv, tv, patfile_nm): + import tempfile + prev_cwd = os.getcwd(); + os.chdir ('/tmp') + untar(released_tarball(fv)) + untar(released_tarball(tv)) + remove_automatic([dirname(fv), dirname(tv)]) + + os.chdir(dirname(tv)) + + if not patfile_nm: + patfile_nm = '../patch-%s' % version_tuple_to_str(tv) + + f = open(patfile_nm, 'w') + f.write(header %\ + (version_tuple_to_str(fv), version_tuple_to_str(tv), \ + os.path.basename(patfile_nm))) + f.close() + + sys.stderr.write('diffing to %s... ' % patfile_nm) + os.system('diff -urN ../%s . >> %s' % (dirname(fv), patfile_nm)) + #os.system('gzip -9f %s' % patfile_nm) + os.chdir('/tmp') + + sys.stderr.write('cleaning ... ') + os.system('rm -fr %s %s' % (dirname(tv), dirname(fv))) + sys.stderr.write('\n') + os.chdir(prev_cwd) + +def main(): + sys.stderr.write('This is make-patch version %s\n' % mp_version) + (cl_options, files) = getopt.getopt(sys.argv[1:], + 'hf:o:t:', ['output=', 'help', 'from=', 'to=']) + outfn = '' + for opt in cl_options: + o = opt[0] + a = opt[1] + if o == '--from' or o == '-f': + options.from_version = version_str_to_tuple(a) + elif o == '--to' or o == '-t': + options.to_version = version_str_to_tuple(a) + elif o== '--help' or o == '-h': + help() + elif o == '--output' or o == '-o': + outfn = os.path.join(os.getcwd(), a) + else: + raise getopt.error + + if not outfn: + pn = 'patch-%s' % version_tuple_to_str(options.to_version) + outfn = os.path.join(os.getcwd(), pn) + + makepatch(options.from_version, options.to_version, outfn) + +if __name__ == '__main__': + main() diff --git a/bin/release.py b/bin/release.py index 7eefee88c8..f18ff01ef7 100644 --- a/bin/release.py +++ b/bin/release.py @@ -5,7 +5,7 @@ from lilypython import * os.chdir(lilydirs.topdir) os.system('make dist') cur_ver = lilydirs.version_tuple() - +print tarball(cur_ver) os.rename('out/' + tarball(cur_ver), released_tarball(cur_ver)) os.chdir('../test') os.system('pwd') diff --git a/init/feta16.ly b/init/feta16.ly new file mode 100644 index 0000000000..d6b1849499 --- /dev/null +++ b/init/feta16.ly @@ -0,0 +1,69 @@ +% generated automatically by mf-to-table.py version 0.4 +% on Wed Oct 29 09:54:00 1997 +% Do not edit +% input from out/feta16.log +% name=\symboltables { + "rests" = \table { + "0" "\\wholerest" -0.00\pt 6.00\pt -2.50\pt 0.00\pt + "1" "\\halfrest" -0.00\pt 6.00\pt -0.00\pt 2.50\pt + "0o" "\\outsidewholerest" -2.50\pt 8.50\pt -2.50\pt 0.40\pt + "1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.40\pt 2.50\pt + "2" "\\quartrest" -0.00\pt 4.32\pt 3.00\pt 14.40\pt + "3" "\\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.47\pt + "4" "\\sixteenthrest" -0.00\pt 6.23\pt -0.00\pt 11.47\pt + "5" "\\thirtysecondrest" -0.00\pt 7.03\pt -0.00\pt 15.47\pt + "6" "\\sixtyfourthrest" -0.00\pt 7.53\pt -0.00\pt 19.47\pt + "7" "\\hundredtwentyeighthrest" -0.00\pt 8.38\pt -0.00\pt 23.47\pt + } + "accidentals" = \table { + "1" "\\sharp" -0.00\pt 4.40\pt -6.00\pt 6.00\pt + "0" "\\natural" -0.00\pt 2.67\pt -6.00\pt 6.00\pt + "-1" "\\flat" -0.48\pt 3.20\pt -2.00\pt 8.00\pt + "-2" "\\flatflat" -0.48\pt 5.80\pt -2.00\pt 8.00\pt + "2" "\\sharpsharp" -0.00\pt 4.00\pt -2.00\pt 2.00\pt + } + "dots" = \table { + "dot" "\\dot" -0.00\pt 1.80\pt -0.90\pt 0.90\pt + } + "balls" = \table { + "-1" "\\brevisball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt + "-1l" "\\brevisledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt + "-2" "\\longaball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt + "-2l" "\\longaledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt + "0" "\\wholeball" -0.00\pt 7.92\pt -2.20\pt 2.20\pt + "0l" "\\wholeledger" -1.98\pt 9.90\pt -0.40\pt 0.40\pt + "1" "\\halfball" -0.00\pt 5.51\pt -2.20\pt 2.20\pt + "1l" "\\halfledger" -1.38\pt 6.89\pt -0.40\pt 0.40\pt + "2" "\\quartball" -0.00\pt 5.28\pt -2.20\pt 2.20\pt + "2l" "\\quartledger" -1.32\pt 6.61\pt -0.40\pt 0.40\pt + } + "scripts" = \table { + "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt + "dfermata" "\\dfermata" -5.30\pt 5.30\pt -5.80\pt 0.30\pt + "sforzato" "\\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt + "staccato" "\\staccato" -0.60\pt 0.60\pt -0.60\pt 0.60\pt + "ustaccatissimo" "\\ustaccatissimo" -0.80\pt 0.80\pt -0.20\pt 4.00\pt + "dstaccatissimo" "\\dstaccatissimo" -0.80\pt 0.80\pt -4.00\pt 0.20\pt + "tenuto" "\\tenuto" -3.60\pt 3.60\pt -0.24\pt 0.24\pt + "umarcato" "\\umarcato" -2.00\pt 2.00\pt -0.00\pt 4.40\pt + "dmarcato" "\\dmarcato" -2.00\pt 2.00\pt -4.40\pt 0.00\pt + "open" "\\ouvert" -1.60\pt 1.60\pt -2.00\pt 2.00\pt + "stopped" "\\plusstop" -2.20\pt 2.20\pt -2.20\pt 2.20\pt + "upbow" "\\upbow" -2.60\pt 2.60\pt -0.00\pt 8.32\pt + "downbow" "\\downbow" -3.00\pt 3.00\pt -0.00\pt 5.33\pt + "turn" "\\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt + "trill" "\\trill" -0.00\pt 8.00\pt -0.00\pt 9.00\pt + "pedalheel" "\\pedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt + "pedaltoe" "\\pedaltoe" -2.00\pt 2.00\pt -0.00\pt 6.00\pt + } + "flags" = \table { + "u3" "\\eighthflag" -0.20\pt 4.10\pt -12.26\pt 0.20\pt + "u4" "\\sixteenthflag" -0.20\pt 4.10\pt -14.26\pt 0.20\pt + "u5" "\\thirtysecondflag" -0.20\pt 4.10\pt -17.26\pt 0.20\pt + "u6" "\\sixtyfourthflag" -0.20\pt 4.10\pt -21.26\pt 0.20\pt + "d3" "\\deighthflag" -0.20\pt 4.54\pt -0.20\pt 11.66\pt + "d4" "\\dsixteenthflag" -0.20\pt 4.54\pt -0.20\pt 12.26\pt + "d5" "\\dthirtysecondflag" -0.20\pt 4.54\pt -0.20\pt 15.66\pt + "d6" "\\dsixtyfourthflag" -0.20\pt 4.54\pt -0.20\pt 17.66\pt + } + % } % $name diff --git a/init/feta20.ly b/init/feta20.ly new file mode 100644 index 0000000000..9d3e1e2de5 --- /dev/null +++ b/init/feta20.ly @@ -0,0 +1,69 @@ +% generated automatically by mf-to-table.py version 0.4 +% on Wed Oct 29 09:54:07 1997 +% Do not edit +% input from out/feta20.log +% name=\symboltables { + "rests" = \table { + "0" "\\wholerest" -0.00\pt 7.50\pt -3.13\pt 0.00\pt + "1" "\\halfrest" -0.00\pt 7.50\pt -0.00\pt 3.13\pt + "0o" "\\outsidewholerest" -3.13\pt 10.62\pt -3.13\pt 0.50\pt + "1o" "\\outsidehalfrest" -3.13\pt 10.62\pt -0.50\pt 3.13\pt + "2" "\\quartrest" -0.00\pt 5.40\pt 3.75\pt 18.00\pt + "3" "\\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.33\pt + "4" "\\sixteenthrest" -0.00\pt 7.79\pt -0.00\pt 14.33\pt + "5" "\\thirtysecondrest" -0.00\pt 8.78\pt -0.00\pt 19.33\pt + "6" "\\sixtyfourthrest" -0.00\pt 9.41\pt -0.00\pt 24.33\pt + "7" "\\hundredtwentyeighthrest" -0.00\pt 10.47\pt -0.00\pt 29.33\pt + } + "accidentals" = \table { + "1" "\\sharp" -0.00\pt 5.50\pt -7.50\pt 7.50\pt + "0" "\\natural" -0.00\pt 3.33\pt -7.50\pt 7.50\pt + "-1" "\\flat" -0.60\pt 4.00\pt -2.50\pt 10.00\pt + "-2" "\\flatflat" -0.60\pt 7.25\pt -2.50\pt 10.00\pt + "2" "\\sharpsharp" -0.00\pt 5.00\pt -2.50\pt 2.50\pt + } + "dots" = \table { + "dot" "\\dot" -0.00\pt 2.25\pt -1.13\pt 1.13\pt + } + "balls" = \table { + "-1" "\\brevisball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt + "-1l" "\\brevisledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt + "-2" "\\longaball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt + "-2l" "\\longaledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt + "0" "\\wholeball" -0.00\pt 9.90\pt -2.75\pt 2.75\pt + "0l" "\\wholeledger" -2.48\pt 12.38\pt -0.50\pt 0.50\pt + "1" "\\halfball" -0.00\pt 6.89\pt -2.75\pt 2.75\pt + "1l" "\\halfledger" -1.72\pt 8.61\pt -0.50\pt 0.50\pt + "2" "\\quartball" -0.00\pt 6.61\pt -2.75\pt 2.75\pt + "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt + } + "scripts" = \table { + "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt + "dfermata" "\\dfermata" -6.63\pt 6.63\pt -7.25\pt 0.38\pt + "sforzato" "\\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt + "staccato" "\\staccato" -0.75\pt 0.75\pt -0.75\pt 0.75\pt + "ustaccatissimo" "\\ustaccatissimo" -1.00\pt 1.00\pt -0.20\pt 5.00\pt + "dstaccatissimo" "\\dstaccatissimo" -1.00\pt 1.00\pt -5.00\pt 0.20\pt + "tenuto" "\\tenuto" -4.50\pt 4.50\pt -0.30\pt 0.30\pt + "umarcato" "\\umarcato" -2.50\pt 2.50\pt -0.00\pt 5.50\pt + "dmarcato" "\\dmarcato" -2.50\pt 2.50\pt -5.50\pt 0.00\pt + "open" "\\ouvert" -2.00\pt 2.00\pt -2.50\pt 2.50\pt + "stopped" "\\plusstop" -2.75\pt 2.75\pt -2.75\pt 2.75\pt + "upbow" "\\upbow" -3.25\pt 3.25\pt -0.00\pt 10.40\pt + "downbow" "\\downbow" -3.75\pt 3.75\pt -0.00\pt 6.67\pt + "turn" "\\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt + "trill" "\\trill" -0.00\pt 10.00\pt -0.00\pt 11.25\pt + "pedalheel" "\\pedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt + "pedaltoe" "\\pedaltoe" -2.50\pt 2.50\pt -0.00\pt 7.50\pt + } + "flags" = \table { + "u3" "\\eighthflag" -0.25\pt 5.13\pt -15.33\pt 0.25\pt + "u4" "\\sixteenthflag" -0.25\pt 5.13\pt -17.83\pt 0.25\pt + "u5" "\\thirtysecondflag" -0.25\pt 5.13\pt -21.58\pt 0.25\pt + "u6" "\\sixtyfourthflag" -0.25\pt 5.13\pt -26.58\pt 0.25\pt + "d3" "\\deighthflag" -0.25\pt 5.68\pt -0.25\pt 14.58\pt + "d4" "\\dsixteenthflag" -0.25\pt 5.68\pt -0.25\pt 15.33\pt + "d5" "\\dthirtysecondflag" -0.25\pt 5.68\pt -0.25\pt 19.58\pt + "d6" "\\dsixtyfourthflag" -0.25\pt 5.68\pt -0.25\pt 22.08\pt + } + % } % $name diff --git a/init/font-en-tja16.ly b/init/font-en-tja16.ly index 8f64017ecc..1e6b32a344 100644 --- a/init/font-en-tja16.ly +++ b/init/font-en-tja16.ly @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Tue Oct 28 10:54:24 1997 +% on Tue Oct 28 12:14:59 1997 % Do not edit % input from out/font-en-tja16.log % name=\symboltables { @@ -27,10 +27,15 @@ } "balls" = \table { "-1" "\\brevisball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt + "-1l" "\\brevisledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt "-2" "\\longaball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt + "-2l" "\\longaledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt "0" "\\wholeball" -0.00\pt 7.92\pt -2.20\pt 2.20\pt + "0l" "\\wholeledger" -1.98\pt 9.90\pt -0.40\pt 0.40\pt "1" "\\halfball" -0.00\pt 5.51\pt -2.20\pt 2.20\pt + "1l" "\\halfledger" -1.38\pt 6.89\pt -0.40\pt 0.40\pt "2" "\\quartball" -0.00\pt 5.28\pt -2.20\pt 2.20\pt + "2l" "\\quartledger" -1.32\pt 6.61\pt -0.40\pt 0.40\pt } "scripts" = \table { "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt diff --git a/init/font-en-tja20.ly b/init/font-en-tja20.ly index 4819e80321..e96c126c3d 100644 --- a/init/font-en-tja20.ly +++ b/init/font-en-tja20.ly @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Tue Oct 28 10:54:27 1997 +% on Tue Oct 28 12:15:08 1997 % Do not edit % input from out/font-en-tja20.log % name=\symboltables { @@ -27,10 +27,15 @@ } "balls" = \table { "-1" "\\brevisball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt + "-1l" "\\brevisledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt "-2" "\\longaball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt + "-2l" "\\longaledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt "0" "\\wholeball" -0.00\pt 9.90\pt -2.75\pt 2.75\pt + "0l" "\\wholeledger" -2.48\pt 12.38\pt -0.50\pt 0.50\pt "1" "\\halfball" -0.00\pt 6.89\pt -2.75\pt 2.75\pt + "1l" "\\halfledger" -1.72\pt 8.61\pt -0.50\pt 0.50\pt "2" "\\quartball" -0.00\pt 6.61\pt -2.75\pt 2.75\pt + "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt } "scripts" = \table { "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt diff --git a/input/font.ly b/input/font.ly index c37ae7c9e4..20f072e1fc 100644 --- a/input/font.ly +++ b/input/font.ly @@ -54,7 +54,7 @@ TestedFeatures = "This file tests the Feta music-font" \paper_twenty linewidth = 17.5 \cm; gourlay_maxmeasures =5.; - \output "lelie20.tex"; + \output "font20.tex"; } } diff --git a/input/font20.ly b/input/font20.ly new file mode 100644 index 0000000000..a0c2192c45 --- /dev/null +++ b/input/font20.ly @@ -0,0 +1,7 @@ +\header{ +TestedFeatures = "This file is a stub to fool make-website" + "this will display the 20pt version of the proofsheet"; +} + + + diff --git a/lily/VERSION b/lily/VERSION index f3b4ec0000..c445970c56 100644 --- a/lily/VERSION +++ b/lily/VERSION @@ -1,4 +1,4 @@ MAJOR_VERSION = 0 MINOR_VERSION = 1 -PATCH_LEVEL = 26 +PATCH_LEVEL = 27 MY_PATCH_LEVEL = diff --git a/lily/bow.cc b/lily/bow.cc index 34b7eb7794..918d4c503a 100644 --- a/lily/bow.cc +++ b/lily/bow.cc @@ -39,7 +39,6 @@ Bow::brew_molecule_p() const Real nw_f = paper()->note_width (); Real nh_f = paper()->internote_f (); - w+= (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]) * nw_f ; Real round_w = w; // slur lookup rounds the slurwidth . diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index d4f8663c35..d0616359e2 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -31,12 +31,7 @@ struct Lookup { /// round slope to closest TeXslope Atom beam (Real&,Real) const; - /** - pos == 3 : 3 lines above staff (extending below note) - - pos == -3: below staff - */ - Atom streepjes (int type, int pos) const; + Atom streepje (int type) const; Atom vbrace (Real &dy) const; Atom meter (Array) const; diff --git a/lily/include/main.hh b/lily/include/main.hh index 98ed2c920e..7ff4721bba 100644 --- a/lily/include/main.hh +++ b/lily/include/main.hh @@ -20,6 +20,7 @@ String get_version_number_str(); extern Sources* source_l_g; extern bool only_midi; extern int exit_status_i_; +extern bool experimental_features_global_b; extern String default_out_fn; diff --git a/lily/lookup.cc b/lily/lookup.cc index 9b7ec861c4..bf432c3d11 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -145,35 +145,14 @@ Lookup::flag (int j, Direction d) const } Atom -Lookup::streepjes (int type, int i) const +Lookup::streepje (int type) const { - assert (i); + if (type > 2) + type = 2; - int arg; - String idx; - - if (i < 0) - { - idx = "botlines"; - arg = -i; - } - else - { - arg = i; - idx = "toplines"; - } - - // ugh - Real w = ball (type).dim_[X_AXIS].length (); - - Atom ret = (*symtables_)("streepjes")->lookup (idx); - - Array a; - a.push (String (w) + "pt"); - a.push (arg); - ret.tex_ = substitute_args (ret.tex_, a); - - return ret; + Symtable * st = (*symtables_)("balls"); + + return st->lookup (String (type) + 'l'); } Atom diff --git a/lily/main.cc b/lily/main.cc index 0f250ceba1..73e4dc0876 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -20,9 +20,10 @@ #include "debug.hh" #include "my-lily-parser.hh" +static bool version_ignore_b = false; Sources* source_l_g = 0; bool only_midi = false; -bool version_ignore_b_ = false; +bool experimental_features_global_b = false; int exit_status_i_; void destill_inname (String &name_str_r); @@ -31,6 +32,7 @@ Long_option_init theopts[] = { {1, "output", 'o'}, {0, "warranty", 'w'}, {0, "help", 'h'}, + {0, "test", 't'}, {0, "debug", 'd'}, {1, "init", 'i'}, {1, "include", 'I'}, @@ -53,6 +55,7 @@ usage() " -h, --help this help\n" " -w, --warranty show warranty and copyright\n" " -o, --output=FILE set FILE as default output\n" + " -t, --test switch on experimental features\n" " -M, --midi produce midi output only\n" " -V, --ignore-version ignore mudela version\n" "\n" @@ -122,7 +125,7 @@ do_one_file (String init_str, String file_str) source_l_g->set_path (&path); { My_lily_parser parser (source_l_g); - parser.set_version_check (version_ignore_b_); + parser.set_version_check (version_ignore_b); parser.parse_file (init_str, file_str); exit_status_i_ |= parser.error_level_i_; } @@ -155,6 +158,9 @@ main (int argc, char **argv) { switch (opt->shortname) { + case 't': + experimental_features_global_b = true; + break; case 'o': set_default_output (oparser.optional_argument_ch_C_); break; @@ -173,7 +179,7 @@ main (int argc, char **argv) exit (0); break; case 'V': - version_ignore_b_ = true; + version_ignore_b = true; break; case 'd': set_debug (true); diff --git a/lily/note-head.cc b/lily/note-head.cc index 529e28d895..7a728aaa82 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -61,7 +61,7 @@ Note_head::brew_molecule_p() const Real inter_f = p->internote_f (); // ugh - int streepjes_i = abs(position_i_) < staff_size_i_/2 + int streepjes_i = abs (position_i_) < staff_size_i_/2 ? 0 : (abs(position_i_) - staff_size_i_/2) /2; @@ -72,14 +72,18 @@ Note_head::brew_molecule_p() const if (streepjes_i) { int dir = sign (position_i_); + Atom streepje = p->lookup_l ()->streepje (balltype_i_); + + int parity = (position_i_ % 2) ? 1 : 0; - Atom streepje = p->lookup_l()->streepjes (balltype_i_, dir* streepjes_i); - - Molecule sm; - sm.add (streepje); - if (position_i_ % 2) - sm.translate_axis (-inter_f* dir, Y_AXIS); - out->add (sm); + + for (int i=0; i < streepjes_i; i++) + { + Atom s = streepje; + s.translate_axis (-dir * inter_f * (i*2 + parity), + Y_AXIS); + out->add (s); + } } out->translate_axis (inter_f*position_i_, Y_AXIS); diff --git a/lily/p-score.cc b/lily/p-score.cc index 3b5cb72f7e..c2af728860 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -6,6 +6,7 @@ (c) 1996, 1997 Han-Wen Nienhuys */ +#include "main.hh" #include "super-elem.hh" #include "debug.hh" #include "lookup.hh" @@ -207,6 +208,8 @@ Paper_score::tex_output () } tex_out << "\n "<< paper_l_->lookup_l ()->texsetting << "%(Tex id)\n"; + if (experimental_features_global_b) + tex_out << "\\turnOnExperimentalFeatures%\n"; super_elem_l_->output_all (); tex_out << "\n\\EndLilyPondOutput"; outputter_l_ = 0; diff --git a/lily/tex-slur.cc b/lily/tex-slur.cc index 2c36291514..ea365069b2 100644 --- a/lily/tex-slur.cc +++ b/lily/tex-slur.cc @@ -15,6 +15,7 @@ #include "paper-def.hh" #include "string-convert.hh" +#include "main.hh" static char direction_char (Direction y_sign) @@ -148,22 +149,18 @@ Lookup::slur (int dy , Real &dx, Direction dir) const // duh // let's try the embedded stuff - bool embedded_b = true; + bool embedded_b = experimental_features_global_b; if (embedded_b) { // huh, factor 8? - Real fdy = dy*paper_l_->interline_f (); + Real fdy = dy*paper_l_->internote_f (); Real fdx = dx; String ps = "\\embeddedps{\n"; // ugh, how bout " /draw_slur { ... } def " - ps += "0 0 moveto\n"; - ps += String_convert::int_str (fdx/2) + " " - + String_convert::int_str (fdy/2) + " " - + String_convert::int_str (fdx) + " " - + String_convert::int_str (fdy) + " curveto\n"; - ps += "closepath\n"; - ps += "fill\n"; - ps += "}\n"; + ps += String_convert::int_str (fdx) + " " + + String_convert::int_str (fdy) + " " + + String_convert::int_str (dir) + + " drawslur}"; String mf = "\\embeddedmf{\n"; mf += "input feta-sleur;\n"; @@ -175,13 +172,6 @@ Lookup::slur (int dy , Real &dx, Direction dir) const ps += "}\n"; s.tex_ = ps + mf; - s.translate_axis (dx/2, X_AXIS); - // huh, extra translate? - - s.translate_axis (-1.5*paper_l_->note_width (), X_AXIS); - // mmm, does embedded slur always start at y = 0? -// s.translate_axis (-1.5*paper_l_->note_width (), Y_AXIS); - return s; } diff --git a/make/debian/control b/make/debian/control index f3c4618b2e..33aa250500 100644 --- a/make/debian/control +++ b/make/debian/control @@ -8,14 +8,14 @@ Package: lilypond Architecture: any Depends: ${shlibs:Depends} Recommends: tetex-base, musixtex | musixtex-fonts -Description: GNU LilyPond -- A preprocessor to make TeX typeset music. -LilyPond is the GNU Project music typesetter. The program +Description: LilyPond is the GNU Project music typesetter. The program generates visual or auditive output from a music definition file: it can typeset formatted sheet music to a TeX file and play (mechanical) performances to a MIDI file. Features include multiple staffs, meters, clefs, keys, lyrics, versatile input-language, cadenzas, beams, slurs, triplets. + . . Note: LilyPond uses the fonts from MusiXTeX. Please install the package musixtex or musixtex-fonts when you install lilypond. :) diff --git a/make/debian/rules b/make/debian/rules index c27fa6409d..da43f3b815 100644 --- a/make/debian/rules +++ b/make/debian/rules @@ -6,8 +6,8 @@ package=lilypond build: $(checkdir) - ./configure --enable-checking --disable-debugging \ - --enable-printing --prefix=/usr --enable-optimize \ + ./configure --disable-checking --disable-debugging \ + --disable-printing --prefix=/usr --enable-optimise \ --enable-shared make all diff --git a/make/lelievijver.lsm b/make/lelievijver.lsm index 4ddd5608bf..178d919856 100644 --- a/make/lelievijver.lsm +++ b/make/lelievijver.lsm @@ -1,7 +1,7 @@ Begin3 Titel: LilyPond -Versie: 0.1.26. -Inschrijf datum: 27OCT97 +Versie: 0.1.27 +Inschrijf datum: 28OCT97 Beschrijving: LilyPond is de muziek typesetter van het GNU Project. Het programma genereert muziek in zichtbare of hoorbare vorm uit uit een muzikale definitie file: @@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys) jan@digicash.com (Jan Nieuwenhuizen) Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 395k lilypond-0.1.26..tar.gz + 395k lilypond-0.1.27.tar.gz Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/ - 395k lilypond-0.1.26..tar.gz + 395k lilypond-0.1.27.tar.gz Copi"eer politie: GPL End diff --git a/make/lilypond.lsm b/make/lilypond.lsm index 4ebacf5ea9..ea3783a607 100644 --- a/make/lilypond.lsm +++ b/make/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 0.1.26. -Entered-date: 27OCT97 +Version: 0.1.27 +Entered-date: 28OCT97 Description: LilyPond is the GNU Project music typesetter. The program generates visual or auditive output from a music definition file: it can typeset formatted sheet music @@ -14,8 +14,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys) jan@digicash.com (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps - 430k lilypond-0.1.26..tar.gz + 430k lilypond-0.1.27.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/ - 430k lilypond-0.1.26..tar.gz + 430k lilypond-0.1.27.tar.gz Copying-policy: GPL End diff --git a/make/lilypond.spec b/make/lilypond.spec index 7c57813547..256b29664d 100644 --- a/make/lilypond.spec +++ b/make/lilypond.spec @@ -1,10 +1,10 @@ Name: lilypond -Version: 0.1.26. +Version: 0.1.27 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.26..tar.gz -Summary: A preprocessor to make TeX typeset music. +Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.27.tar.gz +Summary: A program for typesetting music. URL: http://www.stack.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys Icon: lelie_icon.gif @@ -19,10 +19,12 @@ MIDI file. Features include multiple staffs, meters, clefs, keys, lyrics, versatile input-language, cadenzas, beams, slurs, triplets. +[you need the musixtex fonts to use LilyPond] + %prep %setup %build -./configure --enable-checking --disable-debugging --enable-printing --prefix=/usr --enable-optimise --enable-shared +./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --enable-optimise --enable-shared make all %install rm -rf $RPM_BUILD_ROOT @@ -31,7 +33,7 @@ make -C Documentation gifs make prefix="$RPM_BUILD_ROOT/usr" install %files %doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README -%doc input/abbrev.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/gallina.ly input/gallina.tex input/gourlay.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc +%doc input/abbrev.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/font20.ly input/gallina.ly input/gallina.tex input/gourlay.ly input/header.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/sleur.ly input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc %doc Documentation/out/lelie_logo.gif /usr/bin/convert-mudela /usr/bin/mudela-book @@ -43,7 +45,7 @@ make prefix="$RPM_BUILD_ROOT/usr" install /usr/man/man1/mudela-book.1 /usr/man/man1/convert-mudela.1 /usr/lib/texmf/texmf/tex/lilypond/ -/usr/lib/texmf/texmf/fonts/source/lilypond +/usr/lib/texmf/texmf/fonts/source/public/lilypond /usr/share/lilypond/ %post diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 2da567e93f..0ac1082b11 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -3,8 +3,8 @@ Version: @TOPLEVEL_VERSION@ Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-@TOPLEVEL_VERSION@.tar.gz -Summary: A preprocessor to make TeX typeset music. +Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz +Summary: A program for typesetting music. URL: http://www.stack.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys Icon: lelie_icon.gif @@ -19,10 +19,12 @@ MIDI file. Features include multiple staffs, meters, clefs, keys, lyrics, versatile input-language, cadenzas, beams, slurs, triplets. +[you need the musixtex fonts to use LilyPond] + %prep %setup %build -./configure --enable-checking --disable-debugging --enable-printing --prefix=/usr --enable-optimise --enable-shared +./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --enable-optimise --enable-shared make all %install rm -rf $RPM_BUILD_ROOT @@ -43,7 +45,7 @@ make prefix="$RPM_BUILD_ROOT/usr" install /usr/man/man1/mudela-book.1 /usr/man/man1/convert-mudela.1 /usr/lib/texmf/texmf/tex/lilypond/ -/usr/lib/texmf/texmf/fonts/source/lilypond +/usr/lib/texmf/texmf/fonts/source/public/lilypond /usr/share/lilypond/ %post diff --git a/mf/Makefile b/mf/Makefile index 64f8dc7264..053730775f 100644 --- a/mf/Makefile +++ b/mf/Makefile @@ -16,7 +16,7 @@ EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO # FONT_FILES = $(wildcard *[0-9].mf) -FET_FILES = $(wildcard font-en-tja*[0-9].mf) +FET_FILES = $(wildcard feta[0-9]*.mf) lyout = $(depth)/init texout = $(depth)/tex @@ -44,12 +44,12 @@ $(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log $(depth)/bin/$(outdir)/mf-to-table --ly $(lyout)/$( no width correction notehead_calc; + whole_notehead_width# := wd#; notehead_draw; fet_endchar; +fet_beginchar("Whole ledger line", "0l", "wholeledger") + draw_ledger(whole_notehead_width#); +fet_endchar; + % half note % Wanske, p.39 fet_beginchar("Half notehead", "1", @@ -168,10 +192,15 @@ fet_beginchar("Half notehead", "1", a_w:=1.12; notehead_calc; + half_notehead_width# := wd#; notehead_draw; fet_endchar; +fet_beginchar("Half ledger", "1l", "halfledger") + draw_ledger(half_notehead_width#); +fet_endchar; + % quarter note % Wanske p.38 fet_beginchar("Quart notehead", "2", "quartball") @@ -196,7 +225,9 @@ fet_beginchar("Quart notehead", "2", "quartball") fet_endchar; - +fet_beginchar("Quart ledger", "2l", "quartledger") + draw_ledger(black_notehead_width#); +fet_endchar; fet_endgroup("balls"); diff --git a/mf/feta-nummer.mf b/mf/feta-nummer.mf index cd24109d02..fb1bb559e5 100644 --- a/mf/feta-nummer.mf +++ b/mf/feta-nummer.mf @@ -2,6 +2,7 @@ % part of LilyPond's pretty-but-neat music font fet_begingroup("nummer") +code := 47; define_pixels(height,thick,norm,thin,hair); foot_top#:=2thin#; @@ -161,10 +162,11 @@ fet_beginchar("Numeral 2", "2", "two") penpos5(norm,0); z5r=(w-thin,.72h); penpos6(thin,90); - z6r=(w/2-thin,h); + z6r=(w/2-thin-hair,h); penlabels(4,5,6); - save t; t=0.90; - fill z1l{dir(beta)}..z4l{dir(15)}..z5r{up}..tension t..z6r{left} + fill z1l{dir(beta)}..z4l{dir(15)}..z5r{up}.. + tension 0.9 .. + z6r{left} ..z6l{right}..z5l{down}..z4r{dir(180+15)} ..{dir(180+beta)}z1r..cycle; draw_flare(z6r,180,90,thin,thick); diff --git a/mf/feta-test16.mf b/mf/feta-test16.mf index 8ae67312f7..c561ed1d72 100644 --- a/mf/feta-test16.mf +++ b/mf/feta-test16.mf @@ -10,7 +10,11 @@ staffsize#:=16pt#; test:=1; % smoked cheese -%test := -1; +% test := -1; + + +% dem piksels. +%test := 1; input feta-generic; diff --git a/mf/feta16.mf b/mf/feta16.mf new file mode 100644 index 0000000000..fa359d51c0 --- /dev/null +++ b/mf/feta16.mf @@ -0,0 +1,18 @@ +% font-en-tja16.mf +% part of LilyPond's pretty-but-neat music font + +% font_identifier:="font-en-tja16"; +% font_size 16pt#; + +input autometric; +fet_beginfont("feta", 16); +staffsize#:=16pt#; +test:=0; + + +input feta-generic; + +fet_endfont("feta"); + +end. + diff --git a/mf/feta20.mf b/mf/feta20.mf new file mode 100644 index 0000000000..b45af8ed34 --- /dev/null +++ b/mf/feta20.mf @@ -0,0 +1,16 @@ +% font-en-tja20.mf +% part of LilyPond's pretty-but-neat music font + +staffsize#:=20pt#; + +input autometric; +fet_beginfont("feta", 20); + +test := 0; + +input feta-generic; + +fet_endfont("feta"); + +end. + diff --git a/mf/font-en-tja16.mf b/mf/font-en-tja16.mf deleted file mode 100644 index 7f6f13f37b..0000000000 --- a/mf/font-en-tja16.mf +++ /dev/null @@ -1,18 +0,0 @@ -% font-en-tja16.mf -% part of LilyPond's pretty-but-neat music font - -% font_identifier:="font-en-tja16"; -% font_size 16pt#; - -input autometric; -fet_beginfont("font-en-tja", 16); -staffsize#:=16pt#; -test:=0; - - -input feta-generic; - -fet_endfont("font-en-tja"); - -end. - diff --git a/mf/font-en-tja20.mf b/mf/font-en-tja20.mf deleted file mode 100644 index 739ed09657..0000000000 --- a/mf/font-en-tja20.mf +++ /dev/null @@ -1,16 +0,0 @@ -% font-en-tja20.mf -% part of LilyPond's pretty-but-neat music font - -staffsize#:=20pt#; - -input autometric; -fet_beginfont("font-en-tja", 20); - -test := 0; - -input feta-generic; - -fet_endfont("font-en-tja"); - -end. - diff --git a/mf/round-pixel-gray.mf b/mf/round-pixel-gray.mf new file mode 100644 index 0000000000..6ffafd49e5 --- /dev/null +++ b/mf/round-pixel-gray.mf @@ -0,0 +1,92 @@ +% Black font for Imagen with proofsheet resolution 75 pixels per inch + +% if mode<>imagen: errmessage "This file is for imagen only"; fi + +font_identifier "BLACKIMAGEN"; +picture pix_picture; pix_wd := pix_ht := 8; +pix_picture := nullpicture; +addto pix_picture contour (fullcircle scaled (8*1.6) shifted (4,4)); + +%pix_picture := unitpixel scaled 4; +% More-or-less general gray font generator +% See Appendix H of The METAFONTbook for how to use it + +forsuffixes m = mag,rep: + if unknown m: m := 1; + elseif (m<1) or (m<>floor m): + errmessage "Sorry, " & str m & " must be a positive integer"; + m := 1; fi endfor + +mg := mag; mag := 1; mode_setup; +if mg>1: hppp := hppp*mg; vppp := vppp*mg; + extra_endchar:= + "if charcode>0:currentpicture:=currentpicture scaled mg;fi" + & extra_endchar; fi; + +if picture pix_picture: rep := 1; + cull pix_picture keeping (1,infinity); +else: for z=(0,2),(1,0),(2,3),(3,1): + fill unitsquare shifted z; endfor + if not boolean lightweight: addto currentpicture also + currentpicture rotated 90 xscaled -1; fi + if unknown scale: scale := max(1,round(pixels_per_inch/300)); fi + pix_wd := pix_ht := 4scale; + if rep>1: picture pix; + currentpicture := currentpicture shifted-(1,1); pix := currentpicture; + for r=1 upto rep-1: addto currentpicture also pix shifted(4r,0); endfor + cullit; pix := currentpicture; + for r=1 upto rep-1: addto currentpicture also pix shifted(0,4r); endfor + unfill unitsquare xscaled 4rep yscaled 2 shifted-(1,1); + unfill unitsquare yscaled 4rep xscaled 2 shifted-(1,1); cullit; fi + picture pix_picture; pix_picture := currentpicture scaled scale; + pix_wd := pix_ht := 4scale*rep; fi + +def # = *72.27/pixels_per_inch enddef; +if unknown dotsize: dotsize := 2.5pix_wd/rep; fi + +beginchar(0,1.2dotsize#,1.2dotsize#,0); +fill fullcircle scaled dotsize scaled mg; endchar; + +numeric a[]; newinternal b,k; +def next_binary = + k := 0; forever: if k>b: a[incr b] := 0; fi + exitif a[k]=0; a[k] := 0; k := k+1; endfor + a[k] := 1 enddef; +def next_special_binary = + if a[0]=1: for k=0 upto b: a[k] := 0; endfor a[incr b] + else: k := 0; forever: exitif a[incr k]=1; endfor + a[k-1] fi := 1 enddef; + +def make_char = + clearit; next_binary; + for k=0 upto b: if a[k]=1: + addto currentpicture also pix_picture shifted(0,-k*pix_ht); fi endfor + charcode := charcode+1; chardp := b*charht; + scantokens extra_endchar; shipout currentpicture enddef; + +charwd := pix_wd#; charht := pix_ht#; chardx := pix_wd*mg; +b := -1; + +if boolean large_pixels: + for k=1 upto 7: make_char; charlist k:k+120; endfor + charcode := 120; b := -1; + addto pix_picture also pix_picture shifted (chardx,0); + charwd := 2charwd; chardx := 2chardx; + for k=1 upto 7: make_char; endfor +else: for k=1 upto 63: make_char; endfor + let next_binary = next_special_binary; + for k=64 upto 120: make_char; endfor + for k=121,122: charcode := k; + addto currentpicture also currentpicture shifted (chardx,0); + charwd := 2charwd; chardx := 2chardx; + scantokens extra_endchar; shipout currentpicture; endfor + charlist 120:121:122; fi + +font_coding_scheme "GFGRAY"; +font_size 8(pix_wd#); +font_normal_space pix_wd#; +font_x_height pix_ht#; +font_quad pix_wd#; +fontdimen 8: if known rulethickness: rulethickness + else: pix_wd#/(2rep) fi; +bye. diff --git a/mf/vette-beams16.mf b/mf/vette-beams16.mf deleted file mode 100644 index 75d3675ba7..0000000000 --- a/mf/vette-beams16.mf +++ /dev/null @@ -1,13 +0,0 @@ -% vette-beams16.mf -% part of LilyPond's pretty-but-neat music font - -% font_identifier:="font-en-tja16"; -% font_size 16pt#; -font_identifier:="vette-beams16"; -font_size 16; -mode_setup; - -staffsize#:=16pt#; -input wat-zie-ik; -end. - diff --git a/mf/vette-beams20.mf b/mf/vette-beams20.mf deleted file mode 100644 index 4efccea3cd..0000000000 --- a/mf/vette-beams20.mf +++ /dev/null @@ -1,14 +0,0 @@ -% vette-beams16.mf -% part of LilyPond's pretty-but-neat music font - -% font_identifier:="font-en-tja16"; -% font_size 16pt#; - -font_identifier:="vette-beams20"; -font_size 20; -mode_setup; - -staffsize#:=20pt#; - -input wat-zie-ik; -end. diff --git a/tex/feta16.tex b/tex/feta16.tex new file mode 100644 index 0000000000..374dd6f6fe --- /dev/null +++ b/tex/feta16.tex @@ -0,0 +1,68 @@ +% generated automatically by mf-to-table.py version 0.4 +% on Wed Oct 29 09:54:00 1997 +% Do not edit +% input from out/feta16.log +% name +% rests +\fetdef\wholerest{0} +\fetdef\halfrest{1} +\fetdef\outsidewholerest{2} +\fetdef\outsidehalfrest{3} +\fetdef\quartrest{4} +\fetdef\eighthrest{5} +\fetdef\sixteenthrest{6} +\fetdef\thirtysecondrest{7} +\fetdef\sixtyfourthrest{8} +\fetdef\hundredtwentyeighthrest{9} + +% accidentals +\fetdef\sharp{10} +\fetdef\natural{11} +\fetdef\flat{12} +\fetdef\flatflat{13} +\fetdef\sharpsharp{14} + +% dots +\fetdef\dot{15} + +% balls +\fetdef\brevisball{16} +\fetdef\brevisledger{17} +\fetdef\longaball{18} +\fetdef\longaledger{19} +\fetdef\wholeball{20} +\fetdef\wholeledger{21} +\fetdef\halfball{22} +\fetdef\halfledger{23} +\fetdef\quartball{24} +\fetdef\quartledger{25} + +% scripts +\fetdef\ufermata{26} +\fetdef\dfermata{27} +\fetdef\sforzatoaccent{28} +\fetdef\staccato{29} +\fetdef\ustaccatissimo{30} +\fetdef\dstaccatissimo{31} +\fetdef\tenuto{32} +\fetdef\umarcato{33} +\fetdef\dmarcato{34} +\fetdef\ouvert{35} +\fetdef\plusstop{36} +\fetdef\upbow{37} +\fetdef\downbow{38} +\fetdef\turn{39} +\fetdef\trill{40} +\fetdef\pedalheel{41} +\fetdef\pedaltoe{42} + +% flags +\fetdef\eighthflag{43} +\fetdef\sixteenthflag{44} +\fetdef\thirtysecondflag{45} +\fetdef\sixtyfourthflag{46} +\fetdef\deighthflag{47} +\fetdef\dsixteenthflag{48} +\fetdef\dthirtysecondflag{49} +\fetdef\dsixtyfourthflag{50} + diff --git a/tex/feta20.tex b/tex/feta20.tex new file mode 100644 index 0000000000..a4649fd93e --- /dev/null +++ b/tex/feta20.tex @@ -0,0 +1,68 @@ +% generated automatically by mf-to-table.py version 0.4 +% on Wed Oct 29 09:54:07 1997 +% Do not edit +% input from out/feta20.log +% name +% rests +\fetdef\wholerest{0} +\fetdef\halfrest{1} +\fetdef\outsidewholerest{2} +\fetdef\outsidehalfrest{3} +\fetdef\quartrest{4} +\fetdef\eighthrest{5} +\fetdef\sixteenthrest{6} +\fetdef\thirtysecondrest{7} +\fetdef\sixtyfourthrest{8} +\fetdef\hundredtwentyeighthrest{9} + +% accidentals +\fetdef\sharp{10} +\fetdef\natural{11} +\fetdef\flat{12} +\fetdef\flatflat{13} +\fetdef\sharpsharp{14} + +% dots +\fetdef\dot{15} + +% balls +\fetdef\brevisball{16} +\fetdef\brevisledger{17} +\fetdef\longaball{18} +\fetdef\longaledger{19} +\fetdef\wholeball{20} +\fetdef\wholeledger{21} +\fetdef\halfball{22} +\fetdef\halfledger{23} +\fetdef\quartball{24} +\fetdef\quartledger{25} + +% scripts +\fetdef\ufermata{26} +\fetdef\dfermata{27} +\fetdef\sforzatoaccent{28} +\fetdef\staccato{29} +\fetdef\ustaccatissimo{30} +\fetdef\dstaccatissimo{31} +\fetdef\tenuto{32} +\fetdef\umarcato{33} +\fetdef\dmarcato{34} +\fetdef\ouvert{35} +\fetdef\plusstop{36} +\fetdef\upbow{37} +\fetdef\downbow{38} +\fetdef\turn{39} +\fetdef\trill{40} +\fetdef\pedalheel{41} +\fetdef\pedaltoe{42} + +% flags +\fetdef\eighthflag{43} +\fetdef\sixteenthflag{44} +\fetdef\thirtysecondflag{45} +\fetdef\sixtyfourthflag{46} +\fetdef\deighthflag{47} +\fetdef\dsixteenthflag{48} +\fetdef\dthirtysecondflag{49} +\fetdef\dsixtyfourthflag{50} + diff --git a/tex/fetdefs.tex b/tex/fetdefs.tex index 3445dcece0..854441bb68 100644 --- a/tex/fetdefs.tex +++ b/tex/fetdefs.tex @@ -2,23 +2,27 @@ % encapsulating tex backend for auto-generated font-en-tja definitions \def\fetsixteendefs{ - \font\fontentja=font-en-tja16 - \font\vetfont=vette-beams16 - \font\fetanummer=feta-nummer8 + \font\fontentja=feta16 + \font\vetfont=feta-beams16 + \font\fetanummer=feta-nummer8 } \def\fettwentydefs{ - \font\fontentja=font-en-tja20 - \font\vetfont=vette-beams20 - \font\fetanummer=feta-nummer10 + \font\fontentja=feta20 + \font\vetfont=feta-beams20 + \font\fetanummer=feta-nummer10 } % \def\fetdef#1#2{\def#1{\fetchar{#2}}} % ugh, linewidth, ugh, tablexx.ly balldims not used! -\def\fetdef#1#2{\def#1{\lower.3884\staffrulethickness\hbox{\fetchar{#2}}}} +\def\fetdef#1#2{% + % what the fuck is this? + \def#1{\lower.3884\staffrulethickness + \hbox{\fetchar{#2}}}} + \def\fetchar#1{\fontentja\char#1} -%\input font-en-tja16 -\input font-en-tja20 +%\input feta16 +\input feta20 \def\beamslope#1#2{{\count0=#2\advance\count0 by#1 \advance\count0by128 @@ -27,54 +31,88 @@ % stacked numbers; overrules def in lilyponddefs % oeps: \meter 12/8; \def\generalmeter#1#2{% - \vbox to 0pt{\vss% - \hbox to0.42\balkheight{\hss\fetanummer\char#1\hss}% - \nointerlineskip% - \hbox to0.42\balkheight{\hss\fetanummer\char#2\hss}% - \vss}} + \vbox to 0pt{\vss% + \hbox to0.42\balkheight{\hss\fetanummer #1\hss}% + \nointerlineskip% + \hbox to0.42\balkheight{\hss\fetanummer #2\hss}% + \vss}} \newcount\embedcount\embedcount=0 \newwrite\checkexists \newwrite\embedfile - \def\inputifexists#1{% - \openin\checkexists #1 - \ifeof\checkexists - \closein\checkexists - \relax - \else - \closein\checkexists - \input #1 - \fi + \openin\checkexists #1 + \ifeof\checkexists + \closein\checkexists + \relax + \else + \closein\checkexists + \input #1 + \fi } \def\embedcountid{feta-embed} \inputifexists{\embedcountid.aux} +% % let's not overwrite -- and be sure to create new \def\storeembedcount{% - \immediate\openout\embedfile=\embedcountid.aux - \immediate\write\embedfile{\embedcount=\the\embedcount} - \immediate\closeout\embedfile + \immediate\openout\embedfile=\embedcountid.aux + \immediate\write\embedfile{\embedcount=\the\embedcount} + \immediate\closeout\embedfile } -\def\EndLilyPondOutput{ - \storeembedcount - \csname bye\endcsname +\def\turnOnExperimentalFeatures{ +% +% yeah. By far not finished yet. +% Don't do this by default. gs takes a long time to start in xdvi +% +\special{ps: /drawslur { + currentpoint /texoriginy exch def + /texoriginx exch def + /dir exch def + /lift 30 def + /desty exch def + /destx exch def + /slurfactor .4 def + destx slurfactor mul + texoriginx add + desty slurfactor mul + texoriginy add + lift dir mul add + destx 1 slurfactor sub mul + texoriginx add + desty 1 slurfactor sub mul + texoriginy add + lift dir mul add + destx + texoriginx add + desty + texoriginy add + curveto + stroke +} def } +} + \def\embeddedps#1{ - \edef\embedid{feta-sleur-\number\embedcount} - \immediate\openout\embedfile=\embedid.eps - \advance\embedcount by 1 - \immediate\write\embedfile{#1} - \immediate\closeout\embedfile - \special{psfile=\embedid.eps} + \special{ps: #1} } \def\embeddedmf#1{ - \edef\embedid{feta-sleur-\number\embedcount} - \immediate\openout\embedfile=\embedid.mf - \global\advance\embedcount by 1 - \immediate\write\embedfile{#1} - \immediate\closeout\embedfile + \edef\embedid{feta-sleur-\number\embedcount} + \immediate\openout\embedfile=\embedid.mf + \global\advance\embedcount by 1 + \immediate\write\embedfile{#1} + \immediate\closeout\embedfile \font\expandafter\embedid\expandafter=\embedid - \hbox{\embedid\char0} + \hbox{\embedid\char0} +} + +\def\nopostscript{\def\embeddedps##1{}} +\def\nometafont{\def\embeddedmf##1{}} + +\nometafont + +\def\EndLilyPondOutput{ + \storeembedcount + \csname bye\endcsname } -\def\embeddedps#1{} -%\def\embeddedmf#1{} + + diff --git a/tex/font-en-tja16.tex b/tex/font-en-tja16.tex index a1b3140a33..4f32c77574 100644 --- a/tex/font-en-tja16.tex +++ b/tex/font-en-tja16.tex @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Tue Oct 28 10:54:24 1997 +% on Tue Oct 28 12:14:59 1997 % Do not edit % input from out/font-en-tja16.log % name @@ -27,37 +27,42 @@ % balls \fetdef\brevisball{16} -\fetdef\longaball{17} -\fetdef\wholeball{18} -\fetdef\halfball{19} -\fetdef\quartball{20} +\fetdef\brevisledger{17} +\fetdef\longaball{18} +\fetdef\longaledger{19} +\fetdef\wholeball{20} +\fetdef\wholeledger{21} +\fetdef\halfball{22} +\fetdef\halfledger{23} +\fetdef\quartball{24} +\fetdef\quartledger{25} % scripts -\fetdef\ufermata{21} -\fetdef\dfermata{22} -\fetdef\sforzatoaccent{23} -\fetdef\staccato{24} -\fetdef\ustaccatissimo{25} -\fetdef\dstaccatissimo{26} -\fetdef\tenuto{27} -\fetdef\umarcato{28} -\fetdef\dmarcato{29} -\fetdef\ouvert{30} -\fetdef\plusstop{31} -\fetdef\upbow{32} -\fetdef\downbow{33} -\fetdef\turn{34} -\fetdef\trill{35} -\fetdef\pedalheel{36} -\fetdef\pedaltoe{37} +\fetdef\ufermata{26} +\fetdef\dfermata{27} +\fetdef\sforzatoaccent{28} +\fetdef\staccato{29} +\fetdef\ustaccatissimo{30} +\fetdef\dstaccatissimo{31} +\fetdef\tenuto{32} +\fetdef\umarcato{33} +\fetdef\dmarcato{34} +\fetdef\ouvert{35} +\fetdef\plusstop{36} +\fetdef\upbow{37} +\fetdef\downbow{38} +\fetdef\turn{39} +\fetdef\trill{40} +\fetdef\pedalheel{41} +\fetdef\pedaltoe{42} % flags -\fetdef\eighthflag{38} -\fetdef\sixteenthflag{39} -\fetdef\thirtysecondflag{40} -\fetdef\sixtyfourthflag{41} -\fetdef\deighthflag{42} -\fetdef\dsixteenthflag{43} -\fetdef\dthirtysecondflag{44} -\fetdef\dsixtyfourthflag{45} +\fetdef\eighthflag{43} +\fetdef\sixteenthflag{44} +\fetdef\thirtysecondflag{45} +\fetdef\sixtyfourthflag{46} +\fetdef\deighthflag{47} +\fetdef\dsixteenthflag{48} +\fetdef\dthirtysecondflag{49} +\fetdef\dsixtyfourthflag{50} diff --git a/tex/font-en-tja20.tex b/tex/font-en-tja20.tex index 66435feb38..3222e2b9bf 100644 --- a/tex/font-en-tja20.tex +++ b/tex/font-en-tja20.tex @@ -1,5 +1,5 @@ % generated automatically by mf-to-table.py version 0.4 -% on Tue Oct 28 10:54:27 1997 +% on Tue Oct 28 12:15:08 1997 % Do not edit % input from out/font-en-tja20.log % name @@ -27,37 +27,42 @@ % balls \fetdef\brevisball{16} -\fetdef\longaball{17} -\fetdef\wholeball{18} -\fetdef\halfball{19} -\fetdef\quartball{20} +\fetdef\brevisledger{17} +\fetdef\longaball{18} +\fetdef\longaledger{19} +\fetdef\wholeball{20} +\fetdef\wholeledger{21} +\fetdef\halfball{22} +\fetdef\halfledger{23} +\fetdef\quartball{24} +\fetdef\quartledger{25} % scripts -\fetdef\ufermata{21} -\fetdef\dfermata{22} -\fetdef\sforzatoaccent{23} -\fetdef\staccato{24} -\fetdef\ustaccatissimo{25} -\fetdef\dstaccatissimo{26} -\fetdef\tenuto{27} -\fetdef\umarcato{28} -\fetdef\dmarcato{29} -\fetdef\ouvert{30} -\fetdef\plusstop{31} -\fetdef\upbow{32} -\fetdef\downbow{33} -\fetdef\turn{34} -\fetdef\trill{35} -\fetdef\pedalheel{36} -\fetdef\pedaltoe{37} +\fetdef\ufermata{26} +\fetdef\dfermata{27} +\fetdef\sforzatoaccent{28} +\fetdef\staccato{29} +\fetdef\ustaccatissimo{30} +\fetdef\dstaccatissimo{31} +\fetdef\tenuto{32} +\fetdef\umarcato{33} +\fetdef\dmarcato{34} +\fetdef\ouvert{35} +\fetdef\plusstop{36} +\fetdef\upbow{37} +\fetdef\downbow{38} +\fetdef\turn{39} +\fetdef\trill{40} +\fetdef\pedalheel{41} +\fetdef\pedaltoe{42} % flags -\fetdef\eighthflag{38} -\fetdef\sixteenthflag{39} -\fetdef\thirtysecondflag{40} -\fetdef\sixtyfourthflag{41} -\fetdef\deighthflag{42} -\fetdef\dsixteenthflag{43} -\fetdef\dthirtysecondflag{44} -\fetdef\dsixtyfourthflag{45} +\fetdef\eighthflag{43} +\fetdef\sixteenthflag{44} +\fetdef\thirtysecondflag{45} +\fetdef\sixtyfourthflag{46} +\fetdef\deighthflag{47} +\fetdef\dsixteenthflag{48} +\fetdef\dthirtysecondflag{49} +\fetdef\dsixtyfourthflag{50}