summaryrefslogtreecommitdiffstats
path: root/src/serialisation/Serialiser.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-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3152 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-04-13Consistent local or installed includes for interface headers.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3143 a436a847-0d15-0410-975c-d299462d15a1
2011-02-19Partially working copy/paste.David Robillard1-5/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2996 a436a847-0d15-0410-975c-d299462d15a1
2011-02-19Save/load patches as nested bundles (fix ticket #520).David Robillard1-108/+104
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-18Save (patch ingen:node subpatch) for subpatch nodes.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2987 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Save subpatches to recursive bundles.David Robillard1-42/+50
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2967 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Tidy up serialiser interface.David Robillard1-53/+42
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2965 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Sord::Resource => Sord::URI.David Robillard1-172/+140
Tidy up serialisation code. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2964 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Tidy.David Robillard1-51/+37
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2962 a436a847-0d15-0410-975c-d299462d15a1
2011-02-16Drop redlandmm for sordmm.David Robillard1-94/+82
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2959 a436a847-0d15-0410-975c-d299462d15a1
2011-02-15Remove fuzzy lack of distinction between URIs and CURIEs.David Robillard1-51/+122
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2954 a436a847-0d15-0410-975c-d299462d15a1
2011-02-15Trim more redlandmm API.David Robillard1-5/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2952 a436a847-0d15-0410-975c-d299462d15a1
2010-12-17Take RDF serialisation language as a parameter (rather than hardcoded "turtle").David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2753 a436a847-0d15-0410-975c-d299462d15a1
2010-12-17Simplify blank node ID stuff (and remove circular dependency of World and Node).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2744 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-16/+39
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-05Shrink extensions (to .ing.lv2 and .ing.ttl) and move definitions to central ↵David Robillard1-2/+3
place so they aren't littered everywhere. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2525 a436a847-0d15-0410-975c-d299462d15a1
2010-02-25Work on contexts and polymorphic ports.David Robillard1-5/+9
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-21Remove accidental absolute include (fix ticket #484).David Robillard1-3/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2470 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-0/+3
* 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-13Learn and remove bindings exclusively through property interface.David Robillard1-0/+2
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-10Don't double-serialise port values.David Robillard1-4/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2439 a436a847-0d15-0410-975c-d299462d15a1
2010-02-04Use full URIs where necessary (fix lost properties bugs).David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2419 a436a847-0d15-0410-975c-d299462d15a1
2010-02-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-8/+8
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-7/+8
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-29Improved/quicker/easier handling of control port ranges.David Robillard1-12/+16
* 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-06Do all logging output via Raul streams.David Robillard1-7/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2009-12-31Various fixes related to port values and metadata (fix ticket #459 among ↵David Robillard1-1/+1
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-30Fix serialisation of subpatches.David Robillard1-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2322 a436a847-0d15-0410-975c-d299462d15a1
2009-12-03Clean up interface headers.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2290 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Rename DataType to PortType (since that's what it really means).David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2273 a436a847-0d15-0410-975c-d299462d15a1
2009-11-12String port support.David Robillard1-2/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2255 a436a847-0d15-0410-975c-d299462d15a1
2009-10-19Fix saving properties of root patch ports (fix ticket #389).David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2194 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix QNAMEs being serialised as URIs.David Robillard1-34/+21
Remove vestigial variable stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2017 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'property' vs 'variable' dichotomy in favour of 'meta objects' (to ↵David Robillard1-9/+13
match serialisation). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2016 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of ↵David Robillard1-3/+8
generic 'put'. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 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-24/+24
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1999 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13The great ID refactoring of 2009.David Robillard1-10/+10
Path is now actually URI (scheme path: for now). Therefore ingen nodes and such live in the same namespace as ... well, everything. Including plugins. Thar be profit, laddies. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1992 a436a847-0d15-0410-975c-d299462d15a1
2009-05-11* New ontology.David Robillard1-208/+127
* 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
2009-02-25Check USE_BLANK_NODES consistently, shut waf up.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1938 a436a847-0d15-0410-975c-d299462d15a1
2008-11-30Some support for bundle saving.David Robillard1-1/+67
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1831 a436a847-0d15-0410-975c-d299462d15a1
2008-11-29Only write index for Patches (i.e. don't even save the index of plugin ↵David Robillard1-2/+3
ports, as per LV2r3). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1821 a436a847-0d15-0410-975c-d299462d15a1
2008-11-28Store module locations on drop (fix ticket #281).David Robillard1-1/+1
Use existing rdf:instanceOf instead of ingen:plugin. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1816 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Remember patch save file location in client (fix ticket #239).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1741 a436a847-0d15-0410-975c-d299462d15a1
2008-11-09Add concept of 'Resource' and make plugins a resource (as well as graph ↵David Robillard1-1/+1
objects). Get rid of crufty imperative Plugin API. Loading of plugin data from engine over HTTP. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1713 a436a847-0d15-0410-975c-d299462d15a1
2008-11-09Move patch to /patch via HTTP to give a place for RESTful access to other ↵David Robillard1-3/+3
things. Implement HTTP access to plugins. Work towards client being able to use HTTP to connect. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1712 a436a847-0d15-0410-975c-d299462d15a1