summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2017-02-12Use smart pointers to handle real-time memory disposalDavid Robillard1-21/+10
2016-12-14Fix real-time issues with buffer allocationDavid Robillard1-25/+34
2016-12-14Don't use path to determine if nodes are the main graphDavid Robillard1-3/+3
Doing so is slower and touches std::string code that could in theory not be RT-safe (though always is in practice).
2016-12-13Remove virtual inheritance from Port hierarchyDavid Robillard1-2/+56
This was confusing stoat, and is questionable design anyway. The OutputPort functionality has been moved to PortImpl, which is a basic port with buffers suitable for use as an output, and is overridden by InputPort and DuplexPort where necessary.
2016-12-13Fix some real-time safety issuesDavid Robillard1-0/+2
2016-10-14Fix communication with connected sequence portsDavid Robillard1-1/+0
2016-10-02Fix saving and loading subgraphsDavid Robillard1-2/+2
2016-09-11Remove last vestiges of multiple run contextsDavid Robillard1-12/+12
2015-10-26Use URIDs almost everywhereDavid Robillard1-2/+1
This fixes some issues where types are lost after saving and re-loading many times. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5788 a436a847-0d15-0410-975c-d299462d15a1
2015-10-25Fix explicit sequence port monitoringDavid Robillard1-1/+1
Patch from Robin Gareus. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5786 a436a847-0d15-0410-975c-d299462d15a1
2015-10-24Zero-copy to/from driver ports where possibleDavid Robillard1-11/+21
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5778 a436a847-0d15-0410-975c-d299462d15a1
2015-10-23Reduce overheadDavid Robillard1-10/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5770 a436a847-0d15-0410-975c-d299462d15a1
2015-09-29Fix more URI conversion issues.David Robillard1-3/+2
Fixes #1088. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5733 a436a847-0d15-0410-975c-d299462d15a1
2015-04-09Fix multiple note triggers on the same sample.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5671 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-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5541 a436a847-0d15-0410-975c-d299462d15a1
2015-02-05Fix events at end of cycle.David Robillard1-4/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5531 a436a847-0d15-0410-975c-d299462d15a1
2015-02-05Fix sequence=>sequence connections.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5530 a436a847-0d15-0410-975c-d299462d15a1
2014-08-31Use float sequences for sample-accurate control ports.David Robillard1-28/+73
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5462 a436a847-0d15-0410-975c-d299462d15a1
2014-02-01Always monitor sequence ports that are explicitly monitored.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5328 a436a847-0d15-0410-975c-d299462d15a1
2014-01-24Remove redundant and unnecessary properties from saved graphs and protocol.David Robillard1-5/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5321 a436a847-0d15-0410-975c-d299462d15a1
2014-01-12Combine port buffers and set state into a single voice object.David Robillard1-50/+32
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5309 a436a847-0d15-0410-975c-d299462d15a1
2014-01-05Update type properties for morph ports so GUI displays correct type.David Robillard1-2/+14
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5277 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04Fix port monitor period logic.David Robillard1-8/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5252 a436a847-0d15-0410-975c-d299462d15a1
2013-12-17Fix atom vector communication (patch from Robin Gareus, #941).David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5175 a436a847-0d15-0410-975c-d299462d15a1
2013-06-09Inherit certain properties from ports connected to patch ports.David Robillard1-6/+0
This is a bit too hard-edged at present, but does the right thing when building a patch from scratch at least. Something needs to be done about removing the properties, but this is hard for outputs since the arcs aren't keyed that way. The main problem here is that Ardour barfs on plugins with MIDI input for audio tracks, so if you *ever* connect the control input to a MIDI anything, it will stick and not work in an Ardour audio track. Maybe it should be just implemented for inputs as a stop gap... git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5136 a436a847-0d15-0410-975c-d299462d15a1
2013-02-24Don't send port values to UI for audio ports (fix Calf crash).David Robillard1-1/+1
Don't set ingen:value property for non-control ports. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5081 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-02-03Don't lose peaks for cycles where notifications are not sent.David Robillard1-20/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5046 a436a847-0d15-0410-975c-d299462d15a1
2013-02-03Port control performance improvements (further improvement for #879).David Robillard1-1/+1
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-02Fix trigger and controller learn updating.David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5027 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02More generic Atom class.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5024 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02Divorce monitor rate from block size, send updates at 10Hz.David Robillard1-12/+70
Also add a simple attempt at staggering notification times to balance the buffer load and avoid massive spikes of all ports sending notifications at the same time. This should be quite a bit more sane when running at low latency. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5017 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02Add option to enable/disable canvas animation (fix/avoid #879).David Robillard1-11/+26
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5016 a436a847-0d15-0410-975c-d299462d15a1
2013-01-11Use type safe enumerations.David Robillard1-15/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4918 a436a847-0d15-0410-975c-d299462d15a1
2013-01-06Fix incorrect setting of CV values in the middle of a cycle which resulted ↵David Robillard1-3/+1
in two cycles of the same partially set buffer (fix #873). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4901 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Strip trailing whitespace.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4883 a436a847-0d15-0410-975c-d299462d15a1
2012-11-18Set atom:supports properties for patch event inputs.David Robillard1-1/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4832 a436a847-0d15-0410-975c-d299462d15a1
2012-11-17Gracefully handle failure to send notifications due to buffer overrun.David Robillard1-3/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4827 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-18Node => BlockDavid Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4720 a436a847-0d15-0410-975c-d299462d15a1
2012-08-16Set initial ingen:value property for ports with a value.David Robillard1-1/+6
Only set atom:bufferType for AtomPorts. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4712 a436a847-0d15-0410-975c-d299462d15a1
2012-08-15Rewrite Raul::Maid and eliminate Raul:List.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4702 a436a847-0d15-0410-975c-d299462d15a1
2012-08-14Update for latest Raul.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4687 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Remove message context cruft.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4668 a436a847-0d15-0410-975c-d299462d15a1
2012-08-12Fix memory leaks.David Robillard1-5/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4667 a436a847-0d15-0410-975c-d299462d15a1
2012-08-11Considerable DSP performance improvements (mixing overhead, and per-event ↵David Robillard1-20/+34
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-2/+3
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-4/+4
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