summaryrefslogtreecommitdiffstats
path: root/src/engine
AgeCommit message (Collapse)AuthorFilesLines
2010-02-26Perform all mixing for an audio input in a single mix operation (instead of ↵David Robillard15-185/+123
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 Robillard16-107/+146
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 Robillard10-59/+79
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 Robillard2-17/+23
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2490 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-24Tidy up Context and ProcessContext interfaces (ProcessContext only lives on ↵David Robillard5-33/+43
as a useful type). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2487 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Merge NodeBase and NodeImpl.David Robillard22-533/+158
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2486 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Add new Delay internal.David Robillard31-75/+414
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 Robillard14-12/+25
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2484 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Working dynamic polyphony in the root patch.David Robillard4-4/+18
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2483 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Free plugin instances when decreasing polyphony.David Robillard4-48/+62
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2482 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Tidy.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2481 a436a847-0d15-0410-975c-d299462d15a1
2010-02-22Fix crash when dynamically reducing polyphony.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2480 a436a847-0d15-0410-975c-d299462d15a1
2010-02-22Don't respond with PUT (creating empty nodes) when plugin instantiation fails.David Robillard20-26/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2479 a436a847-0d15-0410-975c-d299462d15a1
2010-02-22Fail gracefully when LV2 plugins have illegal symbols.David Robillard1-6/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2478 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard60-595/+746
* 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-20Remove no longer used AudioDriver.hpp.David Robillard2-66/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2466 a436a847-0d15-0410-975c-d299462d15a1
2010-02-19Fix audio->control connections.David Robillard1-2/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2465 a436a847-0d15-0410-975c-d299462d15a1
2010-02-18Refuse to delete /control_in or /control_out (fix crashes e.g. select-all + ↵David Robillard1-11/+12
delete). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2464 a436a847-0d15-0410-975c-d299462d15a1
2010-02-17Fix double error.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2462 a436a847-0d15-0410-975c-d299462d15a1
2010-02-17Fix crash when rapidly decreasing polyphony (make SetMetadataEvent blocking ↵David Robillard4-10/+21
if polyphony is changed). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2461 a436a847-0d15-0410-975c-d299462d15a1
2010-02-17Stub liblo bundle receiving support (patch on liblo-dev).David Robillard2-4/+35
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2458 a436a847-0d15-0410-975c-d299462d15a1
2010-02-17Fix liblo varargs argument termination.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2457 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Fix loading of subpatches.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2450 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Preserve patch port indices across saves.David Robillard3-0/+18
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2449 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Add human name to internal nodes (fix ticket #479).David Robillard4-2/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2448 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Fix typo.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2446 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Remove voice specific control setting.David Robillard10-113/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2445 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Correctly initialise object buffers.David Robillard2-2/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2444 a436a847-0d15-0410-975c-d299462d15a1
2010-02-13Learn and remove bindings exclusively through property interface.David Robillard18-317/+248
Note this commit breaks some aspects of OSC and HTTP control for now. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2442 a436a847-0d15-0410-975c-d299462d15a1
2010-02-09Fix port value broadcasting to work with all types.David Robillard2-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2438 a436a847-0d15-0410-975c-d299462d15a1
2010-02-09Non-fatal warning when control is out of range (needs to be sorted out...).David Robillard1-1/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2437 a436a847-0d15-0410-975c-d299462d15a1
2010-02-09Make control bindings actually (audibly) take effect.David Robillard2-3/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2436 a436a847-0d15-0410-975c-d299462d15a1
2010-02-09Fix bugs with child blocking events.David Robillard3-9/+15
e.g. CreatePortEvent as a child of SetMetadataEvent would doubly unblock the EventSource, so future blocking events wouldn't actually block and crash bugs and/or patch corruption could result. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2435 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04Fix a bunch of memory leaks.David Robillard16-29/+52
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2429 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04Use std::string::empty where possible (faster, and less prone to C string ↵David Robillard7-11/+10
errors). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2420 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04MIDI feedback.David Robillard8-135/+273
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2418 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Responder => Request, and handle EventSource unblocking from Request ↵David Robillard54-389/+381
(simplify Event interfaces). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2417 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Make human names work with LADSPA plugins as well (fix ticket #477).David Robillard7-78/+67
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2416 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Only bind notes to toggle controls, so it is possible to bind non-toggle ↵David Robillard2-2/+10
controls to aftertouch. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2413 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Binding of MIDI notes to toggle parameters.David Robillard3-9/+39
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2412 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Bind ports with lv2:portProperty lv2:toggled specially (on iff value >= half).David Robillard5-8/+27
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2410 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard34-126/+241
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-02Use Glib string interning (quarks) to make Path/URI operator== very fast.David Robillard26-110/+126
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-02Remove set_port_value from CommonInterface (replaced with set_property(path, ↵David Robillard13-107/+5
"ingen:value", value)). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2404 a436a847-0d15-0410-975c-d299462d15a1
2010-02-01Fix leaks and an iterator error found by cppcheck.David Robillard2-1/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2399 a436a847-0d15-0410-975c-d299462d15a1
2010-02-01Use consistent and more globally unique inclusion guards.David Robillard84-251/+251
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2398 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Improved/quicker/easier handling of control port ranges.David Robillard4-7/+18
* 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-29Remove references to deleted ports with control bindings (fix crash when ↵David Robillard4-19/+58
applying binding to deleted port). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2393 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Send binding information to client.David Robillard10-7/+165
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2392 a436a847-0d15-0410-975c-d299462d15a1