]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/slur.cc: Add quant-score to interface. Fixes web build.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 15 Jul 2004 14:33:15 +0000 (14:33 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 15 Jul 2004 14:33:15 +0000 (14:33 +0000)
* python/SConscript:
* python/vim:
* input/mutopia/*SConscript: New file.

* scm/define-grobs.scm (all-grob-descriptions): Use ,Slur::height,
fixes web build.

* make/stepmake.make (scons): re-route to SCONS if user has been
running scons in this tree.

* SConstruct (config_vars): Add CPPDEFINES.
(env): Set checksums type to "content".
(save_config_cache): Do not exit after configuring when using
checksums (the default) instead of timestamps.

31 files changed:
ChangeLog
Documentation/user/SConscript
SConstruct
buildscripts/builder.py
elisp/SConscript
input/SConscript
input/mutopia/E.Satie/SConscript [new file with mode: 0644]
input/mutopia/F.Schubert/SConscript [new file with mode: 0644]
input/mutopia/J.S.Bach/SConscript [new file with mode: 0644]
input/mutopia/R.Schumann/SConscript [new file with mode: 0644]
input/mutopia/SConscript [new file with mode: 0644]
input/mutopia/W.A.Mozart/SConscript [new file with mode: 0644]
input/mutopia/W.A.Mozart/mozart-hrn-3.ly
input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ily [new file with mode: 0644]
input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ly [deleted file]
input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily [new file with mode: 0644]
input/mutopia/W.A.Mozart/mozart-hrn3-defs.ly [deleted file]
input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ily [new file with mode: 0644]
input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ly [deleted file]
input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ily [new file with mode: 0644]
input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly [deleted file]
input/regression/SConscript
input/template/SConscript
input/test/SConscript
input/test/new-slur.ly
lily/SConscript
lily/slur.cc
make/stepmake.make
mf/SConscript
scm/define-grobs.scm
vim/SConscript [new file with mode: 0644]

index 4ca033668e11f50a72ef676710003064daa90bc3..e938d6a8d5a894188902383a124f797f4df7db3f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,28 @@
+2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/slur.cc: Add quant-score to interface.  Fixes web build.
+
+       * python/SConscript:
+       * python/vim:
+       * input/mutopia/*SConscript: New file.
+
+       * input/mutopia/W.A.Mozart/: Use .ily suffix for includes.
+
+       * scm/define-grobs.scm (all-grob-descriptions): Use ,Slur::height,
+       fixes web build.
+
+       * make/stepmake.make (scons): re-route to SCONS if user has been
+       running scons in this tree.
+
+       * SConstruct (config_vars): Add CPPDEFINES.
+       (env): Set checksums type to "content".
+       (save_config_cache): Do not exit after configuring when using
+       checksums (the default) instead of timestamps.
+
 2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * SConstruct: Further development.
-       
+
        * input/test/SConscript: 
        * input/template/SConscript: 
        * input/regression/SConscript: 
index cc9c31808f3622ae9a5033b4291535bc0e32caf6..4edf778bac73b711a627b38b8663bdb73d816743 100644 (file)
@@ -7,7 +7,10 @@ Import ('env')
 telys = env['glob'] (env, '*.tely')
 pngs = env['glob'] (env, '*.png')
 
-env.Depends ('lilypond.texi', env['LILYPOND_BIN'])
+# We need lily and mf to build these.
+env.Depends ('lilypond.texi', ['#/lily', '#/mf'])
+env.Depends ('music-glossary.texi', ['#/lily', '#/mf'])
+
 env.Depends ('lilypond.texi', 'lilypond-internals.texi')
 
 epss = map (env.Png2eps, pngs)
@@ -39,22 +42,24 @@ def file_subst (file_name, find, subst):
                h.close ()
 
 e['usersrc'] = Dir ('.').srcnode ().abspath
+e['userout'] = Dir ('.').abspath
 def url_fixup (target, source, env):
        file_subst (str (target[0]),
                    '../lilypond-internals', 'lilypond-internals/')
-a = ['$MAKEINFO -I$srcdir/Documenation/user -I${SOURCE.dir} --html \
---css-include=$srcdir/Documentation/texinfo.css $__verbose \
---output=${TARGET.dir} $SOURCE',
-     '$MAKEINFO -I$srcdir/Documentation/user -I${SOURCE.dir} --html \
+
+a = ['$MAKEINFO -I$usersrc -I${SOURCE.dir} --html \
+     --css-include=$srcdir/Documentation/texinfo.css $__verbose \
+     --output=${TARGET.dir} $SOURCE',
+     '$MAKEINFO -I$usersrc -I${SOURCE.dir} --html \
      --no-split --no-headers \
-     --css-include=$srcdir/Documentation/../texinfo.css $__verbose \
+     --css-include=$srcdir/Documentation/texinfo.css $__verbose \
      --output=$TARGET $SOURCE',
      url_fixup,
-     'ln -f ${SOURCE.dir}/*.png ${SOURCE.dir}/*.ly ${TARGET.dir}/']
-     
+     'ln -f ${SOURCE.dir}/*.png ${SOURCE.dir}/*.ly ${TARGET.dir}/',]
+
 e.Command ('lilypond/lilypond.html', 'lilypond.texi', a)
 e.Command ('lilypond-internals/lilypond-internals.html',
-            'lilypond-internals.texi', a)
+          'lilypond-internals.texi', a)
 
 #Hmm -- why not just mv ./Documentation/{*,*/*} ./doc :-)
 env.Alias ('doc', texis)
index edb27018491a4bd0d822b0e0cc64faf22b12547e..2a74c24dfe1b815c0604b1f3ceb72e431571b15b 100644 (file)
@@ -41,6 +41,11 @@ Options  (see scons -h)
     scons build=DIR            # clean scrdir build, output below DIR
     scons out=DIR              # write output for alterative config to DIR
 
+Debugging
+    scons --debug=dtree
+    scons --debug=explain
+    scons verbose=1
+
 Optional custom.py
 
 import os
@@ -55,15 +60,20 @@ prefix=os.path.join (os.environ['HOME'], 'usr', 'pkg', 'lilypond')
 
 
 # TODO:
-#  * add missing dirs:
-#     - input/mutopia
-#     - vim
+#  * install doc
+
 #  * more program configure tests (mfont, ...?)
 
+#  * split doc target: doc input examples mutopia?
+
 #  * more fine-grained config.hh -- move lilypondprefix to version.hh?
 #    - config.hh:   changes after system upgrades, affects all files
 #    - version.hh:  prefix, version etc?  affects few
 
+#    - what about GUILE_*_VERSION, seems to be the major culprit,
+#      for config.hh dependency escalation.  Is the lily-guile.hh
+#      workaround necessary at all for GUILE > 1.5?
+
 #  * grep FIXME $(find . -name 'S*t')
 
 
@@ -78,17 +88,6 @@ import shutil
 # duh, we need 0.95.1
 EnsureSConsVersion (0, 95)
 
-# SConscripts are only needed in directories where something needs
-# to be done, building or installing
-subdirs = ['flower', 'lily', 'mf', 'scm', 'ly',
-          'scripts', 'elisp', 'buildscripts', 'po',
-          'Documentation', 'Documentation/user', 'Documentation/topdocs',
-          'Documentation/bibliography',
-          'input', 'input/regression', 'input/test', 'input/template',
-          'cygwin', 'debian',
-          ]
-
-
 usage = r'''Usage:
 scons [KEY=VALUE].. [TARGET|DIR]..
 
@@ -98,12 +97,13 @@ TARGETS: clean, config, doc, dist, install, mf-essential, po-update,
 '''
       
 
-config_cache = 'config.cache'
+config_cache = 'scons.cache'
 
-config_vars = (
+config_vars = [
        'BASH',
-       'CFLAGS',
+       'CCFLAGS',
        'CPPPATH',
+       'CPPDEFINES',
        'CXXFLAGS',
        'DEFINES',
        'LIBS',
@@ -111,7 +111,7 @@ config_vars = (
        'METAFONT',
        'PERL',
        'PYTHON',
-       )
+       ]
 
 # Put your favourite stuff in custom.py
 opts = Options ([config_cache, 'custom.py'], ARGUMENTS)
@@ -152,13 +152,13 @@ for key in ['LD_LIBRARY_PATH', 'GUILE_LOAD_PATH', 'PKG_CONFIG_PATH']:
 
 env = Environment (
        ENV = ENV,
-
+       
        BASH = '/bin/bash',
-       MAKEINFO = 'LANG= makeinfo',
        PERL = '/usr/bin/perl',
        PYTHON = '/usr/bin/python',
        SH = '/bin/sh',
-       
+
+       MAKEINFO = 'LANG= makeinfo',
        ABC2LY_PY = srcdir + '/scripts/abc2ly.py',
        LILYPOND_BOOK = srcdir + '/scripts/lilypond-book.py',
        LILYPOND_BOOK_FLAGS = '',
@@ -170,21 +170,25 @@ env = Environment (
                                         'usr/pkg/gnome/lib'),
                           os.path.join (os.environ['HOME'],
                                         'usr/pkg/pango/lib')],
+       GZIP='-9v',
        MFMODE = 'ljfour',
        TEXINFO_PAPERSIZE_OPTION = '-t @afourpaper',
        TOPLEVEL_VERSION = version,
        )
 
