summaryrefslogtreecommitdiffstats
path: root/src/server/Buffer.hpp
AgeCommit message (Collapse)AuthorFilesLines
2018-01-21Clean up Buffer class and factor out allocationDavid Robillard1-17/+16
2017-12-25Use nullptrDavid Robillard1-3/+3
2017-12-25Fix inconsistent parameter namesDavid Robillard1-1/+1
2017-12-16Fix documentation warningsDavid Robillard1-0/+3
2017-03-20Always use sample accurate controlsDavid Robillard1-0/+8
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-03-20Remove dubious Buffer::nframes() methodDavid Robillard1-12/+2
2017-03-20Add CV dumping debug utilityDavid Robillard1-0/+4
2017-03-20Cleanup: Trim boost headers and unnecessary configure checksDavid Robillard1-3/+4
2016-12-14Fix real-time safety of control bindingsDavid Robillard1-0/+3
2016-12-14Fix real-time issues with buffer allocationDavid Robillard1-1/+6
2016-10-14Fix sequence ports with valuesDavid Robillard1-4/+6
2016-10-02Add event outputs to Trigger and ControllerDavid Robillard1-1/+4
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-7/+7
2016-09-11Fix buffer copying for various typesDavid Robillard1-0/+3
2015-10-24Zero-copy to/from driver ports where possibleDavid Robillard1-20/+20
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-03-02Fix compilation with -fvisibility=hidden.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5611 a436a847-0d15-0410-975c-d299462d15a1
2014-08-31Use float sequences for sample-accurate control ports.David Robillard1-8/+65
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5462 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Remove Raul::SharedPtr and switch to std::shared_ptr.David Robillard1-1/+1
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 C++11 atomics.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4916 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11C++11-safe conversions.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4914 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-08-20Replace several assertions with graceful error handling.David Robillard1-4/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4731 a436a847-0d15-0410-975c-d299462d15a1
2012-08-18Fix running as an LV2 plugin.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4719 a436a847-0d15-0410-975c-d299462d15a1
2012-08-11Considerable DSP performance improvements (mixing overhead, and per-event ↵David Robillard1-1/+12
MIDI overhead with Note/Trigger nodes). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4657 a436a847-0d15-0410-975c-d299462d15a1
2012-08-11Vectorizable (by GCC with -ftree-vectorize) mixing and Buffer::set_block().David Robillard1-15/+25
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-08-10Use the usual semantics for 'end' for Buffer::set_block, which in addition ↵David Robillard1-2/+1
to actually making sense, allows GCC to optimize the loop. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4650 a436a847-0d15-0410-975c-d299462d15a1
2012-08-10Fix various const violations.David Robillard1-2/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4647 a436a847-0d15-0410-975c-d299462d15a1
2012-07-31Merge AudioBuffer into Buffer and avoid all the casting.David Robillard1-0/+34
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-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4582 a436a847-0d15-0410-975c-d299462d15a1
2012-07-17Implement worker extension correctly (for one voice only).David Robillard1-0/+3
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-05-11Fix compilation with clang.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4358 a436a847-0d15-0410-975c-d299462d15a1
2012-04-23Localise buffer reference stuff.David Robillard1-7/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4252 a436a847-0d15-0410-975c-d299462d15a1
2012-04-23Maybe fix boost compilation errors.David Robillard1-3/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4245 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-19Partially functioning communication between Ingen LV2 plugin and UI.David Robillard1-24/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4078 a436a847-0d15-0410-975c-d299462d15a1
2011-10-03Remove static PortType enumeration from public/client side interface.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3523 a436a847-0d15-0410-975c-d299462d15a1
2011-09-24Fix crash with parallel execution.David Robillard1-6/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3490 a436a847-0d15-0410-975c-d299462d15a1
2011-05-23Apply patch from pgiblox in ticket #694 to fix compilation without ↵David Robillard1-2/+0
Raul::IntrusivePtr: "Since Raul::IntrusivePtr was removed, ingen_server no longer compiles. We could either add another #define for IntrusivePtr, or just use boost::intrusive_ptr directly. Going with the direct approach since server seems to use boost::shared_ptr directly as well." I would like easy portability to c++0x pointers, but unfortunately there is no intrusive_ptr there... it's an easy search/replace anyway, so this will do for now. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3307 a436a847-0d15-0410-975c-d299462d15a1
2011-05-20Upate for new Raul APIDavid Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3292 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-0/+97
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1