[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