On Tue, Jan 28, 2014 at 09:21:00PM -0500, Paul Davis wrote:
On Tue, Jan 28, 2014 at 9:10 PM, Fons Adriaensen
<fons(a)linuxaudio.org>wrote;wrote:
On Tue, Jan 28, 2014 at 08:32:39PM -0500, Paul
Davis wrote:
loading a snapshot and then saving will alter the
state of the
snapshot that was loaded, not the "current session" or any other
snapshot.
That exactly is the problem. I would expect things to work as you
decribe when a 'save as' file is reloaded, and that is also what
happens of course. But I wouldn't expect a snapshot to be modified
by a normal 'save' but only when the user explicitly asks for it,
by using 'new snapshot' with the same name (which would have to be
typed in manually). Overwriting snapshots to me feels like rewriting
history, or bypassing a version control system.
The root of the problem is that files created by 'new snapshot' and
'save as' are identical, and both are treated as 'session files' when
reloaded. But the user's intention behind creating either of them
is likely to be different. That intention is handled correctly when
the files are created (a snapshot won't be modified by later changes),
but not when they are reloaded.
the only intended difference between "save as" and "snapshot" is
whether or
not ardour does subsequent saves (while in the same instance) to the *new*
session file or the current one.
both operations are intended to create snapshots and snapshots are never
read-only, except by user intent.
I agree with Fons here, and I have been bitten by this more than once
myself. Snapshots are often used as a safety measure, and now it is too
easy to accidentily save your changes to a session that was not meant to
change. The fact that the original session, and the snapshots often look
very similar, makes such accidental saves very likely. I agree it is very
flexible that snapshots can be treated as ordinary sessions, and that
shouldn't change. If only there would be an option in ardour (that would
be on by default) that would warn the user that he is saving changes to
a snapshot, and NOT to the original session.
lieven