Revision: 42116
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42116
Author:   campbellbarton
Date:     2011-11-24 05:18:26 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
image format arg parsing for creator.c

move these checks from creator into BKE's image.c, this way we dont need the 
defines for creator, scons was missing DDS, HDR & Cineon  for example and 
nobody noticed.

Modified Paths:
--------------
    trunk/blender/build_files/scons/tools/Blender.py
    trunk/blender/source/blender/blenkernel/BKE_image.h
    trunk/blender/source/blender/blenkernel/intern/image.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/creator/CMakeLists.txt
    trunk/blender/source/creator/creator.c

Modified: trunk/blender/build_files/scons/tools/Blender.py
===================================================================
--- trunk/blender/build_files/scons/tools/Blender.py    2011-11-24 04:45:36 UTC 
(rev 42115)
+++ trunk/blender/build_files/scons/tools/Blender.py    2011-11-24 05:18:26 UTC 
(rev 42116)
@@ -319,20 +319,11 @@
     incs = ['#/intern/guardedalloc', '#/source/blender/blenlib', 
'#/source/blender/blenkernel', '#/source/blender/editors/include', 
'#/source/blender/blenloader', '#/source/blender/imbuf', 
'#/source/blender/renderconverter', '#/source/blender/render/extern/include', 
'#/source/blender/windowmanager', '#/source/blender/makesdna', 
'#/source/blender/makesrna', '#/source/gameengine/BlenderRoutines', 
'#/extern/glew/include', '#/source/blender/gpu', env['BF_OPENGL_INC']]
 
     defs = []
-    if env['WITH_BF_QUICKTIME']:
-        incs.append(env['BF_QUICKTIME_INC'])
-        defs.append('WITH_QUICKTIME')
 
     if env['WITH_BF_BINRELOC']:
         incs.append('#/extern/binreloc/include')
         defs.append('WITH_BINRELOC')
 
-    if env['WITH_BF_OPENEXR']:
-        defs.append('WITH_OPENEXR')
-
-    if env['WITH_BF_TIFF']:
-        defs.append('WITH_TIFF')
-
     if env['WITH_BF_SDL']:
         defs.append('WITH_SDL')
 

Modified: trunk/blender/source/blender/blenkernel/BKE_image.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_image.h 2011-11-24 04:45:36 UTC 
(rev 42115)
+++ trunk/blender/source/blender/blenkernel/BKE_image.h 2011-11-24 05:18:26 UTC 
(rev 42116)
@@ -65,6 +65,8 @@
 int            BKE_imtype_supports_quality(const char imtype);
 char   BKE_imtype_valid_depths(const char imtype);
 
+char    BKE_imtype_from_arg(const char *arg);
+
 struct anim *openanim(const char *name, int flags, int streamindex);
 
 void   image_de_interlace(struct Image *ima, int odd);

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c      2011-11-24 
04:45:36 UTC (rev 42115)
+++ trunk/blender/source/blender/blenkernel/intern/image.c      2011-11-24 
05:18:26 UTC (rev 42116)
@@ -971,6 +971,47 @@
        }
 }
 
