summaryrefslogtreecommitdiffstats
path: root/src/engine
AgeCommit message (Collapse)AuthorFilesLines
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
2010-01-29Magic MIDI binding via special ingen_control port.David Robillard33-112/+325
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-28Use ingen-ui for prefix instead of ingenuity.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2388 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Add missing base class virtual destructor stubs.David Robillard2-2/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2366 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Remove cruft.David Robillard1-21/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2365 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Fix compilation with ancient boost intrusive_ptr (fix ticket #467).David Robillard2-2/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2363 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Virtual destructor for EventSource.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2362 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Better log output.David Robillard2-6/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2361 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 HTTP and OSC (make EventSource::activate_source virtual again).David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2359 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Fix compilation with --log-debug.David Robillard4-8/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2356 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Shrink ClientBroadcaster code via macro.David Robillard3-149/+47
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2354 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Make ClientBroadcaster itself a ClientInterface.David Robillard10-39/+94
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2353 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Merge QueuedEventSource and EventSource.David Robillard18-132/+69
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2352 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Tidy.David Robillard17-75/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2351 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard55-217/+209
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Fix error message.David Robillard3-2/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2346 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05JackAudio* -> Jack*David Robillard3-69/+68
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2345 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05JackAudioDriver.[ch]pp -> JackDriver.[ch]ppDavid Robillard4-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2344 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Merge JackMidiDriver and JackAudioDriver.David Robillard28-829/+199
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2343 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Remove no longer used jack_compat.hDavid Robillard2-57/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2342 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Realtime safe buffer reference handling.David Robillard20-54/+86
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-05Remove unused Buffer.cpp (Buffer::create).David Robillard1-46/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2339 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Remove unused Buffer::_local.David Robillard2-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2338 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Event mixing.David Robillard5-12/+99
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2337 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Remove prototypes for nonexistent EventBuffer methods.David Robillard1-3/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2336 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Remove unused EventBuffer::append method.David Robillard2-42/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2335 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Remove redundant LV2EventBuffer class and merge with EventBuffer.David Robillard11-446/+240
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
2010-01-03Remove patch clear command (fix ticket #375).David Robillard14-310/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2332 a436a847-0d15-0410-975c-d299462d15a1
2009-12-31Various fixes related to port values and metadata (fix ticket #459 among ↵David Robillard3-5/+9
other things). Fix jitterey behaviour of port controls (on module) while dragging. Update value in status bar while dragging port slider (on module). Update plugin data (e.g. port control range) if the plugin is sent to the client after nodes that are instances of it (i.e. more robust plugin state tracking via merging like with objects). Correctly save and restore port values (ticket #459). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2327 a436a847-0d15-0410-975c-d299462d15a1
2009-12-30Turn off debugging.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2325 a436a847-0d15-0410-975c-d299462d15a1
2009-12-30Fix renaming (fix ticket #458).David Robillard2-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2324 a436a847-0d15-0410-975c-d299462d15a1
2009-12-30Better error reporting for bad PUT.David Robillard2-8/+23
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2323 a436a847-0d15-0410-975c-d299462d15a1
2009-12-30Fix JACK name of top level ports (fix ticket #457).David Robillard7-6/+30
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2319 a436a847-0d15-0410-975c-d299462d15a1
2009-12-23Remove liblo include from HTTPClientSender (fix building with HTTP and ↵David Robillard1-1/+0
without OSC). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2317 a436a847-0d15-0410-975c-d299462d15a1
2009-12-19New ingen module (library, not e.g. LV2 plugin) design.David Robillard16-184/+217
Much cleaner interface and general usage of Ingen as a library. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 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-12-03Clean up interface headers.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2290 a436a847-0d15-0410-975c-d299462d15a1
2009-11-22Enqueue message thread requests by the port, not by the node.David Robillard4-19/+19
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 Robillard9-30/+104
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 Robillard23-64/+271
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-18Less reliance on Buffer::type() (which doesn't really make sense, since ↵David Robillard2-30/+24
buffer type != port type...). AudioBuffer copy improvements. Remove redundant AudioBuffer::_port_type (same as Buffer::_type). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2275 a436a847-0d15-0410-975c-d299462d15a1