Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def scaleMenu():
while True:
print("Please input the list of 7 notes in the Scale (ex: 'C Ds E ...'), a smaller list to autocomplete, or write G or g for random:")
scalet = usrinp()
if scalet in "Gg":
scale = musictheory.scale7()
else:
notenames = str.split(scalet, " ")
notes = ()
for i in range(len(notenames)):
if len(notenames[i]) != 0:
notes = notes + (musictheory.mnote.fromName(notenames[i] + "0"),)
scale = musictheory.scale7(notes)
while True:
scaleInfo(scale)
print()
print ("Accept? (Yy, Nn, Pp(preview)):")
inp = usrinp()
if inp in "Yy":
return scale
elif inp in "Nn":
break
elif inp in "Pp":
previewscale(scale)
def scaleMenu():
while True:
print("Please input the list of 7 notes in the Scale (ex: 'C Ds E ...'), a smaller list to autocomplete, or write G or g for random:")
scalet = usrinp()
if scalet in "Gg":
scale = musictheory.scale7()
else:
notenames = str.split(scalet, " ")
notes = ()
for i in range(len(notenames)):
if len(notenames[i]) != 0:
notes = notes + (musictheory.mnote.fromName(notenames[i] + "0"),)
scale = musictheory.scale7(notes)
while True:
scaleInfo(scale)
print()
print ("Accept? (Yy, Nn, Pp(preview)):")
inp = usrinp()
if inp in "Yy":
return scale
elif inp in "Nn":
break
def palFromInsts(cinsts, sminsts, lminsts, pinsts, ginsts, name=None):
if name == None:
name = naming.name()
scale = musictheory.scale7()
progsize = rselect((2,3,4,5,6))
progcount = rselect((1,2,3,4,5))
csize = wselect({2:5, 3:10, 4:20, 5:10, 6:5})
bpm = wselect({80:5, 100:10, 120:20, 140:10, 160:5, 180:5})
print("making",name)
palett = musictheory.palette(scale, progsize, progcount, csize)
palett._bpm = bpm
palett.autoProgs()
themes = (palett._n1, palett._n2, palett._bg, palett._ch, palett._ge)
for inst in cinsts:
for them in themes:
centre = rselect(musictheory.listNotes(inst))
ncount = wselect(musictheory.chordicCWeights())
them.addVoice(inst, centre, "chordic", ncount)
def palFromInstsAndMimics(cinsts, sminsts, lminsts, pinsts, ginsts, miminsts, name=None):
if name == None:
name = naming.name()
scale = musictheory.scale7()
progsize = rselect((2,3,4,5,6))
progcount = rselect((1,2,3,4,5))
csize = wselect({2:5, 3:10, 4:20, 5:10, 6:5})
bpm = wselect({80:5, 100:10, 120:20, 140:10, 160:5, 180:5})
print("making",name)
palett = musictheory.palette(scale, progsize, progcount, csize)
palett._bpm = bpm
palett.autoProgs()
themes = (palett._n1, palett._n2, palett._bg, palett._ch, palett._ge)
for inst in cinsts:
for them in themes:
centre = rselect(musictheory.listNotes(inst))
ncount = wselect(musictheory.chordicCWeights())
them.addVoice(inst, centre, "chordic", ncount)
for inst in sminsts:
for them in themes:
def testInst(name):
inst = filezart.getInstrument(name)
scale = musictheory.scale7()
progsize = rselect((2,3,4,5,6))
progcount = rselect((1,2,3,4,5))
csize = wselect({2:5, 3:10, 4:20, 5:10, 6:5})
bpm = wselect({80:5, 100:10, 120:20, 140:10, 160:5, 180:5})
palett = musictheory.palette(scale, progsize, progcount, csize)
palett._bpm = bpm
palett.autoProgs()
for i in range(2):
centre = rselect(musictheory.listNotes(inst))
ncount = wselect(musictheory.chordicCWeights())
palett._n1.addVoice(inst, centre, "chordic", ncount)
play(palett._n1.previewAudio(bpm))