wmakeev / darkroom-xmp-tools

Helps to modify operations params from Darktable xmp files
5 stars 1 forks source link

How to use with 'temperature' #1

Open tacman opened 3 years ago

tacman commented 3 years ago

How would I decode these 2 parameters? 'temperature' is not a valid operation in the library, is there some other way to call it?

Thank you for putting this together. I keep thinking there must be a way within darktable to expand these encoded/compressed parameters, but I can't find it. Seems like interoperability would be very difficult, and even upgrading to new versions might be harder.

     <rdf:li
      darktable:num="5"
      darktable:operation="temperature"
      darktable:enabled="1"
      darktable:modversion="3"
      darktable:params="c1a200400000803fe396f13f0000c07f"
      darktable:multi_name=""
      darktable:multi_priority="0"
      darktable:iop_order="3.0000000000000"
      darktable:blendop_version="9"
      darktable:blendop_params="gz11eJxjYGBgkGAAgRNODGiAEV0AJ2iwh+CRyscOAAdeGQQ="/>
wmakeev commented 3 years ago

Hi! Sorry for the late response.. junk mail and so on)

I'll try to look a little more closely and add binding for temperature. It confuses me that the darktable:blendop_version is already a later version 9 (It was 7 in my tests). But, on the other hand, Darktable uses this metadata for backward compatibility.

tacman commented 3 years ago

Yeah, I've kinda figured it out. What a HUGE pain. It's an xml file, designed for data! There's no reason to compress the parameters to optimize memory copy in C. This should be a big blob will all the data, then instead of inspecting version numbers, the systems could query the data and figure it out by duck-typing.

I'm working on something that reads the C code structures and dumps json. It only works for the current format, though. If I could figure out a command line way (via darktable-cli most likely, or maybe lua) to read the old files and dump them in version 9, I'd probably go with that, at least there would only be one format to check.

Thanks very much for putting this together, I learned a lot by reading your code. This is something that darktable should provide, though, IMHO. The sidecar files should be complete archives and not require knowing details of the memory structure used by the software that created them.

On Thu, Mar 25, 2021 at 8:22 AM Makeev Vitaliy @.***> wrote:

Hi! Sorry for the late response.. junk mail and so on)

I'll try to look a little more closely. It confuses me that the darktable:blendop_version is already a later version 9 (It was 7 in my tests). But, on the other hand, Darktable uses this metadata for backward compatibility.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wmakeev/darkroom-xmp-tools/issues/1#issuecomment-806638929, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEXIQLQHZFNYY4PMLFUWLLTFMTGTANCNFSM4ZM2MA7A .