static int run_early_script(lua_State* L) { char tmp_path[PATH_MAX] = { 0 }; // run global init script dt_loc_get_datadir(tmp_path, sizeof(tmp_path)); g_strlcat(tmp_path, "/luarc", sizeof(tmp_path)); dt_lua_dofile_silent(L, tmp_path, 0, 0); if(darktable.gui != NULL) { // run user init script dt_loc_get_user_config_dir(tmp_path, sizeof(tmp_path)); g_strlcat(tmp_path, "/luarc", sizeof(tmp_path)); dt_lua_dofile_silent(L, tmp_path, 0, 0); } if(!lua_isnil(L,1)){ const char *lua_command = lua_tostring(L, 1); dt_lua_dostring_silent(L, lua_command, 0, 0); } dt_lua_redraw_screen(); return 0; }
static int32_t run_early_script(dt_job_t *job) { char tmp_path[PATH_MAX]; lua_State *L = darktable.lua_state.state; gboolean has_lock = dt_lua_lock(); // run global init script dt_loc_get_datadir(tmp_path, sizeof(tmp_path)); g_strlcat(tmp_path, "/luarc", sizeof(tmp_path)); dt_lua_dofile_silent(L,tmp_path,0,0); if(darktable.gui != NULL) { // run user init script dt_loc_get_user_config_dir(tmp_path, sizeof(tmp_path)); g_strlcat(tmp_path, "/luarc", sizeof(tmp_path)); dt_lua_dofile_silent(L,tmp_path,0,0); } char *lua_command = dt_control_job_get_params(job); if(lua_command) dt_lua_dostring_silent(L, lua_command, 0, 0); free(lua_command); dt_lua_redraw_screen(); dt_lua_unlock(has_lock); return 0; }