]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/mup2ly.py
* Documentation/user/global.itely (A single music expression):
[lilypond.git] / scripts / mup2ly.py
index 195b6330077856972c4c12a57a0bacf6ac918039..def68308d66679d84b4eb3c5af03e86d6d82d8fd 100644 (file)
@@ -47,7 +47,7 @@ else:
 sys.path.append (os.path.join (datadir, 'python'))
 sys.path.append (os.path.join (datadir, 'python/out'))
 
-program_name = 'mup2ly'
+program_name = sys.argv[0]
 program_version = '@TOPLEVEL_VERSION@'
 original_dir = os.getcwd ()
 temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
@@ -86,28 +86,6 @@ option_definitions = [
 # 
 # source file of the GNU LilyPond music typesetter
 
-# Handle bug in Python 1.6-2.1
-#
-# there are recursion limits for some patterns in Python 1.6 til 2.1. 
-# fix this by importing pre instead. Fix by Mats.
-
-# todo: should check Python version first.
-try:
-       import pre
-       re = pre
-       del pre
-except ImportError:
-       import re
-
-# Attempt to fix problems with limited stack size set by Python!
-# Sets unlimited stack size. Note that the resource module only
-# is available on UNIX.
-try:
-       import resource
-       resource.setrlimit (resource.RLIMIT_STACK, (-1, -1))
-except:
-       pass
-
 try:
        import gettext
        gettext.bindtextdomain ('lilypond', localedir)
@@ -127,7 +105,7 @@ def identify ():
 def warranty ():
        identify ()
        sys.stdout.write ('\n')
-       sys.stdout.write (_ ('Copyright (c) %s by') % '2001--2004')
+       sys.stdout.write (_ ('Copyright (c) %s by') % '2001--2006')
        sys.stdout.write ('\n')
        sys.stdout.write ('  Han-Wen Nienhuys')
        sys.stdout.write ('  Jan Nieuwenhuizen')
@@ -217,21 +195,23 @@ def options_help_str (opts):
 
 def help ():
        ls = [(_ ("Usage: %s [OPTIONS]... FILE") % program_name),
-               ('\n\n'),
-               (help_summary),
-               ('\n\n'),
-               (_ ("Options:")),
-               ('\n'),
-               (options_help_str (option_definitions)),
-               ('\n\n'),
-               (_ ("Report bugs to %s.") % 'bug-lilypond@gnu.org'),
-               ('\n')]
+             ('\n\n'),
+             (help_summary),
+             ('\n\n'),
+             (_ ("Options:")),
+             ('\n'),
+             (options_help_str (option_definitions)),
+             ('\n\n'),
+             (_ ("Report bugs to %s.") %
+             "http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs"),
+             ('\n')]
        map (sys.stdout.write, ls)
        
 def setup_temp ():
        """
-       Create a temporary directory, and return its name. 
+       Create a temporary directory, and return its name.
        """
+       
        global temp_dir
        if not keep_temp_dir_p:
                temp_dir = tempfile.mktemp (program_name)
@@ -289,23 +269,6 @@ def cp_to_dir (pattern, dir):
        map (lambda x, d=dir: shutil.copy2 (x, os.path.join (d, x)), files)
 
 
-# Python < 1.5.2 compatibility
-#
-# On most platforms, this is equivalent to
-#`normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
-if os.path.__dict__.has_key ('abspath'):
-       abspath = os.path.abspath
-else:
-       def abspath (path):
-               return os.path.normpath (os.path.join (os.getcwd (), path))
-
-if os.__dict__.has_key ('makedirs'):
-       makedirs = os.makedirs
-else:
-       def makedirs (dir, mode=0777):
-               system ('mkdir -p %s' % dir)
-
-
 def mkdir_p (dir, mode=0777):
        if not os.path.isdir (dir):
                makedirs (dir, mode)
@@ -524,7 +487,7 @@ class Voice:
                str = str  + ln
                id = self.idstring ()
                        
-               str = '''%s = \\context Voice = %s \\notes {
+               str = '''%s = \\context Voice = %s {
 %s
 }
 
@@ -566,9 +529,9 @@ class Key:
                if self.sharps and self.flats:
                        k = '\\keysignature %s ' % 'TODO'
                elif self.sharps:
-                       k = '\\notes\\key %s \major' % key_sharps[self.sharps]
+                       k = '\\key %s \major' % key_sharps[self.sharps]
                elif self.flats:
-                       k = '\\notes\\key %s \major' % key_flats[self.flats]
+                       k = '\\key %s \major' % key_flats[self.flats]
                return k
 
 class Time:
@@ -1101,7 +1064,7 @@ class Parser:
 \score {
   <<%s
   >>
-  \paper {}
+  \layout {}
   \midi {}
 }
 ''' % refs 
@@ -1290,12 +1253,13 @@ if not files:
        files = ['-']
        
 for f in files:
-
+       h = None
        if f == '-':
                h = sys.stdin
        elif f and not os.path.isfile (f):
                f = strip_extension (f, '.mup') + '.mup'
-               h = open (f)
+               
+       h = open (f)
        progress ( _("Processing `%s'..." % f))
        raw_lines = h.readlines ()
        p = Pre_processor (raw_lines)