summaryrefslogtreecommitdiffstats
path: root/src/engine/InputPort.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-04-20Rename Ingen::Engine to Ingen::Server (hopefully avoid odd name clases and ↵David Robillard1-229/+0
fix #675). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3184 a436a847-0d15-0410-975c-d299462d15a1
2011-04-20Simplify disconnect code.David Robillard1-1/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3177 a436a847-0d15-0410-975c-d299462d15a1
2011-04-18Put engine code in new Ingen::Engine namespace.David Robillard1-4/+3
Put core interfaces in Ingen namespace (not Ingen::Shared). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3159 a436a847-0d15-0410-975c-d299462d15a1
2011-04-16Update copyright headersDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3153 a436a847-0d15-0410-975c-d299462d15a1
2011-04-16Squeeze blank lines and delete trailing whitespace.David Robillard1-8/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3152 a436a847-0d15-0410-975c-d299462d15a1
2011-04-13Consistent local or installed includes for interface headers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3143 a436a847-0d15-0410-975c-d299462d15a1
2011-03-07Apply LV2 UI MIDI event fix from Lars Luthman (ticket #651) with minor changes.David Robillard1-1/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3048 a436a847-0d15-0410-975c-d299462d15a1
2010-10-17Support current versions of LV2 atom, atom-port, and context extensions.David Robillard1-2/+4
Working use case in this revision: lolep.parse => lolep.print (set parse input to some string, it will be parsed, send to print as an LV2 atom, then printed to the console by print). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2631 a436a847-0d15-0410-975c-d299462d15a1
2010-09-04My name is David. :)David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2590 a436a847-0d15-0410-975c-d299462d15a1
2010-03-06Save Ingen patches as working standard LV2 plugin bundles.David Robillard1-3/+3
This allows you to create an Ingen patch in Ingen running as a Jack client, save it, then load that patch as an LV2 plugin in any LV2 compliant host. Eliminate (hopefully) all static data in the engine (for multiple instantiations in a single process). More API/ABI stable interface for Ingen::Shared::World. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2533 a436a847-0d15-0410-975c-d299462d15a1
2010-02-26Fix queued connections (e.g. event input => print).David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2495 a436a847-0d15-0410-975c-d299462d15a1
2010-02-26Perform all mixing for an audio input in a single mix operation (instead of ↵David Robillard1-41/+40
a two step polyphony mixdown (by connections) and connections mixdown (by ports)). Speed up and inline AudioBuffer::accumulate, to speed up mix(). Remove local buffer from Connection (always mix into destination InputPort's buffers). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2494 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Work on contexts and polymorphic ports.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2492 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Store patch connections in a map using a lexicographic <Port*,Port*> key forDavid Robillard1-2/+4
fast (logarathmic) connection searching. Replaces all O(num_connections) searches with O(lg(num_connections)) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2491 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Add new Delay internal.David Robillard1-5/+0
Preliminary work towards split cycles. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2485 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Fix various code issues discovered by cppcheck.David Robillard1-7/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2484 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-69/+57
* Working polyphony when nodes are instantiated at desired polyphony level (dynamic still doesn't work) * Use shared silent buffer for disconnected audio inputs (save memory) * Eliminate redundant patch compiling on delete and disconnect-all events that have child events * Fix a ton of crash bugs and other issues I've since forgotten git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2468 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Make human names work with LADSPA plugins as well (fix ticket #477).David Robillard1-9/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2416 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-3/+6
Atoms (e.g. property values or port values) can now be an Atom::DICT, which maps directly to/from an RDF resource. This is now used to store control bindings as a port property, eliminating the special API. Full interned URIs used everywhere, instead of CURIEs pretending to be URIs. Avoid converting string literals to URIs all over the place. Support for binding MIDI pitch bender and MIDI channel pressure. Saving/restoring of MIDI bindings as a free side-effect of the above. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2409 a436a847-0d15-0410-975c-d299462d15a1
2010-02-01Fix leaks and an iterator error found by cppcheck.David Robillard1-1/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2399 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Improved/quicker/easier handling of control port ranges.David Robillard1-0/+6
* Add "Set minimum to current value", "Set maximum to current value", and "Reset range" to control port context menu. * Only serialise properties (e.g. lv2:minimum) if they differ from the meta object's (prototype's, e.g. plugin) value. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2395 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Magic MIDI binding via special ingen_control port.David Robillard1-2/+2
Always set lv2:minimum and lv2:maximum properties for control ports so they show up in properties dialog (and can be used for MIDI binding). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2391 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Event mixing.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2337 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Remove redundant LV2EventBuffer class and merge with EventBuffer.David Robillard1-8/+11
Refactor mixing from an in-place Buffer method (which doesn't work with EventBuffer) to a single function that takes an out of place destination and an array of sources. Fix audio buffer mixing for control<->audio. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2333 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Rename DataType to PortType (since that's what it really means).David Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2273 a436a847-0d15-0410-975c-d299462d15a1
2009-11-16Rework objects extension to have "value ports" and "message ports".David Robillard1-123/+68
Make audio and control buffers in ingen actually object buffers (towards interop). Overhaul the hell out of ingen buffer and mixing stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2266 a436a847-0d15-0410-975c-d299462d15a1
2009-11-14Object extension.David Robillard1-9/+8
Port resize extension. Sensible extension(s) implementation design for Ingen. Replace string port extension support in Ingen with Object port extension. Implement port resize extension in Ingen. Some test plugins for this stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2260 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Remove vestigial interface.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2077 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Clean up input port mixdown code.David Robillard1-30/+27
Make input port connections private, and ensure only touched from the process thread. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2076 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Clean up and shave some overhead from port value broadcasting.David Robillard1-2/+3
Clean up duplex port code and document weird semantics. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2075 a436a847-0d15-0410-975c-d299462d15a1
2009-06-02Fix horribly broken LV2 event implementation (ticket #378 among other problems).David Robillard1-12/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2061 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of ↵David Robillard1-2/+6
generic 'put'. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2000 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Strip trailing whitespace.David Robillard1-20/+20
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1999 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Remove 'using' declarations from headers.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2008-12-22Don't attempt to directly connect buffers with mismatches sizes on ↵David Robillard1-1/+1
disconnect (fix ticket #309). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1900 a436a847-0d15-0410-975c-d299462d15a1
2008-12-21Fix mixdown of several connections with varying sizes (i.e. control and ↵David Robillard1-2/+0
audio) (fix ticket #308). Fix off-by-one error when copying a control buffer to an audio buffer. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1889 a436a847-0d15-0410-975c-d299462d15a1
2008-12-16Trim include dependency tree.David Robillard1-7/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1870 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Fix event loss for outputs connected directly to several inputs (fix ticket ↵David Robillard1-6/+10
#231). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1763 a436a847-0d15-0410-975c-d299462d15a1
2008-10-06LV2 and polyphony fixes from kfoltman.David Robillard1-14/+19
Fix crash on changing polyphony when control->audio connections are present. Increasing polyphony audibly adds new voices now and controls can be individually twiddled, but changing polyphony nukes individual voice values (issue #223). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1623 a436a847-0d15-0410-975c-d299462d15a1
2008-10-05Remove cruft.David Robillard1-13/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1620 a436a847-0d15-0410-975c-d299462d15a1
2008-09-30Flatten ingen source directory heirarchy a bit.David Robillard1-0/+297
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1
2006-06-10More jugglingDavid Robillard1-352/+0
git-svn-id: http://svn.drobilla.net/lad/grauph@15 a436a847-0d15-0410-975c-d299462d15a1
2006-06-09Added Om aka Graph aka god knows whatDavid Robillard1-0/+352
git-svn-id: http://svn.drobilla.net/lad/grauph@9 a436a847-0d15-0410-975c-d299462d15a1