@@ -51,9 +51,15 @@ class Note(object):
5151 channel = _DEFAULT_CHANNEL
5252 velocity = _DEFAULT_VELOCITY
5353
54- def __init__ (self , name = "C" , octave = 4 , dynamics = None ):
54+ def __init__ (self , name = "C" , octave = 4 , dynamics = None , velocity = None , channel = None ):
5555 if dynamics is None :
5656 dynamics = {}
57+
58+ if velocity is not None :
59+ dynamics ["velocity" ] = velocity
60+ if channel is not None :
61+ dynamics ["channel" ] = channel
62+
5763 if isinstance (name , six .string_types ):
5864 self .set_note (name , octave , dynamics )
5965 elif hasattr (name , "name" ):
@@ -83,18 +89,24 @@ def set_velocity(self, velocity):
8389 raise ValueError ("MIDI velocity must be 0-127" )
8490 self .velocity = velocity
8591
86- def set_note (self , name = "C" , octave = 4 , dynamics = None ):
92+ def set_note (self , name = "C" , octave = 4 , dynamics = None , velocity = None , channel = None ):
8793 """Set the note to name in octave with dynamics.
8894
8995 Return the objects if it succeeded, raise an NoteFormatError
9096 otherwise.
9197 """
9298 if dynamics is None :
9399 dynamics = {}
100+
101+ if velocity is not None :
102+ self .set_velocity (velocity )
103+ elif "velocity" in dynamics :
104+ self .set_velocity (dynamics ["velocity" ])
105+
106+ if channel is not None :
107+ self .set_channel (channel )
94108 if "channel" in dynamics :
95109 self .set_channel (dynamics ["channel" ])
96- if "velocity" in dynamics :
97- self .set_velocity (dynamics ["velocity" ])
98110
99111 dash_index = name .split ("-" )
100112 if len (dash_index ) == 1 :
0 commit comments