Hacker News new | ask | show | jobs
by thw_9a83c 298 days ago
At least the Reaper has a quite readable "rpp" XML project file. So this probably works nicely. Other that that, versioning DAW projects is a pure hell. It would require to version control all samples, plugins, configurations, etc. I don't really see an easy way to do it.
2 comments

That’s why I said it should fall on the daw. They can serialise their own settings, including the plugins used and its versions, and have a common interface for plugins to expose and restore a serialisation of its internal setup.

I dont think it’s trivial at all, but exposed with a basic ui it could be a killer feature.

Hell, as a POC even simply saving everything internally on each “commit” could be a UX improvement, so you can move easily between “save points” of the project without going the “V2_final_forreal folder” route.

> They can serialise their own settings, including the plugins used and its versions, and have a common interface for plugins to expose and restore a serialisation of its internal setup.

I'd be incredibly surprised if there is any DAW in existence that doesn't do this already.

But it has very little do with version control per se.

Ardour already has "snapshots" which work pretty much as you describe.

>But it has very little do with version control per se

How so?

For clarity, my train of thought was that if you have that, you have easy differentiation.

Someone edited the transpose knob of a sampler plugin, someone else edited the cropping marks, you can take a shot at merging those differences.

Sometimes it might not make much sense - if you edit a synths preset, other people’s changes aren’t going to fit in the new one. But it’s a starting point at least.

An Ableton live set file is just a gzipped xml, so I can imagine some git hook that would unzip it before committing it to git. That way you can merge different branches, but it will surely come with its own limitations.
It'd be cool to see something like the recent Automerge/Godot thing built into a music making application.

https://www.inkandswitch.com/project/beckett/

This is really neat. Beckett being one part of a broader effort to develop "universal version control".

https://www.inkandswitch.com/universal-version-control/