File size: 922 Bytes
da27e52 |
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 |
from typing import List, Union, Tuple
import numpy as np
import gradio as gr
from taiko import (
TaikoMusic,
CourseMusic,
UserInterface
)
def handle(*attributes: List[Union[str, int]]) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray]:
"""
Must return TaikoMusic for each course in reverse order:
- Ura, Oni, Hard, Normal, Easy
"""
# Set every attribute to TaikoMusic from gradio event handler inputs
taiko = TaikoMusic()
for attr_name, attr_value in zip(taiko.__dict__.keys(), attributes):
setattr(taiko, attr_name, attr_value)
# Generate Taiko Music
try:
music: CourseMusic = taiko.generate_taiko_music()
except Exception as e:
raise gr.Error(e)
return music.ura, music.oni, music.hard, music.normal, music.easy
if __name__ == "__main__":
app = UserInterface(event_handler=handle)
app.launch() |