Separate UI and control logic with WebSocket communication

- Create UI client (src/ui_client.py) with MIDI controller integration
- Create control server (src/control_server.py) with lighting logic
- Implement WebSocket protocol between UI and control server
- Add startup script (start_lighting_controller.py) for all components
- Update Pipfile with new scripts for separated architecture
- Add comprehensive documentation (README_SEPARATED.md)
- Fix LED connection stability with heartbeat mechanism
- Fix UI knob display and button highlighting
- Maintain backward compatibility with existing MIDI mappings
This commit is contained in:
2025-09-28 12:36:25 +13:00
parent ed5bbb8c18
commit 937fb1f2f9
5 changed files with 1462 additions and 2 deletions

View File

@@ -19,5 +19,8 @@ websocket-client = "*"
python_version = "3.12"
[scripts]
main = "python main.py"
dev = 'watchfiles "python src/main.py" src'
ui = "python src/ui_client.py"
control = "python src/control_server.py"
sound = "python src/sound.py"
dev-ui = 'watchfiles "python src/ui_client.py" src'
dev-control = 'watchfiles "python src/control_server.py" src'