Post by J. LilesOn Fri, Jan 4, 2013 at 2:20 AM, rosea.grammostola
On Thu, Jan 3, 2013 at 1:56 AM, rosea.grammostola
Are you proposing a solution?
Remove the close button, could be an option too. Then people
have to
consciously save the session. Abort in red might be clear
enough. Then
you don't show the message box.
in this scenario you could make the save button green
or yellow (or
blue, ...), like the abort button is red.
You could also use a key + mouse button combination for 'dangerous'
actions, like Ctr + l-mouse.
Moreover I consider the 'New' button also as dangerous, at least at
this position in the GUI. Sometimes I did choose 'new' when I meant
Add Client, this switches to the new session.
Atm I think I don't like those functions which do autosave. Removing
that functionality makes the app more predictable and clear maybe.
\r
I don't think giving the NSM GUI strange key + mouse combos is going to
improve the interface usability any. The reason for the autosaving is
that without it, hitting 'new' would go from being a reversible mistake
(all you have to do is switch back to the previous session, which was
saved) to being a loss of data.
Sometimes saving does make you loosing data. For instance when
LinuxSampler got kicked out by JACK, you didn't notice and save made
you loose all the connections from LS to Non-mixer, which could be a
lot. SO if autosave is done on a moment when it shouldn't (by
accident) it makes NSM sensitive for human errors.
A snapshot function might solve the issue. A snapshot like you've in
Ardour which makes a sort of backup in a certain point of time, so
you can always go back to a certain session state.
An other solution might be a 'session lock' button, which locks all
functionality in the 'menu' except the save and new client button.
\r
I see. I've definitely thought about snapshotting, but it's a complex
issue and all clients would have to support it to make it very useful.
Keep in mind that you're free to add another layer under NSM, such as a
COW filesystem or a git repo to achieve this. However, it sounds like
your issue is really with JACKPatch... JACKPatch could potentially be
made intelligent enough to avoid forgetting the connections of clients
which die unexpectedly (only forgetting the connections when broken via
a connection manager or by the user removing the client from a session).
I can understand that a snapshot is complex.
I think Jackpatch is the main issue here indeed.
Linuxsampler or an other app has died or didn't launch.