コード例 #1
0
    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)
コード例 #2
0
    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
コード例 #3
0
 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
コード例 #4
0
 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