Author: abrander
Date: 2009-07-05 00:07:21 +0200 (Sun, 05 Jul 2009)
New Revision: 2542

Modified:
   trunk/librawstudio/rs-settings.c
   trunk/plugins/basic-render/basic-render.c
   trunk/src/rs-cache.c
Log:
[272] Channelmixer range changed to 0-300.

Modified: trunk/librawstudio/rs-settings.c
===================================================================
--- trunk/librawstudio/rs-settings.c    2009-07-04 21:56:00 UTC (rev 2541)
+++ trunk/librawstudio/rs-settings.c    2009-07-04 22:07:21 UTC (rev 2542)
@@ -113,17 +113,17 @@
        g_object_class_install_property(object_class,
                PROP_CHANNELMIXER_RED, g_param_spec_float( /* FIXME: ? */
                        "channelmixer_red", _("Red"), _("Red"),
-                       0.0, 100.0, 33.3, G_PARAM_READWRITE)
+                       0.0, 300.0, 100.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
                PROP_CHANNELMIXER_GREEN, g_param_spec_float( /* FIXME: ? */
                        "channelmixer_green", _("Green"), _("Green"),
-                       0.0, 100.0, 33.3, G_PARAM_READWRITE)
+                       0.0, 300.0, 100.0, G_PARAM_READWRITE)
        );
        g_object_class_install_property(object_class,
                PROP_CHANNELMIXER_BLUE, g_param_spec_float( /* FIXME: ? */
                        "channelmixer_blue", _("Blue"), _("Blue"),
-                       0.0, 100.0, 33.3, G_PARAM_READWRITE)
+                       0.0, 300.0, 100.0, G_PARAM_READWRITE)
        );
 
        signals[SETTINGS_CHANGED] = g_signal_new ("settings-changed",

Modified: trunk/plugins/basic-render/basic-render.c
===================================================================
--- trunk/plugins/basic-render/basic-render.c   2009-07-04 21:56:00 UTC (rev 
2541)
+++ trunk/plugins/basic-render/basic-render.c   2009-07-04 22:07:21 UTC (rev 
2542)
@@ -366,10 +366,10 @@
                        "channelmixer_blue", &channelmixer_blue,
                        NULL);
 
-        basic_render->pre_mul[R] = 
(1.0+warmth)*(2.0-tint)*(channelmixer_red*3.0/100.0);
-        basic_render->pre_mul[G] = 1.0*(channelmixer_green*3.0/100.0);
-        basic_render->pre_mul[B] = 
(1.0-warmth)*(2.0-tint)*(channelmixer_blue*3.0/100.0);
-        basic_render->pre_mul[G2] = 1.0*(channelmixer_green*3.0/100.0);
+        basic_render->pre_mul[R] = 
(1.0+warmth)*(2.0-tint)*(channelmixer_red/100.0);
+        basic_render->pre_mul[G] = 1.0*(channelmixer_green/100.0);
+        basic_render->pre_mul[B] = 
(1.0-warmth)*(2.0-tint)*(channelmixer_blue/100.0);
+        basic_render->pre_mul[G2] = 1.0*(channelmixer_green/100.0);
 
                changed = TRUE;
        }

Modified: trunk/src/rs-cache.c
===================================================================
--- trunk/src/rs-cache.c        2009-07-04 21:56:00 UTC (rev 2541)
+++ trunk/src/rs-cache.c        2009-07-04 22:07:21 UTC (rev 2542)
@@ -26,9 +26,9 @@
 #include "rs-photo.h"
 
 /* This will be written to XML files for making backward compatibility easier 
to implement */
-#define CACHEVERSION 3
+#define CACHEVERSION 4
 
-static guint rs_cache_load_setting(RSSettings *rss, xmlDocPtr doc, xmlNodePtr 
cur);
+static guint rs_cache_load_setting(RSSettings *rss, xmlDocPtr doc, xmlNodePtr 
cur, gint version);
 
 gchar *
 rs_cache_get_name(const gchar *src)
@@ -139,7 +139,7 @@
 }
 
 static guint
-rs_cache_load_setting(RSSettings *rss, xmlDocPtr doc, xmlNodePtr cur)
+rs_cache_load_setting(RSSettings *rss, xmlDocPtr doc, xmlNodePtr cur, gint 
version)
 {
        RSSettingsMask mask = 0;
        xmlChar *val;
@@ -196,17 +196,32 @@
                else if ((!xmlStrcmp(cur->name, BAD_CAST "channelmixer_red")))
                {
                        mask |= MASK_CHANNELMIXER_RED;
-                       target = &rss->channelmixer_red;
+                       val = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
+                       rss->channelmixer_red =  rs_atof((gchar *) val);
+                       xmlFree(val);
+
+                       if (version < 4)
+                               rss->channelmixer_red *= 3.0;
                }
                else if ((!xmlStrcmp(cur->name, BAD_CAST "channelmixer_green")))
                {
-                       mask |= MASK_CHANNELMIXER_RED;
-                       target = &rss->channelmixer_green;
+                       mask |= MASK_CHANNELMIXER_GREEN;
+                       val = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
+                       rss->channelmixer_green =  rs_atof((gchar *) val);
+                       xmlFree(val);
+
+                       if (version < 4)
+                               rss->channelmixer_green *= 3.0;
                }
                else if ((!xmlStrcmp(cur->name, BAD_CAST "channelmixer_blue")))
                {
-                       mask |= MASK_CHANNELMIXER_RED;
-                       target = &rss->channelmixer_blue;
+                       mask |= MASK_CHANNELMIXER_BLUE;
+                       val = xmlNodeListGetString(doc, cur->xmlChildrenNode, 
1);
+                       rss->channelmixer_blue =  rs_atof((gchar *) val);
+                       xmlFree(val);
+
+                       if (version < 4)
+                               rss->channelmixer_blue *= 3.0;
                }
                else if ((!xmlStrcmp(cur->name, BAD_CAST "curve")))
                {
@@ -300,7 +315,7 @@
                        if (id>2) id=0;
                        if (id<0) id=0;
                        settings = rs_settings_new();
-                       mask |= rs_cache_load_setting(settings, doc, 
cur->xmlChildrenNode);
+                       mask |= rs_cache_load_setting(settings, doc, 
cur->xmlChildrenNode, version);
                        rs_photo_apply_settings(photo, id, settings, MASK_ALL);
                        g_object_unref(settings);
                }


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to