Still a little bit rough around the edges, but it works. This can be tested
with the eg-sampler plugin from LV2 svn (whose UI can load different samples).
git-svn-id: svn://localhost/ardour2/branches/3.0@11519 d708f5d6-7413-0410-9779-e7cbd77b26cf
Merge all parameter_is_* boolvectors into a single vector of flags (smaller/faster).
git-svn-id: svn://localhost/ardour2/branches/3.0@11515 d708f5d6-7413-0410-9779-e7cbd77b26cf
This saves a complete history of plugin state, i.e. save is no longer destructive. However, data is shared as much as possible, and new state is only written if the plugin state has actually changed. There is exactly one link in the entire session directory to any external file, so archiving will work with minimal copying.
Not sure sure about the naming of the "externals" directory, but I have nothing better...
git-svn-id: svn://localhost/ardour2/branches/3.0@11372 d708f5d6-7413-0410-9779-e7cbd77b26cf
Old stuff continues to work for Calf, but it'd sure be nice if it would be updated...
git-svn-id: svn://localhost/ardour2/branches/3.0@10952 d708f5d6-7413-0410-9779-e7cbd77b26cf
With this commit it is possible to archive sessions that contain plugins with
complex file-containing state (e.g. Linuxsampler with a sample bank loaded)
with any archive tool, e.g.:
tar -hjcf session.tar.bz2 session
Which will give you a fully self-contained archive of everything used in the
session, so you can e.g. send it to a collaborator who may not have the same
sample banks in the same place as you and it will work.
git-svn-id: svn://localhost/ardour2/branches/3.0@10817 d708f5d6-7413-0410-9779-e7cbd77b26cf
whose values are expressed as a fraction of the sampling
rate. Should fix#3767.
git-svn-id: svn://localhost/ardour2/branches/3.0@9848 d708f5d6-7413-0410-9779-e7cbd77b26cf
Hide scale points implementation inside specific Plugin subclass.
Don't needlessley/slowly get scale points twice for each port while building UI.
Remove dependence on specific plugin types from GenericPluginUI.
git-svn-id: svn://localhost/ardour2/branches/3.0@9511 d708f5d6-7413-0410-9779-e7cbd77b26cf
This extension works with the persist extension to allow plugins to
save references to files in their state, but still allow the host
(e.g. Ardour) to control where files are located, making it possible
to do a deep export of a session with all files (e.g. loaded sampler
banks) included.
Tested working with a patched version of LinuxSampler...
TODO: Make symlinks in the plugin state directory rather than refer
to absolute file paths in state files (i.e. support session export,
either by ardour or any other tool, in particular the Jack session
manager...)
git-svn-id: svn://localhost/ardour2/branches/3.0@9272 d708f5d6-7413-0410-9779-e7cbd77b26cf
Plugin state data is saved to a simple RIFF-based binary file.
Cross-endianness and non-POD data not yet implemented.
git-svn-id: svn://localhost/ardour2/branches/3.0@9220 d708f5d6-7413-0410-9779-e7cbd77b26cf
Also add a (for now) commented out implementation for LV2Plugin::load_preset,
but this requires SLV2 to have blank node SLV2Values, which the current
version does not...
git-svn-id: svn://localhost/ardour2/branches/3.0@8578 d708f5d6-7413-0410-9779-e7cbd77b26cf