diff --git a/ziffers/classes.py b/ziffers/classes.py index 6f8da6f..b034c43 100644 --- a/ziffers/classes.py +++ b/ziffers/classes.py @@ -345,6 +345,8 @@ class Sequence(Meta): yield from _normal_repeat(item.evaluated_values, repeats, options) elif isinstance(item, RepeatedListSequence): repeats = item.repeats.get_value(options) + if isinstance(repeats, Pitch): + repeats = repeats.get_value(options) yield from _generative_repeat(item, repeats, options) elif isinstance(item, Subdivision): item.evaluate_values(options) @@ -737,7 +739,7 @@ class Cyclic(Item): text = text + self.wrap_end return text - def get_value(self): + def get_value(self, options=None): """Get the value for the current cycle""" value = self.values[self.cycle % len(self.values)] self.cycle += 1 diff --git a/ziffers/mapper.py b/ziffers/mapper.py index ae84251..1541103 100644 --- a/ziffers/mapper.py +++ b/ziffers/mapper.py @@ -382,4 +382,4 @@ class ZiffersTransformer(Transformer): return RepeatedSequence(values=items[0], repeats=Integer(value=2, text="2")) def repeat_item(self, items): - return RepeatedListSequence(values=[items[0]],repeats=items[1]) \ No newline at end of file + return RepeatedListSequence(values=[items[0]],repeats=items[1], wrap_start="", wrap_end=":"+items[1].text) \ No newline at end of file