[Kde-imaging] extragear/libs/kipi-plugins/rawconverter [POSSIBLY UNSAFE]
Gilles Caulier
caulier.gilles at free.fr
Tue Oct 10 14:35:56 CEST 2006
SVN commit 594192 by cgilles:
kipi-plugins from trunk : RAW Converter : bye bye external dcraw depency :
Raw onverter plugin use a dedicaced dcraw binary program to run. This is mandatory since dcraw author have broken the command line options
compatibility with the 8.x serie.
Also, dcraw is not available like a library!
The dcraw.c source code embeded in plugin is just a copy of official implementation, but this one have been completly tested with plugin.
CCMAIL: kde-imaging at kde.org
M +24 -0 Makefile.am
A dcraw.c [POSSIBLY UNSAFE: scanf] [License: GENERATED FILE]
M +1 -1 dcrawbinary.cpp
M +6 -3 dcrawiface.cpp
M +15 -14 plugin_rawconverter.cpp
--- trunk/extragear/libs/kipi-plugins/rawconverter/Makefile.am #594191:594192
@@ -1,3 +1,6 @@
+# Requires by dcraw.c implementation.
+KDE_OPTIONS = nofinal
+
METASOURCES = AUTO
SUBDIRS = profiles
@@ -31,3 +34,24 @@
messages: rc.cpp
$(XGETTEXT) *.cpp *.h -o $(podir)/kipiplugin_rawconverter.pot
+#-- dcraw binary -------------------------------------------------
+
+# RawConverter plugin use a dedicaced dcraw binary program to run. This is mandatory
+# since dcraw author have broken the command line options
+# compatibility with the 8.x serie.
+# Also, dcraw is not available like a library.
+# The dcraw.c source code is just a copy of official implementation, but
+# this one have been completly tested with this plugin.
+# Note: dcraw project page is http://cybercom.net/~dcoffin
+
+bin_PROGRAMS = kipidcraw
+
+# This line is require to disable color management support (using LCMS library) witch
+# is not yet supported by plugin.
+kipidcraw_CFLAGS = -DNO_LCMS -w
+
+kipidcraw_SOURCES = dcraw.c
+
+kipidcraw_LDFLAGS = $(all_libraries) $(LIBJPEG) -lm
+
+
--- trunk/extragear/libs/kipi-plugins/rawconverter/dcrawbinary.cpp #594191:594192
@@ -93,7 +93,7 @@
const char *DcrawBinary::path()
{
- return "dcraw";
+ return "kipidcraw";
}
bool DcrawBinary::isAvailable() const
--- trunk/extragear/libs/kipi-plugins/rawconverter/dcrawiface.cpp #594191:594192
@@ -149,7 +149,8 @@
// -e : Extract the camera-generated thumbnail, not the raw image (JPEG or a PPM file).
// Note : this code require at least dcraw version 8.x
- command = "dcraw -c -e ";
+ command = DcrawBinary::path();
+ command += " -c -e ";
command += QFile::encodeName( KProcess::quote( path ) );
kdDebug( 51000 ) << "Running dcraw command " << command << endl;
@@ -194,7 +195,8 @@
// -w : Use camera white balance, if possible
f=NULL;
- command = "dcraw -c -h -w -a ";
+ command = DcrawBinary::path();
+ command += " -c -h -w -a ";
command += QFile::encodeName( KProcess::quote( path ) );
kdDebug( 51000 ) << "Running dcraw command " << command << endl;
@@ -264,7 +266,8 @@
// -c : write to stdout
// -i : identify files without decoding them.
- command = "dcraw -c -i ";
+ command = DcrawBinary::path();
+ command += " -c -i ";
command += QFile::encodeName( KProcess::quote( path ) );
kdDebug( 51000 ) << "Running dcraw command " << command << endl;
--- trunk/extragear/libs/kipi-plugins/rawconverter/plugin_rawconverter.cpp #594191:594192
@@ -131,13 +131,12 @@
{
KMessageBox::information(
kapp->activeWindow(),
- i18n("<qt><p>Unable to find the dcraw executable:<br> "
- "This program is required by this plugin to support raw file decoding. "
- "Please install dcraw as a package from your distributor "
- "or <a href=\"%1\">download the source</a>.</p>"
- "<p>Note: at least, dcraw version %2 is required by this plugin.</p></qt>")
- .arg("http://www.cybercom.net/~dcoffin/dcraw")
- .arg(dcrawBinary.minimalVersion()),
+ i18n("<qt><p>Unable to find the <b>%1</b> executable:<br>"
+ "This program is required by this plugin to support "
+ "Raw files decoding. "
+ "Please check %2 installation on your computer.</p></qt>")
+ .arg(dcrawBinary.path())
+ .arg(dcrawBinary.path()),
QString::null,
QString::null,
KMessageBox::Notify | KMessageBox::AllowLink);
@@ -148,15 +147,17 @@
{
KMessageBox::information(
kapp->activeWindow(),
- i18n("<qt><p>dcraw executable isn't up to date:<br> "
- "The version %1 of dcraw have been found on your computer. "
+ i18n("<qt><p><b>%1</b> executable isn't up to date:<br>"
+ "The version %2 of %3 have been found on your computer. "
"This version is too old to run properly with this plugin. "
- "Please update dcraw as a package from your distributor "
- "or <a href=\"%2\">download the source</a>.</p>"
- "<p>Note: at least, dcraw version %3 is required by this "
- "plugin</p></qt>")
+ "Please check %4 installation on your computer.</p>"
+ "<p>Note: at least, %5 version %6 is required by this "
+ "plugin.</p></qt>")
+ .arg(dcrawBinary.path())
.arg(dcrawVersion)
- .arg("http://www.cybercom.net/~dcoffin/dcraw")
+ .arg(dcrawBinary.path())
+ .arg(dcrawBinary.path())
+ .arg(dcrawBinary.path())
.arg(dcrawBinary.minimalVersion()),
QString::null,
QString::null,
More information about the Kde-imaging
mailing list