An API to navigate scenes and subscenes that has been configured in a mididings script
Project description
stagedings
An API to navigate scenes and subscenes that has been configured in a mididings script
What does stagedings allow?
- A web-based interface
- Alternative of the legacy
livedings UI, which was based on Tkinter 🪓
- Alternative of the legacy
- A HTTP layer that facilitates control and navigation allowing the abstraction of OSC subcalls
- An OpenAPI specification making possible to generate a client SDK in multiple language with a code generator like Kiota making possible to use the API in .NET, Go, Java, PHP, Python, Ruby and TypeScript.
⚠️ A scene patch dictionary defined in the run section of your mididings script is required to work correctly, check the run function documentation for more information on how to structure your patch.
📘 API documentation
Frontend
A responsive multiclient, real-time interface for scene/subscene navigation
Features
- Web UI with real-time scene/subscene updates
- FastAPI backend with full REST and WebSocket support
- Multiple clients supported
- Use the mididings OSC interface
- It exposes a fully compliant OpenAPI spec for easy generation of SDK clients in any language, enabling flexible remote control of mididings
The frontend allow
- Direct navigation through scenes and subscenes
- Exposes the Restart, Panic, Query and Quit commands
The backend allow
- Endpoints for direct navigation through scenes and subscenes
- Endpoints to the Restart, Panic, Query and Quit commands
ℹ️ About commands
- Restart will restart mididings process
- Panic send not off to all ports and all channels
- Quit stop mididings, be carefull
- Query is a work in progress
⚒️ Installation from PyPI
NOTE: This will also install mididings with OSC and AutoRestart support allowing a full working stack.
# Create a Python virtual environment
$ python3 -m venv .venv
$ source .venv/bin/activate
# Install stagedings including mididings as a dependency
$ pip install stagedings
▶️ Running the application
$ stagedings [--host HOST] [--port PORT]
Options
- --host
- FastAPI server bind address
- Default: localhost
- Use 0.0.0.0 to allow network access or the server IP address
- FastAPI server bind address
- --port
- FastAPI + WebSocket server port
- Default: 5000
- FastAPI + WebSocket server port
Use cases
Local development (single machine)
$ stagedings
This runs everything locally on:
http://localhost:5000
Network / multi-client setup
When clients access the server from other machines, you must expose the backend:
$ stagedings --host 0.0.0.0
or:
$ stagedings --host 192.168.1.100
Accessing the UI
Once running, open in a browser:
http://dings.local.com:5000
or:
http://192.168.1.100:5000
High Level Overview
🔗 Communication Workflow
💬 Feedback & Contributions
We welcome bug reports, feature ideas, and contributions! Please open an issue or discussion
📜 License
All files in this repository are released under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 or later of the License.
Made in Québec 🇨🇦
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stagedings-0.1.0.tar.gz.
File metadata
- Download URL: stagedings-0.1.0.tar.gz
- Upload date:
- Size: 136.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
484973ce21c92d4c9e73e809fd0f3942e9f841c1105faab06281e396ccc77c75
|
|
| MD5 |
88499debcd879fc4994cbde646e393a3
|
|
| BLAKE2b-256 |
cc68eebd53190805d3c04658b49321eebfbf9a70e03067d323ef7afef08a49ce
|
File details
Details for the file stagedings-0.1.0-py3-none-any.whl.
File metadata
- Download URL: stagedings-0.1.0-py3-none-any.whl
- Upload date:
- Size: 138.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aa4569875f3b5002266854c49ed24cee1bad48d099088353bfcbf1cc0316b6f
|
|
| MD5 |
31ac304135ecafb54d2d1b5d5887dee8
|
|
| BLAKE2b-256 |
a0834ba65d77cfeb0d8d3d7d457fda4b71c5612f07d43a71f156eb07fbab4796
|