summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.cpp
AgeCommit message (Collapse)AuthorFilesLines
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.
2016-10-02Show audio and load information in status lineDavid Robillard1-5/+58
2016-10-02Add parallel graph executionDavid Robillard1-12/+77
2016-10-01Fix OSX buildDavid Robillard1-2/+2
2016-09-29Atomic bundle executionDavid Robillard1-0/+1
2016-09-20Use C++11 thread_localDavid Robillard1-2/+2
2016-09-18Add fancy communication loggingDavid Robillard1-2/+19
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-13/+13
2016-07-31Support thread-safe state restorationDavid Robillard1-0/+1
2016-07-30Add undo supportDavid Robillard1-4/+10
2016-03-14Load default plugin stateDavid Robillard1-0/+4
Based on a patch from Hanspeter Portner.
2015-10-25Create all graphs the same wayDavid Robillard1-89/+19
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-04-05Use a fixed max buffer size to avoid several values.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5662 a436a847-0d15-0410-975c-d299462d15a1
2015-02-24Use sequence buffer size from Jack.David Robillard1-3/+3
Patch from Hanspeter Portner. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5603 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-09Fix broadcasting to several clients.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5550 a436a847-0d15-0410-975c-d299462d15a1
2015-02-07Demodularize socket stuff.David Robillard1-1/+18
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5535 a436a847-0d15-0410-975c-d299462d15a1
2014-11-17Fix a few minor/unlikely memory errors.David Robillard1-4/+4
Handle Glade widget loading failure more gracefully. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5486 a436a847-0d15-0410-975c-d299462d15a1
2014-03-31Yet another attempt at fixing event deadlock issues.David Robillard1-1/+1
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
2014-01-04Fix event throughput.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5261 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04More attempts at fixing deadlocks on exit.David Robillard1-6/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5260 a436a847-0d15-0410-975c-d299462d15a1
2013-12-31Hopefully fix deadlock on exit for real this time.David Robillard1-4/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5244 a436a847-0d15-0410-975c-d299462d15a1
2013-12-30Fix occasional crashes and deadlocks on exit.David Robillard1-1/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5229 a436a847-0d15-0410-975c-d299462d15a1
2013-10-29Remove engine dependency from LV2Options.David Robillard1-3/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5163 a436a847-0d15-0410-975c-d299462d15a1
2013-06-08Fix crash on destruction when running in LV2.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5130 a436a847-0d15-0410-975c-d299462d15a1
2013-06-08Specify rsz:minimumSize for main control ports.David Robillard1-0/+3
Fix running as an LV2 plugin at very low block sizes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5128 a436a847-0d15-0410-975c-d299462d15a1
2013-03-25Explicitly support bufsz block length features (fix #893).David Robillard1-0/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5102 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-04Replace Raul::thread with std::thread.David Robillard1-4/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5047 a436a847-0d15-0410-975c-d299462d15a1
2013-02-03Port control performance improvements (further improvement for #879).David Robillard1-0/+2
Only request a redraw, not a full update, where appropriate. Use a raw double instead of GVariant for port control-changed signal. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5045 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02More generic Atom class.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5024 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-11/+11
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-5/+5
Mmm, shiny. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4919 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use type safe enumerations.David Robillard1-6/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11C++11-safe conversions.David Robillard1-12/+20
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4914 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Fix memory leaks.David Robillard1-1/+1
Add missing library dependencies. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4880 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Fix memory leaks.David Robillard1-0/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4873 a436a847-0d15-0410-975c-d299462d15a1
2012-11-21Use atoms for option values.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4842 a436a847-0d15-0410-975c-d299462d15a1
2012-08-31Implement host side of buf-size via options.David Robillard1-1/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4763 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19GraphObject => NodeDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4722 a436a847-0d15-0410-975c-d299462d15a1
2012-08-19Patch => GraphDavid Robillard1-19/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4721 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4720 a436a847-0d15-0410-975c-d299462d15a1
2012-08-17Implement real logging system, LV2 log extension support, and purge ↵David Robillard1-1/+4
evil/ugly/untranslatable C++ stream printing. Remove coloured log stuff from Raul. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4717 a436a847-0d15-0410-975c-d299462d15a1
2012-08-16Remove Raul::Slave class.David Robillard1-1/+1
Merge Thread::stop() and Thread::join(). Clean thread shut down without the use of pthread_cancel(). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4708 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Rewrite Raul::Maid and eliminate Raul:List.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4702 a436a847-0d15-0410-975c-d299462d15a1
2012-08-14Replace use of old Raul Table stuff with std::map.David Robillard1-19/+18
Move most Store functionality into Ingen::Store and eliminate EngineStore. Much cleaner delete and move implementations. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4696 a436a847-0d15-0410-975c-d299462d15a1
2012-08-14Update for latest Raul.David Robillard1-4/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4687 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Stricter symbol construction and conversion.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4670 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Remove message context cruft.David Robillard1-8/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4668 a436a847-0d15-0410-975c-d299462d15a1