Feature request: source control system for Edits

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

I don't know whether other DAWs offer this, but I would feel much more confident if I knew my Tracktion projects were managed by a source control system (also known as version control or revision control). This would let me see a log of my changes, compare versions, and/or roll back to earlier versions of an Edit.

At a minimum, using source control on the .trkedit files would be very useful, since xml lends itself well to version control. Of course you can do this now by committing the .trkedit files to an SVN repo or whatever, but this is beyond many users and is generally inconvenient. Rather, I'm thinking of something along the lines of the Subclipse plugin for the Eclipse IDE.
Ralph Gonzalez

Post

Interesting topic although I am not quite sure what it is you're after. Feel more confident about what?

Post

Here's an example: Today I made a major change in a MIDI track, changing the chords used during the verse so I can live with it a few days and see if this will fit with the song. I could save the edit with a new name or duplicate the track and mute the original, but these are both messy ways of allowing me to get back to the original version -- especially if I'm making many such experimental changes. A source control system would let me view a history of my changes and selectively roll back changes or revert to an earlier version of my edit. This would give me more confidence when trying out changes to a song, knowing I can undo the changes at a later date.

Another benefit of source control would be allowing multiple people to collaborate on an edit, each committing changes without worrying about overwriting the others' changes. As far as I know, other DAWs don't offer this capability (?), and it could be a game-changer.
Ralph Gonzalez

Post

this sounds like a great idea!
i think it must be well thought through, to not mess things up.
there could "theme groups" in the edit control history, that refer to certain areas of an edit like, midi, audio edits, plugins. maybe viewable by track or time position or date ...

don't know if this will ever happen, but would indeed be a novelty in daw-land.

Post

I think to some extent you could do this immediately, by integrating an svn or git client into the application. With each commit the user would describe the changes in the comment message. This would help identify changesets if the user wants to roll back to an earlier version. Multiple users could work on the same edit by updating from the repository.

The challenges I see are around making it easy for users to merge change when there are conflicting changes to the same file, and minimizing the likelihood that reverting a changeset out of sequence might leave the Edit in an inconsistent state.

You would also want to integrate a GUI diff view to compare revisions. As an experiment, I used a Diff tool (SourceGear DiffMerge) to compare the two aforementioned edits, in which I changed the chords in one of the MIDI tracks. Here is a partial screenshot.
tracktion-diff.PNG
You do not have the required permissions to view the files attached to this post.
Ralph Gonzalez

Post

Or just save your tracktion projects in your Dropbox folder. That'll do version control for you automatically (logon to the dropbox website, download a previous version of your edit, if you want)
"my gosh it's a friggin hardware"

Post

chico.co.uk wrote:Or just save your tracktion projects in your Dropbox folder. That'll do version control for you automatically (logon to the dropbox website, download a previous version of your edit, if you want)
But does that tell you what's changed in the edit?
ABLETON LIVE 12 & PUSH2
Soundcloud: Nation of Korea vs Shitty Dog

Post

You're not seriously saying a Diff of an xml file tells you what's changed in an edit in a meaningful way that a user would actually use, in a real life scenario, are you?

You can restore as many back as you fancy, until you find the one you want.

There's also nothing stopping you downloading a bunch of previous versions, and diffing them with windiff, or your open source diff utility of choice (notepad++ has a compare function that I like, just not for edits in music software ...)

Alternatively, save your edits, with meaningful notes, before you make substantial changes.
This is a solution looking for a problem.
"my gosh it's a friggin hardware"

Post

You could use multiple edits.
[W10-64, T5/6/7/W8/9/10/11/12/13, 32(to W8)&64 all, Spike],[W7-32, T5/6/7/W8, Gina16] everything underused.

Post

chico.co.uk wrote:You're not seriously saying a Diff of an xml file tells you what's changed in an edit in a meaningful way that a user would actually use, in a real life scenario, are you?

You can restore as many back as you fancy, until you find the one you want.

There's also nothing stopping you downloading a bunch of previous versions, and diffing them with windiff, or your open source diff utility of choice (notepad++ has a compare function that I like, just not for edits in music software ...)

Alternatively, save your edits, with meaningful notes, before you make substantial changes.
This is a solution looking for a problem.
jabe wrote:You could use multiple edits.
The OP is requesting source control / version control functionality, built into Tracktion - not external solutions. I think there is some merit to the idea, not sure of the appetite in the community though?
ABLETON LIVE 12 & PUSH2
Soundcloud: Nation of Korea vs Shitty Dog

Post

In theory it sounds like an interesting idea but when I look at your Diff tool, I fear it is rather convoluted and not at all a musical solution.

Post

I don't know if off-the-shelf version control is the perfect solution, but I think it's a start. Segmenting the edits as klangbastler suggested would make it more useable.

And yes, I have edited the xml files meaningfully in the past -- I once had to remove reference to a VST plugin which was freezing Tracktion each time I opened the Edit I was working on.

Software developers 30 years ago were perfectly happy saving "checkpoint" copies of their code or looking to backup tapes for old versions etc. Today these archaic attempts at version control seem laughable, particularly in collaborative environments. Yet that's where we stand with our audio projects...
Ralph Gonzalez

Post

frankvg wrote:In theory it sounds like an interesting idea but when I look at your Diff tool, I fear it is rather convoluted and not at all a musical solution.
Im quite familiar with source code control systems myself, but I'd suggest a visual hierarchic tree of changes would be much easier for most people to understand; perhaps making the terminology closer to freezing/undo with a sort of 'branching history' of what's been done would be more comprehensible.
my other modular synth is a bugbrand

Post

mcnelson wrote:
chico.co.uk wrote:You're not seriously saying a Diff of an xml file tells you what's changed in an edit in a meaningful way that a user would actually use, in a real life scenario, are you?

You can restore as many back as you fancy, until you find the one you want.

There's also nothing stopping you downloading a bunch of previous versions, and diffing them with windiff, or your open source diff utility of choice (notepad++ has a compare function that I like, just not for edits in music software ...)

Alternatively, save your edits, with meaningful notes, before you make substantial changes.
This is a solution looking for a problem.
jabe wrote:You could use multiple edits.
The OP is requesting source control / version control functionality, built into Tracktion - not external solutions. I think there is some merit to the idea, not sure of the appetite in the community though?
I understand that. I don't see any benefit in integrating that kind of functionality into Tracktion, compared to using another tool, that already exists, to do it, today, if you feel like it.

Further than that, I don't see any real-world benefit to version controlled edits, over a fully featured undo history.

I just can't imagine any user sitting looking at diffs of xml edits, to decide whether or not to roll back to a previous version. I don't think there's anybody in the world who would use that functionality who can't roll their own take on it by setting up an SVN repository, or diff-ing versions saved in dropbox, or similar tools.

I may be wrong, it might be really popular.

I think there's a massive difference between manually editting an xml file, because it won't load, due to a plugin, and building version control, with diff functionality, into an audio product. I don't think the fact you occasionally do the former implies there's any use for the latter, in any sense.
"my gosh it's a friggin hardware"

Post

mcnelson wrote:
jabe wrote:You could use multiple edits.
The OP is requesting source control / version control functionality, built into Tracktion - not external solutions. I think there is some merit to the idea, not sure of the appetite in the community though?
Multiple edits is built into Tracktion.
[W10-64, T5/6/7/W8/9/10/11/12/13, 32(to W8)&64 all, Spike],[W7-32, T5/6/7/W8, Gina16] everything underused.

Post Reply

Return to “Tracktion”