-27/Oct/97 LilyPond 0.1.26 1
+27/Oct/97 LilyPond 0.1.27 1
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<NO
=over 4
+The following newsgroups all contain material relevant to LilyPond
+
=item news:comp.music.research
=item news:rec.music.compose
[Sound (boring) review of the various hairy rhythmic notations used by
avant-garde composers HWN]
-Gardner Read. ``Music Notation'' (2nd edition). Taplinger Publishing,
-New York.
+Gardner Read. ``Music Notation: a Manual of Modern Practice'' (2nd
+edition). Taplinger Publishing, New York.
[This is as close to the ``standard'' reference work for music
notation issues as one is likely to get. MB]
[Webpages about engraving (designed with finale users in mind) (sic) HWN]
+Richard Rastall. ``The Notation of Western Music: an
+Introduction''. J. M. Dent & Sons London, 1983
+
+[Interesting account of the evolution and origin of common notation
+starting from neumes, and ending with modern innovations HWN]
+
Anthony Donato. Preparing Music Manuscript. Englewood Cliffs:
Prentice-Hall, 1963.
=head2 File formats
-Tablature: http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html
+Howard Wright <Howard.Wright@ed.ac.uk>, 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/,
=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'']
augmenté (intervalle):augmented (interval)::::
bariton:baritone::::
barre de mesure:bar line::::
+:beam:Balk::waardestreep/balk:
barre de reprise:repeat::::
basse:bass::::
blanche:half note::::
-20/Oct/97 LilyPond 0.1.25 1
+20/Oct/97 LilyPond 0.1.27 1
-20/Oct/97 LilyPond 0.1.25 2
+20/Oct/97 LilyPond 0.1.27 2
-20/Oct/97 LilyPond 0.1.25 3
+20/Oct/97 LilyPond 0.1.27 3
-20/Oct/97 LilyPond 0.1.25 4
+20/Oct/97 LilyPond 0.1.27 4
-20/Oct/97 LilyPond 0.1.25 5
+20/Oct/97 LilyPond 0.1.27 5
-20/Oct/97 LilyPond 0.1.25 6
+20/Oct/97 LilyPond 0.1.27 6
+
+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.
grep for TODO and ugh/ugr
* LILYSOURCEDIR
+
+ * documentation
* spurious "Junk beam" warnings
* 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?
- 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
* 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
* pushgroup/popgroup
- * whole head on ledger line
* multi threading?
- 1 thread per element/ 1 thread per line
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.
dnl should cache result.
dnl should look in $prefix first.
+dnl should probably assume TDS
AC_DEFUN(AC_TEX_PREFIX, [
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):
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):
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)
"twinkle",
"collisions",
"font",
+ "font20",
#"scales",
"rhythm",
"multi" );
+#!@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()
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')
--- /dev/null
+% 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
--- /dev/null
+% 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
% 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 {
}
"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
% 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 {
}
"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
\paper_twenty
linewidth = 17.5 \cm;
gourlay_maxmeasures =5.;
- \output "lelie20.tex";
+ \output "font20.tex";
}
}
--- /dev/null
+\header{
+TestedFeatures = "This file is a stub to fool make-website"
+ "this will display the 20pt version of the proofsheet";
+}
+
+
+
MAJOR_VERSION = 0
MINOR_VERSION = 1
-PATCH_LEVEL = 26
+PATCH_LEVEL = 27
MY_PATCH_LEVEL =
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 .
/// 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<Scalar>) const;
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;
}
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<String> 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
#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);
{1, "output", 'o'},
{0, "warranty", 'w'},
{0, "help", 'h'},
+ {0, "test", 't'},
{0, "debug", 'd'},
{1, "init", 'i'},
{1, "include", 'I'},
" -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"
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_;
}
{
switch (opt->shortname)
{
+ case 't':
+ experimental_features_global_b = true;
+ break;
case 'o':
set_default_output (oparser.optional_argument_ch_C_);
break;
exit (0);
break;
case 'V':
- version_ignore_b_ = true;
+ version_ignore_b = true;
break;
case 'd':
set_debug (true);
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;
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);
(c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
*/
+#include "main.hh"
#include "super-elem.hh"
#include "debug.hh"
#include "lookup.hh"
}
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;
#include "paper-def.hh"
#include "string-convert.hh"
+#include "main.hh"
static char
direction_char (Direction y_sign)
// 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";
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;
}
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. :)
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
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:
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
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
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
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 <hanwen@stack.nl>
Icon: lelie_icon.gif
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
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
/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
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 <hanwen@stack.nl>
Icon: lelie_icon.gif
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
/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
#
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
$(depth)/bin/$(outdir)/mf-to-table --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
localinstall:
- $(INSTALL) -d $(MFDIR)/lilypond
- $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/lilypond/
+ $(INSTALL) -d $(MFDIR)/public/lilypond
+ $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
localuninstall:
for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
- -rmdir $(MFDIR)/lilypond/
+ -rmdir $(MFDIR)/public/lilypond/
$(outdir)/mfdeps: $(FONT_FILES)
# do something silly to avoid barfs if python not installed.
- design macro for penstroke with rounded endings
- y-refpoint for rests should be the 4th staffline (gclef: b')
+ - versioning
+ - lo-res fixes.
- more symbols
- * ledgerlines
* stem-notehead attachments.
* clefs
* some scripts:
- normal(1/5staff) bold
- large(3/4staff) bold
- - redo flags in a orderly manner; 128th flags
+ - 128th flags
- include important spacing dims in fetalog
- - lilyrules.mf for different rules (lines) ?
-
- - hack up GS or the mf-gray font to do round pixels
-iso. square pixels. (Printers don't do square pixels.)
+++ /dev/null
-% flags
-%
-
-fet_begingroup("flagst")
-save bot_path;
-path bot_path;
-% Flags pointing down overlap with the notehead (in x-direction), so
-% the down-flag can be bigger
-upflag_width# = .750 black_notehead_width# + stemthickness#/2;
-downflag_width# = .833 black_notehead_width# + stemthickness#/2;
-
-%
-% Flags pointing down cannot overlap with the notehead in y-direction,
-% so they have less slant.
-
-%
-% Because of optical illusion, the utmost flag
-% (bottom for down-pointing, top
-% for up-pointing) should be smaller than the other flags
-%
-
-save hip_thickness, foot_thickness;
-hip_thickness# = 1.3 stemthickness#;
-foot_thickness# = hip_thickness#;
-
-%
-% Inspired by Adobe Sonata and [Wanske]
-% for example, see POSTSCRIPT Language -- program design,
-% page 119, and [Wanske], p 41,42
-%
-
-def draw_flag(expr center, flare,
- dims, hip_depth, foot_wid, hip_thickness, foot_thickness)=
- clearxy;
-
- penpos1(flare, 90);
- penpos2(whatever, 0);
- x2r - x2l = hip_thickness;
- penpos3(foot_thickness, 0) ;
-
- z1r = center;
- z2r = center + (xpart dims, -ypart(dims) * hip_depth);
- z3r = center + (xpart(dims) * foot_wid, -ypart dims);
-
- bot_path := z3r{curl 0} .. z2r{up} .. {up}z1r;
-
- penlabels(1, 2, 3);
- fill z1l{curl 0}
- ..tension 1.1 .. z2l{down} ..
- {curl 0} simple_serif(z3l, z3r, 80) &
- bot_path & z1r -- cycle;
-enddef;
-
-def add_flag(expr yoff, flare, hip_wid_multiplier,
- hip_dep_multiplier,
- intersectpoint, hip_thickness, foot_thickness) =
- begingroup
- save prev_center, prev_xextreme, prev_yextreme;
- save rel_foot, ip, center;
- save prev_hipwid, prev_footdep, prev_hipdep, wid, dep, hip_dep;
- save hip_dep_ratio, foot_wid_ratio;
- pair prev_center, center, foot, prev_xextreme, prev_yextreme;
- pair ip, rel_foot;
-
-
- prev_center = point 2 of bot_path;
- prev_xextreme = point 1 of bot_path;
- prev_yextreme = point 0 of bot_path;
- prev_hipwid = xpart (prev_xextreme - prev_center);
- prev_footdep = -ypart (prev_yextreme - prev_center);
- prev_hipdep = -ypart(prev_xextreme - prev_center);
- ip = point intersectpoint of bot_path;
-
- wid = prev_hipwid * hip_wid_multiplier;
- hip_dep = prev_hipdep * hip_dep_multiplier;
-
- center = prev_center + (0,yoff);
- rel_foot = 1.013 [(wid, hip_dep), ip - center];
- dep = -ypart(rel_foot);
- foot_wid_ratio = xpart(rel_foot ) / wid;
- hip_dep_ratio = hip_dep / dep;
-
- draw_flag(center, flare,
- (wid, dep), hip_dep_ratio, foot_wid_ratio,
- hip_thickness, foot_thickness);
- endgroup
-enddef;
-
-fet_beginchar("8th Flag (up)", "u3", "eighthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
-
- flare# = 1.0 interline#;
- hip_depth_ratio = .72;
- foot_width_ratio = .8;
- hip_width# = upflag_width# - hip_thickness#/2;
-
- foot_depth# = 3 interline#;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- foot_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- foot_depth, foot_thickness);
- draw_flag((stemthickness/2,0), flare,
- (hip_width, foot_depth),
- hip_depth_ratio, foot_width_ratio, hip_thickness, foot_thickness);
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
-fet_endchar;
-
-fet_beginchar("16th Flag (up)", "u4", "sixteenthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
- total_depth# = 3.5 interline#;
- flag_count = 2;
- flare# = .85 interline#;
- flagspace# = .85 interline#;
- hip_depth_ratio = .72 ;
- hip_width# = upflag_width# - hip_thickness#/2;
- flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .8;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .97, 1.00, 1.25, hip_thickness, foot_thickness);
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
-fet_endchar;
-
-
-fet_beginchar("32nd Flag (up)", "u5", "thirtysecondflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
- flag_count = 3;
- total_depth#=4.25 interline#;
- flare# = .85 interline#;
- flagspace# = .87 interline#;
- hip_depth_ratio = .72 ;
- hip_width# = upflag_width# - hip_thickness#/2;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .8;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- 2 flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .97, 1.00, 1.25, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .95, 1.05, 1.25, hip_thickness, foot_thickness);
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
-fet_endchar;
-
-fet_beginchar("64th Flag (up)", "u6", "sixtyfourthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
-
- flag_count = 4;
- flare# = .85 interline#;
- flagspace# = .9 interline#;
- hip_depth_ratio = .72 ;
- hip_width# = upflag_width# - hip_thickness#/2;
- total_depth# = 5.25 interline#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .8;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- (flag_count-1)* flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .97, 1.00, 1.3, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- 1.00, 1.00, 1.25, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .95, 1.05, 1.25, hip_thickness, foot_thickness);
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
-fet_endchar;
-
-fet_beginchar("8th (down)", "d3", "deighthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
-
- flag_count = 1;
- flare# = .99 interline#;
- flagspace# = .9 interline#;
- hip_depth_ratio = .72 ;
- hip_width# = downflag_width# - hip_thickness#/2;
- total_depth# = 2.85 interline#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .8;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- (flag_count-1) *flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
-
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
- y_mirror_char;
-fet_endchar;
-
-fet_beginchar("16th (down)", "d4", "dsixteenthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
-
- flag_count = 2;
- flare# = .8 interline#;
- flagspace# = .9 interline#;
- hip_depth_ratio = .85 ;
- hip_width# = downflag_width# - hip_thickness#/2;
- total_depth# = 3.0 interline#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .95;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- (flag_count-1) *flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .95, 1.00, 1.25, hip_thickness, foot_thickness);
-
-
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
- y_mirror_char;
-fet_endchar;
-
-fet_beginchar("32nd (down)", "d5", "dthirtysecondflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
-
- flag_count = 3;
- flare# = .84 interline#;
- flagspace# = .9 interline#;
- hip_depth_ratio = .85 ;
- hip_width# = downflag_width# - hip_thickness#/2;
- total_depth# = 3.85 interline#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .95;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- (flag_count-1) *flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .97, 1.00, 1.25, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .95, 1.05, 1.25, hip_thickness, foot_thickness);
-
-
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
- y_mirror_char;
-fet_endchar;
-fet_beginchar("64th (down)", "d6", "dsixtyfourthflag")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth, foot_width_ratio;
- save flagspace, total_depth, flag_count;
-
- flag_count = 4;
- flare# = .8 interline#;
- flagspace# = .9 interline#;
- hip_depth_ratio = .85 ;
- hip_width# = downflag_width# - hip_thickness#/2;
- total_depth# = 4.35 interline#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .98;
-
- set_char_box(stemthickness# /2, hip_width#
- + stemthickness#/2,
- total_depth# + foot_thickness#/2, stemthickness#/2)
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace,
- foot_depth, foot_thickness);
-
- draw_flag((stemthickness/2,- (flag_count-1) *flagspace), flare,
- (hip_width, foot_depth),
- hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .97, 1.20, 1.175, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .97, 1.10, 1.175, hip_thickness, foot_thickness);
-
- add_flag(flagspace, flare,
- .9, 1.03, 1.175, hip_thickness, foot_thickness);
-
-
-
- pickup pencircle scaled stemthickness;
- draw (0, 0) .. (0,-2 interline);
- y_mirror_char;
-fet_endchar;
-fet_endgroup("flags");
--- /dev/null
+% 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.
+
--- /dev/null
+% (this was vette-beams16.mf)
+% part of LilyPond's pretty-but-neat music font
+
+%
+%
+
+font_identifier:="feta-beams20";
+font_size 20;
+mode_setup;
+
+staffsize#:=20pt#;
+
+input wat-zie-ik;
+end.
noteheight#:=interline#+ (1 + overdone_heads) *stafflinethickness#;
define_pixels(noteheight);
+brevis_wid# := 2 interline#;
-def draw_brevis =
+def draw_brevis(expr brevwid) =
save beamheight, head_width;
save holeheight, stem_width;
save serif_size, serif_protrude;
- head_width# = 2 interline#;
+ head_width# = brevwid;
holeheight = 3 stafflinethickness;
stem_width = 1.4 stafflinethickness;
addto currentpicture also currentpicture reflectedabout(z4r, z4l);
enddef;
+save uitsteek;
+ uitsteek = .25;
+def draw_ledger(expr wid)=
+ set_char_box(uitsteek * wid, (1+ uitsteek)*wid,
+ ledgerlinethickness#/2,ledgerlinethickness#/2);
+ pickup pencircle scaled ledgerlinethickness;
+ rt x2 = w;
+ lft x1 = -b;
+ y1 = y2 = 0;
+ draw z1 .. z2;
+enddef;
+
fet_beginchar("Brevis notehead", "-1", "brevisball")
- draw_brevis;
+ draw_brevis(brevis_wid#);
+fet_endchar;
+fet_beginchar("Brevis ledger", "-1l", "brevisledger")
+ draw_ledger(brevis_wid#);
fet_endchar;
-
%
% Some sources (eg Musix/OpusTeX think that the appendage should be on
% the right, my only other ref [Willemze], shows an appendage to the left
%
fet_beginchar("Longa notehead", "-2", "longaball");
- draw_brevis;
+ draw_brevis(brevis_wid#);
save theta;
z7 = z5;
z6 - z7 = (-stem_width/2, -interline);
fill z7r .. z6r{z6-z7} .. {z7-z6} z6l -- z7l -- cycle;
penlabels(6,7);
fet_endchar;
+fet_beginchar("Longa ledger", "-2l", "longaledger")
+ draw_ledger(brevis_wid#);
+fet_endchar;
+
% setup user vars
def setup_notehead_vars =
a_w:=1; % no rotate-> 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",
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")
fet_endchar;
-
+fet_beginchar("Quart ledger", "2l", "quartledger")
+ draw_ledger(black_notehead_width#);
+fet_endchar;
fet_endgroup("balls");
% part of LilyPond's pretty-but-neat music font
fet_begingroup("nummer")
+code := 47;
define_pixels(height,thick,norm,thin,hair);
foot_top#:=2thin#;
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);
test:=1;
% smoked cheese
-%test := -1;
+% test := -1;
+
+
+% dem piksels.
+%test := 1;
input feta-generic;
--- /dev/null
+% 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.
+
--- /dev/null
+% 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.
+
+++ /dev/null
-% 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.
-
+++ /dev/null
-% 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.
-
--- /dev/null
+% 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.
+++ /dev/null
-% 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.
-
+++ /dev/null
-% 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.
--- /dev/null
+% 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}
+
--- /dev/null
+% 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}
+
% 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
% 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{}
+
+
% 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
% 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}
% 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
% 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}