Am Mittwoch, 5. August 2015, 21:38:45 schrieb Il Prof.: > Sorry but that's not what i meant, > i know how to use sqlite, what i don't understand is how the base curve is > encoded in the sql database "line", the parameters are saved as a binary > blob (i suppose encoded in some way)
The history table is the interesting part, the column "module" contains the
module version and "op_params" the actual parameters. In the case of basecurve
for module version 2 that is just the binary data from the following data
structure:
typedef struct dt_iop_basecurve_params_t
{
// three curves (c, ., .) with max number of nodes
// the other two are reserved, maybe we'll have cam rgb at some point.
dt_iop_basecurve_node_t basecurve[3][MAXNODES];
int basecurve_nodes[3];
int basecurve_type[3];
} dt_iop_basecurve_params_t;
If you want to peek into those binary blobs you can just load the matching
libbasecurve.so and use its introspection to get/set single fields in what you
have in the database.
If all you care about is generating entries you can just stick to the version
2 format – even when we decide to bump the actual format used in dt – and rely
on the update mechanisms that will allow darktable to keep understanding your
then old format.
That being said, I am quite certain that putting basecurves into the database
is the wrong thing to do.
Tobias
[...]
signature.asc
Description: This is a digitally signed message part.
