summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
50be93d)
I also need to make sure that inserting only a barline does not
generate output for figured bass and chord names. Thus, I have to
keep a variable has_relevant_elements in the voice builder....
#'power': '???',(perfect fifth)
#'Tristan': '???',
#'other': '',
#'power': '???',(perfect fifth)
#'Tristan': '???',
#'other': '',
}
def musicxml_chordkind_to_lily (kind):
res = chordkind_dict.get (kind, None)
}
def musicxml_chordkind_to_lily (kind):
res = chordkind_dict.get (kind, None)
+ # Check for None, since a major chord is converted to ''
+ if res == None:
error_message (_ ("Unable to convert chord type %s to lilypond.") % kind)
return res
error_message (_ ("Unable to convert chord type %s to lilypond.") % kind)
return res
self.begin_moment = Rational (0)
self.pending_multibar = Rational (0)
self.ignore_skips = False
self.begin_moment = Rational (0)
self.pending_multibar = Rational (0)
self.ignore_skips = False
+ self.has_relevant_elements = False
def _insert_multibar (self):
r = musicexp.MultiMeasureRest ()
def _insert_multibar (self):
r = musicexp.MultiMeasureRest ()
if self.pending_multibar > Rational (0):
self._insert_multibar ()
if self.pending_multibar > Rational (0):
self._insert_multibar ()
+ self.has_relevant_elements = True
self.elements.append (music)
self.begin_moment = self.end_moment
self.set_duration (duration)
self.elements.append (music)
self.begin_moment = self.end_moment
self.set_duration (duration)
assert isinstance (command, musicexp.Music)
if self.pending_multibar > Rational (0):
self._insert_multibar ()
assert isinstance (command, musicexp.Music)
if self.pending_multibar > Rational (0):
self._insert_multibar ()
+ self.has_relevant_elements = True
self.elements.append (command)
def add_barline (self, barline):
# TODO: Implement merging of default barline and custom bar line
self.elements.append (command)
def add_barline (self, barline):
# TODO: Implement merging of default barline and custom bar line
self.pending_dynamics.append (dynamic)
def add_bar_check (self, number):
self.pending_dynamics.append (dynamic)
def add_bar_check (self, number):
+ # re/store has_relevant_elements, so that a barline alone does not
+ # trigger output for figured bass, chord names
+ has_relevant = self.has_relevant_elements
b = musicexp.BarLine ()
b.bar_number = number
self.add_barline (b)
b = musicexp.BarLine ()
b.bar_number = number
self.add_barline (b)
+ self.has_relevant_elements = has_relevant
def jumpto (self, moment):
current_end = self.end_moment + self.pending_multibar
def jumpto (self, moment):
current_end = self.end_moment + self.pending_multibar
num = 0
if num > 0:
voice_builder.add_bar_check (num)
num = 0
if num > 0:
voice_builder.add_bar_check (num)
+ figured_bass_builder.add_bar_check (num)
+ chordnames_builder.add_bar_check (num)
main_event = musicxml_note_to_lily_main_event (n)
if main_event and not first_pitch:
main_event = musicxml_note_to_lily_main_event (n)
if main_event and not first_pitch:
return_value.ly_voice = v
# create \figuremode { figured bass elements }
return_value.ly_voice = v
# create \figuremode { figured bass elements }
- if figured_bass_builder.elements:
+ if figured_bass_builder.has_relevant_elements:
fbass_music = musicexp.SequentialMusic ()
fbass_music.elements = figured_bass_builder.elements
v = musicexp.ModeChangingMusicWrapper()
fbass_music = musicexp.SequentialMusic ()
fbass_music.elements = figured_bass_builder.elements
v = musicexp.ModeChangingMusicWrapper()
return_value.figured_bass = v
# create \chordmode { chords }
return_value.figured_bass = v
# create \chordmode { chords }
- if chordnames_builder.elements:
+ if chordnames_builder.has_relevant_elements:
cname_music = musicexp.SequentialMusic ()
cname_music.elements = chordnames_builder.elements
v = musicexp.ModeChangingMusicWrapper()
cname_music = musicexp.SequentialMusic ()
cname_music.elements = chordnames_builder.elements
v = musicexp.ModeChangingMusicWrapper()