summaryrefslogtreecommitdiffstats
path: root/src/server/events/SetPortValue.cpp
AgeCommit message (Collapse)AuthorFilesLines
2017-03-20Always use sample accurate controlsDavid Robillard1-2/+2
This changes control port buffers to always be sequences of float, splitting cycles internally so nodes with control ports act as if they support sample accurate control input and output. This allows things like having networks of control ports manipulated by the user which are run into CV ports and having sample accurate changes end up in the CV ports even though the values were calculated by plugins with single float ports. Further work is probably necessary to thin and smooth changes that come from a user drag (perhaps there should be a mode for this?) to keep the amount of cycle splitting reasonable, and support for plugins with fixed block length.
2017-02-18Reduce Driver couplingDavid Robillard1-1/+0
2016-12-14Fix real-time issues with buffer allocationDavid Robillard1-3/+1
2016-10-14Fix sequence ports with valuesDavid Robillard1-5/+9
2016-10-14Fix communication with connected sequence portsDavid Robillard1-7/+24
2016-10-02Fix sending UI events to sequence portsDavid Robillard1-1/+0
2016-10-02Defer graph compilation in atomic bundlesDavid Robillard1-1/+1
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-09-11Remove last vestiges of multiple run contextsDavid Robillard1-7/+3
2015-10-24Zero-copy to/from driver ports where possibleDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5778 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-19Server side presets.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5587 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Fix various whitespace and formatting issues.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5325 a436a847-0d15-0410-975c-d299462d15a1
2013-02-23Move Atom implementation out of Raul so it can depend on LV2.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5076 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02More generic Atom class.David Robillard1-2/+2
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-6/+6
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 type safe enumerations.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2013-01-08Add support for URID ports.David Robillard1-0/+2
Fix glib errors when resetting properties dialog. Move RDFS domain/range/classes/etc code to reusable location. Add preliminary "mesp" (message processing) plugin package. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4903 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Add Broadcaster::Transfer for scoped recursion-safe reply bundling.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4868 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Node => BlockDavid Robillard1-2/+2
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/+0
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-14Replace use of old Raul Table stuff with std::map.David Robillard1-1/+1
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-13Real-time safe error handling for bad SetPortValue events.David Robillard1-7/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4680 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Use ingen:root as the path for the root patch, opening up path space for ↵David Robillard1-2/+3
engine/driver/etc. Strict conversion between Path and URI (Path no longer is-a URI). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4672 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Remove message context cruft.David Robillard1-10/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4668 a436a847-0d15-0410-975c-d299462d15a1
2012-08-11Vectorizable (by GCC with -ftree-vectorize) mixing and Buffer::set_block().David Robillard1-0/+1
Custom SSE accelerated peak detection when SSE is available at compile time. Less mixing overhead in general. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4651 a436a847-0d15-0410-975c-d299462d15a1
2012-07-31Merge AudioBuffer into Buffer and avoid all the casting.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4584 a436a847-0d15-0410-975c-d299462d15a1
2012-07-31Move continuous value setting stuff from AudioBuffer to PortImpl.David Robillard1-6/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4582 a436a847-0d15-0410-975c-d299462d15a1
2012-07-31Merge Ingen::Shared namespace into Ingen namespace and core libingen library.David Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4579 a436a847-0d15-0410-975c-d299462d15a1
2012-07-30Shrink events.David Robillard1-5/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4574 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Report subject with errors to client for more meaningful error messages.David Robillard1-3/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4556 a436a847-0d15-0410-975c-d299462d15a1
2012-07-17Implement worker extension correctly (for one voice only).David Robillard1-4/+6
Woring sequence port I/O for LV2 nodes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4543 a436a847-0d15-0410-975c-d299462d15a1
2012-07-16Preliminary somewhat kludgey support for UIs sending messages to Sequence ↵David Robillard1-31/+25
inputs. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4541 a436a847-0d15-0410-975c-d299462d15a1
2012-06-29Fix crashes caused by events attempting to respond to deleted clients (fix ↵David Robillard1-6/+6
#842). This one mainly manifested when using ingenish from the command line since the client is so short lived. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4503 a436a847-0d15-0410-975c-d299462d15a1
2012-05-23Tidy.David Robillard1-15/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4449 a436a847-0d15-0410-975c-d299462d15a1
2012-05-22More work on test suite.David Robillard1-13/+12
Clean up, simplify, and shrink event code. Support disconnect_all via Atom protocol. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4432 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Trim unnecessary includes.David Robillard1-2/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4413 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Tidy.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4410 a436a847-0d15-0410-975c-d299462d15a1
2012-05-14Remove Thread context stuff and add a thread-specific variable class, ↵David Robillard1-1/+1
ThreadVar, which can be used for this and many other things. ClientBroadcaster => Broadcaster. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4405 a436a847-0d15-0410-975c-d299462d15a1
2012-05-12More work towards checking contexts via parameter rather than thread magic.David Robillard1-3/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4376 a436a847-0d15-0410-975c-d299462d15a1
2012-05-11Clean up and better document World interface.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4344 a436a847-0d15-0410-975c-d299462d15a1
2012-05-10Work towards translatable strings and a cleaner log interface.David Robillard1-4/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4338 a436a847-0d15-0410-975c-d299462d15a1
2012-05-10LV2URIMap => URIMap.David Robillard1-1/+0
Trim unnecessary includes. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4337 a436a847-0d15-0410-975c-d299462d15a1
2012-04-05Fix end namespace comments to match reality.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4143 a436a847-0d15-0410-975c-d299462d15a1
2012-03-27Squeeze blank lines.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4113 a436a847-0d15-0410-975c-d299462d15a1
2012-03-27Switch to AGPL3+.David Robillard1-16/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4111 a436a847-0d15-0410-975c-d299462d15a1
2012-03-23Fix compilation with latest LV2.David Robillard1-3/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4102 a436a847-0d15-0410-975c-d299462d15a1
2012-03-22Remove crufty headeres.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4100 a436a847-0d15-0410-975c-d299462d15a1
2012-03-19Partially functioning communication between Ingen LV2 plugin and UI.David Robillard1-42/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4078 a436a847-0d15-0410-975c-d299462d15a1
2012-03-16Merge ClientInterface and ServerInterface.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4067 a436a847-0d15-0410-975c-d299462d15a1
2012-03-14Use the host URI map/unmap when running as a plugin.David Robillard1-4/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4058 a436a847-0d15-0410-975c-d299462d15a1