JHH StudioMaster · Dash · Space

Building SpaceMusic

For developers - set up, run, change and ship the SpaceMusic code.

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, change and release it.

For us: This page is for developers; users go to SpaceMusic and the Factory. Armin programs SpaceMusic. Ask Tebjan Halm about vvvv and the Core. The docs are the full manual; this page only tells you which docs page to open.

Start here

How to

Set up a developer PC

  1. Install the .NET SDK, Visual Studio Build Tools, Node.js, Git and gh. Only to make installers: also Inno Setup and Velopack.
  2. Clone the repo as the docs describe, then read Build gotchas.

Run it from source

  1. In the repo, start vvvv with Start.bat.
  2. 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 made from it.

  1. Change the parameter in DNA at dna.spacemusic.tv (its own login, not the studio login).
  2. Press Publish to build. GitHub makes the new code; the web Pro UI updates by itself.
  3. The desktop app gets it with the next release.
  4. Details: What DNA is and How a DNA edit ships.

Ship a release

  1. Run ship.bat in the SpaceMusic repo. It asks what to ship and runs the right scripts.
  2. Write what changed in RELEASE_NOTES.md in the repo.
  3. Details: Ship a release. Only the web UIs: Publish the web UIs.

Change the Factory, the Worker or the 3D viewer

  1. Start at Factory for developers and its code map.
  2. The Factory website deploys when you push main.
  3. A new Worker: Worker: build, release, add a tool. The viewer: Model Viewer and GLB Converter.

Add files to the core library

  1. Follow Adding to the core library.

Issue or take back a licence

  1. Follow Issue and revoke a license.

See how the code fits together

  1. Open grapher.spacemusic.tv (studio login). It draws how the vvvv files depend on each other.
  2. To let an AI assistant map the vvvv code, use graphify_VL.

What we have

NameWhatWhere
vvvv gammaThe visual programming tool SpaceMusic is built in. The repo bundles its own copy; keep each tool on its own vvvv version.vvvv-binaries
VL.StandardLibsOur fork of the vvvv standard libraries, with local patches. Do not update it blindly; see PATCHES.md.repo
Other vvvv librariesOur forks and own add-ons: VL.Fuse, VL.Fuse.DomainExtensions, VL.Rhino3dm, VL.IO.AbletonLink.Fuse, DomainExtensions, Rhino3dm, AbletonLink
DNAThe master list of all parameters, kept in Directus.dna.spacemusic.tv, own login
SMCodeGenTurns DNA into C# code and screen descriptions.csharp/SMCodeGen in the repo
DNA helpersDNA editor ideas, a tree view of all parameters, a sidebar menu tester.dna-editor, TreeDiagram, SidebarTester
VL.GrapherDraws how the files of a vvvv project depend on each other.grapher.spacemusic.tv, repo
graphify_VLOur fork of the graphify AI assistant skill that can read vvvv .vl files.repo
DocsThe SpaceMusic manual: about 95 pages on the Factory, the app, the server and building the app.docs.spacemusic.tv, studio login

Find it

All links go to the developer docs (studio login).

More in Products