summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.cpp
AgeCommit message (Collapse)AuthorFilesLines
2024-07-17Avoid C-style casts and some size type conversionsDavid Robillard1-7/+11
Aside from the syntactic cast changes, reduces some size types to 32-bits, since they can never be so large in practice. This eliminates some type conversions and shaves a few bytes.
2023-09-23Clean up includes and forward declarationsDavid Robillard1-1/+0
2022-12-14Concatenate nested namespacesDavid Robillard1-4/+2
2022-08-18Use default member initializationDavid Robillard1-6/+0
2022-08-18Switch to meson build systemDavid Robillard1-2/+2
2021-06-04Switch to C++14 and fix build with GCC 10David Robillard1-4/+3
GCC was having problems with this make_unique overload, but I don't care about C++11 compatibility at this point anyway, so it's easiest to just remove it.
2021-01-02Update for latest raulDavid Robillard1-3/+3
2020-12-15Clean up includes in core and serverDavid Robillard1-0/+1
2020-09-27Fix include orderDavid Robillard1-4/+4
2020-08-03Clean up includesDavid Robillard1-0/+12
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 std::shared_ptr aliasDavid Robillard1-14/+15
2020-08-02Remove redundant pointer get() callsDavid Robillard1-1/+1
2020-08-02Use nullptr for empty smart pointersDavid Robillard1-2/+2
2020-08-02Remove std::unique_ptr aliasDavid Robillard1-1/+1
2020-08-02Rename memory utility headerDavid Robillard1-1/+1
2020-08-02Fix shadow warningsDavid Robillard1-2/+2
2020-08-02Remove support for ancient compilers without thread_local supportDavid Robillard1-2/+2
2020-08-02Remove wrappers for standard memory functionsDavid Robillard1-1/+2
2019-12-08Fix use of virtual functions in destructorsDavid Robillard1-2/+2
2019-12-08Cleanup: Set up engine RNG with a distinct seedDavid Robillard1-1/+1
From a clang-tidy warning. This almost certainly doesn't matter, but since it's used for monitor event timing, it could spread the load a little better if multiple engines are used in the same process.
2019-12-08Cleanup: Avoid parameter copying overheadDavid Robillard1-3/+3
2019-12-08Cleanup: Use std::make_sharedDavid Robillard1-1/+1
2019-03-09Clean up includes and forward declarationsDavid Robillard1-23/+26
2019-03-09Localise dependency on boost::format and improve logging APIDavid Robillard1-2/+2
2019-03-09Use smart pointers over manual memory managementDavid Robillard1-16/+14
2019-03-08Pass World everywhere by referenceDavid Robillard1-29/+29
2018-09-23Use lowercase namespace namesDavid Robillard1-10/+10
2018-09-22Use new LV2 include pathsDavid Robillard1-2/+2
2018-01-21Add URI class and remove use of Raul::URIDavid Robillard1-2/+2
2018-01-17Clean up Engine component memory management and trim include treeDavid Robillard1-38/+25
2017-12-25Remove superfluous using namespace declarationsDavid Robillard1-2/+0
2017-12-25Use nullptrDavid Robillard1-5/+5
2017-12-17Simplify TeeDavid Robillard1-9/+8
2017-12-16Remove Engine dependency from TaskDavid Robillard1-1/+1
2017-04-12Refuse to start if driver requires a graph and one is not providedDavid Robillard1-0/+6
2017-04-12Fix const correctnessDavid Robillard1-1/+1
2017-03-20Revert removal of DirectDriver and fix test suiteDavid Robillard1-0/+7
2017-03-20Fix event timing with PortAudio driverDavid Robillard1-3/+3
2017-03-20Fix event timing and remove vestigial DirectDriverDavid Robillard1-15/+1
2017-03-19Shrink status bar text and fix initial DSP load displayDavid Robillard1-23/+21
2017-02-18Add experimental PortAudio driverDavid Robillard1-31/+57
2017-02-18Reduce Driver couplingDavid Robillard1-2/+20
2017-02-15Move Properties out of ResourceDavid Robillard1-4/+4
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-1/+1
2017-02-12Fix check for pending eventsDavid Robillard1-1/+1
2017-02-12Fix memory leaksDavid Robillard1-2/+12
2016-12-13Fix some real-time safety issuesDavid Robillard1-1/+10
2016-10-14Fix LV2 initialisationDavid Robillard1-0/+6
2016-10-02Implement microsecond clock for Linux and OSXDavid Robillard1-8/+1
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-3/+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.