def __init__(self, kit, emptyDrums = None, parent = None, directory = None): ''' Constructor ''' super(QEditKitDialog, self).__init__(parent) self.setupUi(self) self.muteButton.setChecked(DBMidi.isMuted()) if emptyDrums is None: emptyDrums = [] self.deleteEmptyButton.setEnabled(False) self._scoreDirectory = directory self._emptyDrums = emptyDrums self._currentKit = [] self._oldLines = {} self._initialKit = kit self._initialize() self.kitTable.currentRowChanged.connect(self._drumChanged) self.upButton.clicked.connect(self._moveDrumUp) self.downButton.clicked.connect(self._moveDrumDown) self.addButton.clicked.connect(self._addDrum) self.deleteButton.clicked.connect(self._removeDrum) self.deleteEmptyButton.clicked.connect(self._deleteEmpty) self.clearButton.clicked.connect(self._clearKit) self.resetButton.clicked.connect(self._resetKit) self.defaultKitButton.clicked.connect(self._manageDefaultKits) self.loadButton.clicked.connect(self._loadKit) self.saveButton.clicked.connect(self._saveKit) self.drumName.textEdited.connect(self._drumNameEdited) self.drumAbbr.editingFinished.connect(self._drumAbbrEdited) self.oldDrum.currentIndexChanged.connect(self._oldDrumChanged) self.currentNoteHead.currentIndexChanged.connect(self._headEdited) self.noteHeadTable.currentRowChanged.connect(self._noteHeadChanged) self.addHeadButton.clicked.connect(self._addNoteHead) self.headUpButton.clicked.connect(self._moveNoteHeadUp) self.setDefaultHeadButton.clicked.connect(self._setDefaultHead) self.headDownButton.clicked.connect(self._moveNoteHeadDown) self.deleteHeadButton.clicked.connect(self._removeNoteHead) self.noteHeadBox.currentIndexChanged.connect(self._notationHeadChanged) self.effectBox.currentIndexChanged.connect(self._notationEffectChanged) self.stemUpDownBox.stateChanged.connect(self._stemDirectionChanged) self.noteUpButton.clicked.connect(self._moveNotationUp) self.noteDownButton.clicked.connect(self._moveNotationDown) self.shortcutCombo.currentIndexChanged.connect(self._shortcutEdited) self._populateMidiCombo() self.midiNoteCombo.currentIndexChanged.connect(self._midiNoteChanged) self.volumeSlider.valueChanged.connect(self._midiVolumeChanged) for effect in self.effectsGroup.children(): if isinstance(effect, QRadioButton): effect.toggled.connect(self._effectChanged) self.lockedCheckBox.stateChanged.connect(self._lockChanged) self._notationScene = QNotationScene(self) self.noteView.setScene(self._notationScene) self.noteView.centerOn(*self._notationScene.getCenter()) self._populate()