<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on darktable lua documentation</title>
    <link>https://darktable-org.github.io/luadocs/</link>
    <description>Recent content in Home on darktable lua documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language><atom:link href="https://darktable-org.github.io/luadocs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>api_version</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/api_version/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/api_version/</guid>
      <description>🔗Name api_version.lua - show the Lua API version
🔗Description darktable script to show the Lua API version in the preferences
🔗Usage  require this script from your main lua file  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>AugoGrouper</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autogrouper/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autogrouper/</guid>
      <description>🔗Name AugoGrouper.lua - add the module &amp;ldquo;Auto Group&amp;rdquo; to darktable&amp;rsquo;s lighttable view
🔗Description This plugin adds the module &amp;ldquo;Auto Group&amp;rdquo; to darktable&amp;rsquo;s lighttable view
🔗Usage Install: (see here for more detail: https://github.com/darktable-org/lua-scripts )
 Copy this file in to your &amp;ldquo;lua/contrib&amp;rdquo; folder where all other scripts reside. Require this file in your luarc file, as with any other dt plug-in  Set a gap amount in second which will be used to determine when images should no longer be added to a group.</description>
    </item>
    
    <item>
      <title>check_for_updates</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/check_for_updates/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/check_for_updates/</guid>
      <description>🔗Name check_for_updates.lua - automatically check for updates
🔗Description a simple script that will automatically look for newer releases on github and inform when there is something. it will only check on startup and only once a week.
🔗Usage  install luasec and cjson for Lua 5.2 on your system require this script from your main lua file restart darktable  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/details/</guid>
      <description>🔗NAME dtutils.debug
🔗SYNOPSIS debugging helpers used in developing darktable lua scripts
🔗USAGE require &amp;quot;lib/dtutils.debug&amp;quot; 🔗DESCRIPTION dtutils.debug provides an interface to the darktable debugging routines.
🔗RETURN VALUE dd - library - the darktable lua debugging helpers
🔗FUNCTIONS 🔗dprint pass a variable to darktable.debug.dump and print the results to stdout
🔗new_tracepoint create a function returning a tracepoint
🔗terse_dump set darktable.debug.known to shorten all image dumps to a single line
🔗tracepoint print out a tracepoint and dump the arguments</description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/details/</guid>
      <description>🔗NAME details
🔗SYNOPSIS common darktable lua file functions
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; 🔗DESCRIPTION The dtutils.file library provides common file manipulation functions used in constructing darktable lua scripts
🔗RETURN VALUE df - library - the file functions
🔗FUNCTIONS 🔗check_if_bin_exists check if an executable exists
🔗check_if_file_exists check if a file or path exist
🔗chop_filetype remove a filetype from a filename
🔗create_unique_filename create a unique filename from the supplied argment
🔗executable_path_widget create a widget to get executable path preferences</description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/details/</guid>
      <description>🔗NAME dtutils.log
🔗SYNOPSIS darktable lua logging library
🔗USAGE local log = require &amp;quot;lib/dtutils.log&amp;quot; 🔗DESCRIPTION log provides a multi-level logging solution for use with the darktable lua scripts. With this library you can leave log messages scattered through out your code and only turn them on as necessary.
🔗RETURN VALUE log - library - the darktable lua logging functions
🔗FUNCTIONS 🔗caller get the name and line number of the calling routine</description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/details/</guid>
      <description>🔗DTUTILS.STRING 🔗NAME dtutils.string
🔗SYNOPSIS a library of string utilities for use in darktable lua scripts
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; 🔗DESCRIPTION This library contains string manipulation routines to aid in building darktable lua scripts.
🔗RETURN VALUE ds - library - the darktable lua string library
🔗FUNCTIONS 🔗escape_xml_characters escape characters for xml documents
🔗is_not_sanitized check if a string has been sanitized
🔗sanitize surround a string in quotes making it safe to pass as an argument</description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/details/</guid>
      <description>🔗DTUTILS.SYSTEM 🔗NAME dtutils.system
🔗SYNOPSIS a library of system utilities for use in darktable lua scripts
🔗USAGE local dtsys = require &amp;quot;lib/dtutils.system&amp;quot; 🔗DESCRIPTION This library contains routines for interfacing to the operating system from darktable lua scripts.
🔗RETURN VALUE dtsys - library - the darktable lua system library
🔗FUNCTIONS 🔗external_command pass a command to the operating system for execution and return the result
🔗launch_default_app open file in default application
🔗windows_command pass a command to the windows operating system for execution and return the result</description>
    </item>
    
    <item>
      <title>details</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/details/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/details/</guid>
      <description>🔗NAME dtutils
🔗SYNOPSIS A Darktable lua utilities library
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; 🔗DESCRIPTION dtutils provides a common library of functions used to build lua scripts.
🔗RETURN VALUE du- library - the library of functions
🔗FUNCTIONS 🔗check_min_api_version check the minimum required api version against the current api version
🔗check_os check that the operating system is supported
🔗join join a table of strings with a specified separator
🔗prequire a protected lua require</description>
    </item>
    
    <item>
      <title>executable_manager</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/executable_manager/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/executable_manager/</guid>
      <description>🔗Name executable_manager.lua - a tool for managing external executables used by darktable lua scripts
🔗Description executable_manager is a tool for managing the executable preferences stored in the darktablerc file. On startup the darktablerc file is scanned and a widget is built for each executable path. The user can select the executable from a drop down list and then modify the settings as desired.
Any changes made using executable_manager won&amp;rsquo;t be saved in the darktablerc file until darktable exits, but the preference is updated when the change is made so scripts will pick up the changes without restarting darktable.</description>
    </item>
    
    <item>
      <title>overview</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/overview/</guid>
      <description>darktable can be customized and extended using the Lua programming language. The lua-scripts repository contains the collected efforts of the darktable developers, maintainers, contributors and community.</description>
    </item>
    
    <item>
      <title>overview</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/overview/</guid>
      <description>darktable can be customized and extended using the Lua programming language. The lua-scripts repository contains the collected efforts of the darktable developers, maintainers, contributors and community. The following sections list the scripts contained in the repository, whether they can be run by themselves (Standalone - Yes) or depend on other scripts (Standalone - No), what operating systems they are known to work on (L - Linux, M - MacOS, W - Windows), and their purpose.</description>
    </item>
    
    <item>
      <title>autostyle</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autostyle/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autostyle/</guid>
      <description>🔗Name autostyle.lua - automatically apply a given style when an exif tag is present in the image file
🔗Description Automatically apply a given style when an exif tag is present in the file. This tagged is checked with exiftool, in order to be able to match very exotic tags. I wrote this initially to be able to apply a style to compensate for Auto-DR from my Fujifilm camera
🔗Usage  set the exif configuration string in your lua configuration mine, for instance, is AutoDynamicRange=200%=&amp;gt;DR200&amp;quot; meaning that I automatically want to apply my DR200 style on all images where exiftool returns &amp;lsquo;200%&amp;rsquo; for the AutoDynamicRange tag if you want to be able to apply it manually to already imported images, define a shortcut (lua shortcuts).</description>
    </item>
    
    <item>
      <title>caller</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/caller/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/caller/</guid>
      <description>🔗NAME caller
🔗SYNOPSIS get the name and line number of the calling routine
🔗USAGE local log = require &amp;quot;lib/dtutils.log&amp;quot; result = log.caller(level) level - number - the number of stack levels to go down to retrieve the caller routine information
🔗DESCRIPTION caller gets the name and line number of the calling routine and returns it
🔗RETURN VALUE result - string - the name and line number of the calling function or &amp;lsquo;callback: &#39; if the attempt to get the caller returns nil</description>
    </item>
    
    <item>
      <title>check_if_bin_exists</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_bin_exists/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_bin_exists/</guid>
      <description>🔗NAME check_if_bin_exists
🔗SYNOPSIS check if an executable exists
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.check_if_bin_exists(bin) bin - string - the binary to check for
🔗DESCRIPTION check_if_bin_exists checks to see if the specified binary exists. check_if_bin_exists first checks to see if a preference for the binary has been registered and uses that if found. The presence of the file is verified, then quoted and returned. If no preference is specified and the operating system is linux then the which command is used to check for a binary in the path.</description>
    </item>
    
    <item>
      <title>check_min_api_version</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_min_api_version/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_min_api_version/</guid>
      <description>🔗NAME check_min_api_version
🔗SYNOPSIS check the minimum required application programming interface (API) version against the current API version
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; local result = du.check_min_api_version(min_api, script_name) min_api - string - the API version that the application was written for (example: &amp;ldquo;5.0.0&amp;rdquo;)
script_name - string - the name of the script
🔗DESCRIPTION check_min_api_version compares the minimum API required for the application to run against the current API version. The minimum API version is typically the API version that was current when the application was created.</description>
    </item>
    
    <item>
      <title>copy_paste_metadata</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/copy_paste_metadata/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/copy_paste_metadata/</guid>
      <description>🔗Name copy_paste_metadata.lua - copy and paste metadata between images
🔗Description This script adds keyboard shortcuts and buttons to copy/paste metadata between images.
🔗Usage  require this script from your main lua file it adds buttons to the selected images module it adds two keyboard shortcuts  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>darkroom_demo</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/darkroom_demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/darkroom_demo/</guid>
      <description>🔗Name darkroom_demo - an example script demonstrating how to control image display in darkroom mode
🔗Description darkroom_demo is an example script showing how to control the currently displayed image in darkroom mode using lua.
🔗Usage  require this script from your main lua file  🔗Additional Software Required None
🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.com
🔗Change Log </description>
    </item>
    
    <item>
      <title>dprint</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/dprint/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/dprint/</guid>
      <description>🔗NAME dprint
🔗SYNOPSIS pass a variable to darktable.debug.dump and print the results to stdout
🔗USAGE local dd = require &amp;quot;lib/dtutils.debug&amp;quot; dd.dprint(var) var - variable - any variable that you want to see the contents of
🔗DESCRIPTION dprint is a wrapper around darktable.debug.dump, will directly print to stdout, same calling convention</description>
    </item>
    
    <item>
      <title>escape_xml_characters</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/escape_xml_characters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/escape_xml_characters/</guid>
      <description>🔗NAME escape_xml_characters
🔗SYNOPSIS escape characters for xml documents
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.escape_xml_characters(str) str - string - the string that needs escaped
🔗DESCRIPTION escape_xml_characters provides the escape sequences for
&amp;quot;&amp;amp;&amp;quot;, &#39;&amp;quot;&#39;, &amp;quot;&#39;&amp;quot;, &amp;quot;&amp;lt;&amp;quot;, and &amp;quot;&amp;gt;&amp;quot; with the corresponding
&amp;quot;&amp;amp;amp;&amp;quot;,&amp;quot;&amp;amp;quot;&amp;quot;, &amp;quot;&amp;amp;apos;&amp;quot;, &amp;quot;&amp;amp;lt;&amp;quot;, and &amp;quot;&amp;amp;gt;&amp;quot; .
🔗RETURN VALUE result - string - the string containing escapes for the xml characters
🔗REFERENCE https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents</description>
    </item>
    
    <item>
      <title>external_command</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/external_command/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/external_command/</guid>
      <description>🔗NAME external_command
🔗SYNOPSIS pass a command to the operating system for execution and return the result
🔗USAGE local dsys = require &amp;quot;lib/dtutils.system&amp;quot; local result = dsys.external_command(command) command - string - a string containing the command and arguments to be passed to the operating system for execution.
🔗DESCRIPTION external_command passes a command to the operating system for execution and returns the results.
🔗RETURN VALUE result - number = the return value signalling success or failure.</description>
    </item>
    
    <item>
      <title>gen_i18n_mo</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/gen_i18n_mo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/gen_i18n_mo/</guid>
      <description>🔗Name gen_i18n_mo - generate translation files from the source and place them in the appropriate locale directory
🔗Description gen_i18n_mo finds all the .po files scattered throughout the script tree, compiles them into .mo files and places them in the correct locale directory for use by the gettext tools.
🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log </description>
    </item>
    
    <item>
      <title>installation</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/installation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/installation/</guid>
      <description>🔗Download and Install The recommended method of installation is using git to clone the repository. This ensures that all dependencies on other scripts are met as well as providing an easy update path.
🔗snap packages The snap version of darktable comes with lua included starting with version 2.4.3snap2.
Ensure git is installed on your system. If it isn&amp;rsquo;t, use the package manager to install it. Then open a terminal and:</description>
    </item>
    
    <item>
      <title>check_if_file_exists</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_file_exists/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_file_exists/</guid>
      <description>🔗NAME check_if_file_exists
🔗SYNOPSIS check if a file or path exist
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.check_if_file_exists(filepath) filepath - string - a file or path to check
🔗DESCRIPTION check_if_file_exists checks to see if a file or path exists.
🔗RETURN VALUE result - boolean - true if the file or path exists, false if it doesn&amp;rsquo;t.</description>
    </item>
    
    <item>
      <title>check_os</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_os/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_os/</guid>
      <description>🔗NAME check_os
🔗SYNOPSIS check that the operating system is supported
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; local result = du.check_os(operating_systems) operating_systems - table - a table of operating system names such as {&amp;ldquo;windows&amp;rdquo;,&amp;ldquo;linux&amp;rdquo;,&amp;ldquo;macos&amp;rdquo;,&amp;ldquo;unix&amp;rdquo;}
🔗DESCRIPTION check_os checks a supplied table of operating systems against the operating system the script is running on and returns true if the OS is in the list, otherwise false
🔗RETURN VALUE result - boolean - true if the operating system is supported, false if not.</description>
    </item>
    
    <item>
      <title>clear_GPS</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/clear_gps/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/clear_gps/</guid>
      <description>🔗Name clear_GPS.lua - clear_GPS - clear GPS data from selected image(s)
🔗Description This shortcut removes the GPS coordinate data from the selected images.
🔗Usage  require this script from your main lua file select an image or images click the shortcut, clear GPS data  🔗Additional Software Required 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.com
🔗Change Log </description>
    </item>
    
    <item>
      <title>delete_long_tags</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_long_tags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_long_tags/</guid>
      <description>🔗Name delete_long_tags.lua - delete all tags longer than a set length
🔗Description A simple script that will automatically delete all tags longer than a set length
🔗Usage  require this script from your main lua file set the the maximum length in darktable&amp;rsquo;s preference restart darktable  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>engine</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/engine/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/engine/</guid>
      <description>🔗NAME engine
🔗SYNOPSIS get and set the output engine
🔗USAGE local log = require &amp;quot;lib/dtutils.log&amp;quot; result = log.engine(level, ...) level - table - the log level to get or set the engine for, one of log.debug, log.info, log.warn, log.error log.success, log.always, log.screen, log.critical
&amp;hellip; - function - the output function, one of dt.print, dt.print_error, dt.print_log, print if not function is included, the current engine is returned for the specified log level</description>
    </item>
    
    <item>
      <title>get_lib_manpages</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_lib_manpages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_lib_manpages/</guid>
      <description>🔗Name get_lib_manpages.lua - retrieve the included library documentation and output it as man pages
🔗Description 🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log </description>
    </item>
    
    <item>
      <title>gettextExample</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/gettextexample/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/gettextexample/</guid>
      <description>🔗Name gettextExample.lua - darktable script to show how translations works
🔗Description To create the .po file run: xgettext -l lua gettextExample.lua
xgettext is not a lua tool, it knows (almost) nothing about Lua, and not enough to do a proper parsing. It takes a text file (In our case a Lua file) and recognises a few (language dependant) keyword in there. It matches those keywords with internal description on how functions are called and creates the .</description>
    </item>
    
    <item>
      <title>is_not_sanitized</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/is_not_sanitized/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/is_not_sanitized/</guid>
      <description>🔗NAME is_not_sanitized
🔗SYNOPSIS Check if a string has been sanitized
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.is_not_sanitized(str) str - string - the string that needs to be made safe
🔗DESCRIPTION is_not_sanitized checks a string to see if it has been made safe use passing as an argument in a system command.
🔗RETURN VALUE result - boolean - true if the string is not sanitized otherwise false</description>
    </item>
    
    <item>
      <title>launch_default_app</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/launch_default_app/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/launch_default_app/</guid>
      <description>🔗NAME launch_default_app
🔗SYNOPSIS open file in default application
🔗USAGE local dsys = require &amp;quot;lib/dtutils.file&amp;quot; result = dsys.launch_default_app(path) path - string - a file path
🔗DESCRIPTION launch_default_app allows opening a file in the application that is assigned as default for that filetype in the users&amp;rsquo;s system
🔗RETURN VALUE result - number - the return value signalling success or failure.</description>
    </item>
    
    <item>
      <title>new_tracepoint</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/new_tracepoint/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/new_tracepoint/</guid>
      <description>🔗NAME new_tracepoint
🔗SYNOPSIS create a function returning a tracepoint
🔗USAGE local dd = require &amp;quot;lib/dtutils.debug&amp;quot; local result = dd.new_tracepoint(name, ...) name - string - the name of the tracepoint to print out
&amp;hellip; - arguments - variables to dump the contents of
🔗DESCRIPTION new_tracepoint returns a tracepoint function with the given name. This is mainly used to debug callbacks.
🔗RETURN VALUE result - function - a function that returns the result of a tracepoint</description>
    </item>
    
    <item>
      <title>troubleshooting</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/troubleshooting/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/troubleshooting/</guid>
      <description>Running darktable with Lua debugging enabled provides more information about what is occurring within the scripts.
🔗Snap Open a terminal and start darktable with the command snap run darktable -d lua. This provides debugging information to give you insight into what is happening.
🔗Linux Open a terminal and start darktable with the command darktable -d lua. This provides debugging information to give you insight into what is happening.
🔗MacOS Open a terminal and start darktable with the command /Applications/darktable.</description>
    </item>
    
    <item>
      <title>chop_filetype</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/chop_filetype/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/chop_filetype/</guid>
      <description>🔗NAME chop_filetype
🔗SYNOPSIS remove a filetype from a filename
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.chop_filetype(path) path - string - a filename with or without a path
🔗DESCRIPTION chop_filetype removes the filetype from the filename.
🔗RETURN VALUE result - string - the path and filename without the filetype</description>
    </item>
    
    <item>
      <title>CollectHelper</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/collecthelper/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/collecthelper/</guid>
      <description>🔗Name CollectHelper.lua - add buttons to help with collections
🔗Description This plugin adds the button(s) to the &amp;ldquo;Selected Images&amp;rdquo; module:
 Return to Previous Collection Collect on image&amp;rsquo;s Folder Collect on image&amp;rsquo;s Color Label(s) Collect on All (AND)  It also adds 3 preferences to the lua options dialog box which allow the user to activate/deactivate the 3 &amp;ldquo;Collect on&amp;rdquo; buttons.
Button Behavior:
 Return to Previous Collection - Will reset the collect parameters to the previously active settings Collect on image&amp;rsquo;s Folder - Will change the collect parameters to be &amp;ldquo;Folder&amp;rdquo; with a value of the selected image&amp;rsquo;s folder location Collect on image&amp;rsquo;s Color Label(s) - Will change the collect parameter to be &amp;ldquo;Color&amp;rdquo; with a value of the selected images color labels, will apply multiple parameters with AND logic if multiple exist Collect on All (AND) - Will collect on all parameters activated by the preferences dialog, as such this button is redundant if you only have one of the two other options enabled  🔗Usage Install: (see here for more detail: https://github.</description>
    </item>
    
    <item>
      <title>delete_unused_tags</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_unused_tags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_unused_tags/</guid>
      <description>🔗Name delete_unused_tags.lua - automatically delete all tags that are not attached to any images
🔗Description A simple script that will automatically delete all tags that are not attached to any images
🔗Usage  require this script from your main lua file restart darktable  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>get_libdoc</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_libdoc/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_libdoc/</guid>
      <description>🔗Name get_libdoc.lua - retrieve the included library documentation and output it
🔗Description 🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log </description>
    </item>
    
    <item>
      <title>hello_world</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/hello_world/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/hello_world/</guid>
      <description>🔗Name hello_world.lua - a simple lua script
🔗Description prints &amp;ldquo;hello world when DT starts
🔗Usage  require this file from your main lua config file:  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>join</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/join/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/join/</guid>
      <description>🔗NAME join
🔗SYNOPSIS join a table of strings with a specified separator
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; local result = du.join(tabl, pat) tabl - table - a table of strings
pat - string - a separator
🔗DESCRIPTION join assembles a table of strings into a string with the specified pattern in between each string
🔗RETURN VALUE result - string - the joined string on success, or an empty string on failure</description>
    </item>
    
    <item>
      <title>log_level</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/log_level/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/log_level/</guid>
      <description>🔗NAME log_level
🔗SYNOPSIS get or set the log level
🔗USAGE local log = require &amp;quot;lib/log&amp;quot; local result = log.log_level(...) &amp;hellip; - arguments - if none is supplied, then the current log level is returned as one of: log.debug, log.info, log.warn, log.error, log.success. If one of log.debug, log.info, log.warn, log.error, or log.success is supplied as the argument then the log level is set to that value. All log levels greater than or equal in value will be enabled.</description>
    </item>
    
    <item>
      <title>sanitize</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize/</guid>
      <description>🔗NAME sanitize
🔗SYNOPSIS surround a string in quotes making it safe to pass as an argument
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.sanitize(str) str - string - the string that needs to be made safe
🔗DESCRIPTION sanitize converts a string into a version suitable for use passing as an argument in a system command.
🔗RETURN VALUE result - string - a websafe string</description>
    </item>
    
    <item>
      <title>terse_dump</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/terse_dump/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/terse_dump/</guid>
      <description>🔗NAME terse_dump
🔗SYNOPSIS set darktable.debug.known to shorten all image dumps to a single line
🔗USAGE local dd = require &amp;quot;lib/dtutils.debug&amp;quot; dd.terse_dump() 🔗DESCRIPTION terse_dump sets darktable.debug.known to shorten all images to a single line. If you don&amp;rsquo;t need to debug the content of images, this will avoid them flooding your logs.</description>
    </item>
    
    <item>
      <title>windows_command</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/windows_command/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/windows_command/</guid>
      <description>🔗NAME windows_command
🔗SYNOPSIS pass a command to the windows operating system for execution and return the result
🔗USAGE local dsys = require &amp;quot;lib/dtutils.system&amp;quot; local result = dsys.windows_command(command) command - string - a string containing the command and arguments to be passed to the operating system for execution.
🔗DESCRIPTION The normal method of executing an operating system command is using dt.control.execute(), but that doesn&amp;rsquo;t work with Windows when more than one item in the command is quoted.</description>
    </item>
    
    <item>
      <title>copy_attach_detach_tags</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/copy_attach_detach_tags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/copy_attach_detach_tags/</guid>
      <description>🔗Name copy_attach_detach_tags.lua - tools to manipulate image tags
🔗Description This script that will create four shortcuts and add a module in lighttable mode to copy, paste, replace and remove tags from images.
🔗Usage  set the shortcuts for copy, attach and detach in the preferences dialog &amp;lt;your shortcut1&amp;gt; copy will create a list of tags from all selected images &amp;lt;your shortcut2&amp;gt; paste copied tags to selected images, whereby darktable internal tags starting with &amp;lsquo;darktable|&amp;rsquo; will not be touched &amp;lt;your shortcut3&amp;gt; removes all expect darktable internal tags from selected images &amp;lt;your shortcut4&amp;gt; replaces all tags expect darktable internals A module reset will empty the clipboard  🔗Additional Software Required 🔗Limitations 🔗Author Christian Kanzian</description>
    </item>
    
    <item>
      <title>create_unique_filename</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/create_unique_filename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/create_unique_filename/</guid>
      <description>🔗NAME create_unique_filename
🔗SYNOPSIS create a unique filename from the supplied argument
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.create_unique_filename(filepath) filepath - string - the path and filename requested
🔗DESCRIPTION create_unique_filename takes a requested filepath and checks to see if it exists. If if doesn&amp;rsquo;t then it&amp;rsquo;s returned intact. If it already exists, then a two digit increment is added to the filename and it is tested again. The increment keeps increasing until either a unique filename is found or there have been 100 attempts.</description>
    </item>
    
    <item>
      <title>enfuse</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/enfuse/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/enfuse/</guid>
      <description>🔗Name enfuse.lua - merge the selected images into one tonemapped image and import the result
🔗Description This script uses enfuse to merge the selected images into one tonemapped image and imports the result. It only works on ldr images (like, JPEG).
🔗Usage  require this script from your main lua file it creates a new lighttable module  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus
🔗Change Log </description>
    </item>
    
    <item>
      <title>lighttable_demo</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/lighttable_demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/lighttable_demo/</guid>
      <description>🔗Name lighttable_demo.lua - an example script demonstrating how to control lighttable display modes
🔗Description lighttable_demo is an example script showing how to control lighttable layout, sorting, and filtering from a lua script. If the selected directory has different ratings, color labels, etc, then the sorting and filtering display is a little clearer.
🔗Usage  require this script from your main lua file  🔗Additional Software Required 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.</description>
    </item>
    
    <item>
      <title>msg</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/msg/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/msg/</guid>
      <description>🔗NAME msg
🔗SYNOPSIS print a log message
🔗USAGE local log = require &amp;quot;lib/log&amp;quot; log.msg(level, ...) level - table - the type of message, one of:
 log.debug - debugging messages log.info - informational messages log.warn - warning messages log.error - error messages log.success - success messages log.always - an internal message for debugging log.screen - output 1 line of text to the screen log.critical - print a critical message to the console  &amp;hellip; - string(s) - the message to print, which could be a comma separated set of strings</description>
    </item>
    
    <item>
      <title>prequire</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/prequire/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/prequire/</guid>
      <description>🔗NAME prequire
🔗SYNOPSIS a protected lua require
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; local status, lib = du.prequire(req_name) req_name - string - the filename of the lua code to load without the &amp;ldquo;.lua&amp;rdquo; filetype
🔗DESCRIPTION prequire is a protected require that can survive an error in the code being loaded without bringing down the calling routine.
🔗RETURN VALUE status - boolean - true on success lib - if status is true, then the code, otherwise an error message</description>
    </item>
    
    <item>
      <title>sanitize_lua</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize_lua/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize_lua/</guid>
      <description>🔗NAME sanitize_lua
🔗SYNOPSIS escape lua &amp;lsquo;magic&amp;rsquo; characters from a pattern string
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.sanitize_lua(str) str - string - the string that needs to be made safe
🔗DESCRIPTION sanitize_lua escapes lua &amp;lsquo;magic&amp;rsquo; characters so that a string may be used in lua string/patten matching.
🔗RETURN VALUE result - string - a lua pattern safe string</description>
    </item>
    
    <item>
      <title>script_manager</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/script_manager/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/script_manager/</guid>
      <description>🔗Name script_manager.lua - a tool for managing the darktable lua scripts
🔗Description script_manager is designed to run as a standalone script so that it may be used as a drop in luarc file in the user&amp;rsquo;s $HOME/.config/darktable ($HOME/AppData/Local/darktable on windows) directory. It may also be required from a luarc file.
On startup script_manager checks to see if there is an existing scripts directory.
If there is an existing lua scripts directory then it is read to see what scripts are present.</description>
    </item>
    
    <item>
      <title>tracepoint</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/tracepoint/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/tracepoint/</guid>
      <description>🔗NAME tracepoint
🔗SYNOPSIS print out a tracepoint and dump the arguments
🔗USAGE local dd = require &amp;quot;lib/dtutils.debug&amp;quot; local result = dd.tracepoint(name, ...) name - string - the name of the tracepoint to print out
&amp;hellip; - arguments - variables to dump the contents of
🔗DESCRIPTION tracepoint prints its name and dumps its parameters using darktable.debug.
🔗RETURN VALUE result - &amp;hellip; - the supplied argument list</description>
    </item>
    
    <item>
      <title>cr2hdr</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/cr2hdr/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/cr2hdr/</guid>
      <description>🔗Name cr2hdr.lua - Magic Lantern Dual ISO processing
🔗Description cr2hdr Magic Lantern Dual ISO processing.
This script automates the steps involved to process an image created with the Magic Lantern Dual ISO module. Upon invoking the script with a shortcut &amp;ldquo;cr2hdr&amp;rdquo; provided by Magic Lantern is run on the selected images. The processed files are imported. They are also made group leaders to hide the original files.
🔗Usage  require this script from your main lua file trigger conversion on selected/hovered images by shortcut (set shortcut in settings dialog) it is also possible to have the script run after importing a collection (optin, since it is not that fast)  🔗Additional Software Required  cr2hdr (sources can be obtained through the Magic Lantern repository)  🔗Limitations 🔗Author Till Theato - theato@ttill.</description>
    </item>
    
    <item>
      <title>executable_path_widget</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/executable_path_widget/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/executable_path_widget/</guid>
      <description>🔗NAME executable_path_widget
🔗SYNOPSIS create a widget to get executable path preferences
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local widget = df.executable_path_widget(executables) executables - table - a table of strings that are executable names
🔗DESCRIPTION executable_path_widget takes a table of executable names and builds a set of file selector widgets to get the path to the executable. The resulting widgets are wrapped in a box widget and returned.
🔗RETURN VALUE widget - widget - a widget containing a file selector widget for each executable.</description>
    </item>
    
    <item>
      <title>generate_image_txt</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/generate_image_txt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/generate_image_txt/</guid>
      <description>🔗Name generate_image_txt.lua - generate text metadata
🔗Description A script to run a command on images to generate text metadata
The medata will be displayed as an overlay on the image in lighttable mode
🔗Usage  require this script from your main lua file set a command to run on all image, this command should output text on stdout enable image file generation  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus</description>
    </item>
    
    <item>
      <title>moduleExample</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/moduleexample/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/moduleexample/</guid>
      <description>🔗Name moduleExample.lua - create a new example lighttable module
🔗Description More informations about building user interface elements: https://www.darktable.org/usermanual/ch09.html.php#lua_gui_example And about new_widget here: https://www.darktable.org/lua-api/index.html.php#darktable_new_widget
🔗Usage   require this script from your luarc file To do this add this line to the file .config/darktable/luarc: require &amp;ldquo;examples/moduleExample&amp;rdquo;
  it creates a new example lighttable module
  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>spairs</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/spairs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/spairs/</guid>
      <description>🔗NAME spairs
🔗SYNOPSIS an iterator that provides sorted pairs from a table
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; for key, value in du.spairs(t, order) do -- do something end t - table - table of key, value pairs order - function - an optional function to sort the pairs, if none is supplied, table.sort() is used
🔗DESCRIPTION spairs is an iterator that returns key, value pairs from a table in sorted order.</description>
    </item>
    
    <item>
      <title>strip_accents</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/strip_accents/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/strip_accents/</guid>
      <description>🔗NAME strip_accents
🔗SYNOPSIS strip accents from characters
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.strip_accents(str) str - string - the string with characters that need accents removed
🔗DESCRIPTION strip_accents removes accents from accented characters returning the unaccented character.
🔗RETURN VALUE result - string - the string containing unaccented characters
🔗REFERENCE Copied from https://forums.coronalabs.com/topic/43048-remove-special-characters-from-string/</description>
    </item>
    
    <item>
      <title>enfuseAdvanced</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/enfuseadvanced/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/enfuseadvanced/</guid>
      <description>🔗Name enfuseAdvanced.lua - process HDR or focus stacked images
🔗Description This plugin will add the new export module &amp;lsquo;fusion to DRI or DFF image&amp;rsquo;.
🔗Usage Install:
 Get the Lua scripts: https://github.com/darktable-org/lua-scripts#download-and-install Require this file in your luarc file, as with any other dt plug-in: require &amp;ldquo;contrib/enfuseAdvanced&amp;rdquo; Then select &amp;ldquo;DRI or DFF image&amp;rdquo; as storage option On the initial startup set your executable paths  DRI = Dynamic Range Increase (Blend multiple bracket images into a single LDR file) DFF = Depth From Focus (&amp;lsquo;Focus Stacking&amp;rsquo; - Blend multiple images with different focus into a single image) Select multiple images that are either bracketed, or focus-shifted, set your desired operating parameters, and press the export button.</description>
    </item>
    
    <item>
      <title>file_copy</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_copy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_copy/</guid>
      <description>🔗NAME file_copy
🔗SYNOPSIS copy a file to another name/location
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.file_copy(fromFile, toFile) fromFile - string - name of file to copy from
toFile - string - name of file to copy to
🔗DESCRIPTION copy a file using a succession of methods from operating system to a pure lua solution
🔗RETURN VALUE result - boolean - nil on error, true on success</description>
    </item>
    
    <item>
      <title>image_path_in_ui</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/image_path_in_ui/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/image_path_in_ui/</guid>
      <description>🔗Name image_path_in_ui.lua - Add a widget with the path of the selected images
🔗Description Add a widget with the path of the selected images for easy copy/past Simple shortcuts to have multiple selection bufers
This plugin will add a widget at the bottom of the left column in lighttable mode
🔗Usage  require this file from your main lua config file:  🔗Additional Software Required 🔗Limitations 🔗Author Jérémy Rosen
🔗Change Log </description>
    </item>
    
    <item>
      <title>name</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/multi_os/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/multi_os/</guid>
      <description>🔗Name multi_os.lua - an example script that runs on linux, MacOS, and Windows.
🔗Description multi_os is an example of how to write a script that will run on different operating systems. It uses the lua-scripts libraries to lessen the amount of code that needs to be written, as well as gaining access to tested cross-platform routines. This script also performs a function that some may find useful. It creates a button in the lighttable selected images module that extracts the embedded jpeg image from a raw file, then imports it and groups it with the raw file.</description>
    </item>
    
    <item>
      <title>split</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/split/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/split/</guid>
      <description>🔗NAME split
🔗SYNOPSIS split a string on a specified separator
🔗USAGE local du = require &amp;quot;lib/dtutils&amp;quot; local result = du.split(str, pat) str - string - the string to split
pat - string - the pattern to split on
🔗DESCRIPTION split separates a string into a table of strings. The strings are separated at each occurrence of the supplied pattern. The pattern may be any pattern as described in the lua docs.</description>
    </item>
    
    <item>
      <title>urlencode</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/urlencode/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/urlencode/</guid>
      <description>🔗NAME urlencode
🔗SYNOPSIS encode a string in a websage manner
🔗USAGE local ds = require &amp;quot;lib/dtutils.string&amp;quot; local result = ds.urlencode(str) str - string - the string that needs to be made websafe
🔗DESCRIPTION urlencode converts a string into a websafe version suitable for use in a web browser.
🔗RETURN VALUE result - string - a websafe string
🔗REFERENCE https://forums.coronalabs.com/topic/43048-remove-special-characters-from-string</description>
    </item>
    
    <item>
      <title>exportLUT</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/exportlut/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/exportlut/</guid>
      <description>🔗Name 🔗Description Given a haldCLUT identity file this script generates haldCLUTS from all the user&amp;rsquo;s styles and exports them to a location of their choosing.
🔗Usage Add the following line to .config/darktable/luarc to enable this lightable module: require &amp;ldquo;contrib/exportLut&amp;rdquo;
🔗Additional Software Required 🔗Limitations Warning: during export if a naming collision occurs the older file is automatically overwritten silently.
🔗Author Noah Clarke
🔗Change Log </description>
    </item>
    
    <item>
      <title>file_move</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_move/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_move/</guid>
      <description>🔗NAME file_move
🔗SYNOPSIS move a file from one directory to another
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.file_move(fromFile, toFile) fromFile - string - name of the original file
toFile - string - the new file location and name
🔗DESCRIPTION Move a file from one place to another. Try a succession of methods from builtin to operating system to a pure lua solution.
🔗RETURN VALUE result - boolean - nil on error, some value on success</description>
    </item>
    
    <item>
      <title>import_filter_manager</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filter_manager/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filter_manager/</guid>
      <description>🔗Name import_filter_manager.lua - add a dropdown list with import filters to the import dialog
🔗Description This script adds a dropdown list with import filters to the import dialog. Scripts can add new filters by registering them with darktable.register_import_filter(name, callback) The callback has type function(event, images), i.e., it is the same as when directly registering the pre-import event.
🔗Usage  require this script from your main lua file also require some files with import filters, for example import_filters.</description>
    </item>
    
    <item>
      <title>panels_demo</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/panels_demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/panels_demo/</guid>
      <description>🔗Name panels_demo.lua - an example script demonstrating how to contol panel visibility
🔗Description panels_demo is an example script showing how to control panel visibility. It cycles through the panels hiding them one by one, then showing them one by one, then hiding all, then showing all. Finally, the original panel visibility is restored.
🔗Usage  require this script from your main lua file  🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log </description>
    </item>
    
    <item>
      <title>ext_editor</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/ext_editor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/ext_editor/</guid>
      <description>🔗Name ext_editor.lua - edit images with external editors
🔗Description This script provides helpers to edit image files with programs external to darktable. It adds:
 a new target storage &amp;ldquo;collection&amp;rdquo;. Image exported will be reimported to collection for further edit with external programs a new lighttable module &amp;ldquo;external editors&amp;rdquo;, to select a program from a list of up to 9 external editors and run it on a selected image (adjust this limit by changing MAX_EDITORS) a set of lua preferences in order to configure name and path of up to 9 external editors a set of lua shortcuts in order to quick launch the external editors  🔗Usage  require this script from main lua file  &amp;ndash; setup &amp;ndash;</description>
    </item>
    
    <item>
      <title>filename_increment</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/filename_increment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/filename_increment/</guid>
      <description>🔗NAME filename_increment
🔗SYNOPSIS add a two digit increment to a filename
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.filename_increment(filepath) filepath - string - filename to increment
🔗DESCRIPTION filename_increment solves the problem of filename conflict by adding an increment to the filename. If the supplied filename has no increment then &amp;ldquo;01&amp;rdquo; is added to the basename. If the filename already has an increment, then 1 is added to it and the filename returned.</description>
    </item>
    
    <item>
      <title>import_filters</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filters/</guid>
      <description>🔗Name import_filters.lua - add filters for import_filter_manager
🔗Description This script goes along with the import filter manager. It adds two filters:
 ignore jpegs: this one does the same as the existing option in the import dialog and just skips all JPEGs during import. prefer raw over jpeg: this one is a bit more elaborate, it ignores JPEGs when there is also another file with the same basename, otherwise it allows JPEGs, too.</description>
    </item>
    
    <item>
      <title>preferenceExample</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/preferenceexamples/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/preferenceexamples/</guid>
      <description>🔗Name preferenceExample.lua - show the different preference types that are possible with Lua
🔗Description darktable script to show the different preference types that are possible with Lua
🔗Usage  require this script from your main lua file  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>face_recognition</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/face_recognition/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/face_recognition/</guid>
      <description>🔗Name face_recognition.lua - add a new storage option and calls face_recognition after export
🔗Description Add a new storage option to send images to face_recognition. Images are exported to darktable tmp dir first. A directory with known faces must exist, the image name are the tag names which will be used. Multiple images for one face can exist, add a number to it, the number will be removed from the tag, for example: People|IknowYou1.</description>
    </item>
    
    <item>
      <title>get_basename</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_basename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_basename/</guid>
      <description>🔗NAME get_basename
🔗SYNOPSIS get the filename without the path or extension
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.get_basename(filepath) filepath - string - path and filename
🔗DESCRIPTION get_basename returns the name of the file without the path or filetype.
🔗RETURN VALUE result - string - the basename of the file</description>
    </item>
    
    <item>
      <title>printExamples</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/printexamples/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/printexamples/</guid>
      <description>🔗Name printExamples.lua - prints &amp;ldquo;hello world&amp;rdquo; when darktable starts
🔗Description prints &amp;ldquo;hello world&amp;rdquo; to the screen when darktable starts
🔗Usage  require this file from your main lua config file:  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>save_selection</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/save_selection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/save_selection/</guid>
      <description>🔗Name save_selection.lua - simple shortcuts to have multiple selection buffers
🔗Description Simple shortcuts to have multiple selection buffers
🔗Usage  require this file from your main lua config file: go to configuration =&amp;gt; preferences =&amp;gt; lua set the shortcuts you want to use  This plugin will provide shortcuts to save to and restore from up to five temporary buffers
This plugin also provides a shortcut to swap the current selection with a quick-swap buffer</description>
    </item>
    
    <item>
      <title>fujifilm_ratings</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_ratings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_ratings/</guid>
      <description>🔗Name fujifilm_ratings.lua - support for importing Fujifilm in-camera ratings in darktable
🔗Description Support for importing Fujifilm in-camera ratings in darktable.
🔗Usage 🔗Additional Software Required  exiftool (https://www.sno.phy.queensu.ca/~phil/exiftool/)  🔗Limitations 🔗Author Ben Mendis - ben.mendis@gmail.com
🔗Change Log </description>
    </item>
    
    <item>
      <title>get_executable_path_preference</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_executable_path_preference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_executable_path_preference/</guid>
      <description>🔗NAME get_executable_path_preference
🔗SYNOPSIS return the path to an executable from a preference
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.get_executable_path_preference(executable) executable - string - the name of the executable to get the path for
🔗DESCRIPTION get_executable_path_preference returns the path preference to the requested executable.
🔗RETURN VALUE result - string - path to the executable
🔗LIMITATIONS executable should be the basename of the executable without extensions</description>
    </item>
    
    <item>
      <title>running_os</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/running_os/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/running_os/</guid>
      <description>🔗Name running_os.lua - prints the operating system
🔗Description prints the operating system
🔗Usage  require this script from your main lua file To do this add this line to the file .config/darktable/luarc: require &amp;ldquo;running_os&amp;rdquo;  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>selection_to_pdf</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/selection_to_pdf/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/selection_to_pdf/</guid>
      <description>🔗Name selection_to_pdf.lua - generate a PDF file (via Latex) containing all selected images
🔗Description Generates a PDF file (via Latex) containing all selected images
This plugin will add a new exporter that will allow you to generate the pdf file
Plugin allows you to choose how many thumbnails you need per row
🔗Usage  require this file from your main lua config file:  🔗Additional Software Required  a PDF-Viewer pdflatex (Latex)  🔗Limitations 🔗Author Jérémy Rosen &amp;amp; Pascal Obry</description>
    </item>
    
    <item>
      <title>geoJSON_export</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geojson_export/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geojson_export/</guid>
      <description>🔗Name geoJSON_export.lua - export a geoJSON file from selected images
🔗Description darktable geoJSON export script
🔗Usage  require this script from your main Lua file  🔗Additional Software Required  mkdir convert (ImageMagick) xdg-open xdg-user-dir  🔗Limitations This script is only tested with Linux
🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>get_filename</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filename/</guid>
      <description>🔗NAME get_filename
🔗SYNOPSIS get the filename and extension from a file path
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.get_filename(filepath) filepath - string - path and filename
🔗DESCRIPTION get_filename strips the path from a filepath and returns the filename
🔗RETURN VALUE result - string - the file name and type</description>
    </item>
    
    <item>
      <title>geoToolbox</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geotoolbox/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geotoolbox/</guid>
      <description>🔗Name geoToolbox.lua - a module of geo tools
🔗Description  it creates a new geoToolbox lighttable module  🔗Usage  require this script from your main lua file To do this add this line to the file .config/darktable/luarc: require &amp;ldquo;geoToolbox&amp;rdquo;  🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs
🔗Change Log </description>
    </item>
    
    <item>
      <title>get_filetype</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filetype/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filetype/</guid>
      <description>🔗NAME get_filetype
🔗SYNOPSIS get the filetype from a filename
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.get_filetype(filepath) filepath - string - path and filename
🔗DESCRIPTION get_filetype returns the filetype from the supplied filepath
🔗RETURN VALUE result - string - the filetype</description>
    </item>
    
    <item>
      <title>get_path</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_path/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_path/</guid>
      <description>🔗NAME get_path
🔗SYNOPSIS get the path from a file path
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.get_path(filepath) filepath - string - path and filename
🔗DESCRIPTION get_path strips the filename and filetype from a path and returns the path
🔗RETURN VALUE result - string - the path</description>
    </item>
    
    <item>
      <title>gimp</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gimp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gimp/</guid>
      <description>🔗Name gimp.lua - export and edit with GIMP
🔗Description This script provides another storage (export target) for darktable. Selected images are exported in the specified format to temporary storage. GIMP is launched and opens the files. After editing, the exported images are overwritten to save the changes. When GIMP exits, the exported files are moved into the current collection and imported into the database. The imported files then show up grouped with the originally selected images.</description>
    </item>
    
    <item>
      <title>gpx_export</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gpx_export/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gpx_export/</guid>
      <description>🔗Name gpx_export.lua - gpx exporter
🔗Description Simple darktable GPX generator script
This script generates a GPX track from all images having GPS latitude and longitude information. For each source folder, a separate &amp;lt;trk&amp;gt; is generated in the gpx file.
🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author Jannis_V</description>
    </item>
    
    <item>
      <title>mkdir</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/mkdir/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/mkdir/</guid>
      <description>🔗NAME mkdir
🔗SYNOPSIS create the directory(ies) if they do not already exist
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; df.mkdir(path) path - string - a directory path
🔗DESCRIPTION mkdir creates directories if they do not already exist. It creates parent directories if needed.
🔗RETURN VALUE path - string - a directory path</description>
    </item>
    
    <item>
      <title>HDRMerge</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hdrmerge/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hdrmerge/</guid>
      <description>🔗Name HDRMerge.lua - create an HDR image using HDRMerge
🔗Description This plugin adds the module &amp;lsquo;HDRMerge&amp;rsquo; to darktable&amp;rsquo;s lighttable view
🔗Usage Install: (see here for more detail: https://github.com/darktable-org/lua-scripts )
 Copy this file in to your &amp;lsquo;lua/contrib&amp;rsquo; folder where all other scripts reside. Require this file in your luarc file, as with any other dt plug-in On the initial startup go to darktable settings &amp;gt; lua options and set your executable paths and other preferences, then restart darktable  Select bracketed images and press the Run HDRMerge button.</description>
    </item>
    
    <item>
      <title>rmdir</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/rmdir/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/rmdir/</guid>
      <description>🔗NAME rmdir
🔗SYNOPSIS recursively remove a directory
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; df.rmdir(path) path - string - a directory path
🔗DESCRIPTION rmdir allows directories to be removed recursively.
🔗RETURN VALUE path - string - a directory path</description>
    </item>
    
    <item>
      <title>hugin</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hugin/</guid>
      <description>🔗Name hugin.lua - stitch multiple images into a panorama
🔗Description Add a new storage option to send images to hugin. Images are exported to darktable tmp dir first.
🔗Usage  require this file from your main luarc config file set the hugin tool paths (on some platforms) if hugin gui mode is used, save the final result in the tmp directory with the first file name and _pano as suffix for the image to be automatically imported to DT afterwards  🔗Additional Software Required  hugin  🔗Limitations 🔗Author Wolfgang Goetz</description>
    </item>
    
    <item>
      <title>sanitize_filename</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/sanitize_filename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/sanitize_filename/</guid>
      <description>🔗NAME sanitize_filename
🔗SYNOPSIS make a filename safe to pass as an argument
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local sanitized_filename = df.sanitize_filename(filename) filename - string - a filepath and filename
🔗DESCRIPTION sanitize_filename places quotes around the filename in an operating system specific manner. The result is safe to pass as an argument to the operating system.
🔗RETURN VALUE sanitized_filename - string - quoted filename</description>
    </item>
    
    <item>
      <title>image_stack</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_stack/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_stack/</guid>
      <description>🔗Name image_stack.lua - process a stack of images
🔗Description This script provides another storage (export target) for darktable. Selected images are exported in the specified format to temporary storage. The images are aligned if the user requests it. When the images are ready, imagemagick is launched and uses the selected evaluate-sequence operator to process the images. The output file is written to a filename representing the imput files in the format specified by the user.</description>
    </item>
    
    <item>
      <title>set_executable_path_preference</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/set_executable_path_preference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/set_executable_path_preference/</guid>
      <description>🔗NAME set_executable_path_preference
🔗SYNOPSIS set a preference for the path to an executable
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; df.set_executable_path_preference(executable, path) executable - string - the name of the executable to set the path for
path - string - the path to the binary
🔗DESCRIPTION set_executable_path_preference takes an executable name and path to the executable and registers the preference for later use.</description>
    </item>
    
    <item>
      <title>image_time</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_time/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_time/</guid>
      <description>🔗Name image_time.lua - synchronize image time for images shot with different cameras
🔗Description image_time non destructively adjusts image times by modifying the database image exif_datetime_taken field. There are 4 modes: adjust time, set time, synchronize time, and reset time.
ADJUST TIME
adjust time mode lets you chose an offset in terms of years, months, days, hours, minutes, and seconds. The adjustment can be added or subtracted. WARNING: When adding and subtracting months the result will usually be what is expected unless the time being adjusted is at the end of the month.</description>
    </item>
    
    <item>
      <title>split_filepath</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/split_filepath/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/split_filepath/</guid>
      <description>🔗NAME split_filepath
🔗SYNOPSIS split a filepath into parts
🔗USAGE local df = require &amp;quot;lib/dtutils.file&amp;quot; local result = df.split_filepath(filepath) filepath - string - path and filename
🔗DESCRIPTION split_filepath splits a filepath into the path, filename, basename and filetype and puts that in a table
🔗RETURN VALUE result - table - a table containing the path, filename, basename, and filetype</description>
    </item>
    
    <item>
      <title>kml_export</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/kml_export/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/kml_export/</guid>
      <description>🔗Name kml_export.lua - export a kml file from selected images
🔗Description darktable KML export script
🔗Usage  require this script from your main Lua file when choosing file format, pick JPEG or PNG as Google Earth doesn&amp;rsquo;t support other formats  🔗Additional Software Required  zip (at the moment Linux only and only if you create KMZ files) magick (ImageMagick) xdg-user-dir (Linux)  🔗Limitations This script is only tested with Linux</description>
    </item>
    
    <item>
      <title>LabelsToTags</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/labelstotags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/labelstotags/</guid>
      <description>🔗Name LabelsToTags.lua - mass apply tags to images
🔗Description Allows the mass-application of tags using color labels and ratings as a guide.
🔗Usage In your &amp;lsquo;luarc&amp;rsquo; file or elsewhere, use the function &amp;lsquo;register_tag_mapping&amp;rsquo;, defined in this module, to specify one or more tag mappings for use by the module. Any mappings so registered will be selectable, according to their given names, in the module&amp;rsquo;s &amp;ldquo;mapping&amp;rdquo; combo box.
A mapping takes the form of a table mapping patterns to lists of tags.</description>
    </item>
    
    <item>
      <title>OpenInExplorer</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/openinexplorer/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/openinexplorer/</guid>
      <description>🔗Name OpenInExplorer.lua - open an images containing folder
🔗Description This plugin adds the module &amp;ldquo;OpenInExplorer&amp;rdquo; to darktable&amp;rsquo;s lighttable view.
🔗Usage Require this file in your luarc file, as with any other dt plug-in
Select the photo(s) you wish to find in your operating system&amp;rsquo;s file manager and press &amp;ldquo;show in file explorer&amp;rdquo; in the &amp;ldquo;selected images&amp;rdquo; section.
  Nautilus (Linux), Explorer (Windows), and Finder (macOS prior to Mojave) will open one window for each selected image at the file&amp;rsquo;s location.</description>
    </item>
    
    <item>
      <title>passport_guide</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/passport_guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/passport_guide/</guid>
      <description>🔗Name 🔗Description guides for cropping passport photos based on documents from the Finnish police (https://www.poliisi.fi/instancedata/prime_product_julkaisu/intermin/embeds/poliisiwwwstructure/38462_Passikuvaohje_EN.pdf) describing passport photo dimensions of 47x36 mm and 500x653 px for digital biometric data stored in passports. They use ISO 19794-5 standard based on ICAO 9303 regulations which should also be compliant for all of Europe.
🔗Usage  add the following line in the file $CONFIGDIR/luarc require &amp;ldquo;passport_guide&amp;rdquo; (optional) add the line: &amp;ldquo;plugins/darkroom/clipping/extra_aspect_ratios/passport 36x47mm=47:36&amp;rdquo; to $CONFIGDIR/darktablerc when using the cropping tool, select &amp;ldquo;passport&amp;rdquo; as guide and if you added the line in yout rc select &amp;ldquo;passport 36x47mm&amp;rdquo; as aspect  🔗Additional Software Required 🔗Limitations 🔗Author Kåre Hampf</description>
    </item>
    
    <item>
      <title>pdf_slideshow</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/pdf_slideshow/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/pdf_slideshow/</guid>
      <description>🔗Name pdf_slideshow.lua - generate a pdf slideshow
🔗Description Generates a PDF slideshow (via Latex) containing all selected images one per slide.
🔗Usage  require this file from your main lua config file:  This plugin will add a new exporter that will allow you to generate a pdf slideshow. The interface will let you add:
 a global title for the slideshow (prefix in all slide label) a delay for the transition between each slide  Each slide will contain a single picture with a label at the bottom with the format (all fields can be the empty string):</description>
    </item>
    
    <item>
      <title>photils</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/photils/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/photils/</guid>
      <description>🔗Name photils.lua - auto tag images based on feature recognition
🔗Description A darktable plugin that tries to predict keywords based on the selected image. This plugin uses photils-cli to handle this task. Photils-cli is an application that passes the image through a neural network, classifies it, and extracts the suggested tags. Everything happens offline without the need that your data are sent over the internet.
🔗Usage  require this script from your main lua file To do this add this line to the file .</description>
    </item>
    
    <item>
      <title>quicktag</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/quicktag/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/quicktag/</guid>
      <description>🔗Name quicktag.lua - add shortcuts to speed up tagging
🔗Description For faster attaching your favorite tags, the script adds shortcuts and the module &amp;ldquo;quicktag&amp;rdquo; in lighttable mode with a changeable number of buttons. To each button a tag can be assigned. If the tags do not exist in your database, they are added to the database once they get the first time attached to an image.
The number of buttons/shortcuts can be changed in the lua preferences.</description>
    </item>
    
    <item>
      <title>rate_group</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rate_group/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rate_group/</guid>
      <description>🔗Name rate_group.lua - rate groups of images
🔗Description Script to provide shortcuts for rating or rejecting all images within a group; particularly useful for RAW+JPEG shooters employing a star rating workflow like the below:
http://blog.chasejarvis.com/blog/2011/03/photo-editing-101/
🔗Usage Assign a keyboard shortcut to each action via settings &amp;gt; shortcuts &amp;gt; lua
I use the following shortcuts:
 Reject group: Ctrl+R Rate group 1: Ctrl+1 Rate group 2: Ctrl+2 Rate group 3: Ctrl+3 Rate group 4: Ctrl+4 Rate group 5: Ctrl+5 Rate group 0: Ctrl+0  🔗Additional Software Required 🔗Limitations 🔗Author Dom H - dom@hxy.</description>
    </item>
    
    <item>
      <title>rename_tags</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename-tags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename-tags/</guid>
      <description>🔗Name rename-tags.lua - rename tags
🔗Description 🔗Usage  In lighttable there is a new entry: &amp;lsquo;rename tag&amp;rsquo; Enter old tag (this one gets deleted!) Enter new tag name  🔗Additional Software Required 🔗Limitations 🔗Author Sebastian Witt - se.witt@gmx.net
Bill Ferguson - wpferguson@gmail.com</description>
    </item>
    
    <item>
      <title>RL_out_sharp</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rl_out_sharp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rl_out_sharp/</guid>
      <description>🔗Name RL_out_sharp.lua - Richardson-Lucy output sharpening using GMic
🔗Description This script provides a new target storage &amp;ldquo;RL output sharpen&amp;rdquo;. Images exported will be sharpened using GMic (RL deblur algorithm)
EXAMPLE set sigma = 0.7, iterations = 10, jpeg output quality = 95, to correct blur due to image resize for web usage
🔗Usage  require this script from main lua file in lua preferences, select the GMic cli executable from &amp;ldquo;export selected&amp;rdquo;, choose &amp;ldquo;RL output sharpen&amp;rdquo; configure output folder configure RL parameters with sliders configure temp files format and quality, jpg 8bpp (good quality) and tif 16bpp (best quality) are supported configure other export options (size, etc.</description>
    </item>
    
    <item>
      <title>slideshowMusic</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/slideshowmusic/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/slideshowmusic/</guid>
      <description>🔗Name slideshowMusic.lua - play music during a slideshow
🔗Description darktable Script to play music during a Slideshow
🔗Usage  require this script from your main lua file  🔗Additional Software Required You need rhythmbox-client installed to use this script
🔗Limitations 🔗Author Tobias Jakobs</description>
    </item>
    
    <item>
      <title>transfer_hierarchy</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/transfer_hierarchy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/transfer_hierarchy/</guid>
      <description>🔗Name transfer_hierarchy.lua - move or copy image hierarchies from one location to another
🔗Description Allows the moving or copying of images from one directory tree to another, while preserving the existing hierarchy.
🔗Usage darktable&amp;rsquo;s native operations for moving and copying images in batches allow only one directory to be specified as the destination for each batch. Those wanting to move or copy images from a hierarchy of directories within darktable while preserving the directory structure, must take the laborious step of performing the operation one individual directory at a time.</description>
    </item>
    
    <item>
      <title>video_ffmpeg</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/video_ffmpeg/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/video_ffmpeg/</guid>
      <description>🔗Name video_ffmpeg.lua - create a timelapse video from selected images
🔗Description This plugin will add the new export module &amp;ldquo;video ffmpeg&amp;rdquo;.
🔗Usage  Go to Lighttable Select images you want to use as a video ffmpeg frames In image export module select &amp;ldquo;video ffmpeg&amp;rdquo; Configure you video settings Export  🔗Additional Software Required ffmpeg
🔗Limitations This script has been tested under Linux only
🔗Author Dominik Markiewicz</description>
    </item>
    
    <item>
      <title>select_untagged</title>
      <link>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/select_untagged/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/select_untagged/</guid>
      <description>🔗Name select_untagged.lua - select all images that aren&amp;rsquo;t tagged
🔗Description Enable selection of untagged images (darktable|* tags are ignored)
🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author Jannis_V</description>
    </item>
    
    <item>
      <title>Search</title>
      <link>https://darktable-org.github.io/luadocs/search/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://darktable-org.github.io/luadocs/search/</guid>
      <description></description>
    </item>
    
  </channel>
</rss>
