def getElementsNotOfClass(self, classFilterList): ''' Adds a filter, removing all Elements that do not match the one or more classes in the `classFilterList`. In lieu of a list, a single class can be used as the `classFilterList` parameter. >>> a = stream.Stream() >>> a.repeatInsert(note.Rest(), list(range(10))) >>> for x in range(4): ... n = note.Note('G#') ... n.offset = x * 3 ... a.insert(n) >>> found = list(a.iter.getElementsNotOfClass(note.Note)) >>> len(found) 10 >>> b = stream.Stream() >>> b.repeatInsert(note.Rest(), list(range(15))) >>> a.insert(b) >>> # here, it gets elements from within a stream >>> # this probably should not do this, as it is one layer lower >>> found = list(a.flat.iter.getElementsNotOfClass(note.Rest)) >>> len(found) 4 >>> found = list(a.flat.iter.getElementsNotOfClass(note.Note)) >>> len(found) 25 ''' self.addFilter(filters.ClassNotFilter(classFilterList)) return self
def getElementsNotOfClass(self, classFilterList): ''' Adds a filter, removing all Elements that do not match the one or more classes in the `classFilterList`. In lieu of a list, a single class can be used as the `classFilterList` parameter. >>> a = stream.Stream() >>> a.repeatInsert(note.Rest(), range(10)) >>> for x in range(4): ... n = note.Note('G#') ... n.offset = x * 3 ... a.insert(n) >>> found = a.iter.getElementsNotOfClass(note.Note) >>> len(found) 10 >>> found = a.iter.getElementsNotOfClass('Rest') >>> len(found) 4 >>> found = a.iter.getElementsNotOfClass(['Note', 'Rest']) >>> len(found) 0 >>> b = stream.Stream() >>> b.repeatInsert(note.Rest(), range(15)) >>> a.insert(b) >>> found = a.recurse().getElementsNotOfClass([note.Rest, 'Stream']) >>> len(found) 4 >>> found = a.recurse().getElementsNotOfClass([note.Note, 'Stream']) >>> len(found) 25 ''' self.addFilter(filters.ClassNotFilter(classFilterList)) return self