[gimp] plug-ins: Only have one thumb loader for darktable
- From: Tobias Ellinghaus <et src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: Only have one thumb loader for darktable
- Date: Tue, 3 May 2016 13:11:24 +0000 (UTC)
commit 2359c29895443561f02f926d86d95e9ba578a240
Author: Tobias Ellinghaus <me houz org>
Date: Tue May 3 15:10:32 2016 +0200
plug-ins: Only have one thumb loader for darktable
plug-ins/file-darktable/file-darktable.c | 55 ++++++-----
plug-ins/file-darktable/file-formats.h | 154 +++++-------------------------
2 files changed, 53 insertions(+), 156 deletions(-)
---
diff --git a/plug-ins/file-darktable/file-darktable.c b/plug-ins/file-darktable/file-darktable.c
index cfb7194..187f92e 100644
--- a/plug-ins/file-darktable/file-darktable.c
+++ b/plug-ins/file-darktable/file-darktable.c
@@ -33,6 +33,8 @@
#include "file-formats.h"
+#define LOAD_THUMB_PROC "file-raw-load-thumb"
+
static void query (void);
static void run (const gchar *name,
gint nparams,
@@ -130,6 +132,19 @@ query (void)
if (! have_darktable)
return;
+ gimp_install_procedure (LOAD_THUMB_PROC,
+ "Load thumbnail from a raw image via darktable",
+ "This plug-in loads a thumbnail from a raw image by calling darktable-cli.",
+ "Tobias Ellinghaus",
+ "Tobias Ellinghaus",
+ "2016",
+ NULL,
+ NULL,
+ GIMP_PLUGIN,
+ G_N_ELEMENTS (thumb_args),
+ G_N_ELEMENTS (thumb_return_vals),
+ thumb_args, thumb_return_vals);
+
for (i = 0; i < G_N_ELEMENTS (file_formats); i++)
{
const FileFormat *format = &file_formats[i];
@@ -149,30 +164,12 @@ query (void)
gimp_register_file_handler_mime (format->load_proc,
format->mime_type);
- if (format->magic)
- gimp_register_magic_load_handler (format->load_proc,
- format->extensions,
- "",
- format->magic);
- else
- gimp_register_load_handler (format->load_proc,
- format->extensions,
- "");
-
- gimp_install_procedure (format->load_thumb_proc,
- format->load_thumb_blurb,
- format->load_thumb_help,
- "Tobias Ellinghaus",
- "Tobias Ellinghaus",
- "2016",
- NULL,
- NULL,
- GIMP_PLUGIN,
- G_N_ELEMENTS (thumb_args),
- G_N_ELEMENTS (thumb_return_vals),
- thumb_args, thumb_return_vals);
+ gimp_register_magic_load_handler (format->load_proc,
+ format->extensions,
+ "",
+ format->magic);
- gimp_register_thumbnail_loader (format->load_proc, format->load_thumb_proc);
+ gimp_register_thumbnail_loader (format->load_proc, LOAD_THUMB_PROC);
}
}
@@ -222,8 +219,7 @@ run (const gchar *name,
break;
}
- else if (format->load_thumb_proc
- && ! strcmp (name, format->load_thumb_proc))
+ else if (! strcmp (name, LOAD_THUMB_PROC))
{
gint width = 0;
gint height = 0;
@@ -285,6 +281,8 @@ load_image (const gchar *filename,
gchar *filename_out = gimp_temp_name ("exr");
gchar *export_filename = g_strdup_printf ("lua/export_on_exit/export_filename=%s", filename_out);
+ gchar *darktable_stdout = NULL;
+
/* linear sRGB for now as GIMP uses that internally in many places anyway */
gchar *argv[] =
{
@@ -307,12 +305,12 @@ load_image (const gchar *filename,
if (g_spawn_sync (NULL,
argv,
NULL,
- G_SPAWN_STDOUT_TO_DEV_NULL |
+// G_SPAWN_STDOUT_TO_DEV_NULL |
G_SPAWN_STDERR_TO_DEV_NULL |
G_SPAWN_SEARCH_PATH,
NULL,
NULL,
- NULL,
+ &darktable_stdout,
NULL,
NULL,
error))
@@ -322,6 +320,9 @@ load_image (const gchar *filename,
gimp_image_set_filename (image_ID, filename);
}
+// if (darktable_stdout) printf ("%s\n", darktable_stdout);
+ g_free(darktable_stdout);
+
g_unlink (filename_out);
g_free (lua_cmd);
g_free (filename_out);
diff --git a/plug-ins/file-darktable/file-formats.h b/plug-ins/file-darktable/file-formats.h
index 1b7d751..79ac2a0 100644
--- a/plug-ins/file-darktable/file-formats.h
+++ b/plug-ins/file-darktable/file-formats.h
@@ -32,10 +32,6 @@ struct _FileFormat
const gchar *load_proc;
const gchar *load_blurb;
const gchar *load_help;
-
- const gchar *load_thumb_proc;
- const gchar *load_thumb_blurb;
- const gchar *load_thumb_help;
};
/* some magic numbers taken from http://www.garykessler.net/library/file_sigs.html
@@ -55,11 +51,7 @@ static const FileFormat file_formats[] =
"file-raw-canon-load",
"Load files in the Canon raw formats via darktable",
- "This plug-in loads files in Canon's raw formats by calling darktable.",
-
- "file-raw-canon-load-thumb",
- "Load thumbnail from a Canon raw image via darktable",
- "This plug-in loads a thumbnail from Canon's raw images by calling darktable-cli."
+ "This plug-in loads files in Canon's raw formats by calling darktable."
},
{
@@ -70,11 +62,7 @@ static const FileFormat file_formats[] =
"file-raw-nikon-load",
"Load files in the Nikon raw formats via darktable",
- "This plug-in loads files in Nikon's raw formats by calling darktable.",
-
- "file-raw-nef-load-thumb",
- "Load thumbnail from a Nikon raw image via darktable",
- "This plug-in loads a thumbnail from Nikon's raw images by calling darktable-cli."
+ "This plug-in loads files in Nikon's raw formats by calling darktable."
},
{
@@ -85,11 +73,7 @@ static const FileFormat file_formats[] =
"file-raw-hasselblad-load",
"Load files in the Hasselblad raw formats via darktable",
- "This plug-in loads files in Hasselblad's raw formats by calling darktable.",
-
- "file-hasselblad-load-thumb",
- "Load thumbnail from a Hasselblad raw image via darktable",
- "This plug-in loads a thumbnail from Hasselblad raw images by calling darktable-cli."
+ "This plug-in loads files in Hasselblad's raw formats by calling darktable."
},
{
@@ -100,11 +84,7 @@ static const FileFormat file_formats[] =
"file-raw-sony-load",
"Load files in the Sony raw formats via darktable",
- "This plug-in loads files in Sony's raw formats by calling darktable.",
-
- "file-raw-sony-load-thumb",
- "Load thumbnail from a Sony raw image via darktable",
- "This plug-in loads a thumbnail from Sony raw images by calling darktable-cli."
+ "This plug-in loads files in Sony's raw formats by calling darktable."
},
{
@@ -115,11 +95,7 @@ static const FileFormat file_formats[] =
"file-raw-bay-load",
"Load files in the BAY raw format via darktable",
- "This plug-in loads files in Casio's raw BAY format by calling darktable.",
-
- "file-raw-bay-load-thumb",
- "Load thumbnail from a BAY raw image via darktable",
- "This plug-in loads a thumbnail from Casio's raw BAY images by calling darktable-cli."
+ "This plug-in loads files in Casio's raw BAY format by calling darktable."
},
{
@@ -130,11 +106,7 @@ static const FileFormat file_formats[] =
"file-raw-cine-load",
"Load files in the CINE raw format via darktable",
- "This plug-in loads files in Phantom Software's raw CINE format by calling darktable.",
-
- "file-raw-cine-load-thumb",
- "Load thumbnail from a CINE raw image via darktable",
- "This plug-in loads a thumbnail from Phantom Software's raw CINE images by calling darktable-cli."
+ "This plug-in loads files in Phantom Software's raw CINE format by calling darktable."
},
{
@@ -145,11 +117,7 @@ static const FileFormat file_formats[] =
"file-raw-sinar-load",
"Load files in the Sinar raw formats via darktable",
- "This plug-in loads files in Sinar's raw formats by calling darktable.",
-
- "file-raw-sinar-load-thumb",
- "Load thumbnail from a Sinar raw image via darktable",
- "This plug-in loads a thumbnail from Sinar raw images by calling darktable-cli."
+ "This plug-in loads files in Sinar's raw formats by calling darktable."
},
{
@@ -161,11 +129,7 @@ static const FileFormat file_formats[] =
"file-raw-kodak-load",
"Load files in the Kodak raw formats via darktable",
- "This plug-in loads files in Kodak's raw formats by calling darktable.",
-
- "file-raw-kodak-load-thumb",
- "Load thumbnail from a Kodak raw image via darktable",
- "This plug-in loads a thumbnail from Kodak raw images by calling darktable-cli."
+ "This plug-in loads files in Kodak's raw formats by calling darktable."
},
{
@@ -176,11 +140,7 @@ static const FileFormat file_formats[] =
"file-raw-dng-load",
"Load files in the DNG raw format via darktable",
- "This plug-in loads files in the Adobe Digital Negative DNG format by calling darktable.",
-
- "file-raw-dng-load-thumb",
- "Load thumbnail from a DNG raw image via darktable",
- "This plug-in loads a thumbnail from Adobe's Digital Negative DNG images by calling darktable-cli."
+ "This plug-in loads files in the Adobe Digital Negative DNG format by calling darktable."
},
{
@@ -191,11 +151,7 @@ static const FileFormat file_formats[] =
"file-raw-erf-load",
"Load files in the ERF raw format via darktable",
- "This plug-in loads files in Epson's raw ERF format by calling darktable.",
-
- "file-raw-erf-load-thumb",
- "Load thumbnail from an ERF raw image via darktable",
- "This plug-in loads a thumbnail from Epson's raw ERF images by calling darktable-cli."
+ "This plug-in loads files in Epson's raw ERF format by calling darktable."
},
{
@@ -206,11 +162,7 @@ static const FileFormat file_formats[] =
"file-raw-phaseone-load",
"Load files in the Phase One raw formats via darktable",
- "This plug-in loads files in Phase One's raw formats by calling darktable.",
-
- "file-raw-phaseone-load-thumb",
- "Load thumbnail from a Phase One raw image via darktable",
- "This plug-in loads a thumbnail from Phase One's raw images by calling darktable-cli."
+ "This plug-in loads files in Phase One's raw formats by calling darktable."
},
{
@@ -221,11 +173,7 @@ static const FileFormat file_formats[] =
"file-raw-minolta-load",
"Load files in the Minolta raw formats via darktable",
- "This plug-in loads files in Minolta's raw formats by calling darktable.",
-
- "file-raw-minolta-load-thumb",
- "Load thumbnail from a Minolta raw image via darktable",
- "This plug-in loads a thumbnail from Minolta raw images by calling darktable-cli."
+ "This plug-in loads files in Minolta's raw formats by calling darktable."
},
{
@@ -235,11 +183,7 @@ static const FileFormat file_formats[] =
"file-raw-mef-load",
"Load files in the MEF raw format via darktable",
- "This plug-in loads files in Mamiya's raw MEF format by calling darktable.",
-
- "file-raw-mef-load-thumb",
- "Load thumbnail from a MEF raw image via darktable",
- "This plug-in loads a thumbnail from Mamiya's raw MEF images by calling darktable-cli."
+ "This plug-in loads files in Mamiya's raw MEF format by calling darktable."
},
{
@@ -250,11 +194,7 @@ static const FileFormat file_formats[] =
"file-raw-mos-load",
"Load files in the MOS raw format via darktable",
- "This plug-in loads files in Leaf's raw MOS format by calling darktable.",
-
- "file-raw-mos-load-thumb",
- "Load thumbnail from a MOS raw image via darktable",
- "This plug-in loads a thumbnail from Leaf's raw MOS images by calling darktable-cli."
+ "This plug-in loads files in Leaf's raw MOS format by calling darktable."
},
{
@@ -265,11 +205,7 @@ static const FileFormat file_formats[] =
"file-raw-orf-load",
"Load files in the ORF raw format via darktable",
- "This plug-in loads files in Olympus' raw ORF format by calling darktable.",
-
- "file-raw-orf-load-thumb",
- "Load thumbnail from an ORF raw image via darktable",
- "This plug-in loads a thumbnail from Olympus' raw ORF images by calling darktable-cli."
+ "This plug-in loads files in Olympus' raw ORF format by calling darktable."
},
{
@@ -280,11 +216,7 @@ static const FileFormat file_formats[] =
"file-raw-pef-load",
"Load files in the PEF raw format via darktable",
- "This plug-in loads files in Pentax' raw PEF format by calling darktable.",
-
- "file-raw-pef-load-thumb",
- "Load thumbnail from a PEF raw image via darktable",
- "This plug-in loads a thumbnail from Pentax' raw PEF images by calling darktable-cli."
+ "This plug-in loads files in Pentax' raw PEF format by calling darktable."
},
{
@@ -295,11 +227,7 @@ static const FileFormat file_formats[] =
"file-raw-pxn-load",
"Load files in the PXN raw format via darktable",
- "This plug-in loads files in Logitech's raw PXN format by calling darktable.",
-
- "file-raw-pxn-load-thumb",
- "Load thumbnail from a PXN raw image via darktable",
- "This plug-in loads a thumbnail from Logitech's raw PXN images by calling darktable-cli."
+ "This plug-in loads files in Logitech's raw PXN format by calling darktable."
},
{
@@ -310,11 +238,7 @@ static const FileFormat file_formats[] =
"file-raw-qtk-load",
"Load files in the QTK raw format via darktable",
- "This plug-in loads files in Apple's QuickTake QTK raw format by calling darktable.",
-
- "file-raw-qtk-load-thumb",
- "Load thumbnail from a QTK raw image via darktable",
- "This plug-in loads a thumbnail from Apple's QuickTake QTK raw images by calling darktable-cli."
+ "This plug-in loads files in Apple's QuickTake QTK raw format by calling darktable."
},
{
@@ -325,11 +249,7 @@ static const FileFormat file_formats[] =
"file-raw-raf-load",
"Load files in the RAF raw format via darktable",
- "This plug-in loads files in Fujifilm's raw RAF format by calling darktable.",
-
- "file-raw-raf-load-thumb",
- "Load thumbnail from a RAF raw image via darktable",
- "This plug-in loads a thumbnail from Fujifilm's raw RAF images by calling darktable-cli."
+ "This plug-in loads files in Fujifilm's raw RAF format by calling darktable."
},
{
@@ -340,11 +260,7 @@ static const FileFormat file_formats[] =
"file-raw-panasonic-load",
"Load files in the Panasonic raw formats via darktable",
- "This plug-in loads files in Panasonic's raw formats by calling darktable.",
-
- "file-raw-panasonic-load-thumb",
- "Load thumbnail from a Panasonic raw image via darktable",
- "This plug-in loads a thumbnail from Panasonic's raw images by calling darktable-cli."
+ "This plug-in loads files in Panasonic's raw formats by calling darktable."
},
{
@@ -355,11 +271,7 @@ static const FileFormat file_formats[] =
"file-raw-rdc-load",
"Load files in the RDC raw format via darktable",
- "This plug-in loads files in Digital Foto Maker's raw RDC format by calling darktable.",
-
- "file-raw-rdc-load-thumb",
- "Load thumbnail from a RDC raw image via darktable",
- "This plug-in loads a thumbnail from Digital Foto Maker's raw RDC images by calling darktable-cli."
+ "This plug-in loads files in Digital Foto Maker's raw RDC format by calling darktable."
},
{
@@ -370,11 +282,7 @@ static const FileFormat file_formats[] =
"file-raw-rwl-load",
"Load files in the RWL raw format via darktable",
- "This plug-in loads files in Leica's raw RWL format by calling darktable.",
-
- "file-raw-rwl-load-thumb",
- "Load thumbnail from a RWL raw image via darktable",
- "This plug-in loads a thumbnail from Leica's raw RWL images by calling darktable-cli."
+ "This plug-in loads files in Leica's raw RWL format by calling darktable."
},
{
@@ -385,11 +293,7 @@ static const FileFormat file_formats[] =
"file-raw-srw-load",
"Load files in the SRW raw format via darktable",
- "This plug-in loads files in Samsung's raw SRW format by calling darktable.",
-
- "file-raw-srw-load-thumb",
- "Load thumbnail from a SRW raw image via darktable",
- "This plug-in loads a thumbnail from Samsung's raw SRW images by calling darktable-cli."
+ "This plug-in loads files in Samsung's raw SRW format by calling darktable."
},
{
@@ -400,11 +304,7 @@ static const FileFormat file_formats[] =
"file-raw-x3f-load",
"Load files in the X3F raw format via darktable",
- "This plug-in loads files in Sigma's raw X3F format by calling darktable.",
-
- "file-raw-x3f-load-thumb",
- "Load thumbnail from a X3F raw image via darktable",
- "This plug-in loads a thumbnail from Sigma's raw X3F images by calling darktable-cli."
+ "This plug-in loads files in Sigma's raw X3F format by calling darktable."
},
{
@@ -415,11 +315,7 @@ static const FileFormat file_formats[] =
"file-raw-ari-load",
"Load files in the ARI raw format via darktable",
- "This plug-in loads files in Arriflex' raw ARI format by calling darktable.",
-
- "file-raw-ari-load-thumb",
- "Load thumbnail from an ARI raw image via darktable",
- "This plug-in loads a thumbnail from Arriflex' raw ARI images by calling darktable-cli."
+ "This plug-in loads files in Arriflex' raw ARI format by calling darktable."
}
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]