JHH Studio

Feedback on this page

What is missing, wrong or should change?

Master · Dash · Space

Building SpaceMusic

For developers - set up, run and change 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, 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

  1. Install the .NET SDK, Visual Studio Build Tools, Node.js, Git and gh.
  2. Only to make installers: also install Inno Setup and Velopack.
  3. 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 generated from it.

  1. Change the parameter in DNA at dna.spacemusic.tv (its own login, not the studio login).
  2. Run generate-params.bat in the SpaceMusic repo. The generator, SMCodeGen, rewrites the C# code and the screen descriptions.
  3. The new parameter now shows up in the Pro UI by itself.

Publish a release

  1. Follow Publish a release.
  2. Write what changed in RELEASE_NOTES.md in the repo.

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 80 pages on running the server and building the app.docs.spacemusic.tv, studio login

Find it

More in Products