[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18690] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: [#17850] Copying text from Eric4 to Blender crashes Blender
Revision: 18690 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18690 Author: campbellbarton Date: 2009-01-27 09:17:35 +0100 (Tue, 27 Jan 2009) Log Message: --- [#17850] Copying text from Eric4 to Blender crashes Blender The crash is caused by calling XGetWindowProperty when xevent.xselection.property is zero. Not a proper fix because clipboard can paste the data without trouble. Modified Paths: -- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp === --- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2009-01-27 05:04:23 UTC (rev 18689) +++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2009-01-27 08:17:35 UTC (rev 18690) @@ -1031,15 +1031,20 @@ //This needs to change so we do not wait for ever or check owner first while(1) { XNextEvent(m_display, &xevent); - if(xevent.type == SelectionNotify) { - if(XGetWindowProperty(m_display, m_window, xevent.xselection.property, 0L, 4096L, False, AnyPropertyType, &rtype, &bits, &len, &bytes, &data) == Success) { - if (data) { - tmp_data = (unsigned char*) malloc(strlen((char*)data)+1); - strcpy((char*)tmp_data, (char*)data); - XFree(data); - return (GHOST_TUns8*)tmp_data; + if(xevent.type == SelectionNotify) { + if (xevent.xselection.property ) { /* eric4 on linux gives zero Atom xevent.xselection.property value, closes blender instantly */ + if(XGetWindowProperty(m_display, m_window, xevent.xselection.property , 0L, 4096L, False, AnyPropertyType, &rtype, &bits, &len, &bytes, &data) == Success) { + if (data) { + tmp_data = (unsigned char*) malloc(strlen((char*)data)+1); + strcpy((char*)tmp_data, (char*)data); + XFree(data); + return (GHOST_TUns8*)tmp_data; + } } } + else { + fprintf(stderr, "error: cut buffer had a zero xevent.xselection.property, FIXME\n"); // XXX fix this problem! + } return NULL; } } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18691] branches/blender2.5/blender/source /blender/editors/interface/interface_regions.c: 2.5
Revision: 18691 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18691 Author: ton Date: 2009-01-27 09:36:09 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Fix: icons didnt show for uiMenu api. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c === --- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-01-27 08:17:35 UTC (rev 18690) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-01-27 08:36:09 UTC (rev 18691) @@ -2202,7 +2202,7 @@ name= ui_menu_enumpropname(opptr, item->propname, item->retval); BLI_strncpy(bname, name, 64); - but= uiDefIconTextBut(block, BUTM, item->retval, ICON_BLANK1, bname, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL, 0.0, 0.0, 0, 0, ""); + but= uiDefIconTextBut(block, BUTM, item->retval, item->icon, bname, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL, 0.0, 0.0, 0, 0, ""); but->opptr= opptr; but->opname= item->opname; @@ -2211,7 +2211,7 @@ y1 -= MENU_BUTTON_HEIGHT; } else if(item->type==MENU_ITEM_OPNAME) { - uiDefIconTextButO(block, BUTM, item->opname, head->opcontext, ICON_BLANK1, NULL, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL); + uiDefIconTextButO(block, BUTM, item->opname, head->opcontext, item->icon, NULL, x1, y1, width+16, MENU_BUTTON_HEIGHT-1, NULL); y1 -= MENU_BUTTON_HEIGHT; } else { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18692] branches/blender2.5/blender/source /blender/editors: Graph Editor:
Revision: 18692 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18692 Author: aligorith Date: 2009-01-27 12:09:30 +0100 (Tue, 27 Jan 2009) Log Message: --- Graph Editor: * Cleaned up code for borderselect with BKEY. There's still a bug here where y-values don't seem to be getting properly checked, so nothing seems to happen. * Set up some code for transforming keyframes. It currently uses the wrong code though (i.e. it uses the code for Action Editor which is 1D not 2D, and doesn't have some of the special checks needed). More work on this later. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c branches/blender2.5/blender/source/blender/editors/transform/transform.c branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c === --- branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c 2009-01-27 08:36:09 UTC (rev 18691) +++ branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c 2009-01-27 11:09:30 UTC (rev 18692) @@ -38,7 +38,6 @@ #include "DNA_action_types.h" #include "DNA_constraint_types.h" #include "DNA_curve_types.h" -#include "DNA_ipo_types.h" // XXX to be phased out #include "DNA_key_types.h" #include "DNA_object_types.h" #include "DNA_space_types.h" @@ -56,7 +55,7 @@ /* This file defines an API and set of callback-operators for non-destructive editing of keyframe data. * * Two API functions are defined for actually performing the operations on the data: - * ipo_keys_bezier_loop() and icu_keys_bezier_loop() + * ANIM_fcurve_keys_bezier_loop() * which take the data they operate on, a few callbacks defining what operations to perform. * * As operators which work on keyframes usually apply the same operation on all BezTriples in @@ -84,6 +83,10 @@ BezTriple *bezt; int b; + /* sanity check */ + if (fcu == NULL) + return 0; + /* if function to apply to bezier curves is set, then loop through executing it on beztriples */ if (bezt_cb) { /* if there's a validation func, include that check in the loop @@ -233,7 +236,22 @@ return IS_EQ(bezt->vec[1][1], bed->f1); } +static short ok_bezier_valuerange(BeztEditData *bed, BezTriple *bezt) +{ + /* value range is stored in float properties */ + return ((bezt->vec[1][1] > bed->f1) && (bezt->vec[1][1] < bed->f2)); +} +static short ok_bezier_region(BeztEditData *bed, BezTriple *bezt) +{ + /* rect is stored in data property (it's of type rectf, but may not be set) */ + if (bed->data) + return BLI_in_rctf(bed->data, bezt->vec[1][0], bezt->vec[1][1]); + else + return 0; +} + + BeztEditFunc ANIM_editkeyframes_ok(short mode) { /* eEditKeyframes_Validate */ @@ -242,10 +260,14 @@ return ok_bezier_frame; case BEZT_OK_FRAMERANGE: /* only if bezt falls within the specified frame range (floats) */ return ok_bezier_framerange; - case BEZT_OK_SELECTED: /* only if bezt is selected */ + case BEZT_OK_SELECTED: /* only if bezt is selected (self) */ return ok_bezier_selected; case BEZT_OK_VALUE: /* only if bezt value matches (float) */ return ok_bezier_value; + case BEZT_OK_VALUERANGE: /* only if bezier falls within the specified value range (floats) */ + return ok_bezier_valuerange; + case BEZT_OK_REGION: /* only if bezier falls within the specified rect (data -> rectf) */ + return ok_bezier_region; default: /* nothing was ok */ return NULL; } @@ -355,7 +377,7 @@ } /* Note: for markers case, need to set global vars (eww...) */ -// calchandles_ipocurve +// calchandles_fcurve BeztEditFunc ANIM_editkeyframes_mirror(short type) { switch (type) { @@ -437,7 +459,7 @@ } /* Set all Bezier Handles to a single type */ -// calchandles_ipocurve +// calchandles_fcurve BeztEditFunc ANIM_editkeyframes_handles(short code) { switch (code) { @@ -460,21 +482,21 @@ static short set_bezt_constant(BeztEditData *bed, BezTriple *bezt) { if (bezt->f2 & SELECT) - be
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18693] branches/blender2.5/blender/source /blender/editors/space_ipo/ipo_select.c: Quick fix - Alt-B in Graph Editor works again...
Revision: 18693 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18693 Author: aligorith Date: 2009-01-27 12:14:02 +0100 (Tue, 27 Jan 2009) Log Message: --- Quick fix - Alt-B in Graph Editor works again... normal BKEY still doesn't though Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c === --- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c 2009-01-27 11:09:30 UTC (rev 18692) +++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c 2009-01-27 11:14:02 UTC (rev 18693) @@ -237,6 +237,10 @@ bed.f2= rectf.xmax; } } + else { + bed.f1= rectf.ymin; + bed.f2= rectf.ymax; + } /* select keyframes that are in the appropriate places */ ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL); ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18694] branches/blender2.5/blender/source /blender: Animato - Bugfixes + More conversion code
Revision: 18694 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18694 Author: aligorith Date: 2009-01-27 12:31:30 +0100 (Tue, 27 Jan 2009) Log Message: --- Animato - Bugfixes + More conversion code * BorderSelect in Graph Editor now works. Was a silly 1 char missing typo. * Added conversion code for lamps and hooked up code for constraints. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-01-27 11:14:02 UTC (rev 18693) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c 2009-01-27 11:31:30 UTC (rev 18694) @@ -263,6 +263,8 @@ case CO_HEADTAIL: // XXX this needs to be wrapped in RNA.. probably then this path will be invalid return "data.head_tail"; } + + return NULL; } /* ShapeKey types @@ -497,6 +499,71 @@ return NULL; } +/* Lamp Types */ +static char *lamp_adrcodes_to_paths (int adrcode, int *array_index) +{ + /* set array index like this in-case nothing sets it correctly */ + *array_index= 0; + + /* result depends on adrcode */ + switch (adrcode) { + case LA_ENERGY: + return "energy"; + + case LA_COL_R: + *array_index= 0; return "color"; + case LA_COL_G: + *array_index= 1; return "color"; + case LA_COL_B: + *array_index= 2; return "color"; + + case LA_DIST: + return "distance"; + + case LA_SPOTSI: + return "spot_size"; + case LA_SPOTBL: + return "spot_blend"; + + case LA_QUAD1: + return "linear_attenuation"; + case LA_QUAD2: + return "quadratic_attenuation"; + + case LA_HALOINT: + return "halo_intensity"; + } + +#if 0 // XXX to be converted + if (poin == NULL) { + if (icu->adrcode & MA_MAP1) mtex= la->mtex[0]; + else if (icu->adrcode & MA_MAP2) mtex= la->mtex[1]; + else if (icu->adrcode & MA_MAP3) mtex= la->mtex[2]; + else if (icu->adrcode & MA_MAP4) mtex= la->mtex[3]; + else if (icu->adrcode & MA_MAP5) mtex= la->mtex[4]; + else if (icu->adrcode & MA_MAP6) mtex= la->mtex[5]; + else if (icu->adrcode & MA_MAP7) mtex= la->mtex[6]; + else if (icu->adrcode & MA_MAP8) mtex= la->mtex[7]; + else if (icu->adrcode & MA_MAP9) mtex= la->mtex[8]; + else if (icu->adrcode & MA_MAP10) mtex= la->mtex[9]; + else if (icu->adrcode & MA_MAP11) mtex= la->mtex[10]; + else if (icu->adrcode & MA_MAP12) mtex= la->mtex[11]; + else if (icu->adrcode & MA_MAP13) mtex= la->mtex[12]; + else if (icu->adrcode & MA_MAP14) mtex= la->mtex[13]; + else if (icu->adrcode & MA_MAP15) mtex= la->mtex[14]; + else if (icu->adrcode & MA_MAP16) mtex= la->mtex[15]; + else if (icu->adrcode & MA_MAP17) mtex= la->mtex[16]; + else if (icu->adrcode & MA_MAP18) mtex= la->mtex[17]; + + if (mtex) + poin= give_mtex_poin(mtex, (icu->adrcode & (MA_MAP1-1))); + } +#endif // XXX to be converted + + /* unrecognised adrcode, or not-yet-handled ones! */ + return NULL; +} + /* --- */ /* Allocate memory for RNA-path for some property given a blocktype, adrcode, and 'root' parts of path @@ -528,6 +595,10 @@ propname= shapekey_adrcodes_to_paths(adrcode, &dummy_index); break; + case ID_CO: /* constraint */ + propname= constraint_adrcodes_to_paths(adrcode, &dummy_index); + break; + case ID_TE: /* texture */ propname= texture_adrcodes_to_paths(adrcode, &dummy_index); break; @@ -540,6 +611,10 @@ propname= camera_adrcodes_to_paths(adrcode, &dummy_index); break;
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18695] branches/blender2.5/blender/source /blender/editors/space_ipo/Makefile: 2.5
Revision: 18695 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18695 Author: ton Date: 2009-01-27 13:49:44 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Make space_ipo compile for make Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile === --- branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile 2009-01-27 11:31:30 UTC (rev 18694) +++ branches/blender2.5/blender/source/blender/editors/space_ipo/Makefile 2009-01-27 12:49:44 UTC (rev 18695) @@ -44,6 +44,7 @@ CPPFLAGS += -I../../blenkernel CPPFLAGS += -I../../blenlib CPPFLAGS += -I../../makesdna +CPPFLAGS += -I../../makesrna CPPFLAGS += -I../../imbuf CPPFLAGS += -I../../python CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18696] branches/blender2.5/blender/source /blender: 2.5
Revision: 18696 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18696 Author: ton Date: 2009-01-27 18:12:40 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Compositor now uses threaded jobs. - updates happen per preview node! Check this file for fun: http://www.blender.org/bf/composite_image.blend (any compo node could get preview!) - had to ensure the composite data gets fully copied before it executes thread, so editing is not frustrated. - put back node buttons (missing init) - added WM_jobs api call to check for running job, illustrated with red light icon in 'use nodes' button. - added another callback to WM_jobs, to initialize. use this init to ensure you only do it when job really starts. - added an extra notifier option for WM_jobs, to signal finished job (like redraw image view) - fixed file read error, it copied the screen it read, instead of using it. - commented out annoying prints for missing ops in imagewin Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h branches/blender2.5/blender/source/blender/blenkernel/intern/node.c branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c branches/blender2.5/blender/source/blender/editors/preview/previewrender.c branches/blender2.5/blender/source/blender/editors/space_image/image_header.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/editors/space_node/node_header.c branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c branches/blender2.5/blender/source/blender/editors/space_node/space_node.c branches/blender2.5/blender/source/blender/makesdna/DNA_node_types.h branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h branches/blender2.5/blender/source/blender/windowmanager/WM_api.h branches/blender2.5/blender/source/blender/windowmanager/WM_types.h branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_jobs.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c Added Paths: --- branches/blender2.5/blender/source/blender/editors/include/ED_node.h Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h 2009-01-27 12:49:44 UTC (rev 18695) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h 2009-01-27 17:12:40 UTC (rev 18696) @@ -106,6 +106,7 @@ #define NODE_BREAK 2 #define NODE_FINISHED 4 #define NODE_FREEBUFS 8 +#define NODE_SKIPPED 16 /* nodetype->nclass, for add-menu and themes */ #define NODE_CLASS_INPUT 0 @@ -148,6 +149,11 @@ void ntreeClearPreview(struct bNodeTree *ntree); void ntreeFreeCache(struct bNodeTree *ntree); + + /* calls allowing threaded composite */ +struct bNodeTree *ntreeLocalize(struct bNodeTree *ntree); +void ntreeLocalSync(struct bNodeTree *localtree, struct bNodeTree *ntree); +void ntreeLocalMerge(struct bNodeTree *localtree, struct bNodeTree *ntree); /* ** GENERIC API, NODES *** */ Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-01-27 12:49:44 UTC (rev 18695) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-01-27 17:12:40 UTC (rev 18696) @@ -1158,6 +1158,104 @@ return newtree; } +/* *** preview *** */ +/* if node->preview, then we assume the rect to exist */ + +static void node_free_preview(bNode *node) +{ + if(node->preview) { + if(node->preview->rect) + MEM_freeN(node->preview->rect); + MEM_freeN(node->preview); + node->preview= NULL; + } +} + +static void node_init_preview(bNode *node, int xsize, int ysize) +{ + + if(node->preview==NULL) { + node->preview= MEM_callocN(sizeof(bNodePreview), "node preview"); +
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18697] branches/blender2.5/blender/source /blender/editors/space_node/drawnode.c: 2.5
Revision: 18697 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18697 Author: ton Date: 2009-01-27 18:54:49 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Crash in node editor, when you start a new composite. Was missing check for scene pointer Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c Modified: branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c === --- branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-01-27 17:12:40 UTC (rev 18696) +++ branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c 2009-01-27 17:54:49 UTC (rev 18697) @@ -1069,8 +1069,8 @@ static int node_composit_buts_renderlayers(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) { - if(block) { - Scene *scene= NULL; // XXX CTX_data_scene(C) can't work here. node->id has to be set default (ton) + if(block && node->id) { + Scene *scene= (Scene *)node->id; uiBut *bt; char *strp; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18698] branches/blender2.5/blender/source /blender/editors/space_file/file_draw.c: 2.5
Revision: 18698 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18698 Author: ton Date: 2009-01-27 19:10:14 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Bugfix; preventing crash on dividing by zero int. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c === --- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-01-27 17:54:49 UTC (rev 18697) +++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-01-27 18:10:14 UTC (rev 18698) @@ -293,7 +293,10 @@ sfile->tile_h = sfile->prv_h + 4*sfile->prv_border_y + U.fontsize*3/2; width= (v2d->cur.xmax - v2d->cur.xmin - 2*sfile->tile_border_x); columns= file_view_columns(sfile, v2d); - rows= filelist_numfiles(sfile->files)/columns + 1; // XXX dirty, modulo is zero + if(columns) + rows= filelist_numfiles(sfile->files)/columns + 1; // XXX dirty, modulo is zero + else + rows= filelist_numfiles(sfile->files) + 1; // XXX dirty, modulo is zero height= rows*(sfile->tile_h+2*sfile->tile_border_y) + sfile->tile_border_y*2; } else { sfile->prv_w = 0; @@ -306,7 +309,11 @@ sfile->tile_h = U.fontsize*3/2; height= v2d->cur.ymax - v2d->cur.ymin; rows = file_view_rows(sfile, v2d); - columns = filelist_numfiles(sfile->files)/rows + 1; // XXX dirty, modulo is zero + if(rows) + columns = filelist_numfiles(sfile->files)/rows + 1; // XXX dirty, modulo is zero + else + columns = filelist_numfiles(sfile->files) + 1; // XXX dirty, modulo is zero + width = columns * (sfile->tile_w + 2*sfile->tile_border_x) + sfile->tile_border_x*2; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18699] branches/blender2.5/blender/source /blender/editors/space_sequencer/sequencer_header.c: Was missing TRUE so I included extra header that had i
Revision: 18699 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18699 Author: sirdude Date: 2009-01-27 19:36:58 +0100 (Tue, 27 Jan 2009) Log Message: --- Was missing TRUE so I included extra header that had it, also fixed a call that had wrong number of args. Kent Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c Modified: branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c === --- branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c 2009-01-27 18:10:14 UTC (rev 18698) +++ branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c 2009-01-27 18:36:58 UTC (rev 18699) @@ -39,6 +39,7 @@ #include "BLI_blenlib.h" +#include "BKE_utildefines.h" #include "BKE_context.h" #include "BKE_screen.h" #include "BKE_sequence.h" @@ -289,7 +290,7 @@ uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip", NULL); uiDefMenuButO(block, "SEQUENCER_OT_add_scene_strip", NULL); #ifdef WITH_FFMPEG - but= uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip"); + but= uiDefMenuButO(block, "SEQUENCER_OT_add_movie_strip", NULL); RNA_boolean_set(uiButGetOperatorPtrRNA(but), "sound", TRUE); #endif ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18700] branches/blender2.5/blender/source /blender/blenkernel: 2.5
Revision: 18700 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18700 Author: ton Date: 2009-01-27 20:32:44 +0100 (Tue, 27 Jan 2009) Log Message: --- 2.5 Added support in threaded compositor to copy the viewer image safely away, prevents crashing especially for people using blender -E or redrawing viewer while it composites. (Note; reloading images in nodes, render result, and probably other cases have to be checked still) Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h branches/blender2.5/blender/source/blender/blenkernel/intern/image.c branches/blender2.5/blender/source/blender/blenkernel/intern/node.c Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h === --- branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h 2009-01-27 18:36:58 UTC (rev 18699) +++ branches/blender2.5/blender/source/blender/blenkernel/BKE_image.h 2009-01-27 19:32:44 UTC (rev 18700) @@ -148,6 +148,12 @@ /* prints memory statistics for images */ void BKE_image_print_memlist(void); +/* empty image block, of similar type and filename */ +struct Image *BKE_image_copy(struct Image *ima); + +/* merge source into dest, and free source */ +void BKE_image_merge(struct Image *dest, struct Image *source); + #ifdef __cplusplus } #endif Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/image.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/image.c 2009-01-27 18:36:58 UTC (rev 18699) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/image.c 2009-01-27 19:32:44 UTC (rev 18700) @@ -91,6 +91,7 @@ /* quick lookup: supports 1 million frames, thousand passes */ #define IMA_MAKE_INDEX(frame, index) ((frame)<<10)+index #define IMA_INDEX_FRAME(index) (index>>10) +#define IMA_INDEX_PASS(index) (index & ~1023) /* IMAGE PROCESSING * */ @@ -332,6 +333,33 @@ } } +/* empty image block, of similar type and filename */ +Image *BKE_image_copy(Image *ima) +{ + Image *new= image_alloc(ima->id.name+2, ima->source, ima->type); + + BLI_strncpy(new->name, ima->name, sizeof(ima->name)); + + new->gen_x= ima->gen_x; + new->gen_y= ima->gen_y; + new->gen_type= ima->gen_type; + + return new; +} + +void BKE_image_merge(Image *dest, Image *source) +{ + ImBuf *ibuf; + + while((ibuf= source->ibufs.first)) { + BLI_remlink(&source->ibufs, ibuf); + image_assign_ibuf(dest, ibuf, IMA_INDEX_PASS(ibuf->index), IMA_INDEX_FRAME(ibuf->index)); + } + + free_libblock(&G.main->image, source); +} + + /* checks if image was already loaded, then returns same image */ /* otherwise creates new. */ /* does not load ibuf itself */ Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-01-27 18:36:58 UTC (rev 18699) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 2009-01-27 19:32:44 UTC (rev 18700) @@ -2487,6 +2487,12 @@ /* ensure new user input gets handled ok */ node->need_exec= 0; + if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) { + if(node->id && (node->flag & NODE_DO_OUTPUT)) { + node->new_node->id= (ID *)BKE_image_copy((Image *)node->id); + } + } + for(sock= node->outputs.first; sock; sock= sock->next) { sock->new_sock->ns.data= sock->ns.data; @@ -2555,6 +2561,12 @@ lnode->preview= NULL; } + if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) { + if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) { + BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id); + } + } + for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) { if(outsocket_exists(lnode->new_node, lsock->new_sock)) { lsock->new_sock->ns.data= lsock->ns.data; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18701] trunk/blender/source/blender/src/ editface.c: Fix for bug #18066: made UV Unwrap > Reset same as the default UV
Revision: 18701 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18701 Author: blendix Date: 2009-01-27 20:59:12 +0100 (Tue, 27 Jan 2009) Log Message: --- Fix for bug #18066: made UV Unwrap > Reset same as the default UV coordinates when creating a new layer. Modified Paths: -- trunk/blender/source/blender/src/editface.c Modified: trunk/blender/source/blender/src/editface.c === --- trunk/blender/source/blender/src/editface.c 2009-01-27 19:32:44 UTC (rev 18700) +++ trunk/blender/source/blender/src/editface.c 2009-01-27 19:59:12 UTC (rev 18701) @@ -631,15 +631,15 @@ dy= 1.0-size; uv[0][0]= 0; - uv[0][1]= size+dy; + uv[0][1]= dy; - uv[1][0]= 0; + uv[1][0]= size; uv[1][1]= dy; uv[2][0]= size; - uv[2][1]= dy; - - uv[3][0]= size; + uv[2][1]= size+dy; + + uv[3][0]= 0; uv[3][1]= size+dy; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18702] trunk/blender/source/blender/src/ header_buttonswin.c: Fix for bug #17961: crash with material copy/ past and GLSL.
Revision: 18702 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18702 Author: blendix Date: 2009-01-27 21:17:32 +0100 (Tue, 27 Jan 2009) Log Message: --- Fix for bug #17961: crash with material copy/past and GLSL. Modified Paths: -- trunk/blender/source/blender/src/header_buttonswin.c Modified: trunk/blender/source/blender/src/header_buttonswin.c === --- trunk/blender/source/blender/src/header_buttonswin.c2009-01-27 19:59:12 UTC (rev 18701) +++ trunk/blender/source/blender/src/header_buttonswin.c2009-01-27 20:17:32 UTC (rev 18702) @@ -77,6 +77,8 @@ #include "MEM_guardedalloc.h" #include "BLI_blenlib.h" +#include "GPU_material.h" + #include "blendef.h" #include "mydevice.h" #include "butspace.h" @@ -168,6 +170,7 @@ } matcopybuf.nodetree= ntreeCopyTree(ma->nodetree, 0); matcopybuf.preview= NULL; + matcopybuf.gpumaterial.first= matcopybuf.gpumaterial.last= NULL; matcopied= 1; } break; @@ -188,6 +191,8 @@ ntreeFreeTree(ma->nodetree); MEM_freeN(ma->nodetree); } + + GPU_materials_free(ma); id= (ma->id); memcpy(ma, &matcopybuf, sizeof(Material)); ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18703] trunk/blender/source/blender/ python/api2_2x/Constraint.c: Fix for bug #18183: crash when using " Bake Constraints" script.
Revision: 18703 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18703 Author: blendix Date: 2009-01-27 22:19:19 +0100 (Tue, 27 Jan 2009) Log Message: --- Fix for bug #18183: crash when using "Bake Constraints" script. The constraint remove function was not working correct, this code uses a pretty bad hack, did not clean it up, but at least it should work now. Modified Paths: -- trunk/blender/source/blender/python/api2_2x/Constraint.c Modified: trunk/blender/source/blender/python/api2_2x/Constraint.c === --- trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 20:17:32 UTC (rev 18702) +++ trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 21:19:19 UTC (rev 18703) @@ -2291,6 +2291,7 @@ { bConstraint *con = locate_constr(self, value); bPoseChannel *active= NULL; + int tmpflag= 0; /* if we can't locate the constraint, return (exception already set) */ if (!con) @@ -2304,6 +2305,11 @@ if (active) active->bone->flag &= ~BONE_ACTIVE; self->pchan->bone->flag |= BONE_ACTIVE; } + + if(!(self->obj->flag & OB_POSEMODE)) { + self->obj->flag |= OB_POSEMODE; + tmpflag= 1; + } } /* del_constr_func() frees constraint + its data */ @@ -2314,6 +2320,8 @@ if (active) active->bone->flag |= BONE_ACTIVE; self->pchan->bone->flag &= ~BONE_ACTIVE; } + if(tmpflag) + self->obj->flag &= ~OB_POSEMODE; /* erase the link to the constraint */ value->con = NULL; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18704] trunk/blender/source/blender/ python/api2_2x/Constraint.c: Fix for bug #18167: setting Constraint. Settings.SCRIPT checked for type
Revision: 18704 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18704 Author: blendix Date: 2009-01-27 22:26:31 +0100 (Tue, 27 Jan 2009) Log Message: --- Fix for bug #18167: setting Constraint.Settings.SCRIPT checked for type Object rather than Text so did not work when assigning a text to it. Modified Paths: -- trunk/blender/source/blender/python/api2_2x/Constraint.c Modified: trunk/blender/source/blender/python/api2_2x/Constraint.c === --- trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 21:19:19 UTC (rev 18703) +++ trunk/blender/source/blender/python/api2_2x/Constraint.c2009-01-27 21:26:31 UTC (rev 18704) @@ -1560,7 +1560,7 @@ break; case EXPP_CONSTR_SCRIPT: { Text *text = (( BPy_Text * )value)->text; - if( !BPy_Object_Check( value ) ) + if( !BPy_Text_Check( value ) ) return EXPP_ReturnIntError( PyExc_TypeError, "expected BPy text argument" ); con->text = text; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18705] trunk/blender/source/blender/src/ buttons_editing.c: Fix for bug #18087: Editing of object name and modifiers did not
Revision: 18705 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18705 Author: blendix Date: 2009-01-27 23:09:23 +0100 (Tue, 27 Jan 2009) Log Message: --- Fix for bug #18087: Editing of object name and modifiers did not work in editing buttons if the object data was linked. Modified Paths: -- trunk/blender/source/blender/src/buttons_editing.c Modified: trunk/blender/source/blender/src/buttons_editing.c === --- trunk/blender/source/blender/src/buttons_editing.c 2009-01-27 21:26:31 UTC (rev 18704) +++ trunk/blender/source/blender/src/buttons_editing.c 2009-01-27 22:09:23 UTC (rev 18705) @@ -1944,13 +1944,14 @@ uiButSetFunc(but, modifiers_applyModifier, ob, md); } + uiClearButLock(); + uiSetButLock(ob && ob->id.lib, ERROR_LIBDATA_MESSAGE); + if (md->type!=eModifierType_Fluidsim && md->type!=eModifierType_Softbody && md->type!=eModifierType_ParticleSystem && (md->type!=eModifierType_Cloth)) { but = uiDefBut(block, BUT, B_MODIFIER_RECALC, "Copy", lx,(cy-=19),60,19, 0, 0, 0, 0, 0, "Duplicate the current modifier at the same position in the stack"); uiButSetFunc(but, modifiers_copyModifier, ob, md); } uiBlockEndAlign(block); - - uiSetButLock(ob && ob->id.lib, ERROR_LIBDATA_MESSAGE); } lx = x + 10; @@ -5525,7 +5526,6 @@ uiBlockSetCol(block, TH_AUTO); } if(ob) { - uiSetButLock(object_data_is_libdata(ob), ERROR_LIBDATA_MESSAGE); but = uiDefBut(block, TEX, B_IDNAME, "OB:", xco, 180, 454-xco, YIC, ob->id.name+2, 0.0, 21.0, 0, 0, "Active Object name."); #ifdef WITH_VERSE if(ob->vnode) uiButSetFunc(but, test_and_send_idbutton_cb, ob, ob->id.name); @@ -5534,6 +5534,7 @@ uiButSetFunc(but, test_idbutton_cb, ob->id.name, NULL); #endif + uiSetButLock(object_data_is_libdata(ob), ERROR_LIBDATA_MESSAGE); } /* empty display handling, note it returns! */ ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18707] branches/blender2.5/blender/source /blender: Animato - Driver + ShapeKey bugfixes
Revision: 18707 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18707 Author: aligorith Date: 2009-01-28 01:50:56 +0100 (Wed, 28 Jan 2009) Log Message: --- Animato - Driver + ShapeKey bugfixes * ShapeKey conversions should now go to the correct places * Added fix for drivers to prevent crashes when no driver object is provided (Franky from BBB seems to have one such driver for some reason). * Temporarily disabled a check when evaluating drivers for whether the driver is tagged for evaluation. Drivers still need to be correctly tagged AND ordered by the Depsgraph to work correctly. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c branches/blender2.5/blender/source/blender/editors/animation/anim_channels.c branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c branches/blender2.5/blender/source/blender/makesdna/DNA_action_types.h Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 2009-01-28 00:43:46 UTC (rev 18706) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 2009-01-28 00:50:56 UTC (rev 18707) @@ -229,7 +229,9 @@ } else { /* failed to get path */ - printf("Animato: Invalid path '%s[%d]' \n", path, array_index); + printf("Animato: Invalid path. ID = '%s', '%s [%d]' \n", + (ptr && ptr->id.data) ? (((ID *)ptr->id.data)->name+2) : "", + path, array_index); return 0; } } @@ -291,7 +293,7 @@ if ((fcu->flag & (FCURVE_MUTED|FCURVE_DISABLED)) == 0) { /* check if driver itself is tagged for recalculation */ - if ((driver) && (driver->flag & DRIVER_FLAG_RECALC)) { + if ((driver) /*&& (driver->flag & DRIVER_FLAG_RECALC)*/) { // XXX driver recalc flag is not set yet by depsgraph! /* evaluate this using values set already in other places */ // NOTE: for 'layering' option later on, we should check if we should remove old value before adding new to only be done when drivers only changed calculate_fcurve(fcu, ctime); Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c 2009-01-28 00:43:46 UTC (rev 18706) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c 2009-01-28 00:50:56 UTC (rev 18707) @@ -447,24 +447,34 @@ { PointerRNA id_ptr, ptr; PropertyRNA *prop; + ID *id; char *path; int index; float value= 0.0f; /* get RNA-pointer for the ID-block given in driver */ - if (target == 2) { + if (target == 1) { /* second target */ RNA_id_pointer_create(driver->id2, &id_ptr); + id= driver->id2; path= driver->rna_path2; index= driver->array_index2; } else { /* first/main target */ RNA_id_pointer_create(driver->id, &id_ptr); + id= driver->id; path= driver->rna_path; index= driver->array_index; } + /* error check for missing pointer... */ + if (id == NULL) { + printf("Error: driver doesn't have any valid target to use \n"); + driver->flag |= DRIVER_FLAG_INVALID; + return 0.0f; + } + /* get property to read from, and get value as appropriate */ if (RNA_path_resolve(&id_ptr, path, &ptr, &prop)) { switch (RNA_property_type(&ptr, prop)) { @@ -511,9 +521,10 @@ case DRIVER_TYPE_CHANNEL: /* channel/setting drivers channel/setting */ return driver_get_driver_value(driver, 0); -#ifndef DISABLE_PYTHON + case DRIVER_TYPE_PYTHON: /* expression */ { +#ifndef DISABLE_PYTHON /* check for empty or invalid expression */ if ( (driver->expression[0] == '\0') ||
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18708] branches/blender2.5/blender/source /blender/editors/transform: Graph Editor - Restored all Transform tools
Revision: 18708 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18708 Author: aligorith Date: 2009-01-28 03:56:58 +0100 (Wed, 28 Jan 2009) Log Message: --- Graph Editor - Restored all Transform tools I've ported the transform tools for this editor as they existed in the AnimSys2 branch (minus some of the experimental pivot options which were not useful enough yet). Hotkeys are: * GKEY - transforms points as always * RKEY - rotates points (only useful for a single 'knot') * SKEY - scales points * EKEY - like in the DopeSheet, the 'extend' translation tool only moves all the keyframes on the same side of the current frame indicator as the mouse Useful tweaks ported from AnimSys2 include: * Auto-snapping is on by default for time-values on the keyframes only. Handles are not snapped (or shouldn't be). * Rotating/Scaling new keyframes using default handles (i.e. Auto-Handles) now works, as the handle is now converted to aligned so that changes can be seen. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/transform/transform.c branches/blender2.5/blender/source/blender/editors/transform/transform.h branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.c === --- branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-01-28 00:50:56 UTC (rev 18707) +++ branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-01-28 02:56:58 UTC (rev 18708) @@ -376,52 +376,6 @@ if (G.sima->lock) force_draw_plus(SPACE_VIEW3D, 0); else force_draw(0); } - else if (t->spacetype == SPACE_ACTION) { - if (G.saction->lock) { - short context; - - /* we ignore the pointer this function returns (not needed) */ - get_action_context(&context); - - if (context == ACTCONT_ACTION) - force_draw_plus(SPACE_VIEW3D, 0); - else if (context == ACTCONT_SHAPEKEY) - force_draw_all(0); - else - force_draw(0); - } - else { - force_draw(0); - } - } - else if (t->spacetype == SPACE_NLA) { - if (G.snla->lock) - force_draw_all(0); - else - force_draw(0); - } - else if (t->spacetype == SPACE_IPO) { - /* update realtime */ - if (G.sipo->lock) { - if (G.sipo->blocktype==ID_MA || G.sipo->blocktype==ID_TE) - force_draw_plus(SPACE_BUTS, 0); - else if (G.sipo->blocktype==ID_CA) - force_draw_plus(SPACE_VIEW3D, 0); - else if (G.sipo->blocktype==ID_KE) - force_draw_plus(SPACE_VIEW3D, 0); - else if (G.sipo->blocktype==ID_PO) - force_draw_plus(SPACE_VIEW3D, 0); - else if (G.sipo->blocktype==ID_OB) - force_draw_plus(SPACE_VIEW3D, 0); - else if (G.sipo->blocktype==ID_SEQ) - force_draw_plus(SPACE_SEQ, 0); - else - force_draw(0); - } - else { - force_draw(0); - } - } #endif } @@ -,8 +1065,15 @@ initTimeScale(t); break; case TFM_TIME_EXTEND: - /* now that transdata has been made, do like for TFM_TIME_TRANSLATE */ - initTimeTranslate(t); + /* now that transdata has been made, do like for TFM_TIME_TRANSLATE (for most Animation +* Editors because they have only 1D transforms for time values) or TFM_TRANSLATION +* (for Graph Editor only since it uses 'standard' transforms to get 2D movement) +* depending on which editor this was called from +*/ + if (t->spacetype == SPACE_IPO) + initTranslation(t); + else + initTimeTranslate(t); break; case TFM_BAKE_TIME: initBakeTime(t); Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.h ===
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18709] branches/blender2.5/blender/source /blender/editors/space_ipo/ipo_header.c: Graph Editor:
Revision: 18709 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18709 Author: aligorith Date: 2009-01-28 04:22:37 +0100 (Wed, 28 Jan 2009) Log Message: --- Graph Editor: Added some more buttons and a few menu entries in the View menu that simplify the viewport. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c === --- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c 2009-01-28 02:56:58 UTC (rev 18708) +++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c 2009-01-28 03:22:37 UTC (rev 18709) @@ -73,22 +73,54 @@ static void do_viewmenu(bContext *C, void *arg, int event) { + SpaceIpo *sipo= (SpaceIpo *)CTX_wm_space_data(C); + switch (event) { + case 1: /* Show time/frames */ + sipo->flag ^= SIPO_DRAWTIME; + break; + case 2: /* AutoMerge Keyframes */ + sipo->flag ^= SIPO_NOTRANSKEYCULL; + break; + case 3: /* Show/Hide handles */ + sipo->flag ^= SIPO_NOHANDLES; + break; + case 4: /* Show current frame number beside indicator */ + sipo->flag ^= SIPO_NODRAWCFRANUM; + break; + } } -static uiBlock *dummy_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_unused) +static uiBlock *graph_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_unused) { ScrArea *curarea= CTX_wm_area(C); + SpaceIpo *sipo= (SpaceIpo *)CTX_wm_space_data(C); uiBlock *block; short yco= 0, menuwidth=120; - block= uiBeginBlock(C, handle->region, "dummy_viewmenu", UI_EMBOSSP, UI_HELV); + block= uiBeginBlock(C, handle->region, "graph_viewmenu", UI_EMBOSSP, UI_HELV); uiBlockSetButmFunc(block, do_viewmenu, NULL); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Nothing yet", 0, yco-=20, -menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); + // XXX these options should use new menu-options - if(curarea->headertype==HEADERTOP) { + if (sipo->flag & SIPO_DRAWTIME) { + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, +"Show Frames|Ctrl T", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); + } + else { + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, +"Show Seconds|Ctrl T", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); + } + + + uiDefIconTextBut(block, BUTM, 1, (sipo->flag & SIPO_NOTRANSKEYCULL)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, +"AutoMerge Keyframes|", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); + uiDefIconTextBut(block, BUTM, 1, (sipo->flag & SIPO_NOHANDLES)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, +"Show Handles|Ctrl H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); + uiDefIconTextBut(block, BUTM, 1, (sipo->flag & SIPO_NODRAWCFRANUM)?ICON_CHECKBOX_DEHLT:ICON_CHECKBOX_HLT, +"Show Current Frame Number|", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); + + if (curarea->headertype==HEADERTOP) { uiBlockSetDirection(block, UI_DOWN); } else { @@ -131,7 +163,7 @@ uiBlockSetEmboss(block, UI_EMBOSSP); xmax= GetButStringLength("View"); - uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C), + uiDefPulldownBut(block, graph_viewmenu, CTX_wm_area(C), "View", xco, yco-2, xmax-3, 24, ""); xco+= xmax; } @@ -141,10 +173,54 @@ /* mode selector */ uiDefButS(block, MENU, B_REDR, "Editor Mode %t|F-Curve Editor %x0|Drivers %x1", - xco,yco,120,YIC, &sipo->mode, 0, 1, 0, 0, + xco,yco,110,YIC, &sipo->mode, 0, 1, 0, 0, "Editing modes for this editor"); xco+= 120; + /* filtering buttons */ + if (sipo->ads) { + //uiBlockBeginAlign(block); + uiDefIconButBitI(block, TOG, ADS_FILTER_ONLYSEL, B_REDR, ICON_RESTRICT_SELECT_OFF, (short)(xco+=XIC),yco,XIC,YIC, &(sipo->ads->filterflag), 0, 0, 0, 0, "Only display selected Objects"); + //uiBlockEndAlign(block); + xco += 5; + + uiBlockBeginAlig
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18710] branches/blender2.5/blender/source /blender/editors: Graph Editor: Bringing back editing tools
Revision: 18710 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18710 Author: aligorith Date: 2009-01-28 07:32:47 +0100 (Wed, 28 Jan 2009) Log Message: --- Graph Editor: Bringing back editing tools * Snap + Mirror Keyframes (Shift-S and Shift-M) * Set Handle/Interpolation type * Snap current frame to selected keyframes (Ctrl-Shift-S) from the DopeSheet * Toggle visibility of all handles (Ctrl H) from AnimSys2 branch also ported Modified Paths: -- branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_intern.h branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_select.c branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c === --- branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c 2009-01-28 03:22:37 UTC (rev 18709) +++ branches/blender2.5/blender/source/blender/editors/animation/keyframes_edit.c 2009-01-28 06:32:47 UTC (rev 18710) @@ -197,7 +197,7 @@ for (ale= anim_data.first; ale; ale= ale->next) { FCurve *fcu= ale->key_data; - /* make sure keyframes in IPO-curve are all in order, and handles are in valid positions */ + /* make sure keyframes in F-curve are all in order, and handles are in valid positions */ sort_time_fcurve(fcu); testhandles_fcurve(fcu); } @@ -308,6 +308,16 @@ return 0; } +static short snap_bezier_horizontal(BeztEditData *bed, BezTriple *bezt) +{ + if (bezt->f2 & SELECT) { + bezt->vec[0][1]= bezt->vec[2][1]= bezt->vec[1][1]; + if ((bezt->h1==HD_AUTO) || (bezt->h1==HD_VECT)) bezt->h1= HD_ALIGN; + if ((bezt->h2==HD_AUTO) || (bezt->h2==HD_VECT)) bezt->h2= HD_ALIGN; + } + return 0; +} + // calchandles_ipocurve BeztEditFunc ANIM_editkeyframes_snap(short type) { @@ -321,6 +331,8 @@ return snap_bezier_nearmarker; case SNAP_KEYS_NEARSEC: /* snap to nearest second */ return snap_bezier_nearestsec; + case SNAP_KEYS_HORIZONTAL: /* snap handles to same value */ + return snap_bezier_horizontal; default: /* just in case */ return snap_bezier_nearest; } Modified: branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h 2009-01-28 03:22:37 UTC (rev 18709) +++ branches/blender2.5/blender/source/blender/editors/include/ED_keyframes_edit.h 2009-01-28 06:32:47 UTC (rev 18710) @@ -73,6 +73,7 @@ SNAP_KEYS_NEARFRAME, SNAP_KEYS_NEARSEC, SNAP_KEYS_NEARMARKER, + SNAP_KEYS_HORIZONTAL, } eEditKeyframes_Snap; /* mirroring tools */ Modified: branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c === --- branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c 2009-01-28 03:22:37 UTC (rev 18709) +++ branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_edit.c 2009-01-28 06:32:47 UTC (rev 18710) @@ -889,6 +889,8 @@ RNA_def_enum(ot->srna, "type", prop_graphkeys_expo_types, 0, "Type", ""); } +#endif // XXX code to be sanitied for new system + /* Set Interpolation-Type Operator *** */ /* defines for set ipo-type for selected keyframes tool */ @@ -947,11 +949,11 @@ return OPERATOR_FINISHED; } -void GRAPHEDIT_OT_keyframes_ipotype (wmOperatorType *ot) +void GRAPHEDIT_OT_keyframes_interpolation_type (wmOperatorType *ot) { /* identifiers */ ot->name= "Set Keyframe Interpolation"; - ot->idname= "GRAPHEDIT_OT_keyframes_ipotype"; + ot->idname= "GRAPHEDIT_OT_keyframes_interpolation_type"; /* api callbacks */ ot->invoke= WM_menu_invoke; @@ -992,6 +994,7 @@ /* loop through setting flags for handles * Note: we do not supply BeztEditData to the looper yet. Currently that's not necessary here... */ + // XXX we might need to supply BeztEditData to get it to only affect selected handles for (ale= anim_data.first; ale; ale= ale->next) {