]> git.donarmstrong.com Git - lilypond.git/blobdiff - scripts/midi2ly.py
Merge branch 'lilypond/translation'
[lilypond.git] / scripts / midi2ly.py
index f1db678cfb3990a50cda7e70925bcdb65e9d1fcb..6fb037092cb168dcfc46bd6f3f073cddb2bb1677 100644 (file)
@@ -4,7 +4,7 @@
 # 
 # source file of the GNU LilyPond music typesetter
 #
-# (c) 1998--2006  Han-Wen Nienhuys <hanwen@xs4all.nl>
+# (c) 1998--2007  Han-Wen Nienhuys <hanwen@xs4all.nl>
 #                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 
@@ -25,34 +25,23 @@ import os
 import string
 import sys
 
-################################################################
-# Users of python modules should include this snippet.
-#
-
-for d in ['@lilypond_datadir@',
-          '@lilypond_libdir@']:
-    sys.path.insert (0, os.path.join (d, 'python'))
-
-# dynamic relocation, for GUB binaries.
-bindir = os.path.abspath (os.path.split (sys.argv[0])[0])
-for p in ['share', 'lib']:
-    datadir = os.path.abspath (bindir + '/../%s/lilypond/current/python/' % p)
-    sys.path.insert (0, datadir)
-
+"""
+@relocate-preamble@
+"""
 
 import midi
 import lilylib as ly
+global _;_=ly._
 
 ################################################################
-################ CONSTANTS
+## CONSTANTS
 
 
 output_name = ''
 LINE_BELL = 60
-scale_steps = [0,2,4,5,7,9,11]
+scale_steps = [0, 2, 4, 5, 7, 9, 11]
 global_options = None
 
-
 clocks_per_1 = 1536
 clocks_per_4 = 0
 
@@ -66,15 +55,6 @@ allowed_tuplet_clocks = []
 
 ################################################################
 
-localedir = '@localedir@'
-try:
-    import gettext
-    gettext.bindtextdomain ('lilypond', localedir)
-    gettext.textdomain ('lilypond')
-    _ = gettext.gettext
-except:
-    def _ (s):
-        return s
 
 program_name = sys.argv[0]
 program_version = '@TOPLEVEL_VERSION@'
@@ -86,7 +66,7 @@ def identify ():
 
 def warranty ():
     identify ()
-    sys.stdout.write ('''
+    ly.encoded_write (sys.stdout, '''
 Copyright (c) %s by
 
  Han-Wen Nienhuys
@@ -100,14 +80,14 @@ Copyright (c) %s by
 
 
 def progress (s):
-    errorport.write (s + '\n')
+    ly.encoded_write (errorport, s + '\n')
 
 def warning (s):
     progress (_ ("warning: ") + s)
         
 def error (s):
     progress (_ ("error: ") + s)
-    raise _ ("Exiting ... ")
+    raise _ ("Exiting... ")
 
 def system (cmd, ignore_error = 0):
     return ly.system (cmd, ignore_error=ignore_error)
@@ -118,8 +98,6 @@ def strip_extension (f, ext):
         e = ''
     return p + e
 
-\f
-
 
 class Duration:
     allowed_durs = (1, 2, 4, 8, 16, 32, 64, 128)
@@ -867,8 +845,8 @@ def convert_midi (in_file, out_file):
 
 def get_option_parser ():
     p = ly.get_option_parser (usage=_ ("%s [OPTION]... FILE") % 'midi2ly',
-                 version="midi2ly (LilyPond) @TOPLEVEL_VERSION@",
-                 description=_ ("Convert %s to LilyPond input.") % 'MIDI')
+                 description=_ ("Convert %s to LilyPond input.") % 'MIDI',
+                 add_help_option=False)
 
     p.add_option ('-a', '--absolute-pitches',
            action='store_true',
@@ -879,6 +857,9 @@ def get_option_parser ():
     p.add_option ('-e', '--explicit-durations',
            action='store_true',
            help=_ ("print explicit durations"))
+    p.add_option("-h", "--help",
+                 action="help",
+                 help=_ ("show this help and exit"))
     p.add_option('-k', '--key', help=_ ("set key: ALT=+sharps|-flats; MINOR=1"),
           metavar=_ ("ALT[:MINOR]"),
           default='0'),
@@ -896,18 +877,22 @@ def get_option_parser ():
     p.add_option ('-V', '--verbose', help=_ ("be verbose"),
            action='store_true'
            ),
+    p.version = "midi2ly (LilyPond) @TOPLEVEL_VERSION@"
+    p.add_option("--version",
+                 action="version",
+                 help=_ ("show version number and exit"))
     p.add_option ('-w', '--warranty', help=_ ("show warranty and copyright"),
            action='store_true',
            ),
     p.add_option ('-x', '--text-lyrics', help=_ ("treat every text as a lyric"),
            action='store_true')
 
-    p.add_option_group (_ ("Examples"),
+    p.add_option_group (ly.display_encode (_ ("Examples")),
               description = r'''
   midi2ly --key=-2:1 --duration-quant=32 \
     --allow-tuplet=4*2/3 --allow-tuplet=2*4/3 foo.midi
 ''')
-    p.add_option_group ('bugs',
+    p.add_option_group (ly.display_encode (_ ('Bugs')),
                         description=(_ ('Report bugs via')
                                      + ''' http://post.gmane.org/post.php'''
                                      '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
@@ -921,8 +906,8 @@ def do_options ():
 
     if not args or args[0] == '-':
         opt_parser.print_help ()
-        sys.stderr.write ('\n%s: %s %s\n' % (program_name, _ ("error: "),
-                          _ ("no files specified on command line.")))
+        ly.stderr_write ('\n%s: %s %s\n' % (program_name, _ ("error: "),
+                         _ ("no files specified on command line.")))
         sys.exit (2)
 
     if options.duration_quant: