summaryrefslogtreecommitdiffstats
path: root/src/state.c
AgeCommit message (Collapse)AuthorFilesLines
2020-08-06Add lilv_remove()David Robillard1-6/+2
2020-08-06Add block parameter to lilv_flockDavid Robillard1-2/+2
2020-08-06Remove lilv_dir_path()David Robillard1-3/+3
This function was weird. Instead, to make a directory path with trailing separator, join nothing as in Python.
2020-08-06Rename some filename utilities for clarityDavid Robillard1-7/+7
Loosely inspired by Python and the std::filesystem API.
2020-08-06Separate filesystem utilitiesDavid Robillard1-7/+31
2020-07-16Add missing variable initializationsDavid Robillard1-1/+2
2020-07-16Clean up includesDavid Robillard1-0/+4
2020-01-18Update manifest when deleting state from a non-empty bundleDavid Robillard1-1/+6
This fixes a bug where the manifest would contain dangling references to old state if multiple states were saved to a single bundle and one is deleted. As far as I know this has not been encountered by anyone in reality, since this is an uncommon scenario (it's somewhat in question whether it should be supported at all).
2020-01-18Support deleting state that has not been savedDavid Robillard1-16/+21
This makes it possible to delete state bundles created from an instance, where the plugin has added some files to the bundle, but the state has not yet been saved by the host so there is no manifest and/or state file.
2020-01-18Clean up path code in lilv_state_delete()David Robillard1-6/+5
2020-01-18Fix deleting state bundles loaded from the modelDavid Robillard1-7/+18
2020-01-18Only remove files in state bundle when deleting stateDavid Robillard1-6/+8
2020-01-18Factor out writing state manifestDavid Robillard1-10/+25
2020-01-18Ensure state directory path always ends in a separatorDavid Robillard1-8/+13
This can cause problems when resolving relative paths against the bundle directory, and it's simpler to ensure that the path always ends in a separator than deal with both cases in every place it is used.
2020-01-18Remove redundant LILV_API declarationsDavid Robillard1-17/+17
There are specified in the declarations in the public API header, there is no need to duplicate them in the definitions.
2019-12-08Implement state:freePath featureDavid Robillard1-8/+31
2019-06-21Refuse to store state properties with null keysDavid Robillard1-0/+4
2019-06-21Refuse to store duplicate properties when saving plugin stateDavid Robillard1-0/+5
2019-06-21Factor out state property searchingDavid Robillard1-5/+13
2019-04-15Fix mismatched malloc/free callsDavid Robillard1-3/+3
2019-04-14Use modern LV2 includesDavid Robillard1-6/+6
2019-04-14Fix Windows cross-library malloc/free errorsDavid Robillard1-2/+5
2019-04-14Fix Windows buildDavid Robillard1-1/+0
2019-03-10Store port values in state as atomsDavid Robillard1-17/+18
2019-01-13Update copyright datesDavid Robillard1-1/+1
2019-01-13Clean up includesDavid Robillard1-6/+17
Sorts includes from local to global (which catches errors) and fixes missing includes found by the resulting breakage and include-what-you-use.
2019-01-11Use a clearer name for state directory and improve documentationDavid Robillard1-13/+13
2018-09-16Fix lilv_state_delete() for state bundles with extra filesDavid Robillard1-11/+23
2018-09-16Ensure state directory member is always set to a pathDavid Robillard1-9/+14
2018-09-16Don't print errors when saving state if correct links already existDavid Robillard1-3/+9
2018-09-16Make handle parameter to lilv_path_exists constDavid Robillard1-3/+3
2018-07-10Don't check for existence before attempting to create directoriesDavid Robillard1-7/+7
2017-12-29Remove pointless castsDavid Robillard1-1/+1
2017-01-04Lilv 0.24.2v0.24.2David Robillard1-1/+1
2017-01-03Always escape file URIsDavid Robillard1-5/+5
2016-09-26Fix comparison of restored states with pathsDavid Robillard1-1/+1
2016-09-18Fix memory, file, and library leaksDavid Robillard1-5/+8
2016-08-16Never call qsort on NULLDavid Robillard1-2/+6
(Fix clang static analyzer warning)
2016-07-24Add lilv_state_set_metadata()David Robillard1-70/+124
This allows setting useful metadata on a state description accessible to hosts but not plugins, such as pset:bank and rdfs:comment. Based on patch from Hanspeter Portner.
2016-07-11Improve test coverageDavid Robillard1-4/+4
2015-11-04Fix restoring state from stringsDavid Robillard1-1/+1
Patch from falktx, fixes #1107. git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5809 a436a847-0d15-0410-975c-d299462d15a1
2015-10-29Fix restoring plugins with no state interfaceDavid Robillard1-5/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5802 a436a847-0d15-0410-975c-d299462d15a1
2015-10-29Fix buildDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5801 a436a847-0d15-0410-975c-d299462d15a1
2015-10-29Fix long linesDavid Robillard1-43/+49
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5800 a436a847-0d15-0410-975c-d299462d15a1
2015-10-04Improve test coverageDavid Robillard1-2/+6
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5742 a436a847-0d15-0410-975c-d299462d15a1
2015-09-10Use lilv_free() where appropriate.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5721 a436a847-0d15-0410-975c-d299462d15a1
2015-05-22Clarify comment.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5682 a436a847-0d15-0410-975c-d299462d15a1
2015-05-21Delete trailing whitespace.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5680 a436a847-0d15-0410-975c-d299462d15a1
2015-03-07Add support for state deletion.David Robillard1-47/+191
Add lilv_node_get_path(). Add lilv_state_get_uri(). Add lilv_state_delete(). Fix creation of duplicate manifest entries when saving state. git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5617 a436a847-0d15-0410-975c-d299462d15a1
2015-02-19Add lilv_state_emit_port_values() for special port value handling.David Robillard1-6/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5586 a436a847-0d15-0410-975c-d299462d15a1