summaryrefslogtreecommitdiffstats
path: root/src/shared
AgeCommit message (Collapse)AuthorFilesLines
2010-09-04My name is David. :)David Robillard22-22/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2590 a436a847-0d15-0410-975c-d299462d15a1
2010-06-04Fix module loading on non-Apple (oops).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2578 a436a847-0d15-0410-975c-d299462d15a1
2010-06-04Run unit tests even if lcov is unavailable.David Robillard1-2/+9
Library path kludges for building against MacPorts on OSX. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2576 a436a847-0d15-0410-975c-d299462d15a1
2010-05-04LV2Object => LV2Atom.David Robillard3-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2563 a436a847-0d15-0410-975c-d299462d15a1
2010-05-04Rename "object" extension "atom" extension.David Robillard3-13/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2561 a436a847-0d15-0410-975c-d299462d15a1
2010-03-07Fix possible premature LV2 features array termination (patch from larsl, fix ↵David Robillard1-2/+5
ticket #493). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2537 a436a847-0d15-0410-975c-d299462d15a1
2010-03-06Save Ingen patches as working standard LV2 plugin bundles.David Robillard12-47/+64
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-03-06Add missing files.David Robillard2-0/+90
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2532 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Use portable path construction.David Robillard1-5/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2518 a436a847-0d15-0410-975c-d299462d15a1
2010-03-04Remove Raul::Path::root, Raul::Path::prefix, and Raul:Path::scheme from ↵David Robillard1-1/+1
public API. Add ability to modify root path from application code (before any paths are created). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2514 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Work on contexts and polymorphic ports.David Robillard3-2/+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-1/+1
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-25Use put instead of looped indidivual property sets.David Robillard1-5/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2488 a436a847-0d15-0410-975c-d299462d15a1
2010-02-23Fix various code issues discovered by cppcheck.David Robillard1-1/+2
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 Robillard2-2/+1
* 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-14Remove voice specific control setting.David Robillard2-13/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2445 a436a847-0d15-0410-975c-d299462d15a1
2010-02-13Learn and remove bindings exclusively through property interface.David Robillard6-0/+71
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-04Fix a bunch of memory leaks.David Robillard1-2/+8
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 Robillard1-1/+1
errors). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2420 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Binding of MIDI notes to toggle parameters.David Robillard2-0/+4
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 Robillard2-0/+2
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 Robillard5-80/+133
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 Robillard8-57/+112
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-02Use Glib quarks to implement LV2 URI Map extension.David Robillard2-27/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2406 a436a847-0d15-0410-975c-d299462d15a1
2010-02-02Remove set_port_value from CommonInterface (replaced with set_property(path, ↵David Robillard2-11/+0
"ingen:value", value)). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2404 a436a847-0d15-0410-975c-d299462d15a1
2010-02-01Use consistent and more globally unique inclusion guards.David Robillard10-30/+30
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 Robillard2-3/+3
* 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-28Universal properties window.David Robillard2-0/+14
Instead of custom designed limited dialogs for each object type, this replacement is built dynamically and shows all properties of an object. Preliminary work, this version allows the user to wreck things by changing properties that shouldn't ever be changed manually. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2385 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Better log output.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2361 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Consistent debug output for LV2URIMap.David Robillard1-2/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2358 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Fix compilation with --log-debug.David Robillard1-0/+5
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 Robillard6-31/+35
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Fix LV2Object::from_atom to match prototype.David Robillard3-3/+3
Link libingen_shared against OSC if necessary. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2334 a436a847-0d15-0410-975c-d299462d15a1
2010-01-03Remove patch clear command (fix ticket #375).David Robillard2-9/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2332 a436a847-0d15-0410-975c-d299462d15a1
2009-12-30Fix renaming (fix ticket #458).David Robillard2-2/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2324 a436a847-0d15-0410-975c-d299462d15a1
2009-12-18Only load network engine interface modules when needed.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2311 a436a847-0d15-0410-975c-d299462d15a1
2009-12-18Install headers.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2310 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Partial support for message/value ports and the message context.David Robillard2-4/+8
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 Robillard2-8/+8
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 Robillard2-0/+2
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 Robillard2-2/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2262 a436a847-0d15-0410-975c-d299462d15a1
2009-11-14Object extension.David Robillard8-37/+220
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-11-12String port support.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2255 a436a847-0d15-0410-975c-d299462d15a1
2009-10-19Fix set/PUT with multiple properties of the same predicate.David Robillard1-3/+1
Actually set port value when PUT of ingen:value occurs (fix ticket #410). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2198 a436a847-0d15-0410-975c-d299462d15a1
2009-07-07Fix compilation issues.David Robillard2-3/+5
Display dyn manifest configuration status in summary. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2160 a436a847-0d15-0410-975c-d299462d15a1
2009-07-05Use 'standard' bundle paths for #include directives.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2155 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Clean up input port mixdown code.David Robillard1-1/+0
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-02Fix crash on copy/paste.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2063 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Generic plugin property mechanism.David Robillard2-5/+15
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2031 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Make SetMetadataEvent do multiple properties at once.David Robillard2-4/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2019 a436a847-0d15-0410-975c-d299462d15a1