summaryrefslogtreecommitdiffstats
path: root/src/server/PreProcessContext.hpp
AgeCommit message (Collapse)AuthorFilesLines
2022-08-18Avoid "else" after "return", "break", and "continue"David Robillard1-3/+5
2021-01-02Update for latest raulDavid Robillard1-2/+2
2020-12-15Clean up includes in core and serverDavid Robillard1-3/+1
2020-08-02Remove Raul::managed_ptr aliasDavid Robillard1-2/+4
2020-08-02Remove std::shared_ptr aliasDavid Robillard1-0/+2
2020-08-02Use nullptr for empty smart pointersDavid Robillard1-1/+1
2019-12-08Cleanup: Use "using" instead of "typedef" where appropriateDavid Robillard1-1/+1
2019-03-09Clean up includes and forward declarationsDavid Robillard1-2/+3
2018-09-23Use lowercase namespace namesDavid Robillard1-4/+4
2017-12-16Make CompiledGraph::compile a free functionDavid Robillard1-1/+1
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-3/+17
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-0/+70
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.