summaryrefslogtreecommitdiffstats
path: root/src/serialisation
AgeCommit message (Collapse)AuthorFilesLines
2010-03-04Always save to Ingen bundles (directories with names like foo.ingen.lv2 ↵David Robillard1-2/+13
containg at least manifest.ttl and foo.ingen.ttl). Gracefully handle attempts to save over files, directories resembling ingen bundles, and non-ingen directories. Use Glib::file_test instead of attempting to open files with fstream. Construct a root patch URI from the bundle URI if Parser::parse_document is passed a bundle URI. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2515 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 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-14Ssshh.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2451 a436a847-0d15-0410-975c-d299462d15a1
2010-02-14Fix loading of subpatches.David Robillard1-46/+27
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 Robillard1-0/+35
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2449 a436a847-0d15-0410-975c-d299462d15a1
2010-02-13Fix node creation via HTTP (port parsing from string).David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2443 a436a847-0d15-0410-975c-d299462d15a1
2010-02-13Learn and remove bindings exclusively through property interface.David Robillard2-2/+6
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 std::string::empty where possible (faster, and less prone to C string ↵David Robillard1-7/+7
errors). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2420 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 Robillard3-42/+51
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 Robillard3-15/+17
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 Robillard1-1/+1
"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 Robillard2-6/+6
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-13/+20
* 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-28Don't load ingen:node and lv2:port as properties (so they don't show up in ↵David Robillard2-0/+14
properties window). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2390 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard2-32/+34
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-19New ingen module (library, not e.g. LV2 plugin) design.David Robillard2-63/+19
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-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-06-03Update bindings.David Robillard1-2/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2079 a436a847-0d15-0410-975c-d299462d15a1
2009-05-29Make connection parsing consistent with other parse methods.David Robillard2-9/+11
Connection updates via HTTP. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2046 a436a847-0d15-0410-975c-d299462d15a1
2009-05-29Node creation via HTTP.David Robillard1-6/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2045 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Working engine->client plugin information communication via HTTP.David Robillard2-13/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2044 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Ignore properties with blank values.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2041 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Remove unused code.David Robillard2-53/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2040 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix loading connections inside subpatches to patch ports.David Robillard1-3/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2039 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Create objects via SetMetadataEvent.David Robillard1-48/+0
Fix subpatch creation. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2025 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix property saving to/from file (e.g. module locations).David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2024 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Make SetMetadataEvent do multiple properties at once.David Robillard1-33/+37
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2019 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix URIs.David Robillard1-12/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2018 a436a847-0d15-0410-975c-d299462d15a1
2009-05-28Fix QNAMEs being serialised as URIs.David Robillard2-35/+22
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 Robillard4-34/+36
match serialisation). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2016 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Rename 'destroy' 'delete' ('del' in code) (WebDAV DELETE).David Robillard1-1/+1
Rename 'rename' 'move' (WebDAV MOVE). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2012 a436a847-0d15-0410-975c-d299462d15a1
2009-05-27Remove 'new_patch', 'new_node', and 'new_port' from interface in favour of ↵David Robillard2-16/+35
generic 'put'. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2011 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Fix crash on patch load.David Robillard1-1/+1
Fixes ticket #369. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2002 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Update copyright dates.David Robillard6-6/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2000 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Strip trailing whitespace.David Robillard6-89/+89
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1999 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Remove 'using' declarations from headers.David Robillard3-81/+79
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13The great ID refactoring of 2009.David Robillard2-16/+16
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 Robillard4-499/+464
* 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