Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Instead of abusing store mutex for this purpose, extend blocking mechanism of
the PreProcessor (designed for atomic bundle execution) to support execution of
individual atomic events which must be executed before the next event can be
pre-processed.
|
|
|
|
|
|
|
|
This was confusing stoat, and is questionable design anyway. The OutputPort
functionality has been moved to PortImpl, which is a basic port with buffers
suitable for use as an output, and is overridden by InputPort and DuplexPort
where necessary.
|
|
|
|
|
|
|
|
|
|
This only works with a server-side save, so the GUI now uses that if the
server is not running remotely, where "remotely" is defined as "via
TCP". This isn't perfect, since running ingen via TCP locally is a
perfectly valid thing to do, but it will do for now.
|
|
|
|
|
|
|
|
This avoids situations like compiling a graph hundreds of times when it
is loaded because it has hundreds of nodes and each event triggers a
re-compile.
This speeds things up dramatically, but exacerbates the theoretical
problem of there not being enough time in a cycle to execute a bundle.
As far as I can tell, the execute phase of events is very fast, so
hundreds or thousands can easily run in a tiny fraction of the process
cycle, but this still needs resolution to be truly hard real-time. What
probably needs to happen is that all context and state used to process
is moved to CompiledGraph and nodes do not access their own fields at
all, but have some references into the CompiledGraph. This way, a
compiled graph is separate from its "source code", and an old one could
continue to be run while a new one is beng applied across several
cycles.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix the semantics of PUT events for existing objects to match the
documentation.
|
|
|
|
Fixes #1108
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5808 a436a847-0d15-0410-975c-d299462d15a1
|
|
Currently this is only really useful for refreshing updated bundles. It will
trigger the appropriate load and unload in the Lilv world, but the set of
plugins and presets is not updated and clients will not be notified of any
changes.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5807 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5790 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5789 a436a847-0d15-0410-975c-d299462d15a1
|
|
This fixes some issues where types are lost after saving and
re-loading many times.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5788 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5785 a436a847-0d15-0410-975c-d299462d15a1
|
|
This ensures that subgraphs always have the standard control
ports, so they are valid Ingen graphs on their own..
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5783 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5782 a436a847-0d15-0410-975c-d299462d15a1
|
|
Fix invalid use of patch:request (use patch:sequenceNumber instead).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5781 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5778 a436a847-0d15-0410-975c-d299462d15a1
|
|
Take only a fine-grained lock on the store for deletion. IIRC, the long
lock was to avoid conflict with Get which accesses the store in post_process(),
but this issue has been fixed and events only access the store in pre_process().
I believe it is now safe to only lock Delete during pre_process() as a result.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5771 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5719 a436a847-0d15-0410-975c-d299462d15a1
|