Ctrl K
ComunidadGuías…

src/control/crawler.h

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
/*
    This file is part of darktable,
    Copyright (C) 2014-2020 darktable developers.

    darktable is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    darktable is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with darktable.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include <glib.h>

#include "common/darktable.h"

// this function iterates over ALL images from the database and checks whether
// - the XMP file on disk is newer than the timestamp from db
// - there is a .txt or .wav file associated with the image and mark so in the db
//   or if such a file no longer exists
// it returns the list of images with a (supposedly) updated xmp file to let the user decide
// this blocks the calling thread; see dt_control_crawler_start_background()
GList *dt_control_crawler_run();

// show a popup with the images, let the user decide what to do and free the list afterwards
void dt_control_crawler_show_image_list(GList *images);

// perform the same crawl as dt_control_crawler_run(), but from a background
// job and one film roll at a time, most recently opened film roll first, so
// that startup does not have to wait for it
void dt_control_crawler_start_background(void);

// examine a film roll now, waiting for it to finish, so that its images
// are never shown or edited before their sidecar files have been checked.
// called when a film roll is opened.  returns immediately once that film
// roll has been examined in this session, which after the initial crawl
// is the usual case
void dt_control_crawler_ensure_filmroll(const dt_filmid_t filmid);

// ask the background crawler to stop, optionally waiting for it to do so
void dt_control_crawler_stop(const gboolean wait);

// background thread updating all thumbnails is there is no user activity while being in lightroom
void dt_update_thumbs_thread(void *ptr);
void dt_set_backthumb_time(const double offset);
// clang-format off
// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
// vim: shiftwidth=2 expandtab tabstop=2 cindent
// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
// clang-format on