+
+/* string is from command line --render-format arg, keep in sync with
+ * creator.c help info */
+char BKE_imtype_from_arg(const char *imtype_arg)
+{
+       if      (!strcmp(imtype_arg,"TGA")) return R_IMF_IMTYPE_TARGA;
+       else if (!strcmp(imtype_arg,"IRIS")) return R_IMF_IMTYPE_IRIS;
+#ifdef WITH_DDS
+       else if (!strcmp(imtype_arg,"DDS")) return R_IMF_IMTYPE_DDS;
+#endif
+       else if (!strcmp(imtype_arg,"JPEG")) return R_IMF_IMTYPE_JPEG90;
+       else if (!strcmp(imtype_arg,"IRIZ")) return R_IMF_IMTYPE_IRIZ;
+       else if (!strcmp(imtype_arg,"RAWTGA")) return R_IMF_IMTYPE_RAWTGA;
+       else if (!strcmp(imtype_arg,"AVIRAW")) return R_IMF_IMTYPE_AVIRAW;
+       else if (!strcmp(imtype_arg,"AVIJPEG")) return R_IMF_IMTYPE_AVIJPEG;
+       else if (!strcmp(imtype_arg,"PNG")) return R_IMF_IMTYPE_PNG;
+       else if (!strcmp(imtype_arg,"AVICODEC")) return R_IMF_IMTYPE_AVICODEC;
+       else if (!strcmp(imtype_arg,"QUICKTIME")) return R_IMF_IMTYPE_QUICKTIME;
+       else if (!strcmp(imtype_arg,"BMP")) return R_IMF_IMTYPE_BMP;
+#ifdef WITH_HDR
+       else if (!strcmp(imtype_arg,"HDR")) return R_IMF_IMTYPE_RADHDR;
+#endif
+#ifdef WITH_TIFF
+       else if (!strcmp(imtype_arg,"TIFF")) return R_IMF_IMTYPE_TIFF;
+#endif
+#ifdef WITH_OPENEXR
+       else if (!strcmp(imtype_arg,"EXR")) return R_IMF_IMTYPE_OPENEXR;
+       else if (!strcmp(imtype_arg,"MULTILAYER")) return 
R_IMF_IMTYPE_MULTILAYER;
+#endif
+       else if (!strcmp(imtype_arg,"MPEG")) return R_IMF_IMTYPE_FFMPEG;
+       else if (!strcmp(imtype_arg,"FRAMESERVER")) return 
R_IMF_IMTYPE_FRAMESERVER;
+#ifdef WITH_CINEON
+       else if (!strcmp(imtype_arg,"CINEON")) return R_IMF_IMTYPE_CINEON;
+       else if (!strcmp(imtype_arg,"DPX")) return R_IMF_IMTYPE_DPX;
+#endif
+#ifdef WITH_OPENJPEG
+       else if (!strcmp(imtype_arg,"JP2")) return R_IMF_IMTYPE_JP2;
+#endif
+       else return R_IMF_IMTYPE_INVALID;
+}
+
 int BKE_add_image_extension(char *string, const char imtype)
 {
        const char *extension= NULL;

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h     2011-11-24 
04:45:36 UTC (rev 42115)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h     2011-11-24 
05:18:26 UTC (rev 42116)
@@ -277,6 +277,8 @@
 #define R_IMF_IMTYPE_XVID           32
 #define R_IMF_IMTYPE_THEORA         33
 
+#define R_IMF_IMTYPE_INVALID        255
+
 /* ImageFormatData.flag */
 #define R_IMF_FLAG_ZBUF         (1<<0)   /* was R_OPENEXR_ZBUF */
 #define R_IMF_FLAG_PREVIEW_JPG  (1<<1)   /* was R_PREVIEW_JPG */

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2011-11-24 04:45:36 UTC (rev 
42115)
+++ trunk/blender/source/creator/CMakeLists.txt 2011-11-24 05:18:26 UTC (rev 
42116)
@@ -40,34 +40,6 @@
        ../blender/windowmanager
 )
 
-if(WITH_CODEC_QUICKTIME)
-       add_definitions(-DWITH_QUICKTIME)
-endif()
-
-if(WITH_IMAGE_OPENEXR)
-       add_definitions(-DWITH_OPENEXR)
-endif()
-
-if(WITH_IMAGE_OPENJPEG)
-       add_definitions(-DWITH_OPENJPEG)
-endif()
-
-if(WITH_IMAGE_TIFF)
-       add_definitions(-DWITH_TIFF)
-endif()
-
-if(WITH_IMAGE_DDS)
-       add_definitions(-DWITH_DDS)
-endif()
-
-if(WITH_IMAGE_CINEON)
-       add_definitions(-DWITH_CINEON)
-endif()
-
-if(WITH_IMAGE_HDR)
-       add_definitions(-DWITH_HDR)
-endif()
-
 if(WITH_LIBMV)
        blender_include_dirs(../../extern/libmv)
        add_definitions(-DWITH_LIBMV)

Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c      2011-11-24 04:45:36 UTC (rev 
42115)
+++ trunk/blender/source/creator/creator.c      2011-11-24 05:18:26 UTC (rev 
42116)
@@ -77,6 +77,7 @@
 #include "BKE_node.h"
 #include "BKE_report.h"
 #include "BKE_sound.h"
+#include "BKE_image.h"
 
 #include "IMB_imbuf.h" // for IMB_init
 
