STAGE / data /stem.py
Vansh Chugh
initial deploy
2e1dc7f
Raw
History Blame Contribute Delete
1.65 kB
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")