38#include <glib/gstdio.h>
48 void *exif,
int exif_len, int32_t imgid,
int num,
int total, struct
dt_dev_pixelpipe_t *pipe,
49 const gboolean export_masks)
52 gboolean from_cache =
TRUE;
54 char *targetfile = NULL;
59 char *
extension = g_strrstr(sourcefile,
".");
61 targetfile = g_strconcat(filename, ++
extension, NULL);
63 if(!strcmp(sourcefile, targetfile))
goto END;
68 xmpfile = g_strconcat(targetfile,
".xmp", NULL);
104 if(
size != self->params_size(self))
return 1;
139 gtk_container_add(GTK_CONTAINER(self->
widget),
140 dt_ui_label_new(_(
"do a 1:1 copy of the selected files.\nthe global options below do not apply!")));
static const dt_aligned_pixel_simd_t const dt_adaptation_t const float p
dt_colorspaces_color_profile_type_t
void dt_image_full_path(const int32_t imgid, char *pathname, size_t pathname_len, gboolean *from_cache, const char *calling_func)
Get the full path of an image out of the database.
const char * mime(dt_imageio_module_data_t *data)
size_t params_size(dt_imageio_module_format_t *self)
void gui_reset(dt_imageio_module_format_t *self)
void gui_init(dt_imageio_module_format_t *self)
const char * extension(dt_imageio_module_data_t *data)
int set_params(dt_imageio_module_format_t *self, const void *params, const int size)
void cleanup(dt_imageio_module_format_t *self)
void free_params(dt_imageio_module_format_t *self, dt_imageio_module_data_t *params)
void init(dt_imageio_module_format_t *self)
void * get_params(dt_imageio_module_format_t *self)
void gui_cleanup(dt_imageio_module_format_t *self)
int write_image(dt_imageio_module_data_t *data, const char *filename, const void *in, dt_colorspaces_color_profile_type_t over_type, const char *over_filename, void *exif, int exif_len, int32_t imgid, int num, int total, struct dt_dev_pixelpipe_t *pipe, const gboolean export_masks)
#define DT_MODULE(MODVER)
#define IS_NULL_PTR(p)
C is way too permissive with !=, == and if(var) checks, which can mean too many things depending on w...
int dt_exif_xmp_write_with_imgpath(const dt_image_t *image, const char *filename, const char *imgpath)
#define DT_GUI_BOX_SPACING
static GtkWidget * dt_ui_label_new(const gchar *str)
dt_image_t * dt_image_cache_get(dt_image_cache_t *cache, const int32_t imgid, char mode)
void dt_image_cache_write_release(dt_image_cache_t *cache, dt_image_t *img, dt_image_cache_write_mode_t mode)
struct dt_image_cache_t * image_cache
void dt_copy_file(const char *const sourcefile, const char *dst)