summaryrefslogtreecommitdiffstats
path: root/src/engine/PatchImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
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-25/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3152 a436a847-0d15-0410-975c-d299462d15a1
2011-04-16Hide process slave stuff from Engine.hpp.David Robillard1-10/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3151 a436a847-0d15-0410-975c-d299462d15a1
2011-04-15Move Shared::Module and Shared::World to shared directory.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3147 a436a847-0d15-0410-975c-d299462d15a1
2011-01-08Clean up code (cpplint).David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2800 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-4/+5
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-26Tinker subpatch polyphony logic.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2499 a436a847-0d15-0410-975c-d299462d15a1
2010-02-26Perform all mixing for an audio input in a single mix operation (instead of ↵David Robillard1-6/+4
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-25Store patch connections in a map using a lexicographic <Port*,Port*> key forDavid Robillard1-27/+24
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-25Fix (remove) use of PatchImpl::_connections in the audio thread.David Robillard1-6/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2490 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Merge NodeBase and NodeImpl.David Robillard1-7/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2486 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Add new Delay internal.David Robillard1-2/+2
Preliminary work towards split cycles. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2485 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Working dynamic polyphony in the root patch.David Robillard1-0/+4
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-24/+32
* 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-04Fix a bunch of memory leaks.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2429 a436a847-0d15-0410-975c-d299462d15a1
2010-02-02Use Glib string interning (quarks) to make Path/URI operator== very fast.David Robillard1-3/+3
This avoids a ton of string comparison overhead in Ingen when setting various properties (e.g. "ingen:value" was compared several times every time a port value was changed, now this is just a single pointer comparison and the full round trip of a value change does no string comparison at all, but is still property based and RDFey). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2408 a436a847-0d15-0410-975c-d299462d15a1
2010-02-01Fix leaks and an iterator error found by cppcheck.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2399 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Magic MIDI binding via special ingen_control port.David Robillard1-10/+10
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-07Remove excessive debug output of compiled patch order.David Robillard1-12/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2360 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Fix compilation with --log-debug.David Robillard1-4/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2356 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-9/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Partial support for message/value ports and the message context.David Robillard1-10/+13
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-4/+4
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-8/+8
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-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-29/+29
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/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2008-12-20Fix race condition on clear patch.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1876 a436a847-0d15-0410-975c-d299462d15a1
2008-12-16Trim include dependency tree.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1870 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Minor cleanup.David Robillard1-1/+1
Don't initialize buffers twice on port creation (speed up node creation a bit). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1773 a436a847-0d15-0410-975c-d299462d15a1
2008-09-30Flatten ingen source directory heirarchy a bit.David Robillard1-0/+481
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1