@@ -300,7 +301,7 @@
        printf ("  $BLENDER_USER_CONFIG      Directory for user configuration 
files.\n");
        printf ("  $BLENDER_USER_SCRIPTS     Directory for user scripts.\n");
        printf ("  $BLENDER_SYSTEM_SCRIPTS   Directory for system wide 
scripts.\n");
-       printf ("  $BLENDER_USER_DATAFILES   Directory for user data files 
(icons, translations, ..).\n");
+       printf ("  $BLENDER_USER_DAT`AFILES   Directory for user data files 
(icons, translations, ..).\n");
        printf ("  $BLENDER_SYSTEM_DATAFILES Directory for system wide data 
files.\n");
        printf ("  $BLENDER_SYSTEM_PYTHON    Directory for system python 
libraries.\n");
 #ifdef WIN32
@@ -582,47 +583,14 @@
                const char *imtype = argv[1];
                Scene *scene= CTX_data_scene(C);
                if (scene) {
-                       char imtype_new;
+                       const char imtype_new= BKE_imtype_from_arg(imtype);
 
-                       if      (!strcmp(imtype,"TGA")) imtype_new = 
R_IMF_IMTYPE_TARGA;
-                       else if (!strcmp(imtype,"IRIS")) imtype_new = 
R_IMF_IMTYPE_IRIS;
-#ifdef WITH_DDS
-                       else if (!strcmp(imtype,"DDS")) imtype_new = 
R_IMF_IMTYPE_DDS;
-#endif
-                       else if (!strcmp(imtype,"JPEG")) imtype_new = 
R_IMF_IMTYPE_JPEG90;
-                       else if (!strcmp(imtype,"IRIZ")) imtype_new = 
R_IMF_IMTYPE_IRIZ;
-                       else if (!strcmp(imtype,"RAWTGA")) imtype_new = 
R_IMF_IMTYPE_RAWTGA;
-                       else if (!strcmp(imtype,"AVIRAW")) imtype_new = 
R_IMF_IMTYPE_AVIRAW;
-                       else if (!strcmp(imtype,"AVIJPEG")) imtype_new = 
R_IMF_IMTYPE_AVIJPEG;
-                       else if (!strcmp(imtype,"PNG")) imtype_new = 
R_IMF_IMTYPE_PNG;
-                       else if (!strcmp(imtype,"AVICODEC")) imtype_new = 
R_IMF_IMTYPE_AVICODEC;
-                       else if (!strcmp(imtype,"QUICKTIME")) imtype_new = 
R_IMF_IMTYPE_QUICKTIME;
-                       else if (!strcmp(imtype,"BMP")) imtype_new = 
R_IMF_IMTYPE_BMP;
-#ifdef WITH_HDR
-                       else if (!strcmp(imtype,"HDR")) imtype_new = 
R_IMF_IMTYPE_RADHDR;
-#endif
-#ifdef WITH_TIFF
-                       else if (!strcmp(imtype,"TIFF")) imtype_new = 
R_IMF_IMTYPE_TIFF;
-#endif
-#ifdef WITH_OPENEXR
-                       else if (!strcmp(imtype,"EXR")) imtype_new = 
R_IMF_IMTYPE_OPENEXR;
-                       else if (!strcmp(imtype,"MULTILAYER")) imtype_new = 
R_IMF_IMTYPE_MULTILAYER;
-#endif
-                       else if (!strcmp(imtype,"MPEG")) imtype_new = 
R_IMF_IMTYPE_FFMPEG;
-                       else if (!strcmp(imtype,"FRAMESERVER")) imtype_new = 
R_IMF_IMTYPE_FRAMESERVER;
-#ifdef WITH_CINEON
-                       else if (!strcmp(imtype,"CINEON")) imtype_new = 
R_IMF_IMTYPE_CINEON;
-                       else if (!strcmp(imtype,"DPX")) imtype_new = 
R_IMF_IMTYPE_DPX;
-#endif
-#ifdef WITH_OPENJPEG
-                       else if (!strcmp(imtype,"JP2")) imtype_new = 
R_IMF_IMTYPE_JP2;
-#endif
-                       else {
+                       if (imtype_new == R_IMF_IMTYPE_INVALID) {
                                printf("\nError: Format from '-F / 
--render-format' not known or not compiled in this release.\n");
-                               imtype_new= scene->r.im_format.imtype;
                        }
-
-                       scene->r.im_format.imtype= imtype_new;
+                       else {
+                               scene->r.im_format.imtype= imtype_new;
+                       }
                }
                else {
                        printf("\nError: no blend loaded. order the arguments 
so '-F  / --render-format' is after the blend is loaded.\n");

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to