#!@TARGET_PYTHON@
+# This file is part of LilyPond, the GNU music typesetter.
+#
+# LilyPond is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# LilyPond is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
+
# info mostly taken from looking at files. See also
# http://lilypond.org/wiki/?EnigmaTransportFormat
import getopt
import sys
import re
-import string
import os
program_name = sys.argv[0]
+authors = ('Jan Nieuwenhuizen <janneke@gnu.org>',
+ 'Han-Wen Nienhuys <hanwen@xs4all.nl>')
+
version = '@TOPLEVEL_VERSION@'
if version == '@' + 'TOPLEVEL_VERSION' + '@':
version = '(unknown version)' # uGUHGUHGHGUGH
-
-################################################################
-# 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@
+"""
################################################################
if not cs or not ce:
raise IndexError
- cs.note_suffix = '-(' + cs.note_suffix
+ cs.note_suffix = '-(' + cs.note_suffix
ce.note_suffix = ce.note_suffix + '-)'
except IndexError:
if left[0]:
str = str + rational_to_lily_skip (left)
- str = str + ' | \n'
+ str = str + ' |\n'
return str
def encodeint (i):
if g.bracket == 'start':
strs.append ('"0."')
- str = string.join (map (lambda x: '(volta %s)' % x, strs))
+ str = ' '.join (['(volta %s)' % x for x in strs])
e = e + ' \\set Score.repeatCommands = #\'(%s) ' % str
fr = m.frames[x]
except IndexError:
sys.stderr.write ("Skipping nonexistent frame %d\n" % x)
- laystr = laystr + "%% non existent frame %d (skipped) \n" % x
+ laystr = laystr + "%% non existent frame %d (skipped)\n" % x
if fr:
first_frame = fr
if gap <> (0,1):
str = str[1:]
- return (string.atol (hex, 16), str)
+ return (long (hex, 16), str)
elif str[0] == '"':
str = str[1:]
s = ''
dec = dec + str[0]
str = str[1:]
- return (string.atoi (dec), str)
+ return (int (dec), str)
else:
sys.stderr.write ("cannot convert `%s'\n" % str)
return (None, str)
f = open (fn)
gulp = re.sub ('[\n\r]+', '\n', f.read ())
- ls = string.split (gulp, '\n^')
+ ls = gulp.split ('\n^')
etf_file_dict = {}
- for k in tag_dict.keys ():
+ for k in tag_dict:
etf_file_dict[k] = {}
last_tag = None
if m and tag_dict.has_key (m.group (1)):
tag = m.group (1)
- indices = tuple (map (string.atoi, string.split (m.group (2), ',')))
+ indices = tuple ([int (s) for s in m.group (2).split (',')])
content = l[m.end (2)+1:]
if staffs:
str += '\\version "2.3.25"\n'
- str = str + '<<\n %s\n>> } ' % string.join (staffs)
+ str = str + '<<\n %s\n>> } ' % ' '.join (staffs)
return str
def warranty ():
identify ()
sys.stdout.write ('''
-Copyright (c) %s by
+%s
- Han-Wen Nienhuys
- Jan Nieuwenhuizen
+ %s
%s
%s
-''' % ( '2001--2006',
- _('Distributed under terms of the GNU General Public License.'),
- _('It comes with NO WARRANTY.')))
-
-
+''' % ( _ ('Copyright (c) %s by') % '2001--2010',
+ '\n '.join (authors),
+ _ ('Distributed under terms of the GNU General Public License.'),
+ _ ('It comes with NO WARRANTY.')))
def get_option_parser ():
p = ly.get_option_parser (usage=_ ("%s [OPTION]... ETF-FILE") % 'etf2ly',
- version="etf2ly (LilyPond) @TOPLEVEL_VERSION@",
description=_ ("""Enigma Transport Format is a format used by Coda Music Technology's
-Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file."""))
+Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.
+"""),
+ add_help_option=False)
+ p.add_option("-h", "--help",
+ action="help",
+ help=_ ("show this help and exit"))
+ p.version = "etf2ly (LilyPond) @TOPLEVEL_VERSION@"
+ p.add_option("--version",
+ action="version",
+ help=_ ("show version number and exit"))
p.add_option ('-o', '--output', help=_ ("write output to FILE"),
metavar=_("FILE"),
action='store')
action='store_true',
),
- p.add_option_group ('bugs',
- description=(_ ('Report bugs via')
- + ''' http://post.gmane.org/post.php'''
- '''?group=gmane.comp.gnu.lilypond.bugs\n'''))
+ p.add_option_group ('',
+ description=(
+ _ ('Report bugs via %s')
+ % 'http://post.gmane.org/post.php'
+ '?group=gmane.comp.gnu.lilypond.bugs') + '\n')
return p
def do_options ():
sys.stderr.write ('Writing `%s\'' % out_filename)
ly = e.dump()
-
-
fo = open (out_filename, 'w')
fo.write ('%% lily was here -- automatically converted by etf2ly from %s\n' % f)
fo.write(ly)