DAW in combination with code repository?

As a programmer I’m used to having a code repository for my projects. Meaning I can always go back to an earlier version of my code or just look up if and how something changed. This has caused me to be somewhat messy in my projects because I have always the repository to rely on when I make an error or delete something I still have to use later.

Now after doing a few little projects in Reaper I noticed how much I rely on such a repository. 4 different drumtracks I created for the practice website? Lucky if I still have the last one saved from that project.

Has anyone any experience with using code repositories on music projects or knows of other useful tools to help one keep track of projects in the DAW?

I don’t mean manual stuff like how to organize or something but actual tools that take at least some worries away from you so your focus can be on music and not saving everything you might need later and then not find it again and not be sure if you saved it at all in the first place.


While I have extensive experience with Git, I fail to see the benefit of using it in combination with Reaper projects – I have yet to see a benefit. .
The Good Thing™ about Reaper is that you can leave a track in there, but just take it out of the action. You can have a hundred drum trakcs in there, but as long as you only have one active, you’re good. Having second thoughts about the last one and want to switch back to the 14th one? No problem.

I may be missing something - if so, please enlighten me!


It’s probably just that I’m not used to working like that.
I like my workspace clean with only what I actually need on there.
So what happened to my drumtracks?
I just edited the existing one.
Sure I could have just made a copy of the existing one and always just edit copies but that would be just emulating a history instead of actually having one and is exactly what I meant by how to organize it. Could be the solution but if possible I would like to not have to do it manually.

I’ll probably just have to change up my behavior a bit.
It will still end up in me either saving waaaaaaaaay too much or way to few copies.

edit: I wanted to explain how I’m messy in my projects but like my workspace clean. I achieve the clean workspace by being messy in the projects overall. “Here’s something that’s not needed. Okay - away.” but if it turns out I need it it isn’t a problem. So I can keep it clean by being messy without a second thought.


Yes… I’ve been doing some thinking about this in the meantime.

I think that, for me, the difference between a code project and a Reaper project is that a code project has a life cycle that is much, much longer than a piece of music.
I work on a piece of music until it’s done… and when it’s done, that’s it. But a code base will always be open for extension. That’s why the concept of ‘history’ is much more important in a code project.

For code projects, there are many advantages to using a version control system that do not apply to Reaper projects – take code comparison between versions, or code review facilities. I’d hate to have to do a code review on a Reaper project, or to compare source files. So… it’ll always be kinda messy.


You may be on to something and the whole reason I am coming back to these drumtracks is: I use them in a coding project.

Maybe I should just add the reaper projects which exist in conjunction with my coding project, the practice website, in my code repository. If it works… It might for the midi tracks and so on but surely won’t for actual audio files which are just linked into the reaper project.

Guess what I’m asking for is a history of sorts so I can undo and return to specific versions. PRs and diffs are not what I was interested in of course.


You are evidently using a version of IntelliJ that I am completely unaware of. :joy:


Urghs. Java? And up until now I liked you.
Na, just kidding. I still like you.

Although the “Urghs. Java?” part was serious.

It’s a practice website written in angular js with materials UI elements.


I was thinking that saying you’re using a version of VS would make you dislike me more. I’m very much a C# guy. I like Java as a concept, but I hate its implementation.


You really make it hard for me here.
It’s really hard.
To not go into politics with this.
Okay I’ll hope I will be forgiven for this since I don’t want to create a political discussion out of it and it’s just a joke, but I can not hold myself back…

Java. The communism of programming languages.

Yeah I’m a C# guy as well. One colleague of mine really advocates for functional programming languages and did a few workshops and I gotta say I would really like to do a real project in a functional language.


FTFY. :innocent:


Yeah I would just leave the tracks in the DAW projects and only enable the current ones. You can always make new DAW projects.

The problem with most source control here is you’re talking a lot of binary files (which ofter version poorly anyway, essentially often just multiple copies anyway, depending on your version control system). Additionally, for using something like git or perforce (as opposed to, say, a content management system) you need tro deal with the fact that the DAW will not necessarily store the media in the same place as the project. Reaper as an example is kind of tricky for this since it will store the media in one place and project files elsewhere until you actually save and configure the project.

We can all pile in on the Java lols though :slight_smile:

(I’m coming from the other side though - C++/C/ObjC/etc here).


The DAW I use is Logic.
The Logic Autosave feature and files can act as a sort of repository, but they are not easy to find for the basic user.
I don’t know about Reaper.

If you’re making different drum loops for different projects, building your own library, or setting autosave features and location sound like the best option… but you can probably write your own script to do what you want… such mystical powers!

… I was about to try and make a java joke related to coffee (what’s the big deal, java is great! ~siiiiiip~ ahhh…) but I decided it would be a dumb idea.*



You made me salivate a bit. This is tasty stuff. Glad I haven’t decided on a DAW/Purchased one yet.