summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-12-08Cleanup: Remove unused parameter namesDavid Robillard1-5/+5
2019-12-08Cleanup: Use "auto" to avoid repeating type namesDavid Robillard1-3/+3
2019-03-09Clean up includes and forward declarationsDavid Robillard1-6/+13
2019-03-08Pass World everywhere by referenceDavid Robillard1-4/+4
2018-09-23Use lowercase namespace namesDavid Robillard1-7/+7
2018-09-22Use new LV2 include pathsDavid Robillard1-1/+1
2018-01-17Fix connecting value sequences to CVDavid Robillard1-0/+1
2018-01-16Add missing includesDavid Robillard1-0/+1
2017-12-25Remove superfluous using namespace declarationsDavid Robillard1-2/+0
2017-12-25Always use bracesDavid Robillard1-3/+6
2017-12-25Use nullptrDavid Robillard1-2/+2
2017-12-25Remove trivial destructors and use default where possibleDavid Robillard1-4/+0
2017-12-16Adjust indices when ports are deletedDavid Robillard1-1/+3
2017-03-20Fix crash when setting control ports without a value bufferDavid Robillard1-1/+3
Control ports should always have a value buffer for some value of "should", but crashing is never good in any case.
2017-03-20Always use sample accurate controlsDavid Robillard1-11/+13
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-1/+1
2017-03-20Fix value buffer updateDavid Robillard1-1/+0
2017-03-20Fix clear_buffers() prototypeDavid Robillard1-2/+2
2017-03-20Factor out redundant overloadsDavid Robillard1-1/+1
2017-03-20Use more efficient memory barriersDavid Robillard1-2/+3
2017-03-20Fix zipper noise when dragging CV port valuesDavid Robillard1-1/+2
2017-02-18Reduce Driver couplingDavid Robillard1-4/+3
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