I did a quick test on OS/X and the compressed DNG does get created; but with the wrong output filename.
For example if I issue a command like:
"Adobe DNG Converter" -dng1.4 -o "/somepath/fileneme.DNG" "/somepath/filename.DNG.DNG"
I end up with an output file called:
/somepath/"/somepath/filename.DNG"
In other words the file is in the correct directory; but the filename includes the directory path in the name (OS X allows forward slash characters in filenames).
Perhaps the Adobe DNG Converter is expecting only a filename for the -o parameter; not a full path.
Will test on Windows when I get a chance.
Phil.
Edit:
Checked the Adobe documentation for the converter - the '-o' parameter only accepts a filename, not a full path. It defaults to saving the output into the same directory as the input file. The '-d' parameter can override the output directory.
On OS/X it creates a badly named file as I outlined above, on Windows the converter silently fails and produces no output.
Still figuring out the whole mercurial pull/branch mechanism so in the meantime here's a diff patch that fixes the problem for me (only tested on OS/X so far).
diff -r 30a513223c01 modules/dual_iso/adobedng-bridge.c
--- a/modules/dual_iso/adobedng-bridge.c Wed May 07 13:34:25 2014 +0300
+++ b/modules/dual_iso/adobedng-bridge.c Wed Jun 25 18:46:37 2014 +1000
@@ -92,6 +92,15 @@
snprintf(tmp, sizeof(tmp), "%s.DNG", source);
rename(source, tmp);
+ // Find filename part only, '-o' parameter to DNG converter does not accept path
+ const char *src_filename = strrchr(source, '/');
+ if (!src_filename)
+ src_filename = strrchr(source, '\\');
+ if (!src_filename)
+ src_filename = source;
+ else
+ src_filename++;
+
char compress_cmd[1000];
char* start =
#if defined(WIN32) || defined(_WIN32)
@@ -99,7 +108,7 @@
#else
"";
#endif
- snprintf(compress_cmd, sizeof(compress_cmd), "%s\"%s\" -dng1.4 %s -o \"%s\" \"%s\"", start, adobe_dng, lossy ? "-lossy" : "", source, tmp);
+ snprintf(compress_cmd, sizeof(compress_cmd), "%s\"%s\" -dng1.4 %s -o \"%s\" \"%s\"", start, adobe_dng, lossy ? "-lossy" : "", src_filename, tmp);
printf("%s\n", compress_cmd);
int r = system(compress_cmd);
if(r!=0)