@@ -126,7 +126,7 @@ def create_measure(self, pickup = False, **bar_attrs):
126126 ##
127127
128128 def new_note (self , step , octave , durtype , divdur , alter = 0 ,
129- acc_token = 0 , voice = 1 , dot = 0 , chord = 0 , grace = (0 , 0 )):
129+ acc_token = 0 , voice = 1 , dot = 0 , chord = 0 , grace = (0 , 0 ), stem_dir = 0 ):
130130 """Create all nodes needed for a normal note. """
131131 self .create_note ()
132132 if grace [0 ]:
@@ -148,6 +148,8 @@ def new_note(self, step, octave, durtype, divdur, alter=0,
148148 self .add_accidental (alter , parenth = True )
149149 else :
150150 self .add_accidental (alter )
151+ if stem_dir :
152+ self .set_stem_dir (stem_dir )
151153
152154 def new_unpitched_note (self , step , octave , durtype , divdur , voice = 1 ,
153155 dot = 0 , chord = 0 , grace = (0 , 0 )):
@@ -317,6 +319,10 @@ def add_accidental(self, alter, caut=False, parenth=False):
317319 }
318320 acc .text = acc_dict [alter ]
319321
322+ def set_stem_dir (self , dir ):
323+ stem_dir = etree .SubElement (self .current_note , "stem" )
324+ stem_dir .text = dir
325+
320326 def add_rest (self ):
321327 """Create rest."""
322328 etree .SubElement (self .current_note , "rest" )
0 commit comments