-Help (usage + opts.GenerateHelpText (env))
-
 # Add all config_vars to opts, so that they will be read and saved
 # together with the other configure options.
 map (lambda x: opts.AddOptions ((x,)), config_vars)
+
+Help (usage + opts.GenerateHelpText (env))
+
 opts.Update (env)
 
-env['checksums'] = 1
+# Using content checksums prevents rebuilds after [re]configure if
+# config.hh has not changed.
 if env['checksums']:
        SetOption ('max_drift', 0)
+       TargetSignatures ("content")
 
 absbuild = Dir (env['build']).abspath
 outdir = os.path.join (Dir (env['build']).abspath, env['out'])
@@ -220,16 +224,17 @@ env.Append (
        )
 
 if env['debugging']:
-       env.Append (CFLAGS = '-g')
-       env.Append (CXXFLAGS = '-g')
+       env.Append (CCFLAGS = ['-g', '-pipe'])
 if env['optimising']:
-       env.Append (CFLAGS = '-O2')
-       env.Append (CXXFLAGS = ['-O2', '-DSTRING_UTILS_INLINED'])
+       env.Append (CCFLAGS = '-O2')
+       env.Append (CXXFLAGS = ['-DSTRING_UTILS_INLINED'])
 if env['warnings']:
-       env.Append (CFLAGS = ['-W', '-Wall'])
-       # CXXFLAGS = $CFLAGS ...
-       env.Append (CXXFLAGS = ['-W', '-Wall', '-Wconversion'])
+       env.Append (CCFLAGS = ['-W', '-Wall'])
+       env.Append (CXXFLAGS = ['-Wconversion'])
+
+# ugr,huh?
 env.Append (LINKFLAGS = ['-Wl,--export-dynamic'])
+
 if env['verbose']:
        env['__verbose'] = ' --verbose'
        env['set__x'] = 'set -x;'
@@ -262,19 +267,27 @@ if 'realclean' in COMMAND_LINE_TARGETS:
        if os.path.exists (config_cache):
                os.unlink (config_cache)
        Exit (s)
-       
-# Without target arguments, build lily only
-if not COMMAND_LINE_TARGETS:
-       env.Default ('lily')
-env.Alias ('all', '.')
+
+# Declare SConscript phonies 
+env.Alias ('minimal', config_cache)
+env.Alias ('mf-essential', config_cache)
+
+env.Alias ('minimal', ['lily', 'mf-essential'])
+env.Alias ('all', ['minimal', 'mf', '.'])
+# Do we want the doc/web separation?
 env.Alias ('doc',
           ['Documentation',
            'Documentation/user',
-           'Documentation/topdocs'])
+           'Documentation/topdocs',
+           'Documentation/bibliography',
+           'input'])
 
-env.Depends ('doc', ['lily', 'mf'])
-env.Depends ('input', ['lily', 'mf'])
+# Without target arguments, do minimal build
+if not COMMAND_LINE_TARGETS:
+       env.Default (['minimal'])
 
+# GNU Make rerouting compat:
+env.Alias ('web', 'doc')
 
 def list_sort (lst):
        sorted = lst
@@ -306,6 +319,19 @@ def configure (target, source, env):
                        lst.append ((description, package, minimal, program,
                                     string.join (actual, '.')))
 
+       for i in ['bash', 'perl', 'python', 'sh']:
+               sys.stdout.write ('Checking for %s... ' % i)
+               c = WhereIs (i)
+               key = string.upper (i)
+               if c:
+                       env[key] = c
+                       sys.stdout.write (c)
+               else:
+                       sys.stdout.write ('not found: %s (using: %s)' \
+                                         % (c, env[key]))
+                       # Hmm? abort?
+               sys.stdout.write ('\n')
+
        required = []
        test_program (required, 'gcc', '2.8', 'GNU C compiler', 'gcc')
        test_program (required, 'g++', '3.0.5', 'GNU C++ compiler', 'g++')
@@ -347,8 +373,8 @@ def configure (target, source, env):
                                                : CheckYYCurrentBuffer })
 
        defines = {
-          'DIRSEP' : "'/'",
-          'PATHSEP' : "':'",
+          'DIRSEP' : "'%s'" % os.sep,
+          'PATHSEP' : "'%s'" % os.pathsep,
           'TOPLEVEL_VERSION' : '"' + version + '"',
           'PACKAGE': '"' + package.name + '"',
           'DATADIR' : '"' + sharedir + '"',
@@ -456,25 +482,17 @@ def uniquify (lst):
                        n -= 1
        return lst
 
+def uniquify_config_vars (env):
+       for i in config_vars:
+               if env.has_key (i) and type (env[i]) == type ([]):
+                       env[i] = uniquify (env[i])
 
 def save_config_cache (env):
        ## FIXME: Is this smart, using option cache for saving
        ## config.cache?  I cannot seem to find the official method.
-       for i in config_vars:
-               if env.has_key (i) and type (env[i]) == type ([]):
-                       env[i] = uniquify (env[i])
+       uniquify_config_vars (env)
        opts.Save (config_cache, env)
 
-       ## FIXME: Something changes in the ENVironment that triggers
-       ## rebuild of everything if we continue after configuring.
-       ## Maybe there's a variable missing from config_vars?
-               
-       ## How to print and debug the reasons scons has for rebuilding
-       ## a target (make --debug)?
-
-       ## heet van de naald:
-       ## - Add a --debug=explain option that reports the reason(s) why SCons
-
        if 'config' in COMMAND_LINE_TARGETS:
                sys.stdout.write ('\n')
                sys.stdout.write ('LilyPond configured')
@@ -484,7 +502,11 @@ def save_config_cache (env):
                sys.stdout.write ('    scons [TARGET|DIR]...')
                sys.stdout.write ('\n')
                Exit (0)
-       elif 1: #not env['checksums']:
+       elif not env['checksums']:
+               # When using timestams, config.hh is NEW.  The next
+               # build triggers recompilation of everything.  Exiting
+               # here makes SCons use the actual timestamp for config.hh
+               # and prevents recompiling everything the next run.
                command = sys.argv[0] + ' ' + string.join (COMMAND_LINE_TARGETS)
                sys.stdout.write ('Running %s ... ' % command)
                sys.stdout.write ('\n')
@@ -502,6 +524,9 @@ if not os.path.exists (config_cache) \
        > os.stat (config_cache)[stat.ST_MTIME]):
        env = configure (None, None, env)
        save_config_cache (env)
+elif env['checksums']:
+       # just save everything
+       save_config_cache (env)
 
 env.Command (version_hh, '#/VERSION',
             '$PYTHON ./stepmake/bin/make-version.py VERSION > $TARGET')
