FILTER="^\[[ 0123456789][ 0123456789][ 0123456789]\%] \|Linking \(C\|CXX\) static library\|Building \(C\|CXX\) object \|Built target "
Bugfix #25280 Image: sequence option was hardcoded to assume "first frame" was always picture "001". Made it impossible to have a sequence of images starting with picture like "000" Note that by allowing to render a first frame as 000 in Blender, things mess up a bit here. Things work now as follows: - Start Frame = 1 : Image 001 on frame 1 - Start Frame = 0 : Image 001 on frame 0 - Start Frame =-1 : Image 000 on frame 0 ;) This is of course the lack of proper control for image sequences. Definite something to work on; best idea I have now is a new setting that defines the Image Number to be "first frame". That way you can map that number on any Blender frame. Or it makes it more confusing? :) For the doc department: the proper meaning of "Start Frame" now is: "The blender frame a sequence starts playing, assuming the sequence starts with image #1" Tooltop was fixed accordingly (Also fixed 'remove doubles' to show more precision in toolbar)
This commit is contained in:
@@ -2221,7 +2221,7 @@ void BKE_image_user_calc_frame(ImageUser *iuser, int cfra, int fieldnr)
|
|||||||
if(cfra==0) cfra= len;
|
if(cfra==0) cfra= len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cfra<1) cfra= 1;
|
if(cfra<0) cfra= 0;
|
||||||
else if(cfra>len) cfra= len;
|
else if(cfra>len) cfra= len;
|
||||||
|
|
||||||
/* convert current frame to current field */
|
/* convert current frame to current field */
|
||||||
|
|||||||
@@ -495,6 +495,8 @@ static int removedoublesflag_exec(bContext *C, wmOperator *op)
|
|||||||
|
|
||||||
void MESH_OT_remove_doubles(wmOperatorType *ot)
|
void MESH_OT_remove_doubles(wmOperatorType *ot)
|
||||||
{
|
{
|
||||||
|
PropertyRNA *prop;
|
||||||
|
|
||||||
/* identifiers */
|
/* identifiers */
|
||||||
ot->name= "Remove Doubles";
|
ot->name= "Remove Doubles";
|
||||||
ot->description= "Remove duplicate vertices";
|
ot->description= "Remove duplicate vertices";
|
||||||
@@ -507,7 +509,8 @@ void MESH_OT_remove_doubles(wmOperatorType *ot)
|
|||||||
/* flags */
|
/* flags */
|
||||||
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
|
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
|
||||||
|
|
||||||
RNA_def_float(ot->srna, "limit", 0.0001f, 0.000001f, 50.0f, "Merge Threshold", "Minimum distance between merged verts", 0.00001f, 2.0f);
|
prop= RNA_def_float(ot->srna, "limit", 0.0001f, 0.000001f, 50.0f, "Merge Threshold", "Minimum distance between merged verts", 0.00001f, 2.0f);
|
||||||
|
RNA_def_property_ui_range(prop, 0.000001f, 50.0f, 0.001, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX is this needed?
|
// XXX is this needed?
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ static void rna_def_imageuser(BlenderRNA *brna)
|
|||||||
prop= RNA_def_property(srna, "frame_start", PROP_INT, PROP_TIME);
|
prop= RNA_def_property(srna, "frame_start", PROP_INT, PROP_TIME);
|
||||||
RNA_def_property_int_sdna(prop, NULL, "sfra");
|
RNA_def_property_int_sdna(prop, NULL, "sfra");
|
||||||
RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
|
RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
|
||||||
RNA_def_property_ui_text(prop, "Start Frame", "Sets the global starting frame of the movie");
|
RNA_def_property_ui_text(prop, "Start Frame", "Sets the global starting frame of the movie/sequence, assuming first picture has a #1");
|
||||||
RNA_def_property_update(prop, 0, "rna_ImageUser_update");
|
RNA_def_property_update(prop, 0, "rna_ImageUser_update");
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "fields_per_frame", PROP_INT, PROP_NONE);
|
prop= RNA_def_property(srna, "fields_per_frame", PROP_INT, PROP_NONE);
|
||||||
|
|||||||
Reference in New Issue
Block a user