[Bf-blender-cvs] [4139dea] terrible_consequencer: Merge branch 'master' into terrible_consequencer
Antony Riakiotakis
noreply at git.blender.org
Mon Nov 3 15:52:14 CET 2014
Commit: 4139deab00970bc48343d36623b589b200846b96
Author: Antony Riakiotakis
Date: Mon Nov 3 15:45:20 2014 +0100
Branches: terrible_consequencer
https://developer.blender.org/rB4139deab00970bc48343d36623b589b200846b96
Merge branch 'master' into terrible_consequencer
Conflicts:
source/blender/editors/include/UI_view2d.h
source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
===================================================================
diff --cc source/blender/editors/include/UI_view2d.h
index 33fe53c,4d7446a..1e4ead3
--- a/source/blender/editors/include/UI_view2d.h
+++ b/source/blender/editors/include/UI_view2d.h
@@@ -161,8 -161,8 +161,8 @@@ bool UI_view2d_tab_set(struct View2D *v
void UI_view2d_zoom_cache_reset(void);
/* view matrix operations */
-void UI_view2d_view_ortho(struct View2D *v2d);
+float UI_view2d_view_ortho(struct View2D *v2d);
- void UI_view2d_view_orthoSpecial(struct ARegion *ar, struct View2D *v2d, short xaxis);
+ void UI_view2d_view_orthoSpecial(struct ARegion *ar, struct View2D *v2d, const bool xaxis);
void UI_view2d_view_restore(const struct bContext *C);
/* grid drawing */
diff --cc source/blender/editors/space_sequencer/sequencer_edit.c
index c09dbb4,2270c7d..6ba0578
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@@ -1236,46 -1231,8 +1236,46 @@@ void SEQUENCER_OT_snap(struct wmOperato
RNA_def_int(ot->srna, "frame", 0, INT_MIN, INT_MAX, "Frame", "Frame where selected strips will be snapped", INT_MIN, INT_MAX);
}
+static int sequencer_parent_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+
+ if (scene) {
+ Editing *ed = BKE_sequencer_editing_get(scene, false);
+ Sequence *seq, *active_seq = ed->act_seq;
+
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
+ if (seq == active_seq)
+ continue;
+
+ if (seq->flag & SELECT) {
+ seq->parent = active_seq;
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_parent(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Parent Strips";
+ ot->idname = "SEQUENCER_OT_parent";
+ ot->description = "";
+
+ /* api callbacks */
+ ot->exec = sequencer_parent_exec;
+ ot->poll = sequencer_edit_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+}
+
- typedef struct TrimData {
+ typedef struct SlipData {
int init_mouse[2];
float init_mouseloc[2];
TransSeq *ts;
@@@ -1284,8 -1241,7 +1284,8 @@@
int num_seq;
bool slow;
int slow_offset; /* offset at the point where offset was turned on */
+ void *draw_handle;
- } TrimData;
+ } SlipData;
static void transseq_backup(TransSeq *ts, Sequence *seq)
{
@@@ -1318,121 -1274,8 +1318,122 @@@ static void transseq_restore(TransSeq *
seq->len = ts->len;
}
- static void draw_trim_extensions(const bContext *C, ARegion *ar, void *data)
-static int slip_add_sequences_rec(ListBase *seqbasep, Sequence **seq_array, bool *trim, int offset, bool first_level)
++static void draw_slip_extensions(const bContext *C, ARegion *ar, void *data)
+{
+ Scene *scene = CTX_data_scene(C);
+ float x1, x2, y1, y2, pixely, a;
+ unsigned char col[3], blendcol[3];
+ View2D *v2d = &ar->v2d;
- TrimData *td = data;
++ SlipData *td = data;
+ int i;
+
+ for (i = 0; i < td->num_seq; i++) {
+ Sequence *seq = td->seq_array[i];
+
+ if ((seq->type != SEQ_TYPE_META) && td->trim[i]) {
+
+ x1 = seq->startdisp;
+ x2 = seq->enddisp;
+
+ y1 = seq->machine + SEQ_STRIP_OFSBOTTOM;
+ y2 = seq->machine + SEQ_STRIP_OFSTOP;
+
+ pixely = BLI_rctf_size_y(&v2d->cur) / BLI_rcti_size_y(&v2d->mask);
+
+ if (pixely <= 0) return; /* can happen when the view is split/resized */
+
+ blendcol[0] = blendcol[1] = blendcol[2] = 120;
+
+ if (seq->startofs) {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ get_seq_color3ubv(scene, seq, col);
+
+ if (seq->flag & SELECT) {
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.3, -40);
+ glColor4ub(col[0], col[1], col[2], 170);
+ }
+ else {
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.6, 0);
+ glColor4ub(col[0], col[1], col[2], 110);
+ }
+
+ glRectf((float)(seq->start), y1 - SEQ_STRIP_OFSBOTTOM, x1, y1);
+
+ if (seq->flag & SELECT) glColor4ub(col[0], col[1], col[2], 255);
+ else glColor4ub(col[0], col[1], col[2], 160);
+
+ fdrawbox((float)(seq->start), y1 - SEQ_STRIP_OFSBOTTOM, x1, y1); //outline
+
+ glDisable(GL_BLEND);
+ }
+ if (seq->endofs) {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ get_seq_color3ubv(scene, seq, col);
+
+ if (seq->flag & SELECT) {
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.3, -40);
+ glColor4ub(col[0], col[1], col[2], 170);
+ }
+ else {
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.6, 0);
+ glColor4ub(col[0], col[1], col[2], 110);
+ }
+
+ glRectf(x2, y2, (float)(seq->start + seq->len), y2 + SEQ_STRIP_OFSBOTTOM);
+
+ if (seq->flag & SELECT) glColor4ub(col[0], col[1], col[2], 255);
+ else glColor4ub(col[0], col[1], col[2], 160);
+
+ fdrawbox(x2, y2, (float)(seq->start + seq->len), y2 + SEQ_STRIP_OFSBOTTOM); //outline
+
+ glDisable(GL_BLEND);
+ }
+ if (seq->startstill) {
+ get_seq_color3ubv(scene, seq, col);
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.75, 40);
+ glColor3ubv((GLubyte *)col);
+
+ draw_shadedstrip(seq, col, x1, y1, (float)(seq->start), y2);
+
+ /* feint pinstripes, helps see exactly which is extended and which isn't,
+ * especially when the extension is very small */
+ if (seq->flag & SELECT) UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 24);
+ else UI_GetColorPtrShade3ubv(col, col, -16);
+
+ glColor3ubv((GLubyte *)col);
+
+ for (a = y1; a < y2; a += pixely * 2.0f) {
+ fdrawline(x1, a, (float)(seq->start), a);
+ }
+ }
+ if (seq->endstill) {
+ get_seq_color3ubv(scene, seq, col);
+ UI_GetColorPtrBlendShade3ubv(col, blendcol, col, 0.75, 40);
+ glColor3ubv((GLubyte *)col);
+
+ draw_shadedstrip(seq, col, (float)(seq->start + seq->len), y1, x2, y2);
+
+ /* feint pinstripes, helps see exactly which is extended and which isn't,
+ * especially when the extension is very small */
+ if (seq->flag & SELECT) UI_GetColorPtrShade3ubv(col, col, 24);
+ else UI_GetColorPtrShade3ubv(col, col, -16);
+
+ glColor3ubv((GLubyte *)col);
+
+ for (a = y1; a < y2; a += pixely * 2.0f) {
+ fdrawline((float)(seq->start + seq->len), a, x2, a);
+ }
+ }
+ }
+ }
+}
+
- static int trim_add_sequences_rec(ListBase *seqbasep, Sequence **seq_array, bool *trim, int offset, bool do_trim) {
++static int slip_add_sequences_rec(ListBase *seqbasep, Sequence **seq_array, bool *trim, int offset, bool do_trim)
+ {
Sequence *seq;
int num_items = 0;
@@@ -1472,12 -1317,11 +1475,12 @@@ static int slip_count_sequences_rec(Lis
return trimmed_sequences;
}
- static int sequencer_trim_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+ static int sequencer_slip_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- TrimData *data;
+ SlipData *data;
Scene *scene = CTX_data_scene(C);
Editing *ed = BKE_sequencer_editing_get(scene, false);
+ ARegion *ar = CTX_wm_region(C);
float mouseloc[2];
int num_seq, i;
View2D *v2d = UI_view2d_fromcontext(C);
@@@ -1608,12 -1453,11 +1614,12 @@@ static int sequencer_slip_exec(bContex
else return OPERATOR_CANCELLED;
}
- static int sequencer_trim_modal(bContext *C, wmOperator *op, const wmEvent *event)
+ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *event)
{
Scene *scene = CTX_data_scene(C);
- TrimData *data = (TrimData *)op->customdata;
+ SlipData *data = (SlipData *)op->customdata;
ScrArea *sa = CTX_wm_area(C);
+ ARegion *ar = CTX_wm_region(C);
switch (event->type) {
case MOUSEMOVE:
@@@ -1735,9 -1578,11 +1743,10 @@@ void SEQUENCER_OT_slip(struct wmOperato
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
- RNA_def_int(ot->srna, "offset", 0, INT32_MIN, INT32_MAX, "Offset", "offset to the data of the strip", INT32_MIN, INT32_MAX);
+ RNA_def_int(ot->srna, "offset", 0, INT32_MIN, INT32_MAX, "Offset", "Offset to the data of the strip",
+ INT32_MIN, INT32_MAX);
}
-
/* mute operator */
static int sequencer_mute_exec(bContext *C, wmOperator *op)
{
More information about the Bf-blender-cvs
mailing list