aboutsummaryrefslogtreecommitdiffstats
path: root/web-project/src/solo_tool_web.py
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2026-01-01 18:15:29 +0100
committerEddy Pedroni <epedroni@pm.me>2026-01-01 18:15:29 +0100
commite2e237b082d750e14a1630fd2ac3c90723b33cdb (patch)
tree95429003500355ae62f97f00ce3bb22ffbf007e3 /web-project/src/solo_tool_web.py
parent8ea2b64ff798af913dcba64baace8d2536bf0b18 (diff)
Configurable recorder buffer size and sampling rate, correct defaults for NUC
Diffstat (limited to 'web-project/src/solo_tool_web.py')
-rw-r--r--web-project/src/solo_tool_web.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py
index 02ffdac..c565d85 100644
--- a/web-project/src/solo_tool_web.py
+++ b/web-project/src/solo_tool_web.py
@@ -33,7 +33,7 @@ def songList(st: SoloTool, songDrawer) -> None:
sessions = {}
sessionManager = None
midiPedal = ActitionController()
-recorder = Recorder(1024, 48000)
+recorder = None
def makeKeyboardHandler(st: SoloTool):
def handleKey(e: events.KeyEventArguments):
@@ -131,9 +131,10 @@ def landingPage():
for id, soloTool in sessions.items():
ui.button(id, on_click=partial(ui.navigate.to, f"/{id}"))
-def start(port, refresh, reload, session_path):
- global sessionManager
- sessionManager = SessionManager(session_path)
+def start(port, refresh, reload, sessionPath, bufferSize, samplingRate):
+ global sessionManager, recorder
+ sessionManager = SessionManager(sessionPath)
+ recorder = Recorder(bufferSize, samplingRate)
for id in sessionManager.getSessions():
songTool = sessionManager.loadSession(id)
@@ -151,10 +152,12 @@ def start(port, refresh, reload, session_path):
@click.option("--refresh", type=float, default=0.5, help="Refresh interval in seconds.")
@click.option("--reload/--no-reload", default=True, help="Auto-reload when files change.")
@click.option("--session_path", default="https://files.0xf7.com", help="Look for sessions in this location.")
-def main(port, refresh, reload, session_path):
- start(port, refresh, reload, session_path)
+@click.option("--buffer_size", type=int, default=128, help="Audio buffer size for recording.")
+@click.option("--sampling_rate", type=int, default=48000, help="Audio sampling rate for recording.")
+def main(port, refresh, reload, session_path, buffer_size, sampling_rate):
+ start(port, refresh, reload, session_path, buffer_size, sampling_rate)
# Hardcoded dev settings
if __name__ in {"__main__", "__mp_main__"}:
- start(8080, 0.5, False, "https://files.0xf7.com")
- #start(8080, 0.5, True, "/home/eddy/music")
+ start(8080, 0.5, False, "https://files.0xf7.com", 1024, 48000)
+ #start(8080, 0.5, True, "/home/eddy/music", 1024, 48000)