--- /dev/null
+% Lily was here -- automatically converted by out/bin/midi2ly from /home/janneke/testmidi.mid
+\version "2.13.53"
+
+\layout {
+ \context {
+ \Voice
+ \remove "Note_heads_engraver"
+ \consists "Completion_heads_engraver"
+ \remove "Rest_engraver"
+ \consists "Completion_rest_engraver"
+ }
+}
+
+\header {
+texidoc="midi2ly @code{--duration-quant} preserves first note length (16)"
+options="--duration-quant=16"
+}
+
+trackAchannelA = {
+
+
+ \key a \major
+
+ % [TEXT_EVENT] Nokia Tune
+
+ \tempo 4 = 120
+
+
+ \key a \major
+
+ \time 3/8
+
+}
+
+trackA = <<
+ \context Voice = voiceA \trackAchannelA
+>>
+
+
+trackBchannelB = \relative c {
+ e'''4*41/192 r4*7/192 d4*41/192 r4*7/192 fis,4*89/192 r4*7/192 gis4*89/192
+ r4*7/192
+ | % 2
+ cis4*41/192 r4*7/192 b4*41/192 r4*7/192 d,4*89/192 r4*7/192 e4*89/192
+}
+
+trackB = <<
+ \context Voice = voiceA \trackBchannelB
+>>
+
+
+\score {
+ <<
+ \context Staff=trackB \trackA
+ \context Staff=trackB \trackB
+ >>
+ \layout {}
+ \midi {}
+}
allowed_durs = (1, 2, 4, 8, 16, 32, 64, 128)
def __init__ (self, clocks):
self.clocks = clocks
- if clocks <= 0:
- self.clocks = duration_quant_clocks
(self.dur, self.num, self.den) = self.dur_num_den (clocks)
def dur_num_den (self, clocks):
s = '%d*%d/%d' % (self.dur, self.num, self.den)
global reference_note
- if reference_note: # debugging
- reference_note.duration = self
+ reference_note.duration = self
return s
for i in notes[1:]:
s = s + i.dump (dump_dur=False)
s = s + '>'
-
s = s + notes[0].duration.dump () + ' '
reference_note = r
return s