@@ -6535,7 +6535,8 @@ def pedalTransitionToXml(self, pt: expressions.PedalTransition) -> Element|None:
65356535 # We assume if one and/or the other is SlantedLine, the
65366536 # intention is a "caret" bounce.
65376537 mxPedals = [Element ('pedal' )]
6538- mxPedals [0 ].set ('number' , str (pm .idLocal ))
6538+ if pm .idLocal is not None :
6539+ mxPedals [0 ].set ('number' , str (pm .idLocal ))
65396540 mxPedals [0 ].set ('type' , 'change' )
65406541 mxPedals [0 ].set ('line' , 'yes' )
65416542 else :
@@ -6545,24 +6546,28 @@ def pedalTransitionToXml(self, pt: expressions.PedalTransition) -> Element|None:
65456546 mxPedals = [Element ('pedal' )]
65466547 # increment the idLocal for this 'start'
65476548 # (room was made in spanner.setIdLocals)
6548- if t .TYPE_CHECKING :
6549- assert isinstance (pm .idLocal , int )
6550- pm .idLocal = (pm .idLocal % 6 ) + 1
6551- mxPedals [0 ].set ('number' , str (pm .idLocal ))
6549+ if pm .idLocal is not None :
6550+ if t .TYPE_CHECKING :
6551+ assert isinstance (pm .idLocal , int )
6552+ pm .idLocal = (pm .idLocal % 6 ) + 1
6553+ mxPedals [0 ].set ('number' , str (pm .idLocal ))
65526554 else :
65536555 # bounce up and then down, starting with a Star
65546556 mxPedals = [Element ('pedal' ), Element ('pedal' )]
65556557 # close out one pedal, then increment idLocal for the next one
65566558 # (room was made in spanner.setIdLocals)
6557- mxPedals [0 ].set ('number' , str (pm .idLocal ))
6559+ if pm .idLocal is not None :
6560+ mxPedals [0 ].set ('number' , str (pm .idLocal ))
65586561 mxPedals [0 ].set ('sign' , 'yes' )
65596562 mxPedals [0 ].set ('type' , 'stop' )
65606563 if t .TYPE_CHECKING :
65616564 assert isinstance (pm .idLocal , int )
6562- pm .idLocal = (pm .idLocal % 6 ) + 1
6565+ if pm .idLocal is not None :
6566+ pm .idLocal = (pm .idLocal % 6 ) + 1
65636567
65646568 # We assume that bounceDown is either Ped or PedalName
6565- mxPedals [- 1 ].set ('number' , str (pm .idLocal ))
6569+ if pm .idLocal is not None :
6570+ mxPedals [- 1 ].set ('number' , str (pm .idLocal ))
65666571 mxPedals [- 1 ].set ('sign' , 'yes' )
65676572 if bounceDown == expressions .PedalForm .Ped :
65686573 mxPedals [- 1 ].set ('type' , 'start' )
@@ -6579,12 +6584,14 @@ def pedalTransitionToXml(self, pt: expressions.PedalTransition) -> Element|None:
65796584
65806585 elif isinstance (pt , expressions .PedalGapStart ):
65816586 mxPedals = [Element ('pedal' )]
6582- mxPedals [0 ].set ('number' , str (pm .idLocal ))
6587+ if pm .idLocal is not None :
6588+ mxPedals [0 ].set ('number' , str (pm .idLocal ))
65836589 mxPedals [0 ].set ('type' , 'discontinue' )
65846590 mxPedals [0 ].set ('line' , 'yes' )
65856591 elif isinstance (pt , expressions .PedalGapEnd ):
65866592 mxPedals = [Element ('pedal' )]
6587- mxPedals [0 ].set ('number' , str (pm .idLocal ))
6593+ if pm .idLocal is not None :
6594+ mxPedals [0 ].set ('number' , str (pm .idLocal ))
65886595 mxPedals [0 ].set ('type' , 'resume' )
65896596 mxPedals [0 ].set ('line' , 'yes' )
65906597 else :
@@ -6602,7 +6609,8 @@ def pedalTransitionToXml(self, pt: expressions.PedalTransition) -> Element|None:
66026609 def makePedalResumeLineXml (self , pm : expressions .PedalMark ) -> Element :
66036610 # does not append to self.xmlRoot (caller will do that)
66046611 mxPedal = Element ('pedal' )
6605- mxPedal .set ('number' , str (pm .idLocal ))
6612+ if pm .idLocal is not None :
6613+ mxPedal .set ('number' , str (pm .idLocal ))
66066614 mxPedal .set ('type' , 'resume' )
66076615 mxPedal .set ('line' , 'yes' )
66086616 # wrap in <direction><direction-type>
0 commit comments