Stagedings
An UI and API for mididings https://github.com/mididings/mididings
Install / Use
/learn @mididings/StagedingsREADME
🎹 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
<img src="docs/frontend.png" alt="stagedings UI screenshot" width="700"/>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 & dependencies
On the server running mididings with OSC support
- Clone this repository
- In the stagedings/src directory
- Create a .env file
- Add the key STAGEDINGS_WS_HOST with the server name and the port of your choice:
- STAGEDINGS_WS_HOST=localhost:5000
- Add the key STAGEDINGS_WS_HOST with the server name and the port of your choice:
- Create a .env file
In a Python Virtual Environment
- mididings community >= 20250818 with OSC support
- See the mididings README for build instructions
- pip install fastapi
- pip install jinja2
- pip install uvicorn[standard]
▶️ Running the application
-
In the stagedings/src directory
- uvicorn main:app --port 5000 --host 0.0.0.0
-
Then navigate to http://your-server-name:5000
High Level Overview
<img src="docs/overview.png" alt="stagedings UI screenshot" width="800"/>🔗 Communication Workflow
<img src="docs/workflow.png" alt="stagedings UI screenshot" width="800"/>💬 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 🇨🇦
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
