summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-04-13Tidy up headers towards being API appropriate.David Robillard1-0/+14
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3141 a436a847-0d15-0410-975c-d299462d15a1
2011-02-19Save/load patches as nested bundles (fix ticket #520).David Robillard1-7/+13
Sane (context-based, ala RDF quads) approach to the problem of externally visible / internally visible properties. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2993 a436a847-0d15-0410-975c-d299462d15a1
2011-02-17Jack session support for ingen.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2978 a436a847-0d15-0410-975c-d299462d15a1
2011-01-08Clean up code (cpplint).David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2800 a436a847-0d15-0410-975c-d299462d15a1
2010-11-30Consistent naming for URI quarks.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2678 a436a847-0d15-0410-975c-d299462d15a1
2010-11-26Update for latest LV2 #include style.David Robillard1-1/+1
Enable building against system installed LV2 extensions. Fix building slv2 and ingen independently. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2675 a436a847-0d15-0410-975c-d299462d15a1
2010-10-06Add scheme to LV2 URI-based includes.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2627 a436a847-0d15-0410-975c-d299462d15a1
2010-10-06Use URI-based LV2 header includes.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2626 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-04-02Fix crashes on exit.David Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2550 a436a847-0d15-0410-975c-d299462d15a1
2010-03-06Save Ingen patches as working standard LV2 plugin bundles.David Robillard1-19/+18
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-26Arrange at the top left and scroll to top left corner by default.David Robillard1-0/+4
This seems much saner than in the "middle" of some arbitrarily large canvas (which was never quite right), which requires that size to be hardcoded everywhere. This way Feels tighter and more document based to me as well... git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2496 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-3/+4
* 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-14Preserve patch port indices across saves.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2449 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04MIDI feedback.David Robillard1-11/+29
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 Robillard1-2/+2
(simplify Event interfaces). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2417 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-3/+5
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 Robillard1-9/+9
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-01-29Magic MIDI binding via special ingen_control port.David Robillard1-4/+20
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 cruft.David Robillard1-21/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2365 a436a847-0d15-0410-975c-d299462d15a1
2010-01-07Merge QueuedEventSource and EventSource.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2352 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Merge JackMidiDriver and JackAudioDriver.David Robillard1-54/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2343 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Remove unused Buffer::_local.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2338 a436a847-0d15-0410-975c-d299462d15a1
2009-12-19New ingen module (library, not e.g. LV2 plugin) design.David Robillard1-3/+12
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-11-22Partial support for message/value ports and the message context.David Robillard1-0/+2
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-5/+5
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-1/+7
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-14Object extension.David Robillard1-1/+1
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-06-03Chop "Event" from event source file names.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2066 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix QNAMEs being serialised as URIs.David Robillard1-3/+3
Remove vestigial variable stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2017 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of ↵David Robillard1-0/+3
generic 'put'. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Support re-attaching to Jack.David Robillard1-3/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2005 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Clean up Jack shutdown semantics.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2003 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-18/+18
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-2/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2009-05-12Fix lv2.h include problem.David Robillard1-2/+3
Fixes ticket #354. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1987 a436a847-0d15-0410-975c-d299462d15a1
2009-05-12Detach/Reattach from/to Jack from UI (ticket #180).David Robillard1-35/+33
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1985 a436a847-0d15-0410-975c-d299462d15a1
2009-05-11* New ontology.David Robillard1-1/+0
* Display human names on patch ports on creation, if enabled. * Fix copy/paste of subpatches. * Split properties into "properties" (class properties) and "variables" (instance properties). * Names are kind of a legacy leftover... * Remove special set poly / enable / etc events in favour of just setting properties (less API, extensible, RDF compatible). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1973 a436a847-0d15-0410-975c-d299462d15a1
2008-12-22Fix ingen -l (fix ticket #314).David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1903 a436a847-0d15-0410-975c-d299462d15a1
2008-12-16Trim include dependency tree.David Robillard1-6/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1870 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Shut down JACK cleanly.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1729 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16TCP notification stream support (not fully implemented yet, but transport ↵David Robillard1-12/+9
stuff is working). Support multiple event sources in the engine. Clean up HTTP/TCP stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1721 a436a847-0d15-0410-975c-d299462d15a1
2008-10-18Build against local library versions no matter what.... hopefully....David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1677 a436a847-0d15-0410-975c-d299462d15a1
2008-10-12Split OSC/HTTP/JACK dependencies from ingen into separate libraries so ↵David Robillard1-72/+24
engine library doesn't have a link time dependence on liblo/soap/libjack. Preliminary Ingen LV2 code wrapper (not functional yet). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1653 a436a847-0d15-0410-975c-d299462d15a1
2008-10-06Fix ticket #224David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1627 a436a847-0d15-0410-975c-d299462d15a1
2008-10-03Make liblo optional for building ingen.David Robillard1-0/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1608 a436a847-0d15-0410-975c-d299462d15a1
2008-10-03Support building locally against header-only libraries in autowaf.David Robillard1-1/+1
Remove CONFIG_H_PATH define and replace with just "config.h" (define messed up dependency tracking). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1600 a436a847-0d15-0410-975c-d299462d15a1
2008-09-30Fix building (both autohell and waf) with simpler ingen tree layout.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1553 a436a847-0d15-0410-975c-d299462d15a1