-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
Matthew Stratford edited this page May 6, 2021
·
2 revisions
This is the high(er) level explanation what's present in BAPSicle, and how it all talks to each other.
-
server.py
- The main entry point (called fromlaunch.py
) that acts as the launcher and watchdog for the other module processes. -
player.py
- The code that actually manages achannel
of the show plan, plays audio etc. Multiple instances of thePlayer
instances can be launched, each to handle a singlechannel
of audio. -
player_handler.py
- Splits command responses from the player back to the module that sent the original command (or to all modules). -
web_server.py
- Provides the Sanic webserver used to serve the presenter UI, administer BAPSicle and act as an API proxy to (currently) MyRadio for UI track / show plan requests. -
websocket_server.py
- Provides a websocket server to allow the presenter UI instances to send / receive server state changes. -
file_manager.py
- Thesecret sauce
that makes BAPSicle so responsive, handling pre-loading audio from the API to the local disk for quick loading. -
controllers/*.py
- Implementations of hardware controller interfaces for BAPSicle.