darktable-org / darktable-org/lua-scripts

get introspection in lua

Abierto
#195 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Lua
Estrellas
219
Forks
142
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

hello,

I was willing to write a lua script that changes some values (like exposure) in a bunch of pictures, I didn't found any.

I thougth to start writing a "tool" to do this, it is far from ready but i think it is a good starting point if someone would like to collaborate

I never used lua before so you may find some weird syntax, you can find the code here
https://repl.it/@VincenzoG/Darktable-xmp

example code:

require "tools/xmp_utility"

input = "0000000010c7babce0ce773e00004842000080c0"

exposure_params = {mode = 1, black = 2, exposure = 3, deflicker_percentile = 4, deflicker_target_level = 5}
exposure_table = dt_xmp_decode(input)

print(table.concat(exposure_table, " "))
print("Mode:", exposure_table[exposure_params.mode])
print("black:", exposure_table[exposure_params.black])
print("exposure:", exposure_table[exposure_params.exposure])
print("deflicker_percentile:", exposure_table[exposure_params.deflicker_percentile])
print("deflicker_target_level:", exposure_table[exposure_params.deflicker_target_level])

print(dt_xmp_encode(exposure_table))

exposure_table[exposure_params.exposure] = exposure_table[exposure_params.exposure] - 0.02
print("new exposure:", exposure_table[exposure_params.exposure])
print(dt_xmp_encode(exposure_table))

and it's output:

0 -0.022799998521805 0.24200010299683 50 -4
Mode:   0
black:  -0.022799998521805
exposure:   0.24200010299683
deflicker_percentile:   50
deflicker_target_level: -4
0000000010c7babce0ce773e00004842000080c0
new exposure:   0.22200010299683
0000000010c7babcfe53633e00004842000080c0

todo list:

  • use compressed values: i found on google some part of code but i didn't integrated them, yet, you could find them in the base64.lua file
  • automatically read/write the params: this can be done knowing the file path and using one of the already existing xml library for lua

If someone would like to collaborate tell me!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza revisando el script Darktable-xmp enlazado y el archivo base64.lua mencionado en la lista TODO. Aclara la interfaz de introspección prevista y cómo deben leer y escribir los parámetros las bibliotecas XML de Lua existentes. Se considerará terminado cuando haya un alcance acordado, un manejo funcional de valores comprimidos y la lectura/escritura automática de parámetros.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
lua
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.