def testDeleteDrumByIndex(self): self.kit = DrumKit.getNamedDefaultKit() numDrums = len(self.kit) self.assert_(numDrums > 0) drum = self.kit[0] self.kit.deleteDrum(index = 0) self.assertEqual(len(self.kit), numDrums - 1) for remainingDrum in self.kit: self.assertNotEqual(drum, remainingDrum)
def main(): from PyQt4.QtGui import QApplication import sys app = QApplication(sys.argv) app.setOrganizationName("Whatang Software") app.setOrganizationDomain("whatang.org") app.setApplicationName("DefaultKitManagerTest") oldkit = DrumKit.getNamedDefaultKit() dialog = QDefaultKitManager(oldkit) dialog.show() app.exec_() if dialog.result(): print dialog.getKit()
def getKit(self): item = self.defaultKitList.currentItem() isUser = item.data(_IS_USER_KIT).toBool() kitName = unicode(item.text()) if isUser: kitString = str(self._settings.value(kitName).toString()) handle = StringIO(kitString) dbfile = fileUtils.dbFileIterator(handle) kit = DrumKit.DrumKit() kit.read(dbfile) return kit else: return DrumKit.getNamedDefaultKit(kitName)
def main(): from PyQt4.QtGui import QApplication import sys app = QApplication(sys.argv) app.setOrganizationName("Whatang Software") app.setOrganizationDomain("whatang.org") app.setApplicationName("DefaultKitManagerTest") oldkit = DrumKit.getNamedDefaultKit() dialog = QDefaultKitManager(oldkit) dialog.show() app.exec_() if dialog.result(): print dialog.getKit()
def getKit(self): item = self.defaultKitList.currentItem() isUser = item.data(_IS_USER_KIT).toBool() kitName = unicode(item.text()) if isUser: kitString = str(self._settings.value(kitName).toString()) handle = StringIO(kitString) dbfile = fileUtils.dbFileIterator(handle) kit = DrumKit.DrumKit() kit.read(dbfile) return kit else: return DrumKit.getNamedDefaultKit(kitName)
def getValues(self): mc = self.measureTabs.getCounter() kitName = unicode(self.kitCombobox.currentText()) kitIndex = self.kitCombobox.currentIndex() isUserKit = self.kitCombobox.itemData(kitIndex).toBool() if isUserKit: kitString = str(self._settings.value(kitName).toString()) handle = StringIO(kitString) dbfile = fileUtils.dbFileIterator(handle) kit = DrumKit.DrumKit() kit.read(dbfile) else: kit = DrumKit.getNamedDefaultKit(kitName) return (self.numMeasuresSpinBox.value(), mc, kit)
def getValues(self): mc = self.measureTabs.getCounter() kitName = unicode(self.kitCombobox.currentText()) kitIndex = self.kitCombobox.currentIndex() isUserKit = self.kitCombobox.itemData(kitIndex).toBool() if isUserKit: kitString = str(self._settings.value(kitName).toString()) handle = StringIO(kitString) dbfile = fileUtils.dbFileIterator(handle) kit = DrumKit.DrumKit() kit.read(dbfile) else: kit = DrumKit.getNamedDefaultKit(kitName) return (self.numMeasuresSpinBox.value(), mc, kit)
def main(): from PyQt4.QtGui import QApplication import sys app = QApplication(sys.argv) kit = DrumKit.getNamedDefaultKit() dialog = QEditKitDialog(kit, [kit[0]]) dialog.show() app.exec_() if dialog.result(): kitname, ok = QInputDialog.getText(None, "Enter new kit name", "Kit name") if not ok: return kitname = unicode(kitname) kitvar = kitname.upper() kitvar = "".join([ch if ch.isalnum() else "_" for ch in kitvar]) kitvar = "_" + kitvar newKit, changes_ = dialog.getNewKit() lines = [] indent = '%s_DRUMS = [' % kitvar for drum in newKit: line = indent headData = drum.headData(drum.head) values = (drum.name, drum.abbr, drum.head, str(drum.locked), headData.midiNote, headData.notationHead, headData.notationLine, "UP" if headData.stemDirection == DrumKit.STEM_UP else "DOWN") line += '(("%s", "%s", "%s", %s), %d, "%s", %d, STEM_%s)' % values lines.append(line) indent = " " * len(indent) lines = ("," + os.linesep).join(lines) + "]" print lines indent = '%s_HEADS = {' % kitvar lines = [] volumeSymbols = {GHOST_VOLUME: "GHOST_VOLUME", ACCENT_VOLUME:"ACCENT_VOLUME"} for drum in newKit: headLines = [] headIndent = indent + '"%s" : [' % drum.abbr defaultData = drum.headData(drum.head) for head in drum: if head == drum.head: continue data = drum.headData(head) line = headIndent values = (head, "None" if data.midiNote == defaultData.midiNote else str(data.midiNote), "None" if data.midiVolume == defaultData.midiVolume else volumeSymbols.get(data.midiVolume, str(data.midiVolume)), data.effect, data.notationHead, data.notationEffect, data.shortcut) line += '("%s", %s, %s, "%s", "%s", "%s", "%s")' % values headLines.append(line) headIndent = ' ' * len(headIndent) if headLines: headLines = ("," + os.linesep).join(headLines) + "]" lines.append(headLines) indent = ' ' * len(indent) if lines: lines = ("," + os.linesep).join(lines) + "}" else: lines = '%s_HEADS = {}' % kitvar print lines print ('%s_KIT = {"drums":%s_DRUMS, "heads":%s_HEADS}' % (kitvar, kitvar, kitvar)) print 'NAMED_DEFAULTS["%s"] = %s_KIT' % (kitname, kitvar) print 'DEFAULT_KIT_NAMES.append("%s")' % kitname
def testDeleteDrumByIndex_BadIndex(self): self.kit = DrumKit.getNamedDefaultKit() self.assertRaises(NoSuchDrumError, self.kit.deleteDrum, index = -1) self.assertRaises(NoSuchDrumError, self.kit.deleteDrum, index = len(self.kit))
def testDeleteDrumByName_DrumNotFound(self): self.kit = DrumKit.getNamedDefaultKit() self.assertRaises(NoSuchDrumError, self.kit.deleteDrum, name = "no such drum")
def testAddDuplicate(self): self.kit = DrumKit.getNamedDefaultKit() self.assertRaises(DuplicateDrumError, self.kit.addDrum, self.kit[0])
def testAddDrum(self): self.kit = DrumKit.getNamedDefaultKit() numDrums = len(self.kit) drum = Drum("test drum", "td", "x") self.kit.addDrum(drum) self.assertEqual(len(self.kit), numDrums + 1)
def testLoadDefault(self): self.kit = DrumKit.getNamedDefaultKit() self.assert_(len(self.kit) > 0)