Initial commit

This commit is contained in:
BarsTiger
2023-11-16 22:49:59 +02:00
commit 653711aba3
20 changed files with 386 additions and 0 deletions

View File

View File

@@ -0,0 +1,29 @@
from nicegui import ui, app
from ..handlers.on_create import on_create
class CreateButton:
create_button: ui.button
download_button: ui.button
loading: ui.spinner
def place(self):
with ui.row():
self.create_button = ui.button(
'Create map', on_click=on_create
).bind_enabled_from(app.storage.user, 'can_be_created')
self.download_button = ui.button(
'Save map',
on_click=lambda: ui.download(
src=app.storage.user.get('mapset_path')
)
).bind_enabled_from(app.storage.user, 'can_be_saved')
self.loading = ui.spinner(
type='audio',
size='2rem'
).bind_visibility_from(app.storage.user, 'is_loading')
createbutton = CreateButton()

View File

@@ -0,0 +1,18 @@
from nicegui import ui
from ..handlers.mp3_choose_upload import on_upload
class MP3Choose:
uploader: ui.upload
def place(self):
self.uploader = ui.upload(
label='Upload audio',
max_files=1,
on_upload=on_upload,
max_total_size=100 * 1_048_576,
auto_upload=True,
).classes('w-full')
mp3choose = MP3Choose()

View File

@@ -0,0 +1,54 @@
from nicegui import ui
from nicegui import app
import os
class ParamsBoxes:
title: ui.input
artist: ui.input
bpm: ui.number
num_samples = ui.number
sample_steps = ui.number
model_name = ui.input
def place(self):
storage = app.storage.user
self.title = ui.input(
label='Title',
placeholder='Song title',
).bind_value(storage, 'detected_title').classes('w-full')
self.artist = ui.input(
label='Artist',
placeholder='Song artist',
).bind_value(storage, 'detected_artist').classes('w-full')
self.bpm = ui.number(
label='BPM',
placeholder='Song BPM',
value=180,
).bind_value(storage, 'bpm').classes('w-full')
self.num_samples = ui.number(
label='Number of samples',
placeholder='Number of samples',
value=2,
).classes('w-full').bind_value(storage, 'num_samples')
self.sample_steps = ui.number(
label='Sample steps',
placeholder='Sample steps',
value=32,
).classes('w-full').bind_value(storage, 'sample_steps')
self.model_name = ui.input(
label='Model name',
placeholder='Model name',
value=[item for item in filter(
lambda x: x.endswith('.ckpt'), os.listdir('models')
)][0],
).classes('w-full').bind_value(storage, 'model_name')
paramsboxes = ParamsBoxes()