[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25004] trunk/blender: == Sequencer ==
Peter Schlaile
peter at schlaile.de
Sun Nov 29 19:14:16 CET 2009
Revision: 25004
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25004
Author: schlaile
Date: 2009-11-29 19:14:16 +0100 (Sun, 29 Nov 2009)
Log Message:
-----------
== Sequencer ==
Brought back default effect fading: (adding a wipe effect makes it
wipe by default for the length of the strip)
First round in upgrading IPOs from older versions. (works for non-IPO
case now and sets at least the new "default effect fade"-flag)
Still non-working for old IPOs, since Sequence-Strips aren't real IDs!
And: non-frame-lock case should stretch the FCurve to the right length!
Modified Paths:
--------------
trunk/blender/release/scripts/ui/space_sequencer.py
trunk/blender/source/blender/blenkernel/intern/ipo.c
trunk/blender/source/blender/blenkernel/intern/sequence.c
trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
trunk/blender/source/blender/makesdna/DNA_ipo_types.h
trunk/blender/source/blender/makesdna/DNA_sequence_types.h
trunk/blender/source/blender/makesrna/intern/rna_sequence.c
Modified: trunk/blender/release/scripts/ui/space_sequencer.py
===================================================================
--- trunk/blender/release/scripts/ui/space_sequencer.py 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/release/scripts/ui/space_sequencer.py 2009-11-29 18:14:16 UTC (rev 25004)
@@ -351,7 +351,10 @@
if not strip:
return False
- return strip.type in ('COLOR', 'WIPE', 'GLOW', 'SPEED', 'TRANSFORM')
+ return strip.type in ('ADD','SUBTRACT','ALPHA_OVER','ALPHA_UNDER',
+ 'GAMMA_CROSS','MULTIPLY','OVER_DROP',
+ 'PLUGIN',
+ 'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED')
def draw(self, context):
layout = self.layout
@@ -431,7 +434,9 @@
if strip.type == 'SPEED':
col.prop(strip, "speed_fader", text="Speed fader")
else:
- col.prop(strip, "effect_fader", text="Effect fader")
+ col.prop(strip, "use_effect_default_fade", "Default fade")
+ if not strip.use_effect_default_fade:
+ col.prop(strip, "effect_fader", text="Effect fader")
class SEQUENCER_PT_input(SequencerButtonsPanel):
Modified: trunk/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/ipo.c 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/blenkernel/intern/ipo.c 2009-11-29 18:14:16 UTC (rev 25004)
@@ -885,6 +885,17 @@
case ID_SEQ: /* sequencer strip */
//SEQ_FAC1:
+ switch (adrcode) {
+ case SEQ_FAC1:
+ propname= "effect_fader";
+ break;
+ case SEQ_FAC_SPEED:
+ propname= "speed_fader";
+ break;
+ case SEQ_FAC_OPACITY:
+ propname= "blend_opacity";
+ break;
+ }
// poin= &(seq->facf0); // XXX this doesn't seem to be included anywhere in sequencer RNA...
break;
@@ -1604,6 +1615,7 @@
ListBase drivers = {NULL, NULL};
ID *id;
AnimData *adt;
+ Scene *scene;
if (main == NULL) {
printf("Argh! Main is NULL in do_versions_ipos_to_animato() \n");
@@ -1781,6 +1793,51 @@
}
}
+ /* sequence strips */
+ for(scene = main->scene.first; scene; scene = scene->id.next) {
+ if(scene->ed && scene->ed->seqbasep) {
+ Sequence * seq;
+
+ for(seq = scene->ed->seqbasep->first;
+ seq; seq = seq->next) {
+ short adrcode = SEQ_FAC1;
+
+ if (G.f & G_DEBUG)
+ printf("\tconverting sequence strip %s \n", seq->name+2);
+
+ if (!seq->ipo || !seq->ipo->curve.first) {
+ seq->flag |=
+ SEQ_USE_EFFECT_DEFAULT_FADE;
+ continue;
+ }
+
+ /* patch adrcode, so that we can map
+ to different DNA variables later
+ (semi-hack (tm) )
+ */
+ switch(seq->type) {
+ case SEQ_IMAGE:
+ case SEQ_META:
+ case SEQ_SCENE:
+ case SEQ_MOVIE:
+ case SEQ_COLOR:
+ adrcode = SEQ_FAC_OPACITY;
+ break;
+ case SEQ_SPEED:
+ adrcode = SEQ_FAC_SPEED;
+ break;
+ }
+ ((IpoCurve*) seq->ipo->curve.first)
+ ->adrcode = adrcode;
+ ipo_to_animdata((ID*) seq, seq->ipo,
+ NULL, NULL);
+ seq->ipo->id.us--;
+ seq->ipo = NULL;
+ }
+ }
+ }
+
+
/* textures */
for (id= main->tex.first; id; id= id->next) {
Tex *te= (Tex *)id;
Modified: trunk/blender/source/blender/blenkernel/intern/sequence.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequence.c 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/blenkernel/intern/sequence.c 2009-11-29 18:14:16 UTC (rev 25004)
@@ -820,16 +820,19 @@
return;
}
- fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence,
- "effect_fader", 0);
-
- if (!fcu) {
+ if ((seq->flag & SEQ_USE_EFFECT_DEFAULT_FADE) != 0) {
sh.get_default_fac(seq, cfra, &fac, &facf);
if( scene->r.mode & R_FIELDS ); else facf= fac;
} else {
- fac = facf = evaluate_fcurve(fcu, cfra);
- if( scene->r.mode & R_FIELDS ) {
- facf = evaluate_fcurve(fcu, cfra + 0.5);
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence,
+ "effect_fader", 0);
+ if (fcu) {
+ fac = facf = evaluate_fcurve(fcu, cfra);
+ if( scene->r.mode & R_FIELDS ) {
+ facf = evaluate_fcurve(fcu, cfra + 0.5);
+ }
+ } else {
+ fac = facf = seq->effect_fader;
}
}
@@ -2122,16 +2125,19 @@
se->se2 = 0;
se->se3 = 0;
- fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence,
- "effect_fader", 0);
-
- if (!fcu) {
+ if ((seq->flag & SEQ_USE_EFFECT_DEFAULT_FADE) != 0) {
sh.get_default_fac(seq, cfra, &fac, &facf);
if( scene->r.mode & R_FIELDS ); else facf= fac;
} else {
- fac = facf = evaluate_fcurve(fcu, cfra);
- if( scene->r.mode & R_FIELDS ) {
- facf = evaluate_fcurve(fcu, cfra + 0.5);
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence,
+ "effect_fader", 0);
+ if (fcu) {
+ fac = facf = evaluate_fcurve(fcu, cfra);
+ if( scene->r.mode & R_FIELDS ) {
+ facf = evaluate_fcurve(fcu, cfra + 0.5);
+ }
+ } else {
+ fac = facf = seq->effect_fader;
}
}
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c 2009-11-29 18:14:16 UTC (rev 25004)
@@ -513,6 +513,8 @@
seq_tx_set_final_right(seq, end_frame);
}
+ seq->flag |= SEQ_USE_EFFECT_DEFAULT_FADE;
+
calc_sequence(seq);
/* basic defaults */
Modified: trunk/blender/source/blender/makesdna/DNA_ipo_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_ipo_types.h 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/makesdna/DNA_ipo_types.h 2009-11-29 18:14:16 UTC (rev 25004)
@@ -275,6 +275,8 @@
#define SEQ_TOTNAM 1
#define SEQ_FAC1 1
+#define SEQ_FAC_SPEED 2
+#define SEQ_FAC_OPACITY 3
/* ********* Curve (ID_CU) *********** */
Modified: trunk/blender/source/blender/makesdna/DNA_sequence_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_sequence_types.h 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/makesdna/DNA_sequence_types.h 2009-11-29 18:14:16 UTC (rev 25004)
@@ -268,6 +268,7 @@
#define SEQ_USE_COLOR_BALANCE 262144
#define SEQ_USE_PROXY_CUSTOM_DIR 524288
#define SEQ_USE_PROXY_CUSTOM_FILE 2097152
+#define SEQ_USE_EFFECT_DEFAULT_FADE 4194304
/* deprecated, dont use a flag anymore*/
/*#define SEQ_ACTIVE 1048576*/
Modified: trunk/blender/source/blender/makesrna/intern/rna_sequence.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_sequence.c 2009-11-29 16:49:26 UTC (rev 25003)
+++ trunk/blender/source/blender/makesrna/intern/rna_sequence.c 2009-11-29 18:14:16 UTC (rev 25004)
@@ -538,6 +538,12 @@
RNA_def_property_ui_text(prop, "Effect fader position", "");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+ prop= RNA_def_property(srna, "use_effect_default_fade", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_USE_EFFECT_DEFAULT_FADE);
+ RNA_def_property_ui_text(prop, "Use Default Fade", "Fade effect using the builtin default (usually make transition as long as effect strip).");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+
+
prop= RNA_def_property(srna, "speed_fader", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "speed_fader");
RNA_def_property_ui_text(prop, "Speed effect fader position", "");
@@ -637,7 +643,7 @@
RNA_def_property_ui_text(prop, "Use Translation", "Translate image before processing.");
RNA_def_property_boolean_funcs(prop, NULL, "rna_SequenceEditor_use_translation_set");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
-
+
prop= RNA_def_property(srna, "transform", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "strip->transform");
RNA_def_property_ui_text(prop, "Transform", "");
More information about the Bf-blender-cvs
mailing list