summaryrefslogtreecommitdiffstats
path: root/src/server/GraphImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2023-09-23Clean up includes and forward declarationsDavid Robillard1-1/+1
2023-09-22Use a regular unique_ptr for compiled graphsDavid Robillard1-3/+5
Since these are always swapped by events which already have the ability to delete things after execution (by deleting them along with the event itself after processing), we can avoid the complexity and overhead of Raul::managed_ptr here by swapping the old graph for the new, retaining the owning reference to the old CompiledGraph in the event.
2022-12-14Concatenate nested namespacesDavid Robillard1-4/+2
2022-09-27Fix field shadowingDavid Robillard1-7/+7
2022-08-18Avoid "else" after "return", "break", and "continue"David Robillard1-2/+2
2022-08-18Use default member initializationDavid Robillard1-1/+0
2021-01-02Update for latest raulDavid Robillard1-8/+8
2020-12-15Clean up includes in core and serverDavid Robillard1-0/+1
2020-08-03Clean up includesDavid Robillard1-0/+6
As directed by include-what-you-use. Unfortunately, it is still confused by quite a few things, but this gets a lot closer to a clean report, and at least makes the output more tolerable to manually check.
2020-08-02Remove Raul::managed_ptr aliasDavid Robillard1-5/+4
2020-08-02Remove std::shared_ptr aliasDavid Robillard1-2/+3
2020-08-02Use nullptr for empty smart pointersDavid Robillard1-1/+1
2020-08-02Use auto with pointer casts to remove redundancyDavid Robillard1-2/+2
2020-08-02Use consistent naming for context parametersDavid Robillard1-18/+18
2020-08-02Remove wrappers for standard memory functionsDavid Robillard1-2/+3
2019-12-08Fix use of virtual functions in destructorsDavid Robillard1-0/+4
2019-12-08Cleanup: Remove unused parameter namesDavid Robillard1-2/+2
2019-12-08Cleanup: Use "auto" to avoid repeating type namesDavid Robillard1-1/+1
2019-12-08Cleanup: Avoid parameter copying overheadDavid Robillard1-1/+1
2019-12-08Cleanup: Use range-based for loopsDavid Robillard1-16/+16
2019-12-08Cleanup: Use "using" instead of "typedef" where appropriateDavid Robillard1-1/+1
2019-12-08Cleanup: Use std::make_sharedDavid Robillard1-1/+1
2019-03-09Clean up includes and forward declarationsDavid Robillard1-8/+12
2019-03-08Pass World everywhere by referenceDavid Robillard1-2/+2
2018-09-23Use lowercase namespace namesDavid Robillard1-4/+4
2017-12-25Use auto for iteratorsDavid Robillard1-4/+4
2017-12-25Remove superfluous using namespace declarationsDavid Robillard1-5/+3
2017-12-25Always use bracesDavid Robillard1-1/+2
2017-12-16Adjust indices when ports are deletedDavid Robillard1-6/+32
2017-03-20Fix clear_buffers() prototypeDavid Robillard1-1/+1
2017-02-18Reduce Driver couplingDavid Robillard1-2/+1
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-17/+13
2016-12-14Fix real-time issues with buffer allocationDavid Robillard1-4/+6
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-4/+5
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.
2016-10-02Show audio and load information in status lineDavid Robillard1-1/+2
2016-10-02Add parallelism-aware graph traversalDavid Robillard1-59/+7
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-9/+9
2015-10-25Create all graphs the same wayDavid Robillard1-3/+7
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
2015-10-24Zero-copy to/from driver ports where possibleDavid Robillard1-23/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5778 a436a847-0d15-0410-975c-d299462d15a1
2015-10-23Reduce overheadDavid Robillard1-3/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5770 a436a847-0d15-0410-975c-d299462d15a1
2015-04-04Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5653 a436a847-0d15-0410-975c-d299462d15a1
2015-02-17Delete trailing whitespace.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5582 a436a847-0d15-0410-975c-d299462d15a1
2015-02-08Server-side copy paste with LV2 state support.David Robillard1-0/+63
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5541 a436a847-0d15-0410-975c-d299462d15a1
2014-08-31Use float sequences for sample-accurate control ports.David Robillard1-3/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5462 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Fix various whitespace and formatting issues.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5325 a436a847-0d15-0410-975c-d299462d15a1
2013-02-23Remove Raul::fmt wrapper, the last vestige of boost dependency for Raul.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5077 a436a847-0d15-0410-975c-d299462d15a1
2013-02-23Move Atom implementation out of Raul so it can depend on LV2.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5076 a436a847-0d15-0410-975c-d299462d15a1
2013-01-27Move comments to header.David Robillard1-41/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5008 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-4/+4
Use project local short type aliases for shared_ptr and friends. Move Raul::Disposable and Raul::Manageable into Raul::Maid. Use sets to store machina nodes and edges to avoid O(n) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4939 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use range-based for loops where possible.David Robillard1-28/+27
Mmm, shiny. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4919 a436a847-0d15-0410-975c-d299462d15a1