Exemplo n.º 1
0
    def set_note(self, name='C', octave=4, dynamics={}):
        """Set the note to name in octave with dynamics.

        Return the objects if it succeeded, raise an NoteFormatError
        otherwise.
        """
        dash_index = name.split('-')
        if len(dash_index) == 1:
            if notes.is_valid_note(name):
                self.name = name
                self.octave = octave
                self.dynamics = dynamics
                return self
            else:
                raise NoteFormatError("The string '%s' is not a valid "
                                      "representation of a note in mingus" %
                                      name)
        elif len(dash_index) == 2:
            if notes.is_valid_note(dash_index[0]):
                self.name = dash_index[0]
                self.octave = int(dash_index[1])
                self.dynamics = dynamics
                return self
            else:
                raise NoteFormatError("The string '%s' is not a valid "
                                      "representation of a note in mingus" %
                                      name)
        return False
Exemplo n.º 2
0
    def __init__(self, name="C", octave=4, dynamics=None, velocity=None, channel=None):
        """
        :param name:
        :param octave:
        :param dynamics: Deprecated. Use `velocity` and `channel` directly.
        :param int velocity: Integer (0-127)
        :param int channel: Integer (0-15)
        """
        if dynamics is None:
            dynamics = {}

        if velocity is not None:
            dynamics["velocity"] = velocity
        if channel is not None:
            dynamics["channel"] = channel

        if isinstance(name, six.string_types):
            self.set_note(name, octave, dynamics)
        elif hasattr(name, "name"):
            # Hardcopy Note object
            self.set_note(name.name, name.octave, name.dynamics)
        elif isinstance(name, int):
            self.from_int(name)
        else:
            raise NoteFormatError("Don't know what to do with name object: %r" % name)
Exemplo n.º 3
0
    def set_note(self, name="C", octave=4, dynamics=None, velocity=None, channel=None):
        """Set the note to name in octave with dynamics.

        Return the objects if it succeeded, raise an NoteFormatError
        otherwise.

        :param name:
        :param octave:
        :param dynamics: Deprecated. Use `velocity` and `channel` directly.
        :param int velocity: Integer (0-127)
        :param int channel: Integer (0-15)
        :return:
        """
        if dynamics is None:
            dynamics = {}

        if velocity is not None:
            self.set_velocity(velocity)
        elif "velocity" in dynamics:
            self.set_velocity(dynamics["velocity"])

        if channel is not None:
            self.set_channel(channel)
        if "channel" in dynamics:
            self.set_channel(dynamics["channel"])

        dash_index = name.split("-")
        if len(dash_index) == 1:
            if notes.is_valid_note(name):
                self.name = name
                self.octave = octave
                return self
            else:
                raise NoteFormatError("Invalid note representation: %r" % name)
        elif len(dash_index) == 2:
            note, octave = dash_index
            if notes.is_valid_note(note):
                self.name = note
                self.octave = int(octave)
                return self
            else:
                raise NoteFormatError("Invalid note representation: %r" % name)
        else:
            raise NoteFormatError("Invalid note representation: %r" % name)
Exemplo n.º 4
0
 def __init__(self, name='C', octave=4, dynamics={}):
     if type(name) == str:
         self.set_note(name, octave, dynamics)
     elif hasattr(name, 'name'):
         # Hardcopy Note object
         self.set_note(name.name, name.octave, name.dynamics)
         if hasattr(name, 'channel'):
             self.channel = name.channel
         if hasattr(name, 'velocity'):
             self.velocity = name.velocity
     elif type(name) == int:
         self.from_int(name)
     else:
         raise NoteFormatError("Don't know what to do with name object: "
                               "'%s'" % name)
Exemplo n.º 5
0
 def __init__(self, name="C", octave=4, dynamics=None):
     if dynamics is None:
         dynamics = {}
     if isinstance(name, six.string_types):
         self.set_note(name, octave, dynamics)
     elif hasattr(name, "name"):
         # Hardcopy Note object
         self.set_note(name.name, name.octave, name.dynamics)
         if hasattr(name, "channel"):
             self.channel = name.channel
         if hasattr(name, "velocity"):
             self.velocity = name.velocity
     elif isinstance(name, int):
         self.from_int(name)
     else:
         raise NoteFormatError("Don't know what to do with name object: "
                               "'%s'" % name)