summaryrefslogtreecommitdiffstats
path: root/src/serialisation/Parser.cpp
AgeCommit message (Collapse)AuthorFilesLines
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-03Comprehensive use of cached URIs and more advanced Value (Atom) system.David Robillard1-33/+40
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-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-01-28Don't load ingen:node and lv2:port as properties (so they don't show up in ↵David Robillard1-0/+12
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 Robillard1-25/+25
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2009-05-29Make connection parsing consistent with other parse methods.David Robillard1-8/+10
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 Robillard1-12/+12
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 Robillard1-45/+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 Robillard1-1/+1
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-21/+19
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 Robillard1-13/+27
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 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-40/+40
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-6/+6
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-276/+320
* 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-02Make all this *&#@%* crap work:David Robillard1-7/+59
- Importing at root - Importing in a subpatch - Loading a subpatch at root - Copying (from anywhere) and pasting into root - Copying (from anywhere) and pasting into a subpatch Doesn't work: - Copy and paste of entire subpatches The fixing of which will almost certainly break everything that works. I hate my life. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1843 a436a847-0d15-0410-975c-d299462d15a1
2008-12-02Fix loading child patches.David Robillard1-17/+5
Cleanup. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1842 a436a847-0d15-0410-975c-d299462d15a1
2008-12-02Fix loading nested patches.David Robillard1-18/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1841 a436a847-0d15-0410-975c-d299462d15a1
2008-12-02Rewrite pretty much everything to do with paths in Serialiser to actually ↵David Robillard1-131/+131
make an ounce of sense. Fix various things with nested patches (fix tickets #286 #289). Cascade successive pastes nicely. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1840 a436a847-0d15-0410-975c-d299462d15a1
2008-11-28Store module locations on drop (fix ticket #281).David Robillard1-8/+6
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-28Cleanup.David Robillard1-16/+12
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1815 a436a847-0d15-0410-975c-d299462d15a1
2008-11-28Shutup.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1814 a436a847-0d15-0410-975c-d299462d15a1
2008-11-28Fix pasting connections.David Robillard1-6/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1811 a436a847-0d15-0410-975c-d299462d15a1
2008-11-27Save patch document properly for loaded subpatches too.David Robillard1-21/+28
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1787 a436a847-0d15-0410-975c-d299462d15a1
2008-11-27Remember document name (so File->Save doesn't prompt).David Robillard1-3/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1786 a436a847-0d15-0410-975c-d299462d15a1
2008-11-27Tolate paths with '.' elements (e.g. ingen -egl ./foo.ingen.ttl).David Robillard1-10/+20
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1785 a436a847-0d15-0410-975c-d299462d15a1
2008-11-24Fix loading connections in patches with subpatches (fix ticket #274).David Robillard1-2/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1779 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Finer grained locking on RDF world lock when parsing: prevents deadlock on ↵David Robillard1-10/+35
loading massive patches that fill the event queue. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1765 a436a847-0d15-0410-975c-d299462d15a1
2008-11-22Fix subpatch loading (fix ticket #271).David Robillard1-9/+15
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1760 a436a847-0d15-0410-975c-d299462d15a1
2008-11-17Barf less to the console.David Robillard1-3/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1751 a436a847-0d15-0410-975c-d299462d15a1
2008-11-17Fix recursive connection loading (fix ticket #250).David Robillard1-1/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1750 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Remember patch save file location in client (fix ticket #239).David Robillard1-4/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1741 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Fix loading errors.David Robillard1-15/+27
Partially separate 'update' from parsing from object (i.e. patch file loading) parsing. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1736 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16More HTTP.David Robillard1-7/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1726 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Control port value tracking via HTTP.David Robillard1-1/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1725 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Track connecting over HTTP.David Robillard1-6/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1724 a436a847-0d15-0410-975c-d299462d15a1
2008-11-16Monitoring deletion and variable setting (e.g. moving stuff on the canvas) ↵David Robillard1-2/+38
via HTTP. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1723 a436a847-0d15-0410-975c-d299462d15a1
2008-11-10Turn off OSC debug dumping in engine.David Robillard1-2/+2
Shuffle new_port parameters to make more sense for no particular reason. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1715 a436a847-0d15-0410-975c-d299462d15a1
2008-11-09Add concept of 'Resource' and make plugins a resource (as well as graph ↵David Robillard1-3/+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-19/+38
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