[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60319] branches/soc-2013-vse/source/ blender/editors/space_sequencer: Updating sequencer editor space for new engine.

Alexander Kuznetsov kuzsasha at gmail.com
Mon Sep 23 02:03:25 CEST 2013


Revision: 60319
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60319
Author:   alexk
Date:     2013-09-23 00:03:24 +0000 (Mon, 23 Sep 2013)
Log Message:
-----------
Updating sequencer editor space for new engine.

Modified Paths:
--------------
    branches/soc-2013-vse/source/blender/editors/space_sequencer/CMakeLists.txt
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_add.c
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_draw.c
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_intern.h
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_ops.c
    branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_view.c

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/CMakeLists.txt
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/CMakeLists.txt	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/CMakeLists.txt	2013-09-23 00:03:24 UTC (rev 60319)
@@ -26,8 +26,11 @@
 	../../imbuf
 	../../makesdna
 	../../makesrna
+	../../sequencer
+	../../cldm
 	../../windowmanager
 	../../../../intern/guardedalloc
+	../../../../intern/opencl
 )
 
 set(INC_SYS

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_add.c
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_add.c	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_add.c	2013-09-23 00:03:24 UTC (rev 60319)
@@ -269,6 +269,8 @@
 	seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
 	seq->len = sce_seq->r.efra - sce_seq->r.sfra + 1;
 	strip->us = 1;
+
+	BKE_sequence_init_transformation(seq);
 	
 	BLI_strncpy(seq->name + 2, sce_seq->id.name + 2, sizeof(seq->name) - 2);
 	BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq);
@@ -370,6 +372,8 @@
 	seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
 	seq->len =  BKE_movieclip_get_duration(clip);
 	strip->us = 1;
+
+	BKE_sequence_init_transformation(seq);
 	
 	BLI_strncpy(seq->name + 2, clip->id.name + 2, sizeof(seq->name) - 2);
 	BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq);
@@ -468,6 +472,8 @@
 	seq->len = BKE_mask_get_duration(mask);
 	strip->us = 1;
 
+	BKE_sequence_init_transformation(seq);
+
 	BLI_strncpy(seq->name + 2, mask->id.name + 2, sizeof(seq->name) - 2);
 	BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq);
 
@@ -867,8 +873,11 @@
 	sh.init(seq);
 
 	if (!seq1) { /* effect has no deps */
-		seq->len = 1;
+		seq->len = 20;
 		BKE_sequence_tx_set_final_right(seq, end_frame);
+	} else
+	{
+		seq->len = seq1->len;
 	}
 
 	seq->flag |= SEQ_USE_EFFECT_DEFAULT_FADE;
@@ -879,6 +888,8 @@
 	seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
 	strip->us = 1;
 
+	BKE_sequence_init_transformation(seq);
+
 	if (seq->type == SEQ_TYPE_COLOR) {
 		SolidColorVars *colvars = (SolidColorVars *)seq->effectdata;
 		RNA_float_get_array(op->ptr, "color", colvars->col);

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_draw.c
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_draw.c	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_draw.c	2013-09-23 00:03:24 UTC (rev 60319)
@@ -907,6 +907,49 @@
 	return scope;
 }
 
