[Ardour-Dev] VST state support

Paul Davis paul at linuxaudiosystems.com
Sat Mar 7 09:36:07 PST 2009


On Sat, Mar 7, 2009 at 12:04 PM, Martin Profittlich
<martin at profittlich.com>wrote:

> Hello,
>
> here is my first attempt to add VST plugin state support to Ardour.
>
> Here is what I did:
> - Save the state file in the session directory instead of ~/.ardour2
> - Only save the filename of the state file in the session file (the path
> is known)
> - Use unique_id() to name the state file
> - Use fst_save_state() and fst_load_state() to do the real work
>
> What do you think?
>
> There are a couple of issues with this patch:
>
> - Ardour doesn't know when a plugin state has changed and therefore
> doesn't ask wether to save the project on exit.


i'll think about this. i think it would be better to encode the chunk state
and put it into the session file. VST (unlike AU) has no real standard for
sharing presets/settings across DAWs.



>
>
> - It seems to be necessary to open the editor of the plugin in order to
> set the state and do the consistency checks. I do this with
> fst_run_editor() and fst_destroy_editor() around fst_load_state(). For
> some reason, this creates an empty window that doesn't get closed on
> fst_destroy_editor().


should not be necessary. will consider it.


>
> - It uses FST's new file format, which probably cannot be considered
> finalized until there is a new FST release.


not so. ardour doesn't use FST as an external library, and likely never
will.


>
> Also, did anyone have a chance to look at the backtrace I posted a
> couple of days ago, regarding the VST freeze issue? I worked around it
> by removing a call to connect_and_run() from insert.cc, but I doubt that
> this is a real fix. The call must surely be there for a reason. It's
> just that by looking at the code, I wasn't able to find it. :-)


your multithread diagnosis is almost certainly correct. i'm still working on
a real fix.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ardour.org/pipermail/ardour-dev-ardour.org/attachments/20090307/8a8f5982/attachment-0001.htm>


More information about the Ardour-Dev mailing list