[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24408] trunk/blender: Sequencer: ( small Durian wish)
Andrea Weikert
elubie at gmx.net
Sun Nov 8 16:03:10 CET 2009
Revision: 24408
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24408
Author: elubie
Date: 2009-11-08 16:03:10 +0100 (Sun, 08 Nov 2009)
Log Message:
-----------
Sequencer: (small Durian wish)
* new operator: set rendersize (SEQUENCE_OT_rendersize) sets the render output size in the current scene to the size of the active sequence strip
* works for movies and images right now
* TODO: currently only works if image or movie strip has been loaded (as in showing the preview for example) - reason is that otherwise the size is not initialized in the strip
Modified Paths:
--------------
trunk/blender/release/scripts/ui/space_sequencer.py
trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
trunk/blender/source/blender/editors/space_sequencer/sequencer_intern.h
trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c
Modified: trunk/blender/release/scripts/ui/space_sequencer.py
===================================================================
--- trunk/blender/release/scripts/ui/space_sequencer.py 2009-11-08 12:35:37 UTC (rev 24407)
+++ trunk/blender/release/scripts/ui/space_sequencer.py 2009-11-08 15:03:10 UTC (rev 24408)
@@ -245,12 +245,14 @@
elif stype == 'IMAGE':
layout.itemS()
layout.itemO("sequencer.image_change")
+ layout.itemO("sequencer.rendersize")
elif stype == 'SCENE':
layout.itemS()
layout.itemO("sequencer.scene_change", text="Change Scene")
elif stype == 'MOVIE':
layout.itemS()
layout.itemO("sequencer.movie_change")
+ layout.itemO("sequencer.rendersize")
layout.itemS()
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c 2009-11-08 12:35:37 UTC (rev 24407)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c 2009-11-08 15:03:10 UTC (rev 24408)
@@ -2669,3 +2669,52 @@
/* properties */
}
+
+static int sequencer_rendersize_exec(bContext *C, wmOperator *op)
+{
+ int retval = OPERATOR_CANCELLED;
+ Scene *scene= CTX_data_scene(C);
+ Sequence *active_seq = get_last_seq(scene);
+
+ if(active_seq==NULL) return OPERATOR_CANCELLED;
+
+ printf("got active sequence\n");
+ switch (active_seq->type) {
+ case SEQ_IMAGE:
+ case SEQ_MOVIE:
+ if (active_seq->strip) {
+ // prevent setting the render size if sequence values aren't initialized
+ if ( (active_seq->strip->orx>0) && (active_seq->strip->ory>0) ) {
+ scene->r.xsch= active_seq->strip->orx;
+ scene->r.ysch= active_seq->strip->ory;
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene);
+ retval = OPERATOR_FINISHED;
+ }
+ }
+ break;
+ case SEQ_SCENE:
+ case SEQ_META:
+ case SEQ_RAM_SOUND:
+ case SEQ_HD_SOUND:
+ default:
+ break;
+ }
+ return retval;
+}
+
+void SEQUENCER_OT_rendersize(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Set Render Size";
+ ot->idname= "SEQUENCER_OT_rendersize";
+ ot->description="Set render size and aspect from active sequence.";
+
+ /* api callbacks */
+ ot->exec= sequencer_rendersize_exec;
+ ot->poll= ED_operator_sequencer_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* properties */
+}
\ No newline at end of file
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_intern.h 2009-11-08 12:35:37 UTC (rev 24407)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_intern.h 2009-11-08 15:03:10 UTC (rev 24408)
@@ -95,6 +95,7 @@
void SEQUENCER_OT_next_edit(struct wmOperatorType *ot);
void SEQUENCER_OT_swap_right(struct wmOperatorType *ot);
void SEQUENCER_OT_swap_left(struct wmOperatorType *ot);
+void SEQUENCER_OT_rendersize(struct wmOperatorType *ot);
void SEQUENCER_OT_view_all(struct wmOperatorType *ot);
void SEQUENCER_OT_view_selected(struct wmOperatorType *ot);
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c 2009-11-08 12:35:37 UTC (rev 24407)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c 2009-11-08 15:03:10 UTC (rev 24408)
@@ -81,6 +81,7 @@
WM_operatortype_append(SEQUENCER_OT_previous_edit);
WM_operatortype_append(SEQUENCER_OT_swap_right);
WM_operatortype_append(SEQUENCER_OT_swap_left);
+ WM_operatortype_append(SEQUENCER_OT_rendersize);
WM_operatortype_append(SEQUENCER_OT_view_all);
WM_operatortype_append(SEQUENCER_OT_view_selected);
More information about the Bf-blender-cvs
mailing list