def operator(self): """ Gets operator of BinaryOpUgen. :: >>> left = supriya.ugens.SinOsc.ar() >>> right = supriya.ugens.WhiteNoise.kr() >>> binary_op_ugen = left / right >>> binary_op_ugen.operator BinaryOperator.FLOAT_DIVISION Returns binary operator. """ return BinaryOperator(self.special_index)
def _create_ugen_title_field(ugen): import supriya.synthdefs import supriya.ugens name = type(ugen).__name__ calculation_rate = ugen.calculation_rate.name.lower() label_template = r"{name}\n({calculation_rate})" operator = None if isinstance(ugen, supriya.ugens.BinaryOpUGen): operator = BinaryOperator(ugen.special_index).name label_template = r"{name}\n[{operator}]\n({calculation_rate})" elif isinstance(ugen, supriya.ugens.UnaryOpUGen): operator = UnaryOperator(ugen.special_index).name label_template = r"{name}\n[{operator}]\n({calculation_rate})" title_field = uqbar.graphs.RecordField(label=label_template.format( name=name, operator=operator, calculation_rate=calculation_rate)) return title_field
def get_ugen_names(): grouped_ugens = {} named_ugens = {} for ugen in self._ugens: key = (type(ugen), ugen.calculation_rate, ugen.special_index) grouped_ugens.setdefault(key, []).append(ugen) for ugen in self._ugens: parts = [type(ugen).__name__] if isinstance(ugen, BinaryOpUGen): ugen_op = BinaryOperator.from_expr(ugen.special_index) parts.append("(" + ugen_op.name + ")") elif isinstance(ugen, UnaryOpUGen): ugen_op = UnaryOperator.from_expr(ugen.special_index) parts.append("(" + ugen_op.name + ")") parts.append("." + ugen.calculation_rate.token) key = (type(ugen), ugen.calculation_rate, ugen.special_index) related_ugens = grouped_ugens[key] if len(related_ugens) > 1: parts.append("/{}".format(related_ugens.index(ugen))) named_ugens[ugen] = "".join(parts) return named_ugens
def get_ugen_names(): grouped_ugens = {} named_ugens = {} for ugen in self._ugens: key = (type(ugen), ugen.calculation_rate, ugen.special_index) grouped_ugens.setdefault(key, []).append(ugen) for ugen in self._ugens: parts = [type(ugen).__name__] if isinstance(ugen, supriya.ugens.BinaryOpUGen): ugen_op = BinaryOperator.from_expr(ugen.special_index) parts.append("(" + ugen_op.name + ")") elif isinstance(ugen, supriya.ugens.UnaryOpUGen): ugen_op = UnaryOperator.from_expr(ugen.special_index) parts.append("(" + ugen_op.name + ")") parts.append("." + ugen.calculation_rate.token) key = (type(ugen), ugen.calculation_rate, ugen.special_index) related_ugens = grouped_ugens[key] if len(related_ugens) > 1: parts.append("/{}".format(related_ugens.index(ugen))) named_ugens[ugen] = "".join(parts) return named_ugens