aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--solo-tool-project/src/solo_tool/handlers.py8
-rw-r--r--solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py8
-rw-r--r--solo-tool-project/test/solo_tool_integrationtest.py5
-rw-r--r--web-project/src/solo_tool_web.py6
4 files changed, 11 insertions, 16 deletions
diff --git a/solo-tool-project/src/solo_tool/handlers.py b/solo-tool-project/src/solo_tool/handlers.py
index 0b38968..b178b3a 100644
--- a/solo-tool-project/src/solo_tool/handlers.py
+++ b/solo-tool-project/src/solo_tool/handlers.py
@@ -10,7 +10,7 @@ def playPause(st: SoloTool) -> Callable[[], None]:
st.play()
return f
-def changeSong(st: SoloTool, delta: int) -> Callable[[], None]:
+def songRelative(st: SoloTool, delta: int) -> Callable[[], None]:
def f():
if st.song is None:
st.song = 0
@@ -26,7 +26,7 @@ def restartOrPreviousSong(st: SoloTool, threshold: float) -> Callable[[], None]:
st.position = 0.0
return f
-def setSong(st: SoloTool, index: int, followUp: Callable[[], None]=None) -> Callable[[], None]:
+def songAbsolute(st: SoloTool, index: int, followUp: Callable[[], None]=None) -> Callable[[], None]:
def f():
st.song = index
if followUp is not None:
@@ -48,12 +48,12 @@ def positionToKeyPoint(st: SoloTool) -> Callable[[], None]:
st.keyPoint = st.position
return f
-def setKeyPoint(st: SoloTool, kp: float) -> Callable[[], None]:
+def keyPointAbsolute(st: SoloTool, kp: float) -> Callable[[], None]:
def f():
st.keyPoint = kp
return f
-def changeKeyPoint(st: SoloTool, delta: int) -> Callable[[], None]:
+def keyPointRelative(st: SoloTool, delta: int) -> Callable[[], None]:
from bisect import bisect_right, bisect_left
def f():
if delta > 0:
diff --git a/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py b/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py
index 08d55cd..625e2ef 100644
--- a/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py
+++ b/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py
@@ -35,17 +35,17 @@ class MidiController:
96 : handlers.seekAbsolute(self._soloTool, 0.0),
114 : self._soloTool.jump,
112 : handlers.playPause(self._soloTool),
- 118 : handlers.changeKeyPoint(self._soloTool, -1),
- 119 : handlers.changeKeyPoint(self._soloTool, 1),
+ 118 : handlers.keyPointRelative(self._soloTool, -1),
+ 119 : handlers.keyPointRelative(self._soloTool, 1),
117 : handlers.positionToKeyPoint(self._soloTool),
- 48 : handlers.changeSong(self._soloTool, -1),
+ 48 : handlers.songRelative(self._soloTool, -1),
49 : handlers.seekRelative(self._soloTool, -0.25),
50 : handlers.seekRelative(self._soloTool, -0.05),
51 : handlers.seekRelative(self._soloTool, -0.01),
52 : handlers.seekRelative(self._soloTool, 0.01),
53 : handlers.seekRelative(self._soloTool, 0.05),
54 : handlers.seekRelative(self._soloTool, 0.25),
- 55 : handlers.changeSong(self._soloTool, 1),
+ 55 : handlers.songRelative(self._soloTool, 1),
}
for i in range(0, 8):
diff --git a/solo-tool-project/test/solo_tool_integrationtest.py b/solo-tool-project/test/solo_tool_integrationtest.py
index 5d8f14c..7b274a3 100644
--- a/solo-tool-project/test/solo_tool_integrationtest.py
+++ b/solo-tool-project/test/solo_tool_integrationtest.py
@@ -1,7 +1,3 @@
-import pathlib
-import shutil
-import pytest
-
from fixtures import soloTool as uut, songPool, mockPlayer, testSongs
def test_playerControls(uut, mockPlayer):
@@ -156,4 +152,3 @@ def test_playbackRateNotification(uut, mockPlayer, testSongs):
uut.rate = 0.5
assert not called
-
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py
index 8e3b576..c0c3d04 100644
--- a/web-project/src/solo_tool_web.py
+++ b/web-project/src/solo_tool_web.py
@@ -20,13 +20,13 @@ def fileName(path: str) -> str:
def keyPointList(st: SoloTool) -> None:
with ui.list().props('separator'):
for kp in st.keyPoints:
- ui.item(f"{kp:0.2}", on_click=handlers.setKeyPoint(st, kp)).props('clickable v-ripple').classes('text-lg')
+ ui.item(f"{kp:0.2}", on_click=handlers.keyPointAbsolute(st, kp)).props('clickable v-ripple').classes('text-lg')
@ui.refreshable
def songList(st: SoloTool, songDrawer) -> None:
with ui.list().props('separator'):
for i, path in enumerate(st.songs):
- ui.item(fileName(path), on_click=handlers.setSong(st, i, lambda: songDrawer.hide())).props('clickable v-ripple')
+ ui.item(fileName(path), on_click=handlers.songAbsolute(st, i, lambda: songDrawer.hide())).props('clickable v-ripple')
sessions = {}
for f in glob(f"{SESSION_DIR}/*.json"):
@@ -103,7 +103,7 @@ def sessionPage(sessionName: str):
ui.button(color='positive', on_click=handlers.playPause(st)).bind_icon_from(st, "playing", lambda playing: "pause" if playing else "play_arrow").props(f"size={buttonSize}").style('flex: 1')
ui.button(icon='vertical_align_bottom', on_click=handlers.positionToKeyPoint(st), color='negative').props(f"size={buttonSize}").style('flex: 2')
ui.button(icon='undo', on_click=st.jump, color='secondary').props(f"size={buttonSize}").style('flex: 2')
- ui.button(icon='skip_next', on_click=handlers.changeSong(st, 1)).props(f"size={buttonSize}").style('flex: 1')
+ ui.button(icon='skip_next', on_click=handlers.songRelative(st, 1)).props(f"size={buttonSize}").style('flex: 1')
# Playback rate
with ui.row().classes('w-full justify-between no-wrap items-center'):