On Thu, Apr 05, 2012 at 12:14:03PM +0100, Rui Nuno Capela wrote:
> from what I read on the NSM User & API specs. you can only create new,
You have a project of application A, created without NSM, and the project
is saved in P (a single file, or a directory).
You want to use P as part of an NSM session. Note that this scenario means
that A has some button to select if it runs under NSM or not. Let's assume
that the default is to run stand-alone.
There are two ways to do this:
1. ('Load' and 'New' are disabled when running NSM)
* Start A.
* Load P.
* Connect A to NSM. Application A will receive a path indicating
where to save its current project. The actual message is 'open',
but since there is nothing to open at the given path the only
sensible thing to do is to put the current project there.
App. A can do so immediately, and then continue as normal.
The whole thing amounts to a 'Save as' [*] with the name given
by NSM instead of the user. So it's really nothing new.
2. ('Load' and 'New' are not disabled but the application knows
how to handle then when running under NSM)
* Start A.
* Connect A to NSM. App. A will receive a path indicating where to
save the its project. Since A is now running under NSM, it remembers
this path as the 'current project' even when it loads another one,
or creates a complete new one (under these condition A is allowed
to have 'Load' and 'New' menu entries).
* Load P. App A knows that it should not save to P, but to the path
given by NSM. To keep things simple, it could copy P to that path
immediately and then continue as normal. Again this is essentially
a 'Save as'.
The only difference between the two is that in (2) the second and
third steps are swapped.
No 'manual' user action is required in either case.
[*] 'Save as' interpreted as most apps would, not as Ardour does it.
In Ardour, 'Save as' does not create a new project but a snapshot,
while setting the current name to that snapshot.
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Linux-audio-dev mailing list