Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
|
|
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5653 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5582 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5451 a436a847-0d15-0410-975c-d299462d15a1
|
|
This time, completely isolate head and tail pointers to read and write methods,
and never empty the list.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5355 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5346 a436a847-0d15-0410-975c-d299462d15a1
|
|
Unlike the old Raul classes, std::atomic<T*> does not automatically initialise to NULL.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4917 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4916 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4743 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4739 a436a847-0d15-0410-975c-d299462d15a1
|
|
twiddling).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4730 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4665 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4561 a436a847-0d15-0410-975c-d299462d15a1
|
|
pre-processed events and notifications.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4560 a436a847-0d15-0410-975c-d299462d15a1
|
|
Rewrite notification system to support variably sized notifications.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4548 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4545 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4455 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4410 a436a847-0d15-0410-975c-d299462d15a1
|
|
assertions.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4374 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4338 a436a847-0d15-0410-975c-d299462d15a1
|
|
Towards an Ingen library interface usable on user-provided buffers.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4326 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4315 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4113 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4111 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4041 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3569 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3538 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3472 a436a847-0d15-0410-975c-d299462d15a1
|
|
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3464 a436a847-0d15-0410-975c-d299462d15a1
|
|
controls).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3462 a436a847-0d15-0410-975c-d299462d15a1
|
|
Use a simpler system for port change notifications (abusing Event, which is virtual and thus can't be ringbuffered safely, was the cause of this crash).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3438 a436a847-0d15-0410-975c-d299462d15a1
|
|
This avoids the need to allocate list nodes, improving performance (event throughput), and making EventSource::push_queued realtime safe.
Remove unused queue_size parameter from EventSource and friends.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3282 a436a847-0d15-0410-975c-d299462d15a1
|
|
fix #675).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1
|