summaryrefslogtreecommitdiffstats
path: root/src/engine/ConnectionImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-10-17Support current versions of LV2 atom, atom-port, and context extensions.David Robillard1-5/+17
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-05-04Rename "object" extension "atom" extension.David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2561 a436a847-0d15-0410-975c-d299462d15a1
2010-03-06Save Ingen patches as working standard LV2 plugin bundles.David Robillard1-1/+1
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-5/+10
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-80/+15
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-3/+25
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2492 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Fix cross-context (audio -> message) connections.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2489 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Working dynamic polyphony in the root patch.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2483 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-13/+30
* 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-01-07Fix compilation with ancient boost intrusive_ptr (fix ticket #467).David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2363 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-7/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Fix error message.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2346 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Merge JackMidiDriver and JackAudioDriver.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2343 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Realtime safe buffer reference handling.David Robillard1-3/+4
Turns out that dropping a shared_ptr is not realtime safe, even if you use a realtime safe deleter. Instead, instrusive_ptr is used for buffer references, so a buffer reference may safely be dropped in the audio thread (in which case it will be recycled by the BufferFactory). Faster, cleaner, better. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2341 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-11/+10
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-22Enqueue message thread requests by the port, not by the node.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2283 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Execute cross-context events in correct increasing time order.David Robillard1-2/+4
Propagate value changes / message sends breadth first instead of deptch first. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2282 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Partial support for message/value ports and the message context.David Robillard1-12/+65
This use case now works: - Add an event input and the "print" plugin from imum.lv2 to ingen - Connect the event input to the input of "print" - Hook Ingen up to JACK and play some MIDI events (or get events to the print plugin from anywhere else) - The "print" plugin will print the received events to the console in the message context (i.e. the audio thread is realtime safe) git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2281 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Rename DataType to PortType (since that's what it really means).David Robillard1-2/+2
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-152/+27
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-15Better Parse plugin, working Print plugin.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2262 a436a847-0d15-0410-975c-d299462d15a1
2009-11-14Object extension.David Robillard1-16/+13
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-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-14/+14
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
2009-05-11Fix subpatch MIDI IO.David Robillard1-10/+6
Fixes tickets #323 and #332. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1974 a436a847-0d15-0410-975c-d299462d15a1
2009-02-20Fix crash when connecting ports with mismatched poly where the destination ↵David Robillard1-3/+3
port has fixed buffers (fix ticket #333). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1936 a436a847-0d15-0410-975c-d299462d15a1
2008-12-16Trim include dependency tree.David Robillard1-1/+0
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-1/+3
#231). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1763 a436a847-0d15-0410-975c-d299462d15a1
2008-11-17Fix crash.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1746 a436a847-0d15-0410-975c-d299462d15a1
2008-11-17Always copy when destination port has fixed buffers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1744 a436a847-0d15-0410-975c-d299462d15a1
2008-10-18Build against local library versions no matter what.... hopefully....David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1677 a436a847-0d15-0410-975c-d299462d15a1
2008-10-13Fix off-by-1 memory error.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1670 a436a847-0d15-0410-975c-d299462d15a1
2008-10-13Fix various problems with subpatch connecting/disconnecting (and probably ↵David Robillard1-7/+20
introduce new ones). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1668 a436a847-0d15-0410-975c-d299462d15a1
2008-10-11Fix crash in some connection scenario or another. Control->control mixing. ↵David Robillard1-1/+1
Maybe. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1640 a436a847-0d15-0410-975c-d299462d15a1
2008-10-11Fix 'extending' logic (control->audio connections) to deal with varying poly ↵David Robillard1-8/+8
(where possible). Fix ticket #232 for real this time. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1638 a436a847-0d15-0410-975c-d299462d15a1
2008-10-06LV2 and polyphony fixes from kfoltman.David Robillard1-29/+73
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-09-30Flatten ingen source directory heirarchy a bit.David Robillard1-0/+185
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1