Spaces:
Running on Zero
Running on Zero
File size: 1,646 Bytes
2e1dc7f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | from enum import IntEnum
class Stem(IntEnum):
DRUMS = 0
BASS = 1
GUITAR = 2
KEYBOARD = 3
PIANO = 4
STRINGS = 5
OTHER = 6
VOCALS = 7
ANY = 8
@staticmethod
def fromstring(s: str):
match s:
case "drums":
return Stem.DRUMS
case "drums_mixed":
return Stem.DRUMS
case "bass":
return Stem.BASS
case "guitar":
return Stem.GUITAR
case "other_keys":
return Stem.KEYBOARD
case "keyboard":
return Stem.KEYBOARD
case "piano":
return Stem.PIANO
case "bowed_strings":
return Stem.STRINGS
case "strings":
return Stem.STRINGS
case "other":
return Stem.OTHER
case "vocals":
return Stem.VOCALS
case _:
raise ValueError("unknown stem name")
def getname(self):
match self:
case Stem.DRUMS:
return "drums_mixed"
case Stem.BASS:
return "bass"
case Stem.GUITAR:
return "guitar"
case Stem.KEYBOARD:
return "other_keys"
case Stem.PIANO:
return "piano"
case Stem.STRINGS:
return "bowed_strings"
case Stem.OTHER:
return "other"
case Stem.VOCALS:
return "vocals"
case Stem.ANY:
raise ValueError("Stem ANY has no name")
|