Revision: 30471 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30471 Author: campbellbarton Date: 2010-07-18 17:21:59 +0200 (Sun, 18 Jul 2010)
Log Message: ----------- Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30448:30470 Modified Paths: -------------- branches/render25/release/scripts/ui/properties_material.py branches/render25/release/scripts/ui/properties_world.py branches/render25/source/blender/blenkernel/intern/sca.c branches/render25/source/blender/blenloader/intern/readfile.c branches/render25/source/blender/editors/include/ED_screen.h branches/render25/source/blender/editors/include/ED_screen_types.h branches/render25/source/blender/editors/render/render_internal.c branches/render25/source/blender/editors/screen/screen_edit.c branches/render25/source/blender/editors/screen/screen_ops.c branches/render25/source/blender/editors/space_sequencer/sequencer_ops.c branches/render25/source/blender/makesdna/DNA_screen_types.h branches/render25/source/blender/makesrna/intern/rna_sequencer.c branches/render25/source/blender/windowmanager/intern/wm_event_system.c branches/render25/source/blender/windowmanager/intern/wm_jobs.c branches/render25/source/creator/CMakeLists.txt Removed Paths: ------------- branches/render25/release/freedesktop/blender-thumbnailer.py Deleted: branches/render25/release/freedesktop/blender-thumbnailer.py =================================================================== --- branches/render25/release/freedesktop/blender-thumbnailer.py 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/release/freedesktop/blender-thumbnailer.py 2010-07-18 15:21:59 UTC (rev 30471) @@ -1,131 +0,0 @@ -#!/usr/bin/python - -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - -""" -Thumbnailer runs with python 2.6 and 3.x. -To run automatically with nautilus: - gconftool --type boolean --set /desktop/gnome/thumbnailers/applicat...@x-blender/enable true - gconftool --type string --set /desktop/gnome/thumbnailers/applicat...@x-blender/command "blender-thumbnailer.py %i %o" -""" - -import struct - -def blend_extract_thumb(path): - import os - - # def MAKE_ID(tag): ord(tag[0])<<24 | ord(tag[1])<<16 | ord(tag[2])<<8 | ord(tag[3]) - REND = 1145980242 # MAKE_ID(b'REND') - TEST = 1414743380 # MAKE_ID(b'TEST') - - blendfile = open(path, 'rb') - - head = blendfile.read(12) - - if head[0:2] == b'\x1f\x8b': # gzip magic - import gzip - blendfile.close() - blendfile = gzip.open(path, 'rb') - head = blendfile.read(12) - - if not head.startswith(b'BLENDER'): - blendfile.close() - return None, 0, 0 - - is_64_bit = (head[7] == b'-') - - # true for PPC, false for X86 - is_big_endian = (head[8] == b'V') - - # blender pre 2.5 had no thumbs - if head[9:11] <= b'24': - return None, 0, 0 - - sizeof_bhead = 24 if is_64_bit else 20 - int_endian_pair = '>ii' if is_big_endian else '<ii' - - while True: - bhead = blendfile.read(sizeof_bhead) - - if len(bhead) < sizeof_bhead: - return None, 0, 0 - - code, length = struct.unpack(int_endian_pair, bhead[0:8]) # 8 == sizeof(int) * 2 - - if code == REND: - blendfile.seek(length, os.SEEK_CUR) - else: - break - - - if code != TEST: - return None, 0, 0 - - try: - x, y = struct.unpack(int_endian_pair, blendfile.read(8)) # 8 == sizeof(int) * 2 - except struct.error: - return None, 0, 0 - - length -= 8 # sizeof(int) * 2 - - if length != x * y * 4: - return None, 0, 0 - - image_buffer = blendfile.read(length) - - if len(image_buffer) != length: - return None, 0, 0 - - return image_buffer, x, y - - -def write_png(buf, width, height): - import zlib - - # reverse the vertical line order and add null bytes at the start - width_byte_4 = width * 4 - raw_data = b"".join([b'\x00' + buf[span:span + width_byte_4] for span in range((height - 1) * width * 4, -1, - width_byte_4)]) - - def png_pack(png_tag, data): - chunk_head = png_tag + data - return struct.pack("!I", len(data)) + chunk_head + struct.pack("!I", 0xFFFFFFFF & zlib.crc32(chunk_head)) - - return b"".join([ - b'\x89PNG\r\n\x1a\n', - png_pack(b'IHDR', struct.pack("!2I5B", width, height, 8, 6, 0, 0, 0)), - png_pack(b'IDAT', zlib.compress(raw_data, 9)), - png_pack(b'IEND', b'')]) - - -if __name__ == '__main__': - import sys - - if len(sys.argv) < 2: - print("Expected 2 arguments <input.blend> <output.png>") - else: - file_in = sys.argv[-2] - - buf, width, height = blend_extract_thumb(file_in) - - if buf: - file_out = sys.argv[-1] - - f = open(file_out, "wb") - f.write(write_png(buf, width, height)) - f.close() Modified: branches/render25/release/scripts/ui/properties_material.py =================================================================== --- branches/render25/release/scripts/ui/properties_material.py 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/release/scripts/ui/properties_material.py 2010-07-18 15:21:59 UTC (rev 30471) @@ -118,6 +118,8 @@ if ob: split.template_ID(ob, "active_material", new="material.new") row = split.row() + row.prop(mat, "use_nodes", icon="NODETREE", text="") + if slot: row.prop(slot, "link", text="") else: Modified: branches/render25/release/scripts/ui/properties_world.py =================================================================== --- branches/render25/release/scripts/ui/properties_world.py 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/release/scripts/ui/properties_world.py 2010-07-18 15:21:59 UTC (rev 30471) @@ -210,6 +210,10 @@ bl_label = "Indirect Lighting" COMPAT_ENGINES = {'BLENDER_RENDER'} + def poll(self, context): + light = context.world.lighting + return light.gather_method == 'APPROXIMATE' + def draw_header(self, context): light = context.world.lighting self.layout.prop(light, "use_indirect_lighting", text="") Modified: branches/render25/source/blender/blenkernel/intern/sca.c =================================================================== --- branches/render25/source/blender/blenkernel/intern/sca.c 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/blenkernel/intern/sca.c 2010-07-18 15:21:59 UTC (rev 30471) @@ -800,7 +800,7 @@ (*tot) ++; *ppoin = MEM_callocN((*tot)*size, "new link"); - for (ibrick=0; ibrick < *tot - 1; ibrick++) { + for (ibrick=0; ibrick < *(tot) - 1; ibrick++) { (*ppoin)[ibrick] = old_links[ibrick]; } (*ppoin)[ibrick] = *poin; Modified: branches/render25/source/blender/blenloader/intern/readfile.c =================================================================== --- branches/render25/source/blender/blenloader/intern/readfile.c 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/blenloader/intern/readfile.c 2010-07-18 15:21:59 UTC (rev 30471) @@ -11109,7 +11109,9 @@ if(scene) { Sequence *seq; SEQ_BEGIN(scene->ed, seq) { - seq->sat= 1.0f; + if(seq->sat==0.0f) { + seq->sat= 1.0f; + } } SEQ_END } Modified: branches/render25/source/blender/editors/include/ED_screen.h =================================================================== --- branches/render25/source/blender/editors/include/ED_screen.h 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/editors/include/ED_screen.h 2010-07-18 15:21:59 UTC (rev 30471) @@ -98,7 +98,7 @@ void ED_screen_delete_scene(struct bContext *C, struct Scene *scene); void ED_screen_set_subwinactive(struct wmWindow *win, struct wmEvent *event); void ED_screen_exit(struct bContext *C, struct wmWindow *window, struct bScreen *screen); -void ED_screen_animation_timer(struct bContext *C, int redraws, int refresh, int sync, int enable); +void ED_screen_animation_timer(struct bContext *C, int redraws, int refresh, int sync, int enable, double speed); void ED_screen_animation_timer_update(struct bScreen *screen, int redraws, int refresh); int ED_screen_full_newspace(struct bContext *C, ScrArea *sa, int type); void ED_screen_full_prevspace(struct bContext *C, ScrArea *sa); @@ -110,7 +110,7 @@ /* anim */ void ED_update_for_newframe(const struct bContext *C, int mute); void ED_refresh_viewport_fps(struct bContext *C); -int ED_screen_animation_play(struct bContext *C, int sync, int mode); +int ED_screen_animation_play(struct bContext *C, int sync, int mode, int toggle); /* screen keymaps */ void ED_operatortypes_screen(void); Modified: branches/render25/source/blender/editors/include/ED_screen_types.h =================================================================== --- branches/render25/source/blender/editors/include/ED_screen_types.h 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/editors/include/ED_screen_types.h 2010-07-18 15:21:59 UTC (rev 30471) @@ -38,6 +38,7 @@ short refresh; short flag; /* flags for playback */ int sfra; /* frame that playback was started from */ + double speed_mul; /* speed multiplier */ } ScreenAnimData; /* for animplayer */ Modified: branches/render25/source/blender/editors/render/render_internal.c =================================================================== --- branches/render25/source/blender/editors/render/render_internal.c 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/editors/render/render_internal.c 2010-07-18 15:21:59 UTC (rev 30471) @@ -626,7 +626,7 @@ /* cancel animation playback */ if (screen->animtimer) - ED_screen_animation_play(C, 0, 0); + ED_screen_animation_play(C, 0, 0, 1); /* handle UI stuff */ WM_cursor_wait(1); Modified: branches/render25/source/blender/editors/screen/screen_edit.c =================================================================== --- branches/render25/source/blender/editors/screen/screen_edit.c 2010-07-18 15:19:50 UTC (rev 30470) +++ branches/render25/source/blender/editors/screen/screen_edit.c 2010-07-18 15:21:59 UTC (rev 30471) @@ -25,7 +25,9 @@ */ #include <string.h> +#include <math.h> + #include "MEM_guardedalloc.h" #include "DNA_scene_types.h" @@ -1651,7 +1653,7 @@ /* redraws: uses defines from stime->redraws * enable: 1 - forward on, -1 - backwards on, 0 - off */ -void ED_screen_animation_timer(bContext *C, int redraws, int refresh, int sync, int enable) +void ED_screen_animation_timer(bContext *C, int redraws, int refresh, int sync, int enable, double speed) { bScreen *screen= CTX_wm_screen(C); wmWindowManager *wm= CTX_wm_manager(C); @@ -1664,12 +1666,12 @@ if(enable) { ScreenAnimData *sad= MEM_callocN(sizeof(ScreenAnimData), "ScreenAnimData"); - - screen->animtimer= WM_event_add_timer(wm, win, TIMER0, (1.0/FPS)); @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs