-1.3.94.jcn2
+--- ../lilypond-1.3.94/CHANGES Sun Oct 8 10:27:38 2000
+++ b/CHANGES Tue Oct 10 17:28:55 2000
+@@ -1,3 +1,13 @@
+1.3.94.lec1
+===========
+
+* fix abc2ly so that it doesn't ignor an L: field before an M: field
+
+* fix abc2ly so that bar lines are preserved
+
+* fix basic_properties.scm so that setting the default bar type to empty
+ doesn't give warnings about unknown barline glyph.
+
+ 1.3.93.uu1
+ ==========
+ 1.3.94.jcn2
===========
* Made some fixes to les-nereides.
#
# (not finished.)
# ABC standard v1.6: http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
-#
+#
# Enhancements (Roy R. Rankin)
#
# Header section moved to top of lilypond file
# Chord strings([-^]"string") can contain a '#'
# Header fields enclosed by [] in notes string processed
# W: words output after tune as abc2ps does it (they failed before)
+
+# Enhancements (Laura Conrad)
+#
+# Beaming now preserved between ABC and lilypond
#
# Limitations
#
# Multiple tunes in single file not supported
# Blank T: header lines should write score and open a new score
# Not all header fields supported
-# Beaming not preserved between ABC and lilypond
# ABC line breaks are ignored
# Block comments generate error and are ignored
# Postscript commands are ignored
lyric_idx = -1
part_names = 0
default_len = 8
+length_specified = 0
global_key = [0] * 7 # UGH
names = ["One", "Two", "Three"]
DIGITS='0123456789'
outf.write ("\n")
outf.write(" >\n \\paper{}\n}\n")
+def dump_default_bar (outf):
+ outf.write ("\n\\property Score.defaultBarType=\"empty\"\n")
+
+
def dump_slyrics (outf):
ks = voice_idx_dict.keys()
ks.sort ()
ks.sort ()
for k in ks:
outf.write ("\nvoice%s = \\notes {" % k)
+ dump_default_bar(outf)
outf.write ("\n" + voices [voice_idx_dict[k]])
outf.write ("\n}")
m = re.search ('1/([0-9]+)', s)
if m:
__main__.default_len = string.atoi ( m.group (1))
+ length_specified = 1
def set_default_len_from_time_sig (s):
m = re.search ('([0-9]+)/([0-9]+)', s)
state.common_time = 1
voices_append ("\\property Staff.timeSignatureStyle=\"C\"\n")
a = '2/2'
-# global_voice_stuff.append ('\\time %s;' % a)
- set_default_len_from_time_sig (a)
+ if not length_specified:
+ set_default_len_from_time_sig (a)
voices_append ('\\time %s;' % a)
state.next_bar = ''
if g == 'K': # KEY
def duration_to_mudela_duration (multiply_tup, defaultlen, dots):
base = 1
-
# (num / den) / defaultlen < 1/base
while base * multiply_tup[0] < multiply_tup[1]:
base = base * 2
-
-
return '%d%s' % ( base, '.'* dots)
class Parser_state:
'::' : '::',
'|1' : '|',
'|2' : '|',
-':|2' : ':|'
+':|2' : ':|',
+'|' : '|'
}
bs = None
# first try the longer one
- for trylen in [3,2]:
+ for trylen in [3,2,1]:
if str[:trylen] and bar_dict.has_key (str[:trylen]):
s = str[:trylen]
bs = "\\bar \"%s\";" % bar_dict[s]