def editKit(self): emptyDrums = set(self.score.drumKit) for staffIndex in xrange(self.score.numStaffs()): lines = set(self.score.iterVisibleLines(staffIndex, True)) emptyDrums.difference_update(lines) if not emptyDrums: break editDialog = QEditKitDialog(self.score.drumKit, emptyDrums, self.parent()) if not editDialog.exec_(): return kit, changes = editDialog.getNewKit() box = QtGui.QMessageBox.question(self.parent(), "Apply kit changes?", "Editing the kit cannot be undone. " "Proceed?", buttons = (QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) if box == QtGui.QMessageBox.Yes: self.score.changeKit(kit, changes) DBMidi.setKit(kit) self._shortcutMemo = _HeadShortcutsMap(kit) self._undoStack.clear() self._saved = False self.reBuild() self.dirty = True
def editKit(self): emptyDrums = set(self.score.drumKit) for staffIndex in xrange(self.score.numStaffs()): lines = set(self.score.iterVisibleLines(staffIndex, True)) emptyDrums.difference_update(lines) if not emptyDrums: break editDialog = QEditKitDialog(self.score.drumKit, emptyDrums, self.parent()) if not editDialog.exec_(): return kit, changes = editDialog.getNewKit() box = QtGui.QMessageBox.question(self.parent(), "Apply kit changes?", "Editing the kit cannot be undone. " "Proceed?", buttons=(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) if box == QtGui.QMessageBox.Yes: self.score.turnOffCallBacks() self.score.changeKit(kit, changes) DBMidi.setKit(kit) self._shortcutMemo = _HeadShortcutsMap(kit) self.score.turnOnCallBacks() self._undoStack.clear() self._saved = False self.reBuild() self.dirty = True
def _setScore(self, score): if score != self._score: score.formatScore(None) self._score = score self._shortcutMemo = _HeadShortcutsMap(score.drumKit) if score is not None: self.startUp() self._score.setCallBack(self.dataChanged) self._build() self._properties.lineSpacing = self._score.systemSpacing - 101 self.paperSizeChanged.emit(self._score.paperSize) self.defaultCountChanged.emit(self._score.defaultCount) self.spacingChanged.emit(self._score.systemSpacing) self.lilysizeChanged.emit(self._score.lilysize) self.lilypagesChanged.emit(self._score.lilypages) self.lilyFillChanged.emit(self._score.lilyFill) self.lilyFormatChanged.emit(self._score.lilyFormat) self.sectionsChanged.emit() self._properties.newScore(self) self._kitData.setVisible(self._properties.kitDataVisible) self._metaData.setVisible(self._properties.metadataVisible) DBMidi.setKit(score.drumKit) self._undoStack.clear() self._undoStack.setClean() self._inMacro = False self.widthChanged.emit(self.scoreWidth) self.reBuild() self.dirty = False self._stateMachine = DBStateMachine(Waiting, self) self.scoreDisplayChanged.emit()
def _setScore(self, score): if score != self._score: score.formatScore(None) self._score = score self._shortcutMemo = _HeadShortcutsMap(score.drumKit) if score is not None: self.startUp() self._score.setCallBack(self.dataChanged) self._properties.lineSpacing = self._score.systemSpacing - 101 self.paperSizeChanged.emit(self._score.paperSize) self.defaultCountChanged.emit(self._score.defaultCount) self.spacingChanged.emit(self._score.systemSpacing) self.lilysizeChanged.emit(self._score.lilysize) self.lilypagesChanged.emit(self._score.lilypages) self.lilyFillChanged.emit(self._score.lilyFill) self.lilyFormatChanged.emit(self._score.lilyFormat) self.sectionsChanged.emit() self._properties.newScore(self) self._kitData.setVisible(self._properties.kitDataVisible) self._metaData.setVisible(self._properties.metadataVisible) self.widthChanged.emit(self.scoreWidth) self._build() DBMidi.setKit(score.drumKit) self._undoStack.clear() self._undoStack.setClean() self._inMacro = False self.reBuild() self.dirty = False self._stateMachine = DBStateMachine(Waiting, self) self.scoreDisplayChanged.emit()