SpaceMusic is built in vvvv gamma, a visual programming tool for real-time graphics, audio and interaction on .NET (visualprogramming.net), together with C# and web code. The developer docs at docs.spacemusic.tv explain how to set up, run, build and release it.
For us: This page is for developers; users go to SpaceMusic. Armin programs SpaceMusic. Ask Tebjan Halm about vvvv and the Core.
Start here
How to
Set up a developer PC
- Install the .NET SDK, Visual Studio Build Tools, Node.js, Git and gh.
- Only to make installers: also install Inno Setup and Velopack.
- Clone the repo as the docs describe, then read Build gotchas.
Run it from source
- In the repo, start vvvv with
Start.bat. - Details: Running locally.
Add or change a parameter
DNA is the master list of every parameter (each slider, switch and value). The code and the control screens are generated from it.
- Change the parameter in DNA at dna.spacemusic.tv (its own login, not the studio login).
- Run
generate-params.batin the SpaceMusic repo. The generator, SMCodeGen, rewrites the C# code and the screen descriptions. - The new parameter now shows up in the Pro UI by itself.
Publish a release
- Follow Publish a release.
- Write what changed in
RELEASE_NOTES.mdin the repo.
See how the code fits together
- Open grapher.spacemusic.tv (studio login). It draws how the vvvv files depend on each other.
- To let an AI assistant map the vvvv code, use graphify_VL.
What we have
| Name | What | Where |
|---|---|---|
| vvvv gamma | The visual programming tool SpaceMusic is built in. The repo bundles its own copy; keep each tool on its own vvvv version. | vvvv-binaries |
| VL.StandardLibs | Our fork of the vvvv standard libraries, with local patches. Do not update it blindly; see PATCHES.md. | repo |
| Other vvvv libraries | Our forks and own add-ons: VL.Fuse, VL.Fuse.DomainExtensions, VL.Rhino3dm, VL.IO.AbletonLink. | Fuse, DomainExtensions, Rhino3dm, AbletonLink |
| DNA | The master list of all parameters, kept in Directus. | dna.spacemusic.tv, own login |
| SMCodeGen | Turns DNA into C# code and screen descriptions. | csharp/SMCodeGen in the repo |
| DNA helpers | DNA editor ideas, a tree view of all parameters, a sidebar menu tester. | dna-editor, TreeDiagram, SidebarTester |
| VL.Grapher | Draws how the files of a vvvv project depend on each other. | grapher.spacemusic.tv, repo |
| graphify_VL | Our fork of the graphify AI assistant skill that can read vvvv .vl files. | repo |
| Docs | The SpaceMusic manual: about 80 pages on running the server and building the app. | docs.spacemusic.tv, studio login |
Find it
- Repo: https://github.com/SpaceMusicZH/SpaceMusic (vvvv code in
SpaceMusic/SpaceMusic.vl, C# inSpaceMusic/csharp, overview indocs/technical.md) - Docs repo: https://github.com/SpaceMusicZH/SpaceMusic-docs
- Docs pages: Parameters and DNA, Known rough edges, Where secrets live
- Notion: SM Architecture, Testing SpaceMusic, VL Know-How, vvvv gamma, SM Licenses
- vvvv documentation: The Gray Book
- vvvv installer: Dropbox:
JHH SERVER/5_BIBLIOTHEK/13_Software/vvvv - Planning board: https://github.com/orgs/SpaceMusicZH/projects/2