File tree Expand file tree Collapse file tree 4 files changed +17
-9
lines changed
Expand file tree Collapse file tree 4 files changed +17
-9
lines changed Original file line number Diff line number Diff line change @@ -1864,9 +1864,12 @@ def copy_into_partStaff(source: stream.Stream,
18641864 removeClasses = STAFF_SPECIFIC_CLASSES [:]
18651865 if staffIndex != 0 : # spanners only on the first staff.
18661866 removeClasses .append ('Spanner' )
1867- newPartStaff = self .stream .template (removeClasses = removeClasses ,
1868- fillWithRests = False ,
1869- exemptFromRemove = EXEMPT_FROM_REMOVE )
1867+ newPartStaff = t .cast (
1868+ stream .PartStaff ,
1869+ self .stream .template (removeClasses = removeClasses ,
1870+ fillWithRests = False ,
1871+ exemptFromRemove = EXEMPT_FROM_REMOVE )
1872+ )
18701873 partStaffId = f'{ self .partId } -Staff{ staffKey } '
18711874 newPartStaff .id = partStaffId
18721875 # set group for components (recurse?)
Original file line number Diff line number Diff line change @@ -1935,9 +1935,7 @@ class Rest(GeneralNote):
19351935 gets rests as well.
19361936
19371937 >>> r = note.Rest()
1938- >>> r.isRest
1939- True
1940- >>> r.isNote
1938+ >>> isinstance(r, note.Note)
19411939 False
19421940 >>> r.duration.quarterLength = 2.0
19431941 >>> r.duration.type
@@ -1985,6 +1983,13 @@ class Rest(GeneralNote):
19851983
19861984 >>> r1 == note.Note()
19871985 False
1986+
1987+ Currently, there are these convenience features, but they are going away
1988+ (They were originally added because isinstance was slow. It is now very fast)
1989+ >>> r.isRest
1990+ True
1991+ >>> r.isNote
1992+ False
19881993 '''
19891994 isRest = True
19901995 name = 'rest'
Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ def classes(self) -> tuple[str, ...]:
117117 {10.0} <music21.clef.GClef>
118118 {30.0} <music21.clef.FrenchViolinClef>
119119
120- ` Changed 2015 Sep` : returns a tuple, not a list.
120+ Changed in v2 : returns a tuple, not a list.
121121 '''
122122 try :
123123 return self ._classTupleCacheDict [self .__class__ ]
Original file line number Diff line number Diff line change @@ -4890,7 +4890,7 @@ def optionalAddRest():
48904890 elOffset = self.elementOffset(el, returnSpecial=True)
48914891
48924892 # retain all streams (exception: Voices if retainVoices is False
4893- if el.isStream and (retainVoices or ('Voice' not in el.classes)):
4893+ if isinstance(el, Stream) and (retainVoices or ('Voice' not in el.classes)):
48944894 optionalAddRest()
48954895 outEl = el.template(fillWithRests=fillWithRests,
48964896 removeClasses=removeClasses,
@@ -4906,7 +4906,7 @@ def optionalAddRest():
49064906
49074907 # okay now determine if we will be skipping or keeping this element
49084908 skip_element = False
4909- if removeAll is True :
4909+ if removeAll:
49104910 # with this setting we remove everything by default
49114911 skip_element = True
49124912 elif el.classSet.intersection(removeClasses):
You can’t perform that action at this time.
0 commit comments