@@ -513,7 +538,8 @@ env.Append (
        LILYPONDPREFIX = os.path.join (run_prefix, 'share/lilypond'),
 
        LIBPATH = [os.path.join (absbuild, 'flower', env['out']),],
-       CPPPATH = [outdir, '#',],
+       ##CPPPATH = [outdir, '#',], # do not read auto*'s header
+       CPPPATH = [outdir, ],
        LILYPOND_BIN = os.path.join (absbuild, 'lily', env['out'],
                                     'lilypond-bin'),
        LILYPOND_BOOK_PATH = ['.', '#/input', '#/input/regression',
@@ -621,8 +647,16 @@ def cvs_files (dir):
        files = map (lambda x: x[1:x[1:].index ('/')+1], file_entries)
        return map (lambda x: os.path.join (dir, x), files)
 
-#subdirs = reduce (lambda x, y: x + y, cvs_dirs ('.'))
-#print `subdirs`
+def flatten (tree, lst):
+       if type (tree) == type ([]):
+               for i in tree:
+                       if type (i) == type ([]):
+                               flatten (i, lst)
+                       else:
+                               lst.append (i)
+       return lst
+
+subdirs = flatten (cvs_dirs ('.'), [])
 readme_files = ['AUTHORS', 'README', 'INSTALL', 'NEWS']
 foo = map (lambda x: env.TXT (x + '.txt',
                              os.path.join ('Documentation/topdocs', x)),
@@ -653,12 +687,40 @@ patch = env.PATCH (patch_name, tar_ball)
 env.Depends (patch_name, dist_ball)
 env.Alias ('release', patch)
 
+#### web
+web_base = os.path.join (outdir, 'web')
+web_ball = os.path.join (web_base, '.tar.gz')
+env['footify'] = 'MAILADDRESS=bug-lilypond@gnu.org $PYTHON stepmake/bin/add-html-footer.py --name=lilypond --version=$version'
+env['web_ext'] = ['.html', '.ly', '.midi', '.pdf', '.png', '.ps.gz', '.txt',]
+
+# compatible make heritits
+# fixme: generate in $outdir is cwd/builddir
+env.Command (web_ball, 'doc',
+            ['$PYTHON buildscripts/mutopia-index.py -o examples.html ./',
+             'cd $absbuild && $footify $$ (find . -name "*.html" -print)',
+             # uhg?
+             'cd $absbuild && rm -f $$(find . -name "*.html~" -print)',
+             'cd $absbuild && find Documentation input \
+             -path foo $web_path -false \
+             > $outdir/weblist',
+             '''echo '<META HTTP-EQUIV="refresh" content="0;URL=Documentation/out-www/index.html">' > $absbuild/index.html''',
+             '''echo '<html><body>Redirecting to the documentation index...</body></html>' >> $absbuild/index.html''',
+             # UGHR?  all .html cruft in cwd goes into the web ball?
+             'cd $absbuild && ls *.html >> $outdir/weblist',
+             'cat $outdir/weblist | (cd $absbuild; \
+             GZIP=-9v tar -czf $web_ball  -T -)',])
+env.Alias ('web', web_ball)
+
+#### tags
 env.Append (
        ETAGSFLAGS = ["""--regex='{c++}/^LY_DEFINE *(\([^,]+\)/\1/'""",
                      """--regex='{c++}/^LY_DEFINE *([^"]*"\([^"]+\)"/\1/'"""])
 # filter-out some files?
 env.Command ('TAGS', src_files, 'etags $ETAGSFLAGS $SOURCES')
 
+
+# Note: SConscripts are only needed in directories where something needs
+# to be done, building or installing
 for d in subdirs:
        if os.path.exists (os.path.join (d, 'SConscript')):
                b = os.path.join (env['build'], d, env['out'])
@@ -667,3 +729,4 @@ for d in subdirs:
                if os.path.abspath (b) != os.path.abspath (d):
                        env.BuildDir (b, d, duplicate = 0)
                        SConscript (os.path.join (b, 'SConscript'))
+
index 876eb580d414d6cffeabc6aa95e955de3b96f3d9..229ed1c344d8ffc1f019f145e5ef7f8a0fe693b9 100644 (file)
@@ -16,6 +16,8 @@ def join_path (path, infix=os.pathsep, prefix = ''):
                return x
        return string.join (map (lambda x: prefix + dir (x), path), infix)
 
+env['join_path'] = join_path
+
 env['MAKEINFO_INCLUDES'] = join_path (env['MAKEINFO_PATH'], '', ' -I')
 a = '$MAKEINFO $__verbose $MAKEINFO_INCLUDES --no-split --no-headers \
 --output=$TARGET $SOURCE'
@@ -89,9 +91,9 @@ def add_ps_target (target, source, env):
        return (target + [base + '.ps'], source)
 
 a = '${set__x}LILYPONDPREFIX=$LILYPONDPREFIX \
-$PYTHON $LILYPOND_PY${__verbose}\
+$PYTHON $LILYPOND_PY${__verbose} \
 --include=${TARGET.dir} \
---output=${TARGET.base}  $SOURCE'
+--output=${TARGET.base} $SOURCE'
 lilypond = Builder (action = a, suffix = '.pdf', src_suffix = '.ly')
 ##                 emitter = add_ps_target)
 env.Append (BUILDERS = {'LilyPond': lilypond})
@@ -240,3 +242,38 @@ a = '$PYTHON $srcdir/buildscripts/lys-to-tely.py \
 --name=${TARGET.base} --title="$TITLE" $SOURCES'
 LYS2TELY = Builder (action = a, suffix = '.tely', src_suffix = '.ly')
 env.Append (BUILDERS = {'LYS2TELY': LYS2TELY})
+
+
+def mutopia (ly = None, abc = None):
+       if not abc:
+               abc = env['glob'] (env, '*.abc')
+       if not ly:
+               ly = env['glob'] (env, '*.ly') + map (env.ABC, abc)
+       pdf = map (env.LilyPond, ly)
+       # We need lily and mf to build these.
+       env.Depends (pdf, ['#/lily', '#/mf'])
+       env.Alias ('doc', pdf)
+
+env['mutopia'] = mutopia
+
+
+def collate (title = 'collated files'):
+       ly = env['glob'] (env, '*.ly')
+       e = env.Copy (
+               TITLE = title,
+               LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''',
+                                                                                                           __verbose = ' --verbose',
+                                                                                                           )
+       #               
+       tely = e.LYS2TELY ('collated-files', ly)
+       texi = e.TEXI (tely)
+       # We need lily and mf to build these.
+       env.Depends (texi, ['#/lily', '#/mf'])
+       dvi = e.Texi2dvi (texi)
+       pdf = e.Dvi2pdf (dvi)
+       html = e.HTML (texi)
+
+       env.Alias ('doc', pdf)
+       env.Alias ('doc', html)
+
+env['collate'] = collate
index 4587ff100f84503a25736fc48bfcb3c7f6c757b0..665e871af6408390089800b2d10fea85e6592ff2 100644 (file)
@@ -1,15 +1,16 @@
 # -*-python-*-
 
-import os
-
 Import ('env')
-sources = env['src_glob'] (env, '*.el') + ['lilypond-words']
-#gen_files = map (lambda x: os.path.splitext (x)[0], sources)
-#gens = map (env.AT, sources)
+sources = env['src_glob'] (env, '*.el') + ['lilypond-words.el']
 
 e = env.Copy ()
 a = '$PYTHON $srcdir/buildscripts/lilypond-words.py --el --dir=${TARGET.dir}'
-e.Command ('lilypond-words.el', '#/lily/my-lily-lexer.cc', a)
+e.Command ('lilypond-words.el',
+          ['#/lily/my-lily-lexer.cc',
+           '#/buildscripts/lilypond-words.py',
+           '#/scm/new-markup.scm',
+           '#/ly/engraver-init.ly',],
+          a)
 
 dir = env['sharedir_package_version'] + '/elisp'
 env.Install (dir, sources)
index 39e024c25bb4957de8ce049424e4bb45f8642778..3676edb05021071e739a01e5cef9bbcd4ee43687 100644 (file)
@@ -1,7 +1,4 @@
 # -*-python-*-
 
 Import ('env')
-abcs = env['glob'] (env, '*.abc')
-lys = env['glob'] (env, '*.ly') + map (env.ABC, abcs)
-pdfs = map (env.LilyPond, lys)
-env.Alias ('doc', pdfs)
+env['mutopia'] ()
diff --git a/input/mutopia/E.Satie/SConscript b/input/mutopia/E.Satie/SConscript
new file mode 100644 (file)
index 0000000..3676edb
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] ()
diff --git a/input/mutopia/F.Schubert/SConscript b/input/mutopia/F.Schubert/SConscript
new file mode 100644 (file)
index 0000000..3676edb
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] ()
diff --git a/input/mutopia/J.S.Bach/SConscript b/input/mutopia/J.S.Bach/SConscript
new file mode 100644 (file)
index 0000000..3676edb
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] ()
diff --git a/input/mutopia/R.Schumann/SConscript b/input/mutopia/R.Schumann/SConscript
new file mode 100644 (file)
index 0000000..3676edb
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] ()
diff --git a/input/mutopia/SConscript b/input/mutopia/SConscript
new file mode 100644 (file)
index 0000000..3676edb
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] ()
diff --git a/input/mutopia/W.A.Mozart/SConscript b/input/mutopia/W.A.Mozart/SConscript
new file mode 100644 (file)
index 0000000..dcfd134
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env')
+env['mutopia'] (ly = ['mozart-hrn-3'])
index 02a3dafdf08558de1cb951d22e55752bd73e12b2..aa670c656421156f54997b4a8e5e805e3070d53f 100644 (file)
@@ -46,10 +46,10 @@ virtuoso that taught in Geneva.
 
 \version "2.3.4"
 
-\include "mozart-hrn3-defs.ly"
-\include "mozart-hrn3-allegro.ly"
-\include "mozart-hrn3-romanze.ly"
-\include "mozart-hrn3-rondo.ly"
+\include "mozart-hrn3-defs.ily"
+\include "mozart-hrn3-allegro.ily"
+\include "mozart-hrn3-romanze.ily"
+\include "mozart-hrn3-rondo.ily"
 
 
 
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ily b/input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ily
new file mode 100644 (file)
index 0000000..d6c47d5
--- /dev/null
@@ -0,0 +1,195 @@
+\version "2.3.4"
+\include  "mozart-hrn3-defs.ily"
+
+allegro =
+       
+       \relative c'
+{
+       \time 4/4
+       \key c \major
+       \partial 4
+       r4 
+       |
+       R1*4
+       c'2^"Tutti" g
+       c, r
+       R1*1
+       r8 g' g g  g g e c
+       g'4 g, r2
+       R1*18
+       r2 r4^"Solo" g'4 |
+       \mark "A"
+       e'4. ( c8)  f[ (d c  b) ]
+        b[( c)] g4 r8  g[ c e]
+       g2.   g16[( f e  f)]
+       dis4 ( e4) r8  c8[-. c-. c-.]
+       c4.(  d16[ e]  f4  e)
+       a,( d g, c)
+       d-. d-. \grace {
+  \override Stem  #'stroke-style = #"grace"
+   e16( 
+  \revert Stem #'stroke-style }
+ d8.[) c16 d8. e16]
+       c4 r r2
+       R1*3
+       c,2 ~  c8[ e g c]
+        c[  b ] b4 r2
+        c,8[ ( e) g c]  e[( g) e c]
+        c[( b)] b4 r2
+       c4.( g8 e'4. c8)
+        g'[( d) ] d4 r4 d
+        d8[ ( c)] c4.(  d16[ e]  d8[  c)]
+        c8[(\trill  b)] b4 r2 |
+       d2( ~   d8[ e16 d]  c8[  b)] |
+        b[( a)] a4 r8  a[ a a]
+       a4( cis e  g)
+       \grace {
+  \override Stem  #'stroke-style = #"grace"
+   \longgrace g16( \endlonggrace 
+  \revert Stem #'stroke-style }
+
+        fis8[)( e16  d)] d4-. r2 | 
+       \mark "B"
+       R1*3
+       r2 r4  d8[(_\markup { \italic \bold "con espressione" } b) ]
+        a[(  g) d'(  b)]  a[(  g) e'(  c) ]
+        b8[(  a)] a4 r4  a8[ a]
+        a[( \< b c cis\!\> ]  d4  c\!)
+        ais8[( b)] r8 \cresc b  b[( c)] r c
+        cis[ ( d)] r4 r2
+       \endcresc g,1\f ~ g2 ~  g8[ a16 b]  c[( d) e c]
+       %% 64
+       f4-. d-. b-. g-.
+       R1
+
+       c,2\p e4 g c \cresc e g4. e8 |
+       \endcresc d4.\f  e16[ fis]  g[ ( fis) e d]  c[( b) a g]
+
+       << a1(\trill
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    g16[ a] 
+  \revert Stem #'stroke-style }
+ } >>
+       \mark "C"
+        g4) r r2
+       R1*15
+       \mark "D"
+       bes2\mf d4 f
+       g,2~  g8[ g' es c]|
+       bes4(  a4.)  c8[( d  es)]
+       cis4( d) r8  bes[ (c  d)]
+       es2 ( d4) r
+       es2 ( d4) r
+        c8[( g' es  c)] bes4( c)
+       c4.( cis8  d4) r
+       R1*2
+       es1~es1|
+       e!
+       d
+       c
+       c,
+       e'
+       e,
+       c'2  b8[( a gis  a)]
+        gis8[ e gis b ] e4 r |
+       r8  e,[ a c] dis4 r
+       r8  e,[ a c] dis4 r
+       r8  e,[ g b] e4 r
+       r8  fis,[ b dis] fis4 r
+       r8  gis,[ b d] f4 r
+       r8  g,[ b d_\ritenuto ] f4 r
+       \mark  "E"
+       R1*8
+       r2 r8  g,[ g g]
+       e'4.( c8)  f[( d c  b)]
+        b[( c)] g4 r8  g[ c e] |
+       g2.   g16[( f e  f)]
+       dis4( e) r8  c[-. c-. c-.]
+       c4.(  d16[ e] f4  e)
+       a, ( d g,  c)
+       d d 
+           \grace {
+  \override Stem   #'stroke-style = #"grace"
+   e8( 
+  \revert Stem #'stroke-style }
+
+          d8.[) c16 d8. e16] 
+       c4 r r2
+       \mark "F"
+       R1*3
+       c,2~ c8[ e g c]
+        c8[( b)] b4 r2
+        c,8[ e g c ]  e[ ( g) e c]
+        c[( b)] b4 r2
+       c2 (bes  a)  a8[(b c  cis)]
+       d2( ~  d8[ e16 d] \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace d16( \endlonggrace 
+  \revert Stem #'stroke-style }
+ c8[) b16  c)]
+       \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace c16 \endlonggrace 
+  \revert Stem #'stroke-style }
+ b8[( a16  g)] g4 r2 |
+       R1*3
+       r2 r4  g'8[( e)]
+       \mark "G"
+        d[( c) g'( e)]  d[( c) a'( f)]
+        e[( d)] d4 r  d8[ d]
+       d4(~  d16[ e d  e)]  g8[( f) e d] |
+       c4 r r2
+       R1
+       c1 ~
+       c |
+        c8[-. c-.] r c-.  cis[( d)] r\cresc d-. |
+        dis[( e)] r e-.  e[( f)] r f-. |
+       g4-.\f\endcresc  e-. c-. bes-. |
+       g-.\ff e-. c-. r |
+       a'2 ~  a8[_""_\markup { \bold \italic "sempre " \dynamic "f" }  b16 c]  d[( e d  e)]
+
+       
+       f4. ( d8)  f8[ ( d) f d]
+        c[ (e]  g2) \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace f16(  \endlonggrace 
+  \revert Stem #'stroke-style }
+  e8[)( d16  c)]
+
+       << d1\trill (
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    c16[ d] 
+  \revert Stem #'stroke-style }
+ } >>
+       
+        c4) r r2
+       R1 |
+       \mark "H"
+       \times 2/3 {  c8[ b a ] } \times 2/3 {  g[ a b] }
+         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] } |
+       \times 2/3 {  c[ b a ] } \times 2/3 {  g[ a b] }
+         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] }|
+       c4 \times 2/3 {  r8  g'[( e)]} c4 \times 2/3 {  r8  e[ ( c)]} |
+       g4 \times 2/3 {  r8  c8[( g)] } \times 2/3 {  e[ ( g) e-. ] } \times 2/3 {  c[ ( e) c-.] }|
+       g4 r8 g'\f  a[ b c d]|
+
+       << d1(\trill
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    c16[ d] 
+  \revert Stem #'stroke-style }
+ }  >>
+        c4) r r2
+       R1*3
+
+       c4.^\fermata_"Cadenza ad lib." ( d8) d4.\trill^\fermata (  c16[  d)] 
+       c4 r r2
+       R1*8
+       r4  c8.[^"tutti"\f c16] c4 c
+       c  c,8.[ c16] c4 c|
+       c2 r2 \bar "|."
+       
+}
+
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ly b/input/mutopia/W.A.Mozart/mozart-hrn3-allegro.ly
deleted file mode 100644 (file)
index a1dbdcf..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-\version "2.3.4"
-\include  "mozart-hrn3-defs.ly"
-
-allegro =
-       
-       \relative c'
-{
-       \time 4/4
-       \key c \major
-       \partial 4
-       r4 
-       |
-       R1*4
-       c'2^"Tutti" g
-       c, r
-       R1*1
-       r8 g' g g  g g e c
-       g'4 g, r2
-       R1*18
-       r2 r4^"Solo" g'4 |
-       \mark "A"
-       e'4. ( c8)  f[ (d c  b) ]
-        b[( c)] g4 r8  g[ c e]
-       g2.   g16[( f e  f)]
-       dis4 ( e4) r8  c8[-. c-. c-.]
-       c4.(  d16[ e]  f4  e)
-       a,( d g, c)
-       d-. d-. \grace {
-  \override Stem  #'stroke-style = #"grace"
-   e16( 
-  \revert Stem #'stroke-style }
- d8.[) c16 d8. e16]
-       c4 r r2
-       R1*3
-       c,2 ~  c8[ e g c]
-        c[  b ] b4 r2
-        c,8[ ( e) g c]  e[( g) e c]
-        c[( b)] b4 r2
-       c4.( g8 e'4. c8)
-        g'[( d) ] d4 r4 d
-        d8[ ( c)] c4.(  d16[ e]  d8[  c)]
-        c8[(\trill  b)] b4 r2 |
-       d2( ~   d8[ e16 d]  c8[  b)] |
-        b[( a)] a4 r8  a[ a a]
-       a4( cis e  g)
-       \grace {
-  \override Stem  #'stroke-style = #"grace"
-   \longgrace g16( \endlonggrace 
-  \revert Stem #'stroke-style }
-
-        fis8[)( e16  d)] d4-. r2 | 
-       \mark "B"
-       R1*3
-       r2 r4  d8[(_\markup { \italic \bold "con espressione" } b) ]
-        a[(  g) d'(  b)]  a[(  g) e'(  c) ]
-        b8[(  a)] a4 r4  a8[ a]
-        a[( \< b c cis\!\> ]  d4  c\!)
-        ais8[( b)] r8 \cresc b  b[( c)] r c
-        cis[ ( d)] r4 r2
-       \endcresc g,1\f ~ g2 ~  g8[ a16 b]  c[( d) e c]
-       %% 64
-       f4-. d-. b-. g-.
-       R1
-
-       c,2\p e4 g c \cresc e g4. e8 |
-       \endcresc d4.\f  e16[ fis]  g[ ( fis) e d]  c[( b) a g]
-
-       << a1(\trill
-         { s2 \grace {
-  \override Stem   #'stroke-style = #"grace"
-    g16[ a] 
-  \revert Stem #'stroke-style }
- } >>
-       \mark "C"
-        g4) r r2
-       R1*15
-       \mark "D"
-       bes2\mf d4 f
-       g,2~  g8[ g' es c]|
-       bes4(  a4.)  c8[( d  es)]
-       cis4( d) r8  bes[ (c  d)]
-       es2 ( d4) r
-       es2 ( d4) r
-        c8[( g' es  c)] bes4( c)
-       c4.( cis8  d4) r
-       R1*2
-       es1~es1|
-       e!
-       d
-       c
-       c,
-       e'
-       e,
-       c'2  b8[( a gis  a)]
-        gis8[ e gis b ] e4 r |
-       r8  e,[ a c] dis4 r
-       r8  e,[ a c] dis4 r
-       r8  e,[ g b] e4 r
-       r8  fis,[ b dis] fis4 r
-       r8  gis,[ b d] f4 r
-       r8  g,[ b d_\ritenuto ] f4 r
-       \mark  "E"
-       R1*8
-       r2 r8  g,[ g g]
-       e'4.( c8)  f[( d c  b)]
-        b[( c)] g4 r8  g[ c e] |
-       g2.   g16[( f e  f)]
-       dis4( e) r8  c[-. c-. c-.]
-       c4.(  d16[ e] f4  e)
-       a, ( d g,  c)
-       d d 
-           \grace {
-  \override Stem   #'stroke-style = #"grace"
-   e8( 
-  \revert Stem #'stroke-style }
-
-          d8.[) c16 d8. e16] 
-       c4 r r2
-       \mark "F"
-       R1*3
-       c,2~ c8[ e g c]
-        c8[( b)] b4 r2
-        c,8[ e g c ]  e[ ( g) e c]
-        c[( b)] b4 r2
-       c2 (bes  a)  a8[(b c  cis)]
-       d2( ~  d8[ e16 d] \grace {
-  \override Stem   #'stroke-style = #"grace"
-   \longgrace d16( \endlonggrace 
-  \revert Stem #'stroke-style }
- c8[) b16  c)]
-       \grace {
-  \override Stem   #'stroke-style = #"grace"
-   \longgrace c16 \endlonggrace 
-  \revert Stem #'stroke-style }
- b8[( a16  g)] g4 r2 |
-       R1*3
-       r2 r4  g'8[( e)]
-       \mark "G"
-        d[( c) g'( e)]  d[( c) a'( f)]
-        e[( d)] d4 r  d8[ d]
-       d4(~  d16[ e d  e)]  g8[( f) e d] |
-       c4 r r2
-       R1
-       c1 ~
-       c |
-        c8[-. c-.] r c-.  cis[( d)] r\cresc d-. |
-        dis[( e)] r e-.  e[( f)] r f-. |
-       g4-.\f\endcresc  e-. c-. bes-. |
-       g-.\ff e-. c-. r |
-       a'2 ~  a8[_""_\markup { \bold \italic "sempre " \dynamic "f" }  b16 c]  d[( e d  e)]
-
-       
-       f4. ( d8)  f8[ ( d) f d]
-        c[ (e]  g2) \grace {
-  \override Stem   #'stroke-style = #"grace"
-   \longgrace f16(  \endlonggrace 
-  \revert Stem #'stroke-style }
-  e8[)( d16  c)]
-
-       << d1\trill (
-         { s2 \grace {
-  \override Stem   #'stroke-style = #"grace"
-    c16[ d] 
-  \revert Stem #'stroke-style }
- } >>
-       
-        c4) r r2
-       R1 |
-       \mark "H"
-       \times 2/3 {  c8[ b a ] } \times 2/3 {  g[ a b] }
-         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] } |
-       \times 2/3 {  c[ b a ] } \times 2/3 {  g[ a b] }
-         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] }|
-       c4 \times 2/3 {  r8  g'[( e)]} c4 \times 2/3 {  r8  e[ ( c)]} |
-       g4 \times 2/3 {  r8  c8[( g)] } \times 2/3 {  e[ ( g) e-. ] } \times 2/3 {  c[ ( e) c-.] }|
-       g4 r8 g'\f  a[ b c d]|
-
-       << d1(\trill
-         { s2 \grace {
-  \override Stem   #'stroke-style = #"grace"
-    c16[ d] 
-  \revert Stem #'stroke-style }
- }  >>
-        c4) r r2
-       R1*3
-
-       c4.^\fermata_"Cadenza ad lib." ( d8) d4.\trill^\fermata (  c16[  d)] 
-       c4 r r2
-       R1*8
-       r4  c8.[^"tutti"\f c16] c4 c
-       c  c,8.[ c16] c4 c|
-       c2 r2 \bar "|."
-       
-}
-
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily b/input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily
new file mode 100644 (file)
index 0000000..d33e8cb
--- /dev/null
@@ -0,0 +1,65 @@
+% #(ly:set-point-and-click 'line-column)
+
+longgrace = \override Stem  #'stroke-style = #'()
+endlonggrace = \revert Stem #'stroke-style
+ritenuto = \markup { \italic  "rit." }
+
+\version "2.3.4"
+  
+cresc =  {
+    #(ly:export (make-event-chord (list (make-span-event 'CrescendoEvent START)))) 
+    \set crescendoText =  \markup { \italic \bold "cresc." }
+    \set crescendoSpanner =  #'dashed-line
+}
+
+%%
+%% TODO: a better mechanism for tweaking Grace settings.
+%%
+
+startGraceMusic = \sequential { 
+    \startGraceMusic 
+    \override Beam   #'space-function
+    = #(lambda (beam mult) (* 0.8 0.8))
+    \override Beam   #'thickness = #(* 0.384 (/ 0.6 0.48))
+}
+
+stopGraceMusic= \sequential {
+    \revert Beam #'thickness
+    \revert Beam #'space-function
+    \stopGraceMusic
+}
+
+\paper{
+    \context {
+        \Score
+        skipBars = ##t
+        midiInstrument = #"french horn"
+        %% try to mimic Breitkopf
+        \override RehearsalMark #'padding = #1
+        \override MultiMeasureRest #'padding = #0.5
+        restNumberThreshold = #1
+
+       \override RehearsalMark #'font-series = #'bold
+       \override RehearsalMark #'font-size = #6
+
+        \override Beam #'thickness = #0.6
+        \override Beam #'space-function = #(lambda (beam mult) 0.8)
+        \override Slur #'beautiful = #0.3
+    }
+    \context {
+        \Staff
+        minimumVerticalExtent = #'(-4.5 . 4.5)
+    }
+    % #(define fonts my-sheet)
+    #(define page-breaking ly:optimal-page-breaks)
+
+    % stress page breaking on a6 paper:
+    % linewidth = 80 \mm
+    % hsize = 105 \mm
+    % vsize = 149 \mm
+    
+    indent = 10. \mm
+    linewidth = 189. \mm
+
+}
+
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-defs.ly b/input/mutopia/W.A.Mozart/mozart-hrn3-defs.ly
deleted file mode 100644 (file)
index d33e8cb..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-% #(ly:set-point-and-click 'line-column)
-
-longgrace = \override Stem  #'stroke-style = #'()
-endlonggrace = \revert Stem #'stroke-style
-ritenuto = \markup { \italic  "rit." }
-
-\version "2.3.4"
-  
-cresc =  {
-    #(ly:export (make-event-chord (list (make-span-event 'CrescendoEvent START)))) 
-    \set crescendoText =  \markup { \italic \bold "cresc." }
-    \set crescendoSpanner =  #'dashed-line
-}
-
-%%
-%% TODO: a better mechanism for tweaking Grace settings.
-%%
-
-startGraceMusic = \sequential { 
-    \startGraceMusic 
-    \override Beam   #'space-function
-    = #(lambda (beam mult) (* 0.8 0.8))
-    \override Beam   #'thickness = #(* 0.384 (/ 0.6 0.48))
-}
-
-stopGraceMusic= \sequential {
-    \revert Beam #'thickness
-    \revert Beam #'space-function
-    \stopGraceMusic
-}
-
-\paper{
-    \context {
-        \Score
-        skipBars = ##t
-        midiInstrument = #"french horn"
-        %% try to mimic Breitkopf
-        \override RehearsalMark #'padding = #1
-        \override MultiMeasureRest #'padding = #0.5
-        restNumberThreshold = #1
-
-       \override RehearsalMark #'font-series = #'bold
-       \override RehearsalMark #'font-size = #6
-
-        \override Beam #'thickness = #0.6
-        \override Beam #'space-function = #(lambda (beam mult) 0.8)
-        \override Slur #'beautiful = #0.3
-    }
-    \context {
-        \Staff
-        minimumVerticalExtent = #'(-4.5 . 4.5)
-    }
-    % #(define fonts my-sheet)
-    #(define page-breaking ly:optimal-page-breaks)
-
-    % stress page breaking on a6 paper:
-    % linewidth = 80 \mm
-    % hsize = 105 \mm
-    % vsize = 149 \mm
-    
-    indent = 10. \mm
-    linewidth = 189. \mm
-
-}
-
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ily b/input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ily
new file mode 100644 (file)
index 0000000..15c344b
--- /dev/null
@@ -0,0 +1,88 @@
+\version "2.3.4"
+\include  "mozart-hrn3-defs.ily"
+
+romanze =  \relative c' {
+       \key f \major
+       \time 2/2
+       \set Score.skipBars =  ##t
+
+       c'4.( _\markup { \dynamic "p" \italic { "" con molto espressione } }
+                f8) a,4 a
+        bes8[( c d bes]  g4) r8 g
+       a r bes r c r  d[( bes)]
+       a2(  g8[) a( bes  b)]
+       c4. ( f8) a,4 a |
+       % 6 
+        bes8[ (c d bes)] g4 r8 c,
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f r r4
+       \mark "A"
+       R1*8
+       g4.\mf f8   e[ d c bes]
+       % 18
+        bes[( a d  c)] c4 r
+       R1*2
+       g'4. f8  e[ d c bes]
+        bes[ (a d  c)] c4 r
+       R1
+       % 25
+        c16[ ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
+        c16[\p ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
+        c8[ \< c, c c]  c[ c c c\!]
+       \mark "B"
+       c1\f
+       R1*9
+       f'4.(\p  d8) b4 r8 g
+       g'4.( e8) c4 r8 cis |
+       % 39
+       d4(~  d16[ e d  e)]  f8[ ( d) f( d)]
+       c2( b4) r
+       R1*4
+       e4. ( g8) c,4 ( cis)
+        d8[( e f  d)] b4 r8 g
+        c[ ( e) g g]  g[( f e  d)]
+       c4(
+       \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace e16 \endlonggrace 
+  \revert Stem #'stroke-style }
+
+        d8.[  c16) \< ]  c8[ c-.( c-. c)-.]\!
+       \mark "C"
+
+       %% this is a trick to get the sfp-s to align. 
+       \override Hairpin   #'transparent = ##t
+       des1\sfp \> 
+       g,1\sfp\!  \> 
+       c\sfp \!   \> 
+       c,\sfp\!
+       \revert Hairpin #'transparent 
+       R1*3
+       r8  c[\p c c] c2~
+        c8[ c' c c] c2~
+        c8[ \< e( g f]  e[  d\!\> c bes]
+       \mark "D"
+       a4\!) r r2
+       R1*3
+       c4.\p ( f8) a,4 a |
+        bes8[ (c d bes)] g4 r8 c,
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4
+       R1*3
+       r2 r4 r8 c,8
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4   
+       g,1
+       c,2 c4. c8
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4                   % -. ? 
+
+       R1
+       c8-.   r e-. r f4 r4
+
+       % Finish with F if played separately 
+       c8-.(   r c,-. r  c4) r4| 
+       \bar "|."
+}
+
+
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ly b/input/mutopia/W.A.Mozart/mozart-hrn3-romanze.ly
deleted file mode 100644 (file)
index 3ef82ba..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-\version "2.3.4"
-\include  "mozart-hrn3-defs.ly"
-
-romanze =  \relative c' {
-       \key f \major
-       \time 2/2
-       \set Score.skipBars =  ##t
-
-       c'4.( _\markup { \dynamic "p" \italic { "" con molto espressione } }
-                f8) a,4 a
-        bes8[( c d bes]  g4) r8 g
-       a r bes r c r  d[( bes)]
-       a2(  g8[) a( bes  b)]
-       c4. ( f8) a,4 a |
-       % 6 
-        bes8[ (c d bes)] g4 r8 c,
-        c8[( e g  bes)]  a[( c f  d)]
-       c r e r f r r4
-       \mark "A"
-       R1*8
-       g4.\mf f8   e[ d c bes]
-       % 18
-        bes[( a d  c)] c4 r
-       R1*2
-       g'4. f8  e[ d c bes]
-        bes[ (a d  c)] c4 r
-       R1
-       % 25
-        c16[ ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
-        c16[\p ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
-        c8[ \< c, c c]  c[ c c c\!]
-       \mark "B"
-       c1\f
-       R1*9
-       f'4.(\p  d8) b4 r8 g
-       g'4.( e8) c4 r8 cis |
-       % 39
-       d4(~  d16[ e d  e)]  f8[ ( d) f( d)]
-       c2( b4) r
-       R1*4
-       e4. ( g8) c,4 ( cis)
-        d8[( e f  d)] b4 r8 g
-        c[ ( e) g g]  g[( f e  d)]
-       c4(
-       \grace {
-  \override Stem   #'stroke-style = #"grace"
-   \longgrace e16 \endlonggrace 
-  \revert Stem #'stroke-style }
-
-        d8.[  c16) \< ]  c8[ c-.( c-. c)-.]\!
-       \mark "C"
-
-       %% this is a trick to get the sfp-s to align. 
-       \override Hairpin   #'transparent = ##t
-       des1\sfp \> 
-       g,1\sfp\!  \> 
-       c\sfp \!   \> 
-       c,\sfp\!
-       \revert Hairpin #'transparent 
-       R1*3
-       r8  c[\p c c] c2~
-        c8[ c' c c] c2~
-        c8[ \< e( g f]  e[  d\!\> c bes]
-       \mark "D"
-       a4\!) r r2
-       R1*3
-       c4.\p ( f8) a,4 a |
-        bes8[ (c d bes)] g4 r8 c,
-        c8[( e g  bes)]  a[( c f  d)]
-       c r e r f4 r4
-       R1*3
-       r2 r4 r8 c,8
-        c8[( e g  bes)]  a[( c f  d)]
-       c r e r f4 r4   
-       g,1
-       c,2 c4. c8
-        c8[( e g  bes)]  a[( c f  d)]
-       c r e r f4 r4                   % -. ? 
-
-       R1
-       c8-.   r e-. r f4 r4
-
-       % Finish with F if played separately 
-       c8-.(   r c,-. r  c4) r4| 
-       \bar "|."
-}
-
-
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ily b/input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ily
new file mode 100644 (file)
index 0000000..8e65b02
--- /dev/null
@@ -0,0 +1,195 @@
+\version "2.3.4"
+
+% \include "mozart-hrn3-defs.ily"
+
+rondotheme =  \relative c' {
+        c'8[ c c]  c[ c c]
+       c4( cis8  d) r g,
+        d'8[ d d]  d[ d d]
+       d4( dis8  e) r c |
+        c[( d) e]  f[ g a]
+        g[ ( e) c] c4 d8
+       e4( d8) e4( f8)
+       e4.( d8) r r |
+}
+
+lipbreaker =  \relative c'
+{
+       r8  g'[-. g-.]  c[( e) g,-.]
+        c[( e) g,-.]  c[( e) g,-.]
+        c[ c, c]  c[ c c]
+        c[ c c]  c[ c c]
+}
+
+rightsixteenth = { \set stemLeftBeamCount =  1
+  \set stemRightBeamCount =  2 }
+leftsixteenth = { \set stemLeftBeamCount =  2
+  \set stemRightBeamCount =  1 }
+bothsixteenth = { \set stemLeftBeamCount =  2
+  \set stemRightBeamCount =  2 }
+
+rondo =        \relative c'
+{
+       \partial 8
+       \time 6/8
+       \key c \major
+       
+       g'8\p |
+       
+       \rondotheme
+       
+       R2.*13 |
+       r8 r^\fermata d'  d[ e f]
+        g[ ( e) c-.]  d[( e) d-.]
+       c4 c8  d[ e f]
+        g[( e) c-.]  d[( e) d-.]
+       c4 r8 r4 r8 |
+       R2.*7
+       \mark  "A"
+       c4.\p \grace {
+  \override Stem   #'stroke-style = #"grace"
+   e16( 
+  \revert Stem #'stroke-style }
+  d8[) c d]
+       c4 r8 r4 r8
+       e4. \grace {
+  \override Stem   #'stroke-style = #"grace"
+   g16( 
+  \revert Stem #'stroke-style }
+  f8[) e f]
+       e4 r8 r4 r8
+       g4. e4 c8
+       g2.~
+        g8[ a b]  c[ d e ]
+       e4.( d8) r r
+       R2.*4
+       e2.~ |
+        e8[ d c]  c[ b a]
+       d2.~
+        d8[ c b]  b[ a g]
+       g'4( e8) b4( cis8)
+       \mark "B"
+       d4 r8 r4 r8
+       R2.*3 |
+       r8  d[-. d-.]  d[( g) d-.]
+        d[( g) d-.]  d[ d d]
+        d[( g)] r r4 r8
+       R2.*1
+       \lipbreaker
+       c,,4 r8  c'[ d e]
+       d4( g8)  c,[ d e]
+       d4 r8 r4 r8
+       R2. |
+       r4 r8  c[-. d-. e-.]
+       d4( g8)  c,[ d e]
+        d[( g) fis]  e[ d c]
+        b[ ( e) d]  c[ b a]
+       \mark "C"
+       g4 r8 r4 r8
+       R2. |
+       %
+       r8  g[\f g]  g[(  b) b-.]
+        b[( d) d-.]  d[( g) g-.]
+       g2.~
+        g8[ \> a g]  f[ e d]
+       << \rondotheme
+         { s8\!\p } >>
+         
+       R2.*12
+       r4 r8 r4 c8
+       \mark "D"
+       c4 f8 c4 a8
+       a4.~a4 a8
+       bes4 c8 d4 bes8
+       g4. ~ g8 r r
+       R2.*3
+       r4 r8 r4 c8
+       a4. c
+       f ~  f8.[ \rightsixteenth e16(  \bothsixteenth d  c)]
+       bes4 g8 e4 g8
+       c,4. ~ c8 r r
+       R2.*3| 
+       r4 r8 r4 c'8
+       b4( c8) b4( c8)
+       bes4. ~ bes4 g8
+       a4 ( c8) f4 ( b,8)
+       d4. ( c8) r r
+       R2.*3| 
+       r4 r8 r4 c8
+       b4( c8) b4( c8)
+       bes4. ~ bes4 g8
+       a4 c8  f[ ( d) b!]
+       d4. ( c8) r r
+       \mark "E"
+       R2.*9  |
+       \lipbreaker 
+       c,8[ c' c] c4.~
+       c8[ c d]  e[ e fis] 
+       g4 r8 r4 r8
+       R2.
+       r8  g,[ g]  g[ g g] |
+       es'4. ~  es8[ d c]
+       b4 r8 r4 r8
+       R2. |
+       r8  g[ g]  g[ g g]
+       es'4. ~  es8[ d c]
+       \cresc b4.  c4. d4. e4.
+       \mark "F"
+       \endcresc
+       
+       f2.\f ~ |
+       f4 r8 r4 r8
+       r8  g,[\> g]  g[ g g]
+       
+       % Edition breitkopf says a-flat (silly!)
+        fis[  g gis] 
+                 a[ bes b]\!
+
+       %% EB does the slur in the Rondo differently from the 1st adn 2nd time.
+       %% why. Should check with MS.
+       << \rondotheme
+         { s8\p } >>
+       R2.*7
+       \mark "G"
+       R2.*4
+       c,4.\mf c4 c8
+       c4. e4 c8
+       g'4. g4 g8
+       g4. g,4 g8
+       c4 r8 r4 r8
+       r4 r8 r4 g'8
+        c[ ( e) g,-.]   c[ ( e) g,-.]
+        c[ ( e) g,-.]   c[ ( e) g,-.]
+       \mark "H"
+       \cresc g'2.  bes,2.
+       a4.  b16[ c d e f g]
+       a4. f4 d8
+       \endcresc c8[\f g' e]  c[ g e]
+        c[ e' c]   g[ e c]
+       g4 r8  g''8[ e c]
+
+       
+       << d2.(\trill
+         { s2  \grace {
+  \override Stem   #'stroke-style = #"grace"
+     c16[ d] 
+  \revert Stem #'stroke-style }
+ } >>
+       
+       
+        c4) r8 r4 r8
+       R2.*5
+       r8 r8^\fermata d8\p  d[ e f]
+        g[ ( e) c]  d[( e) d]
+       \cresc  c[  c c]  d[ e f]
+        g[( e) c]  d[( e) d]
+       \endcresc c4\f  r8 r4 r8
+       R2.*5
+        c8[\f c, c]  c[ c c]
+       c4 r8 c4 r8
+
+        %This is technically incorrect, since we started with an 8th
+       % upstep, but both eulenburg and EB do this as well.
+       c4 r8 r4 r8 \bar "|."           
+}
+
diff --git a/input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly b/input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly
deleted file mode 100644 (file)
index 31503fd..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-\version "2.3.4"
-
-% \include "mozart-hrn3-defs.ly"
-
-rondotheme =  \relative c' {
-        c'8[ c c]  c[ c c]
-       c4( cis8  d) r g,
-        d'8[ d d]  d[ d d]
-       d4( dis8  e) r c |
-        c[( d) e]  f[ g a]
-        g[ ( e) c] c4 d8
-       e4( d8) e4( f8)
-       e4.( d8) r r |
-}
-
-lipbreaker =  \relative c'
-{
-       r8  g'[-. g-.]  c[( e) g,-.]
-        c[( e) g,-.]  c[( e) g,-.]
-        c[ c, c]  c[ c c]
-        c[ c c]  c[ c c]
-}
-
-rightsixteenth = { \set stemLeftBeamCount =  1
-  \set stemRightBeamCount =  2 }
-leftsixteenth = { \set stemLeftBeamCount =  2
-  \set stemRightBeamCount =  1 }
-bothsixteenth = { \set stemLeftBeamCount =  2
-  \set stemRightBeamCount =  2 }
-
-rondo =        \relative c'
-{
-       \partial 8
-       \time 6/8
-       \key c \major
-       
-       g'8\p |
-       
-       \rondotheme
-       
-       R2.*13 |
-       r8 r^\fermata d'  d[ e f]
-        g[ ( e) c-.]  d[( e) d-.]
-       c4 c8  d[ e f]
-        g[( e) c-.]  d[( e) d-.]
-       c4 r8 r4 r8 |
-       R2.*7
-       \mark  "A"
-       c4.\p \grace {
-  \override Stem   #'stroke-style = #"grace"
-   e16( 
-  \revert Stem #'stroke-style }
-  d8[) c d]
-       c4 r8 r4 r8
-       e4. \grace {
-  \override Stem   #'stroke-style = #"grace"
-   g16( 
-  \revert Stem #'stroke-style }
-  f8[) e f]
-       e4 r8 r4 r8
-       g4. e4 c8
-       g2.~
-        g8[ a b]  c[ d e ]
-       e4.( d8) r r
-       R2.*4
-       e2.~ |
-        e8[ d c]  c[ b a]
-       d2.~
-        d8[ c b]  b[ a g]
-       g'4( e8) b4( cis8)
-       \mark "B"
-       d4 r8 r4 r8
-       R2.*3 |
-       r8  d[-. d-.]  d[( g) d-.]
-        d[( g) d-.]  d[ d d]
-        d[( g)] r r4 r8
-       R2.*1
-       \lipbreaker
-       c,,4 r8  c'[ d e]
-       d4( g8)  c,[ d e]
-       d4 r8 r4 r8
-       R2. |
-       r4 r8  c[-. d-. e-.]
-       d4( g8)  c,[ d e]
-        d[( g) fis]  e[ d c]
-        b[ ( e) d]  c[ b a]
-       \mark "C"
-       g4 r8 r4 r8
-       R2. |
-       %
-       r8  g[\f g]  g[(  b) b-.]
-        b[( d) d-.]  d[( g) g-.]
-       g2.~
-        g8[ \> a g]  f[ e d]
-       << \rondotheme
-         { s8\!\p } >>
-         
-       R2.*12
-       r4 r8 r4 c8
-       \mark "D"
-       c4 f8 c4 a8
-       a4.~a4 a8
-       bes4 c8 d4 bes8
-       g4. ~ g8 r r
-       R2.*3
-       r4 r8 r4 c8
-       a4. c
-       f ~  f8.[ \rightsixteenth e16(  \bothsixteenth d  c)]
-       bes4 g8 e4 g8
-       c,4. ~ c8 r r
-       R2.*3| 
-       r4 r8 r4 c'8
-       b4( c8) b4( c8)
-       bes4. ~ bes4 g8
-       a4 ( c8) f4 ( b,8)
-       d4. ( c8) r r
-       R2.*3| 
-       r4 r8 r4 c8
-       b4( c8) b4( c8)
-       bes4. ~ bes4 g8
-       a4 c8  f[ ( d) b!]
-       d4. ( c8) r r
-       \mark "E"
-       R2.*9  |
-       \lipbreaker 
-       c,8[ c' c] c4.~
-       c8[ c d]  e[ e fis] 
-       g4 r8 r4 r8
-       R2.
-       r8  g,[ g]  g[ g g] |
-       es'4. ~  es8[ d c]
-       b4 r8 r4 r8
-       R2. |
-       r8  g[ g]  g[ g g]
-       es'4. ~  es8[ d c]
-       \cresc b4.  c4. d4. e4.
-       \mark "F"
-       \endcresc
-       
-       f2.\f ~ |
-       f4 r8 r4 r8
-       r8  g,[\> g]  g[ g g]
-       
-       % Edition breitkopf says a-flat (silly!)
-        fis[  g gis] 
-                 a[ bes b]\!
-
-       %% EB does the slur in the Rondo differently from the 1st adn 2nd time.
-       %% why. Should check with MS.
-       << \rondotheme
-         { s8\p } >>
-       R2.*7
-       \mark "G"
-       R2.*4
-       c,4.\mf c4 c8
-       c4. e4 c8
-       g'4. g4 g8
-       g4. g,4 g8
-       c4 r8 r4 r8
-       r4 r8 r4 g'8
-        c[ ( e) g,-.]   c[ ( e) g,-.]
-        c[ ( e) g,-.]   c[ ( e) g,-.]
-       \mark "H"
-       \cresc g'2.  bes,2.
-       a4.  b16[ c d e f g]
-       a4. f4 d8
-       \endcresc c8[\f g' e]  c[ g e]
-        c[ e' c]   g[ e c]
-       g4 r8  g''8[ e c]
-
-       
-       << d2.(\trill
-         { s2  \grace {
-  \override Stem   #'stroke-style = #"grace"
-     c16[ d] 
-  \revert Stem #'stroke-style }
- } >>
-       
-       
-        c4) r8 r4 r8
-       R2.*5
-       r8 r8^\fermata d8\p  d[ e f]
-        g[ ( e) c]  d[( e) d]
-       \cresc  c[  c c]  d[ e f]
-        g[( e) c]  d[( e) d]
-       \endcresc c4\f  r8 r4 r8
-       R2.*5
-        c8[\f c, c]  c[ c c]
-       c4 r8 c4 r8
-
-        %This is technically incorrect, since we started with an 8th
-       % upstep, but both eulenburg and EB do this as well.
-       c4 r8 r4 r8 \bar "|."           
-}
-
index 42e8c4c188196b29c9ea724516810fa1be11f83e..01a8c28fe559e0554015bd3cfb0f9763c7cfbc79 100644 (file)
@@ -1,21 +1,4 @@
 # -*-python-*-
 
 Import ('env')
-#lys = env['src_glob'] (env, '*.ly')
-lys = env['glob'] (env, '*.ly')
-
-e = env.Copy (
-       TITLE = 'LilyPond Regression Tests',
-       LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''',
-                                                                                       __verbose = ' --verbose',
-       )
-
-tely = e.LYS2TELY ('collated-files', lys)
-texi = e.TEXI (tely)
-pdf = e.PDF (texi)
-html = e.PDF (texi)
-
-env.Alias ('doc', pdf)
-env.Alias ('doc', html)
-
-
+env['collate'] (title = 'LilyPond Regression Tests')
index ee2f1715475efbed43ddf7ebfb73cfbcb6c65b34..c125930a2c4ffb4bd7e260e3834876c7521c30d2 100644 (file)
@@ -1,21 +1,4 @@
 # -*-python-*-
 
 Import ('env')
-#lys = env['src_glob'] (env, '*.ly')
-lys = env['glob'] (env, '*.ly')
-
-e = env.Copy (
-       TITLE = 'LilyPond Template Files',
-       LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''',
-                                                                                       __verbose = ' --verbose',
-       )
-
-tely = e.LYS2TELY ('collated-files', lys)
-texi = e.TEXI (tely)
-pdf = e.PDF (texi)
-html = e.PDF (texi)
-
-env.Alias ('doc', pdf)
-env.Alias ('doc', html)
-
-
+env['collate'] (title = 'LilyPond Template Files')
index fd39ce4a2c5f6abfa454daedcba2082006627df4..ca15d0a64f6ca4df1e156b6f98cc027c30a208b4 100644 (file)
@@ -1,21 +1,4 @@
 # -*-python-*-
 
 Import ('env')
-#lys = env['src_glob'] (env, '*.ly')
-lys = env['glob'] (env, '*.ly')
-
-e = env.Copy (
-       TITLE = 'LilyPond Tips and Tricks',
-       LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''',
-                                                                                       __verbose = ' --verbose',
-       )
-
-tely = e.LYS2TELY ('collated-files', lys)
-texi = e.TEXI (tely)
-pdf = e.PDF (texi)
-html = e.PDF (texi)
-
-env.Alias ('doc', pdf)
-env.Alias ('doc', html)
-
-
+env['collate'] (title = 'LilyPond Tips and Tricks')
index 8b674c76d05058c35829cb485c0232d57121d662..d6bd119e0bf50e3536617de9bcd1aeddaf84b9dc 100644 (file)
@@ -1,13 +1,21 @@
+
+%{
+
+breaks web
 \paper {
     raggedright = ##t
 }
+%}
 
 \relative {
 
+%{  broken
+
     \override Slur #'after-line-breaking-callback = #New_slur::after_line_breaking
     \override Slur #'print-function = #New_slur::print     
     \override Slur #'height = ##f
 
+%}
     f'=''16( e)    d( c)
     c'=''2(~c8 d16 c b8 a)
     f='4
@@ -23,3 +31,4 @@
     c,,^( c')
     
 }
+
index 2da49d683a212c8ea217e720d2f7a85e89133931..69d7b4fee2cd693754647c16b71ad86cfccd4c04 100644 (file)
@@ -27,6 +27,7 @@ e.HH ('parser.hh', 'parser.yy')
 
 e.Append (LIBS = ['flower'])
 e.ParseConfig ('guile-config link')
+
 name = 'lilypond-bin'
 lily = e.Program (name, sources)
 env.Install (env['bindir'], lily)
index baaa56ec29d327861daff0ed376b97b6a54fdb48..c63cfce064f9e6668aaa78b36c0af2106e886eb4 100644 (file)
@@ -697,5 +697,5 @@ Slur::get_curve (Grob*me)
 
 ADD_INTERFACE (Slur,"slur-interface",
   "A slur",
-  "attachment attachment-offset beautiful control-points dashed details de-uglify-parameters direction extremity-function extremity-offset-alist height-limit note-columns ratio slope-limit thickness y-free");
+  "attachment attachment-offset beautiful control-points dashed details de-uglify-parameters direction extremity-function extremity-offset-alist height-limit note-columns ratio slope-limit thickness y-free quant-score");
 
index 666099ee2e5b3752920f1f1b5d87bb935dd49a61..250b61b8ecff300fd7eeaa0ebe8a47354b7e0821 100644 (file)
@@ -1,5 +1,39 @@
 # make/Stepmake.make
 
+# If not m (make m=m), reroute to scons if user is using that.
+ifndef m
+
+SCONS_USER = $(wildcard $(depth)/.sconsign)
+ifeq ($(SCONS_USER),)
+SCONS_USER = $(wildcard $(depth)/.sconf_temp)
+endif
+ifneq ($(SCONS_USER),)
+
+ifeq ($(strip $(depth)),..)
+here = $(notdir $(CURDIR))
+else
+ifeq ($(strip $(depth)),../..)
+# ZUCHT?
+# here = $(notdir $(dir $(CURDIR)))/$(notdir $(CURDIR))
+here = $(shell basename $$(dirname $(CURDIR)))/$(notdir $(CURDIR))
+endif
+endif
+
+MAKE_TARGETS = config deb diff dist distclean doc release po           \
+po-replace po-update all clean check default exe help install lib web  \
+web-install web-clean TAGS
+
+$(MAKE_TARGETS): scons
+
+# To make this trickery complete, we could have ./configure remove
+# traces of scons configuration.
+scons:
+       @echo "warning: $(SCONS_USER) detected, rerouting to scons"
+       cd $(depth) && scons $(here) $(MAKECMDGOALS)
+       false 
+endif
+endif
+
 include $(depth)/make/toplevel-version.make
 
 # Use alternate configurations alongside eachother:
index e01652436850b13f08a39d18dcd9dd636cdc5e3a..cd7a01caccdf5365d126c6fc551fd955bed52648 100644 (file)
@@ -2,7 +2,6 @@
 
 import os
 Import ('env')
-#sources = env['src_glob'] (env, '*.mf')
 sources = env['glob'] (env, '*.mf')
 
 fonts = reduce (lambda x, y: x + y,
@@ -13,24 +12,21 @@ fonts = reduce (lambda x, y: x + y,
                      'feta-nummer*[0-9].mf',
                      'parmesan[0-9]*.mf',)))
 
-env.Depends ('mf', 'mf-essential')
-stems = fonts #map (lambda x: os.path.splitext (x)[0], fonts)
+t = map (env.TFM, fonts)
+a = map (env.AFM, fonts)
+p = map (env.PFA, fonts)
 
-t = map (env.TFM, stems)
-a = map (env.AFM, stems)
-p = map (env.PFA, stems)
-
-map (lambda x: env.Depends (x + '.pfa', x + '.enc'), stems)
+map (lambda x: env.Depends (x + '.pfa', x + '.enc'), fonts)
 
 mf_essential = ['feta16', 'feta20', 'parmesan16', ]
 pfa_essential = map (env.PFA, mf_essential)
-env.Alias ('mf-essential', pfa_essential)
-
-env.Alias ('mf', 'mf-essential')
-
 env.Command ('cmr.enc', 'cmr.enc.in', 'cp $SOURCE $TARGET')
+env.Alias ('mf-essential', pfa_essential)
 env.Alias ('mf', 'cmr.enc')
-env.Alias ('mf', p)
+
+# build essential stuff first, that's friendlier
+#env.Depends (mf', pfa_essential)
+env.Alias ('mf', pfa_essential + p)
 
 tfmdir = os.path.join (env['lilypondprefix'], 'fonts/tfm')
 afmdir = os.path.join (env['lilypondprefix'], 'afm')
index 588ff691d8cf1730f0cce051bef773622343a168..57d5c0b92ffc5ef7dc0ac460dfed8b8a3b164cca 100644 (file)
        (extremity-offset-alist . ,default-slur-extremity-offset-alist)
        (de-uglify-parameters . (1.5  0.8  -2.0))
        (Y-extent-callback .
-                          ; ,#f) 
-                          Slur::height)
+                          ;; ,#f)
+                          ;; must be of type procedure
+                          ,Slur::height)
        (height-limit . 2.0)
        (ratio . 0.333)
        (beautiful . 0.5)
diff --git a/vim/SConscript b/vim/SConscript
new file mode 100644 (file)
index 0000000..9f6694e
--- /dev/null
@@ -0,0 +1,16 @@
+# -*-python-*-
+
+Import ('env')
+sources = env['src_glob'] (env, '*.vim') + ['lilypond-words.vim']
+
+e = env.Copy ()
+a = '$PYTHON $srcdir/buildscripts/lilypond-words.py --words --vim --dir=${TARGET.dir}'
+e.Command ('lilypond-words.vim',
+          ['#/lily/my-lily-lexer.cc',
+           '#/buildscripts/lilypond-words.py',
+           '#/scm/new-markup.scm',
+           '#/ly/engraver-init.ly',],
+          a)
+
+dir = env['sharedir_package_version'] + '/vim'
+env.Install (dir, sources)