+
+
+#include "CLDM_init.h"
+#include "sequencer_main.h"
+
+
+
+
+
+
+void draw_get_render_size(struct Scene *scene, struct SpaceSeq *sseq, float *width, float *height)
+{
+	float proxy_size = 100.0;
+	float render_size = 0.0f;
+
+	render_size = sseq->render_size;
+	if (render_size == 0) {
+		render_size = scene->r.size;
+	}
+	else {
+		proxy_size = render_size;
+	}
+	if (render_size < 0) {
+		return;
+	}
+
+	*width  = render_size / 100.0f * (float)scene->r.xsch;
+	*height = render_size / 100.0f * (float)scene->r.ysch;
+
+
+	*width *= scene->r.xasp / scene->r.yasp;
+	*width /= proxy_size / 100.0f;
+	*height /= proxy_size / 100.0f;
+
+}
+
+
+
+
+
+
+
+
 void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq, int cfra, int frame_ofs, int draw_overlay)
 {
 	struct Main *bmain = CTX_data_main(C);
@@ -925,7 +968,11 @@
 	const int is_imbuf = ED_space_sequencer_check_show_imbuf(sseq);
 	int format, type;
 	bool glsl_used = false;
+	seqViewData imgdata;
 
+	CLDM_init();
+
+
 	if (G.is_rendering == FALSE && (scene->r.seq_flag & R_SEQ_GL_PREV) == 0) {
 		/* stop all running jobs, except screen one. currently previews frustrate Render
 		 * needed to make so sequencer's rendering doesn't conflict with compositor
@@ -978,8 +1025,57 @@
 	/* only initialize the preview if a render is in progress */
 	if (G.is_rendering)
 		return;
+	UI_view2d_view_ortho(v2d);
 
 	ibuf = sequencer_ibuf_get(bmain, scene, sseq, cfra, frame_ofs);
+
+
+
+	imgdata = SEQ_ViewGetData(ar->regiondata);
+
+	if(imgdata.pointer)
+	{
+		unsigned int textureid = 0;
+
+		glEnable(GL_TEXTURE_2D);
+
+		glGenTextures(1, (GLuint *)&textureid);
+
+		glBindTexture(GL_TEXTURE_2D, textureid);
+
+		glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+
+		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imgdata.phys_size[0], imgdata.phys_size[1], 0, GL_RGBA, imgdata.type, imgdata.pointer);
+
+
+		glDisable(GL_TEXTURE_2D);
+
+
+
+		glEnable(GL_BLEND);
+
+		glEnable(GL_TEXTURE_2D);
+		glBindTexture(GL_TEXTURE_2D, textureid);
+
+		glBegin(GL_QUADS);
+
+			glTexCoord2f(0.0f, 0.0f); glVertex2f(-imgdata.phys_size[0], -imgdata.phys_size[1]);
+			glTexCoord2f(0.0f, 1.0f); glVertex2f(-imgdata.phys_size[0], 0);
+			glTexCoord2f(1.0f, 1.0f); glVertex2f(0, 0);
+			glTexCoord2f(1.0f, 0.0f); glVertex2f(0, -imgdata.phys_size[1]);
+
+		glEnd();
+
+		glDisable(GL_TEXTURE_2D);
+		glDeleteTextures(1, &textureid);
+
+
+	}
+
+	ibuf = sequencer_ibuf_get(bmain, scene, sseq, cfra, frame_ofs);
 	
 	if (ibuf == NULL)
 		return;
@@ -1042,11 +1138,12 @@
 			glEnable(GL_BLEND);
 			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 
-			fdrawcheckerboard(v2d->tot.xmin, v2d->tot.ymin, v2d->tot.xmax, v2d->tot.ymax);
+			//fdrawcheckerboard(v2d->tot.xmin, v2d->tot.ymin, v2d->tot.xmax, v2d->tot.ymax);
 			glColor4f(1.0, 1.0, 1.0, 1.0);
 		}
 	}
 
