def load_progression(self, prog_str): p = str(prog_str) parts = p.split(" ") if len(parts) == 0: return if len(parts) == 1 and p in Options.get_available_progressions(): x = Options.progression_to_string(getattr(Progressions, p)) return self.load_progression("%s %s" % (p, x)) self.ui.progressionname.setText(parts[0]) if len(parts) > 3: params = parts[2:-1] for x in params: r = x.split("*") if len(r) == 2: self.ui.progressionsequence.addItem("%d %s" % (int(r[0]), r[1])) if len(r) == 1 and x != "": self.ui.progressionsequence.addItem("0 %s" % r[0])
def get_Progressions(self, only_defaults = False, parse_content = True): defaults = {"Empty": ""} # Gather default (builtin) progressions. for x in Options.get_available_progressions(): prog = Options.progression_to_string(getattr(Progressions, x))[1:-1] if not parse_content: defaults[x] = "%s { %s }" % (x, prog) else: defaults[x] = prog if only_defaults: return defaults res = {} for x in self.progressions: if not res.has_key(x[2]): res[x[2]] = {} # Parse progressions in x[5] for p in x[5].split(","): if not res[x[2]].has_key(x[3]): res[x[2]][x[3]] = "" if parse_content: params = p.split(" ") name = params[0] params = " ".join(params[1:])[1:-1] res[x[2]][x[3]] += params else: res[x[2]][x[3]] += p + "," # Remove comma if not parse_content: res[x[2]][x[3]] = res[x[2]][x[3]][:-1] res['Default'] = defaults return res