(base_number_function, base_duration))
func.newline ()
elif self.display_type == "both": # TODO: Implement this using actual_type and normal_type!
- warning (_ ("Tuplet brackets displaying both note durations are not implemented, using default"))
if self.display_number == None:
func ("\\once \\override TupletNumber #'stencil = ##f")
func.newline ()
elif self.display_number == "both":
- func ("\\once \\override TupletNumber #'text = #%s" % base_number_function)
- func.newline ()
+ den_duration = self.normal_type.ly_expression (None, True)
+ # If we don't have an actual type set, use the normal duration!
+ if self.actual_type:
+ num_duration = self.actual_type.ly_expression (None, True)
+ else:
+ num_duration = den_duration
+ if (self.display_denominator or self.display_numerator):
+ func ("\\once \\override TupletNumber #'text = #(tuplet-number::non-default-fraction-with-notes %s \"%s\" %s \"%s\")" %
+ (self.display_denominator, den_duration,
+ self.display_numerator, num_duration))
+ func.newline ()
+ else:
+ func ("\\once \\override TupletNumber #'text = #(tuplet-number::fraction-with-notes \"%s\" \"%s\")" %
+ (den_duration, num_duration))
+ func.newline ()
else:
if self.display_number == None:
func ("\\once \\override TupletNumber #'stencil = ##f")
# TODO: maybe set line-width instead of right-margin?
self.print_length_field (printer, "right-margin", self.right_margin)
# TODO: What's the corresponding setting for system_left_margin and
- # system_right_margin in Lilypond?
+ # system_right_margin in LilyPond?
self.print_length_field (printer, "between-system-space", self.system_distance)
self.print_length_field (printer, "page-top-space", self.top_system_distance)
('F', 4): "bass",
('F', 5): "subbass",
("percussion", 2): "percussion",
+ # Workaround: MuseScore uses PERC instead of percussion
+ ("PERC", 2): "percussion",
("TAB", 5): "tab"}.get ((self.type, self.position), None)
def ly_expression (self):
return '\\clef "%s%s"' % (self.clef_name (), self.octave_modifier ())
return 'R%s' % self.duration.ly_expression ()
+class Break (Music):
+ def __init__ (self, tp="break"):
+ Music.__init__ (self)
+ self.type = tp
+ def print_ly (self, printer):
+ if self.type:
+ printer.dump ("\\%s" % self.type)
+
class StaffGroup:
def __init__ (self, command = "StaffGroup"):
self.stafftype = command