+
 	if (scope) {
 		IMB_freeImBuf(ibuf);
 		ibuf = scope;
@@ -1174,6 +1271,7 @@
 	if (glsl_used)
 		IMB_colormanagement_finish_glsl_draw();
 
+
 	if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) {
 
 		float x1 = v2d->tot.xmin;
@@ -1226,7 +1324,7 @@
 
 	if (!scope)
 		IMB_freeImBuf(ibuf);
-	
+
 	/* ortho at pixel level */
 	UI_view2d_view_restore(C);
 	

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_edit.c	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_edit.c	2013-09-23 00:03:24 UTC (rev 60319)
@@ -91,6 +91,7 @@
 	{SEQ_TYPE_OVERDROP, "OVER_DROP", 0, "Alpha Over Drop", "Alpha Over Drop effect strip type"},
 	{SEQ_TYPE_WIPE, "WIPE", 0, "Wipe", "Wipe effect strip type"},
 	{SEQ_TYPE_GLOW, "GLOW", 0, "Glow", "Glow effect strip type"},
+	{SEQ_TYPE_BRIGHTNESSCONTRAST, "BRIGHTNESSCONTRAST", 0, " Brightness Contrast", " Brightness Contrast effect strip type"},
 	{SEQ_TYPE_TRANSFORM, "TRANSFORM", 0, "Transform", "Transform effect strip type"},
 	{SEQ_TYPE_COLOR, "COLOR", 0, "Color", "Color effect strip type"},
 	{SEQ_TYPE_SPEED, "SPEED", 0, "Speed", "Color effect strip type"},
@@ -544,6 +545,7 @@
 		case 0:
 			*selseq1 = *selseq2 = *selseq3 = NULL;
 			return 1; /* succsess */
+			break;
 		case 1:
 			if (seq2 == NULL) {
 				*error_str = N_("At least one selected sequence strip is needed");
@@ -551,12 +553,14 @@
 			}
 			if (seq1 == NULL) seq1 = seq2;
 			if (seq3 == NULL) seq3 = seq2;
+			break;
 		case 2:
 			if (seq1 == NULL || seq2 == NULL) {
 				*error_str = N_("2 selected sequence strips are needed");
 				return 0;
 			}
 			if (seq3 == NULL) seq3 = seq2;
+			break;
 	}
 	
 	if (seq1 == NULL && seq2 == NULL && seq3 == NULL) {

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_intern.h
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_intern.h	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_intern.h	2013-09-23 00:03:24 UTC (rev 60319)
@@ -45,6 +45,7 @@
 struct ARegionType;
 struct Scene;
 struct Main;
+struct SpaceSeq;
 
 /* space_sequencer.c */
 struct ARegion *sequencer_has_buttons_region(struct ScrArea *sa);
@@ -53,6 +54,7 @@
 /* sequencer_draw.c */
 void draw_timeline_seq(const struct bContext *C, struct ARegion *ar);
 void draw_image_seq(const struct bContext *C, struct Scene *scene, struct  ARegion *ar, struct SpaceSeq *sseq, int cfra, int offset, int draw_overlay);
+void draw_get_render_size(struct Scene *scene, struct SpaceSeq *sseq, float *width, float *height);
 
 /* UNUSED */
 // void seq_reset_imageofs(struct SpaceSeq *sseq);
@@ -190,6 +192,7 @@
 
 /* sequencer_view.c */
 void SEQUENCER_OT_sample(struct wmOperatorType *ot);
+void SEQUENCER_OT_move_image(struct wmOperatorType *ot);
 
 #endif /* __SEQUENCER_INTERN_H__ */
 

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_ops.c
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_ops.c	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_ops.c	2013-09-23 00:03:24 UTC (rev 60319)
@@ -127,6 +127,7 @@
 
 	/* sequencer_view.h */
 	WM_operatortype_append(SEQUENCER_OT_sample);
+	WM_operatortype_append(SEQUENCER_OT_move_image);
 }
 
 
@@ -227,7 +228,7 @@
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_snap", SKEY, KM_PRESS, KM_SHIFT, 0);
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_swap_inputs", SKEY, KM_PRESS, KM_ALT, 0);
 
-	/* multicam editing keyboard layout, switch to camera 1-10 using
+	/* multicam editing keyboard layout, switch t0o camera 1-10 using
 	 * regular number keys */
 	{
 		int keys[] = { ONEKEY, TWOKEY, THREEKEY, FOURKEY, FIVEKEY,
@@ -354,6 +355,8 @@
 
 	/* sample */
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_sample", ACTIONMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "SEQUENCER_OT_move_image", GKEY, KM_PRESS, 0, 0);
+
 }
 
 void ED_operatormacros_sequencer(void)

Modified: branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_view.c
===================================================================
--- branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_view.c	2013-09-22 23:21:38 UTC (rev 60318)
+++ branches/soc-2013-vse/source/blender/editors/space_sequencer/sequencer_view.c	2013-09-23 00:03:24 UTC (rev 60319)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list