Update of /cvsroot/ufraw/ufraw
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7512

Modified Files:
        ufraw_developer.c ufraw_icons.c ufraw_preview.c ufraw_writer.c 
Log Message:
Fix bugs #383-386: Improved support for monochrome raw files. Thanks goes to 
Frank Markesteijn for working on this.

Index: ufraw_developer.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_developer.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -d -r1.94 -r1.95
--- ufraw_developer.c   25 Aug 2014 13:00:18 -0000      1.94
+++ ufraw_developer.c   26 Aug 2014 03:00:39 -0000      1.95
@@ -615,10 +615,15 @@
         d->rgbWB[c] = ufnumber_array_value(chanMul, c) *  d->max *
                       0xFFFF / d->rgbMax;
 
-    if (d->useMatrix)
-        for (i = 0; i < 3; i++)
-            for (c = 0; c < d->colors; c++)
-                d->colorMatrix[i][c] = rgb_cam[i][c] * 0x10000;
+    if (d->useMatrix) {
+        if (d->colors == 1)
+            for (i = 0; i < 3; i++)
+                d->colorMatrix[i][0] = rgb_cam[0][0] * 0x10000;
+        else
+            for (i = 0; i < 3; i++)
+                for (c = 0; c < d->colors; c++)
+                    d->colorMatrix[i][c] = rgb_cam[i][c] * 0x10000;
+    }
 
     switch (conf->grayscaleMode) {
 
@@ -1065,6 +1070,8 @@
         else
             tmppix[c] = tmppix[c] * d->exposure / d->max;
     }
+    if (d->colors == 1)
+        tmppix[1] = tmppix[2] = tmppix[0];
     if (clipped) {
         /* At this point a value of d->exposure in tmppix[c] corresponds
          * to "1.0" (full exposure). Still the maximal value can be

Index: ufraw_writer.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_writer.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -d -r1.94 -r1.95
--- ufraw_writer.c      26 Jul 2014 03:30:10 -0000      1.94
+++ ufraw_writer.c      26 Aug 2014 03:00:39 -0000      1.95
@@ -276,7 +276,8 @@
     fitsfile *fitsFile;
 #endif
     char * volatile confFilename = NULL;
-    int volatile grayscaleMode = uf->conf->grayscaleMode != grayscale_none;
+    int volatile grayscaleMode = uf->conf->grayscaleMode != grayscale_none ||
+                                 uf->colors == 1;
     ufraw_message_reset(uf);
 
     if (uf->conf->createID == only_id ||

Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.377
retrieving revision 1.378
diff -u -d -r1.377 -r1.378
--- ufraw_preview.c     25 Aug 2014 15:00:18 -0000      1.377
+++ ufraw_preview.c     26 Aug 2014 03:00:39 -0000      1.378
@@ -4645,7 +4645,7 @@
     for (i = 0; i < data->UF->colors; ++i) {
         button = gtk_toggle_button_new();
         gtk_container_add(GTK_CONTAINER(button), gtk_image_new_from_stock(
-                              i == 0 ? "channel-red" :
+                      i == 0 ? data->UF->colors == 1 ? "channel-grey" : 
"channel-red" :
                               i == 1 || i == 3 ? "channel-green" : 
"channel-blue",
                               GTK_ICON_SIZE_BUTTON));
         data->ChannelSelectButton[i] = GTK_TOGGLE_BUTTON(button);

Index: ufraw_icons.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_icons.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- ufraw_icons.c       1 Jan 2014 06:00:23 -0000       1.27
+++ ufraw_icons.c       26 Aug 2014 03:00:39 -0000      1.28
@@ -60,6 +60,7 @@
     load_icon(factory, channel_blue_24, "channel-blue");
     load_icon(factory, channel_green_24, "channel-green");
     load_icon(factory, channel_red_24, "channel-red");
+    load_icon(factory, channel_grey_24, "channel-grey");
     load_icon(factory, lens_24, "lens");
     load_icon(factory, tca_24, "tca");
     load_icon(factory, vignetting_24, "vignetting");


------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to