Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_select.c')
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c464
1 files changed, 241 insertions, 223 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index 00c2caea258..b8fc66cd3c3 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -63,19 +63,22 @@
/* own include */
#include "sequencer_intern.h"
-static void *find_nearest_marker(int UNUSED(d1), int UNUSED(d2)) {return NULL;}
+static void *find_nearest_marker(int UNUSED(d1), int UNUSED(d2))
+{
+ return NULL;
+}
static void select_surrounding_handles(Scene *scene, Sequence *test) /* XXX BRING BACK */
{
Sequence *neighbor;
- neighbor=find_neighboring_sequence(scene, test, SEQ_SIDE_LEFT, -1);
+ neighbor = find_neighboring_sequence(scene, test, SEQ_SIDE_LEFT, -1);
if (neighbor) {
neighbor->flag |= SELECT;
recurs_sel_seq(neighbor);
neighbor->flag |= SEQ_RIGHTSEL;
}
- neighbor=find_neighboring_sequence(scene, test, SEQ_SIDE_RIGHT, -1);
+ neighbor = find_neighboring_sequence(scene, test, SEQ_SIDE_RIGHT, -1);
if (neighbor) {
neighbor->flag |= SELECT;
recurs_sel_seq(neighbor);
@@ -89,24 +92,24 @@ static void select_active_side(ListBase *seqbase, int sel_side, int channel, int
{
Sequence *seq;
- for (seq= seqbase->first; seq; seq=seq->next) {
- if (channel==seq->machine) {
- switch(sel_side) {
- case SEQ_SIDE_LEFT:
- if (frame > (seq->startdisp)) {
- seq->flag &= ~(SEQ_RIGHTSEL|SEQ_LEFTSEL);
- seq->flag |= SELECT;
- }
- break;
- case SEQ_SIDE_RIGHT:
- if (frame < (seq->startdisp)) {
- seq->flag &= ~(SEQ_RIGHTSEL|SEQ_LEFTSEL);
- seq->flag |= SELECT;
- }
- break;
- case SEQ_SIDE_BOTH:
- seq->flag &= ~(SEQ_RIGHTSEL|SEQ_LEFTSEL);
- break;
+ for (seq = seqbase->first; seq; seq = seq->next) {
+ if (channel == seq->machine) {
+ switch (sel_side) {
+ case SEQ_SIDE_LEFT:
+ if (frame > (seq->startdisp)) {
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ seq->flag |= SELECT;
+ }
+ break;
+ case SEQ_SIDE_RIGHT:
+ if (frame < (seq->startdisp)) {
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ seq->flag |= SELECT;
+ }
+ break;
+ case SEQ_SIDE_BOTH:
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ break;
}
}
}
@@ -117,28 +120,28 @@ static void select_linked_time(ListBase *seqbase, Sequence *seq_link)
{
Sequence *seq;
- for (seq= seqbase->first; seq; seq=seq->next) {
+ for (seq = seqbase->first; seq; seq = seq->next) {
if (seq_link->machine != seq->machine) {
- int left_match = (seq->startdisp == seq_link->startdisp) ? 1:0;
- int right_match = (seq->enddisp == seq_link->enddisp) ? 1:0;
+ int left_match = (seq->startdisp == seq_link->startdisp) ? 1 : 0;
+ int right_match = (seq->enddisp == seq_link->enddisp) ? 1 : 0;
if (left_match && right_match) {
/* a direct match, copy the selection settinhs */
- seq->flag &= ~(SELECT|SEQ_LEFTSEL|SEQ_RIGHTSEL);
- seq->flag |= seq_link->flag & (SELECT|SEQ_LEFTSEL|SEQ_RIGHTSEL);
+ seq->flag &= ~(SELECT | SEQ_LEFTSEL | SEQ_RIGHTSEL);
+ seq->flag |= seq_link->flag & (SELECT | SEQ_LEFTSEL | SEQ_RIGHTSEL);
recurs_sel_seq(seq);
}
else if (seq_link->flag & SELECT && (left_match || right_match)) {
/* clear for reselection */
- seq->flag &= ~(SEQ_LEFTSEL|SEQ_RIGHTSEL);
+ seq->flag &= ~(SEQ_LEFTSEL | SEQ_RIGHTSEL);
if (left_match && seq_link->flag & SEQ_LEFTSEL)
- seq->flag |= SELECT|SEQ_LEFTSEL;
+ seq->flag |= SELECT | SEQ_LEFTSEL;
if (right_match && seq_link->flag & SEQ_RIGHTSEL)
- seq->flag |= SELECT|SEQ_RIGHTSEL;
+ seq->flag |= SELECT | SEQ_RIGHTSEL;
recurs_sel_seq(seq);
}
@@ -149,9 +152,9 @@ static void select_linked_time(ListBase *seqbase, Sequence *seq_link)
#if 0 // BRING BACK
void select_surround_from_last(Scene *scene)
{
- Sequence *seq=get_last_seq(scene);
+ Sequence *seq = get_last_seq(scene);
- if (seq==NULL)
+ if (seq == NULL)
return;
select_surrounding_handles(scene, seq);
@@ -159,51 +162,51 @@ void select_surround_from_last(Scene *scene)
#endif
-static void UNUSED_FUNCTION(select_single_seq)(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
+static void UNUSED_FUNCTION(select_single_seq) (Scene * scene, Sequence * seq, int deselect_all) /* BRING BACK */
{
- Editing *ed= seq_give_editing(scene, FALSE);
+ Editing *ed = seq_give_editing(scene, FALSE);
if (deselect_all)
deselect_all_seq(scene);
seq_active_set(scene, seq);
- if ((seq->type==SEQ_IMAGE) || (seq->type==SEQ_MOVIE)) {
+ if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
if (seq->strip)
BLI_strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR);
}
- else if (seq->type==SEQ_SOUND) {
+ else if (seq->type == SEQ_SOUND) {
if (seq->strip)
BLI_strncpy(ed->act_sounddir, seq->strip->dir, FILE_MAXDIR);
}
- seq->flag|= SELECT;
+ seq->flag |= SELECT;
recurs_sel_seq(seq);
}
#if 0
static void select_neighbor_from_last(Scene *scene, int lr)
{
- Sequence *seq= seq_active_get(scene);
+ Sequence *seq = seq_active_get(scene);
Sequence *neighbor;
int change = 0;
if (seq) {
- neighbor=find_neighboring_sequence(scene, seq, lr, -1);
+ neighbor = find_neighboring_sequence(scene, seq, lr, -1);
if (neighbor) {
switch (lr) {
- case SEQ_SIDE_LEFT:
- neighbor->flag |= SELECT;
- recurs_sel_seq(neighbor);
- neighbor->flag |= SEQ_RIGHTSEL;
- seq->flag |= SEQ_LEFTSEL;
- break;
- case SEQ_SIDE_RIGHT:
- neighbor->flag |= SELECT;
- recurs_sel_seq(neighbor);
- neighbor->flag |= SEQ_LEFTSEL;
- seq->flag |= SEQ_RIGHTSEL;
- break;
+ case SEQ_SIDE_LEFT:
+ neighbor->flag |= SELECT;
+ recurs_sel_seq(neighbor);
+ neighbor->flag |= SEQ_RIGHTSEL;
+ seq->flag |= SEQ_LEFTSEL;
+ break;
+ case SEQ_SIDE_RIGHT:
+ neighbor->flag |= SELECT;
+ recurs_sel_seq(neighbor);
+ neighbor->flag |= SEQ_LEFTSEL;
+ seq->flag |= SEQ_RIGHTSEL;
+ break;
}
- seq->flag |= SELECT;
- change = 1;
+ seq->flag |= SELECT;
+ change = 1;
}
}
if (change) {
@@ -268,7 +271,7 @@ void SEQUENCER_OT_select_all(struct wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
WM_operator_properties_select_all(ot);
}
@@ -277,21 +280,21 @@ void SEQUENCER_OT_select_all(struct wmOperatorType *ot)
/* (de)select operator */
static int sequencer_select_inverse_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene= CTX_data_scene(C);
- Editing *ed= seq_give_editing(scene, FALSE);
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, FALSE);
Sequence *seq;
- for (seq= ed->seqbasep->first; seq; seq=seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
if (seq->flag & SELECT) {
seq->flag &= ~SEQ_ALLSEL;
}
else {
- seq->flag &= ~(SEQ_LEFTSEL+SEQ_RIGHTSEL);
+ seq->flag &= ~(SEQ_LEFTSEL + SEQ_RIGHTSEL);
seq->flag |= SELECT;
}
}
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -308,40 +311,40 @@ void SEQUENCER_OT_select_inverse(struct wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- View2D *v2d= UI_view2d_fromcontext(C);
- Scene *scene= CTX_data_scene(C);
- Editing *ed= seq_give_editing(scene, FALSE);
- short extend= RNA_boolean_get(op->ptr, "extend");
- short linked_handle= RNA_boolean_get(op->ptr, "linked_handle");
- short left_right= RNA_boolean_get(op->ptr, "left_right");
- short linked_time= RNA_boolean_get(op->ptr, "linked_time");
+ View2D *v2d = UI_view2d_fromcontext(C);
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, FALSE);
+ short extend = RNA_boolean_get(op->ptr, "extend");
+ short linked_handle = RNA_boolean_get(op->ptr, "linked_handle");
+ short left_right = RNA_boolean_get(op->ptr, "left_right");
+ short linked_time = RNA_boolean_get(op->ptr, "linked_time");
- Sequence *seq,*neighbor, *act_orig;
- int hand,sel_side;
+ Sequence *seq, *neighbor, *act_orig;
+ int hand, sel_side;
TimeMarker *marker;
- if (ed==NULL)
+ if (ed == NULL)
return OPERATOR_CANCELLED;
- marker=find_nearest_marker(SCE_MARKERS, 1); //XXX - dummy function for now
+ marker = find_nearest_marker(SCE_MARKERS, 1); //XXX - dummy function for now
- seq= find_nearest_seq(scene, v2d, &hand, event->mval);
+ seq = find_nearest_seq(scene, v2d, &hand, event->mval);
// XXX - not nice, Ctrl+RMB needs to do left_right only when not over a strip
if (seq && linked_time && left_right)
- left_right= FALSE;
+ left_right = FALSE;
if (marker) {
int oldflag;
/* select timeline marker */
if (extend) {
- oldflag= marker->flag;
+ oldflag = marker->flag;
if (oldflag & SELECT)
marker->flag &= ~SELECT;
else
@@ -359,7 +362,8 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
deselect_all_seq(scene);
UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, NULL);
- SEQP_BEGIN(ed, seq) {
+ SEQP_BEGIN(ed, seq)
+ {
if (x < CFRA) {
if (seq->enddisp < CFRA) {
seq->flag |= SELECT;
@@ -376,14 +380,14 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
SEQ_END
{
- SpaceSeq *sseq= CTX_wm_space_seq(C);
+ SpaceSeq *sseq = CTX_wm_space_seq(C);
if (sseq && sseq->flag & SEQ_MARKER_TRANS) {
TimeMarker *tmarker;
- for (tmarker= scene->markers.first; tmarker; tmarker= tmarker->next) {
- if ( ((x < CFRA) && tmarker->frame < CFRA) ||
- ((x >= CFRA) && tmarker->frame >= CFRA)
- ) {
+ for (tmarker = scene->markers.first; tmarker; tmarker = tmarker->next) {
+ if (((x < CFRA) && tmarker->frame < CFRA) ||
+ ((x >= CFRA) && tmarker->frame >= CFRA))
+ {
tmarker->flag |= SELECT;
}
else {
@@ -396,9 +400,9 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
else {
// seq= find_nearest_seq(scene, v2d, &hand, mval);
- act_orig= ed->act_seq;
+ act_orig = ed->act_seq;
- if (extend == 0 && linked_handle==0)
+ if (extend == 0 && linked_handle == 0)
deselect_all_seq(scene);
if (seq) {
@@ -416,29 +420,29 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
}
- if (extend && (seq->flag & SELECT) && ed->act_seq == act_orig ) {
- switch(hand) {
- case SEQ_SIDE_NONE:
- if (linked_handle==0)
- seq->flag &= ~SEQ_ALLSEL;
- break;
- case SEQ_SIDE_LEFT:
- seq->flag ^= SEQ_LEFTSEL;
- break;
- case SEQ_SIDE_RIGHT:
- seq->flag ^= SEQ_RIGHTSEL;
- break;
+ if (extend && (seq->flag & SELECT) && ed->act_seq == act_orig) {
+ switch (hand) {
+ case SEQ_SIDE_NONE:
+ if (linked_handle == 0)
+ seq->flag &= ~SEQ_ALLSEL;
+ break;
+ case SEQ_SIDE_LEFT:
+ seq->flag ^= SEQ_LEFTSEL;
+ break;
+ case SEQ_SIDE_RIGHT:
+ seq->flag ^= SEQ_RIGHTSEL;
+ break;
}
}
else {
seq->flag |= SELECT;
- if (hand==SEQ_SIDE_LEFT) seq->flag |= SEQ_LEFTSEL;
- if (hand==SEQ_SIDE_RIGHT) seq->flag |= SEQ_RIGHTSEL;
+ if (hand == SEQ_SIDE_LEFT) seq->flag |= SEQ_LEFTSEL;
+ if (hand == SEQ_SIDE_RIGHT) seq->flag |= SEQ_RIGHTSEL;
}
/* On Alt selection, select the strip and bordering handles */
if (linked_handle && !ELEM(hand, SEQ_SIDE_LEFT, SEQ_SIDE_RIGHT)) {
- if (extend==0) deselect_all_seq(scene);
+ if (extend == 0) deselect_all_seq(scene);
seq->flag |= SELECT;
select_surrounding_handles(scene, seq);
}
@@ -448,48 +452,48 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
* Second click selects all strips in that direction.
* If there are no adjacent strips, it just selects all in that direction.
*/
- sel_side= hand;
- neighbor=find_neighboring_sequence(scene, seq, sel_side, -1);
+ sel_side = hand;
+ neighbor = find_neighboring_sequence(scene, seq, sel_side, -1);
if (neighbor) {
switch (sel_side) {
- case SEQ_SIDE_LEFT:
- if ((seq->flag & SEQ_LEFTSEL) && (neighbor->flag & SEQ_RIGHTSEL)) {
- if (extend==0) deselect_all_seq(scene);
- seq->flag |= SELECT;
-
- select_active_side(ed->seqbasep, SEQ_SIDE_LEFT, seq->machine, seq->startdisp);
- }
- else {
- if (extend==0) deselect_all_seq(scene);
- seq->flag |= SELECT;
-
- neighbor->flag |= SELECT;
- recurs_sel_seq(neighbor);
- neighbor->flag |= SEQ_RIGHTSEL;
- seq->flag |= SEQ_LEFTSEL;
- }
- break;
- case SEQ_SIDE_RIGHT:
- if ((seq->flag & SEQ_RIGHTSEL) && (neighbor->flag & SEQ_LEFTSEL)) {
- if (extend==0) deselect_all_seq(scene);
- seq->flag |= SELECT;
-
- select_active_side(ed->seqbasep, SEQ_SIDE_RIGHT, seq->machine, seq->startdisp);
- }
- else {
- if (extend==0) deselect_all_seq(scene);
- seq->flag |= SELECT;
-
- neighbor->flag |= SELECT;
- recurs_sel_seq(neighbor);
- neighbor->flag |= SEQ_LEFTSEL;
- seq->flag |= SEQ_RIGHTSEL;
- }
- break;
+ case SEQ_SIDE_LEFT:
+ if ((seq->flag & SEQ_LEFTSEL) && (neighbor->flag & SEQ_RIGHTSEL)) {
+ if (extend == 0) deselect_all_seq(scene);
+ seq->flag |= SELECT;
+
+ select_active_side(ed->seqbasep, SEQ_SIDE_LEFT, seq->machine, seq->startdisp);
+ }
+ else {
+ if (extend == 0) deselect_all_seq(scene);
+ seq->flag |= SELECT;
+
+ neighbor->flag |= SELECT;
+ recurs_sel_seq(neighbor);
+ neighbor->flag |= SEQ_RIGHTSEL;
+ seq->flag |= SEQ_LEFTSEL;
+ }
+ break;
+ case SEQ_SIDE_RIGHT:
+ if ((seq->flag & SEQ_RIGHTSEL) && (neighbor->flag & SEQ_LEFTSEL)) {
+ if (extend == 0) deselect_all_seq(scene);
+ seq->flag |= SELECT;
+
+ select_active_side(ed->seqbasep, SEQ_SIDE_RIGHT, seq->machine, seq->startdisp);
+ }
+ else {
+ if (extend == 0) deselect_all_seq(scene);
+ seq->flag |= SELECT;
+
+ neighbor->flag |= SELECT;
+ recurs_sel_seq(neighbor);
+ neighbor->flag |= SEQ_LEFTSEL;
+ seq->flag |= SEQ_RIGHTSEL;
+ }
+ break;
}
}
else {
- if (extend==0) deselect_all_seq(scene);
+ if (extend == 0) deselect_all_seq(scene);
select_active_side(ed->seqbasep, sel_side, seq->machine, seq->startdisp);
}
}
@@ -506,12 +510,12 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
if (marker) {
int mval[2], xo, yo;
// getmouseco_areawin(mval);
- xo= mval[0];
- yo= mval[1];
+ xo = mval[0];
+ yo = mval[1];
while (get_mbut()) {
// getmouseco_areawin(mval);
- if (abs(mval[0]-xo)+abs(mval[1]-yo) > 4) {
+ if (abs(mval[0] - xo) + abs(mval[1] - yo) > 4) {
transform_markers('g', 0);
return;
}
@@ -519,10 +523,10 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
}
#endif
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
/* allowing tweaks */
- return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH;
+ return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
}
void SEQUENCER_OT_select(wmOperatorType *ot)
@@ -537,7 +541,7 @@ void SEQUENCER_OT_select(wmOperatorType *ot)
ot->poll = ED_operator_sequencer_active;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend the selection");
@@ -553,12 +557,12 @@ void SEQUENCER_OT_select(wmOperatorType *ot)
/* run recursively to select linked */
static int select_more_less_seq__internal(Scene *scene, int sel, int linked)
{
- Editing *ed= seq_give_editing(scene, FALSE);
+ Editing *ed = seq_give_editing(scene, FALSE);
Sequence *seq, *neighbor;
- int change=0;
+ int change = 0;
int isel;
- if (ed==NULL) return 0;
+ if (ed == NULL) return 0;
if (sel) {
sel = SELECT;
@@ -571,27 +575,27 @@ static int select_more_less_seq__internal(Scene *scene, int sel, int linked)
if (!linked) {
/* if not linked we only want to touch each seq once, newseq */
- for (seq= ed->seqbasep->first; seq; seq= seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
seq->tmp = NULL;
}
}
- for (seq= ed->seqbasep->first; seq; seq= seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
if ((int)(seq->flag & SELECT) == sel) {
- if ((linked==0 && seq->tmp)==0) {
+ if ((linked == 0 && seq->tmp) == 0) {
/* only get unselected nabours */
neighbor = find_neighboring_sequence(scene, seq, SEQ_SIDE_LEFT, isel);
if (neighbor) {
- if (sel) {neighbor->flag |= SELECT; recurs_sel_seq(neighbor);}
- else neighbor->flag &= ~SELECT;
- if (linked==0) neighbor->tmp = (Sequence *)1;
+ if (sel) {neighbor->flag |= SELECT; recurs_sel_seq(neighbor); }
+ else neighbor->flag &= ~SELECT;
+ if (linked == 0) neighbor->tmp = (Sequence *)1;
change = 1;
}
neighbor = find_neighboring_sequence(scene, seq, SEQ_SIDE_RIGHT, isel);
if (neighbor) {
- if (sel) {neighbor->flag |= SELECT; recurs_sel_seq(neighbor);}
- else neighbor->flag &= ~SELECT;
- if (linked==0) neighbor->tmp = (void *)1;
+ if (sel) {neighbor->flag |= SELECT; recurs_sel_seq(neighbor); }
+ else neighbor->flag &= ~SELECT;
+ if (linked == 0) neighbor->tmp = (void *)1;
change = 1;
}
}
@@ -606,12 +610,12 @@ static int select_more_less_seq__internal(Scene *scene, int sel, int linked)
/* select more operator */
static int sequencer_select_more_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene= CTX_data_scene(C);
+ Scene *scene = CTX_data_scene(C);
if (!select_more_less_seq__internal(scene, 0, 0))
return OPERATOR_CANCELLED;
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -628,7 +632,7 @@ void SEQUENCER_OT_select_more(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
}
@@ -637,12 +641,12 @@ void SEQUENCER_OT_select_more(wmOperatorType *ot)
/* select less operator */
static int sequencer_select_less_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene= CTX_data_scene(C);
+ Scene *scene = CTX_data_scene(C);
if (!select_more_less_seq__internal(scene, 1, 0))
return OPERATOR_CANCELLED;
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -659,7 +663,7 @@ void SEQUENCER_OT_select_less(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
}
@@ -668,20 +672,20 @@ void SEQUENCER_OT_select_less(wmOperatorType *ot)
/* select pick linked operator (uses the mouse) */
static int sequencer_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- Scene *scene= CTX_data_scene(C);
- View2D *v2d= UI_view2d_fromcontext(C);
+ Scene *scene = CTX_data_scene(C);
+ View2D *v2d = UI_view2d_fromcontext(C);
- short extend= RNA_boolean_get(op->ptr, "extend");
+ short extend = RNA_boolean_get(op->ptr, "extend");
Sequence *mouse_seq;
int selected, hand;
/* this works like UV, not mesh */
- mouse_seq= find_nearest_seq(scene, v2d, &hand, event->mval);
+ mouse_seq = find_nearest_seq(scene, v2d, &hand, event->mval);
if (!mouse_seq)
- return OPERATOR_FINISHED; /* user error as with mesh?? */
+ return OPERATOR_FINISHED; /* user error as with mesh?? */
- if (extend==0)
+ if (extend == 0)
deselect_all_seq(scene);
mouse_seq->flag |= SELECT;
@@ -692,7 +696,7 @@ static int sequencer_select_linked_pick_invoke(bContext *C, wmOperator *op, wmEv
selected = select_more_less_seq__internal(scene, 1, 1);
}
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -709,7 +713,7 @@ void SEQUENCER_OT_select_linked_pick(wmOperatorType *ot)
ot->poll = ED_operator_sequencer_active;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend the selection");
@@ -719,7 +723,7 @@ void SEQUENCER_OT_select_linked_pick(wmOperatorType *ot)
/* select linked operator */
static int sequencer_select_linked_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene= CTX_data_scene(C);
+ Scene *scene = CTX_data_scene(C);
int selected;
selected = 1;
@@ -727,7 +731,7 @@ static int sequencer_select_linked_exec(bContext *C, wmOperator *UNUSED(op))
selected = select_more_less_seq__internal(scene, 1, 1);
}
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -744,7 +748,7 @@ void SEQUENCER_OT_select_linked(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
}
@@ -753,31 +757,31 @@ void SEQUENCER_OT_select_linked(wmOperatorType *ot)
/* select handles operator */
static int sequencer_select_handles_exec(bContext *C, wmOperator *op)
{
- Scene *scene= CTX_data_scene(C);
- Editing *ed= seq_give_editing(scene, 0);
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, 0);
Sequence *seq;
- int sel_side= RNA_enum_get(op->ptr, "side");
+ int sel_side = RNA_enum_get(op->ptr, "side");
- for (seq= ed->seqbasep->first; seq; seq=seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
if (seq->flag & SELECT) {
- switch(sel_side) {
- case SEQ_SIDE_LEFT:
- seq->flag &= ~SEQ_RIGHTSEL;
- seq->flag |= SEQ_LEFTSEL;
- break;
- case SEQ_SIDE_RIGHT:
- seq->flag &= ~SEQ_LEFTSEL;
- seq->flag |= SEQ_RIGHTSEL;
- break;
- case SEQ_SIDE_BOTH:
- seq->flag |= SEQ_LEFTSEL+SEQ_RIGHTSEL;
- break;
+ switch (sel_side) {
+ case SEQ_SIDE_LEFT:
+ seq->flag &= ~SEQ_RIGHTSEL;
+ seq->flag |= SEQ_LEFTSEL;
+ break;
+ case SEQ_SIDE_RIGHT:
+ seq->flag &= ~SEQ_LEFTSEL;
+ seq->flag |= SEQ_RIGHTSEL;
+ break;
+ case SEQ_SIDE_BOTH:
+ seq->flag |= SEQ_LEFTSEL + SEQ_RIGHTSEL;
+ break;
}
}
}
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -794,7 +798,7 @@ void SEQUENCER_OT_select_handles(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_enum(ot->srna, "side", prop_side_types, SEQ_SIDE_BOTH, "Side", "The side of the handle that is selected");
@@ -803,18 +807,18 @@ void SEQUENCER_OT_select_handles(wmOperatorType *ot)
/* select side operator */
static int sequencer_select_active_side_exec(bContext *C, wmOperator *op)
{
- Scene *scene= CTX_data_scene(C);
- Editing *ed= seq_give_editing(scene, 0);
- Sequence *seq_act= seq_active_get(scene);
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, 0);
+ Sequence *seq_act = seq_active_get(scene);
- if (ed==NULL || seq_act==NULL)
+ if (ed == NULL || seq_act == NULL)
return OPERATOR_CANCELLED;
seq_act->flag |= SELECT;
select_active_side(ed->seqbasep, RNA_enum_get(op->ptr, "side"), seq_act->machine, seq_act->startdisp);
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -831,7 +835,7 @@ void SEQUENCER_OT_select_active_side(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_enum(ot->srna, "side", prop_side_types, SEQ_SIDE_BOTH, "Side", "The side of the handle that is selected");
@@ -841,18 +845,18 @@ void SEQUENCER_OT_select_active_side(wmOperatorType *ot)
/* borderselect operator */
static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
{
- Scene *scene= CTX_data_scene(C);
- Editing *ed= seq_give_editing(scene, FALSE);
- View2D *v2d= UI_view2d_fromcontext(C);
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, FALSE);
+ View2D *v2d = UI_view2d_fromcontext(C);
Sequence *seq;
rcti rect;
rctf rectf, rq;
- short selecting = (RNA_int_get(op->ptr, "gesture_mode")==GESTURE_MODAL_SELECT);
+ short selecting = (RNA_int_get(op->ptr, "gesture_mode") == GESTURE_MODAL_SELECT);
int extend = RNA_boolean_get(op->ptr, "extend");
int mval[2];
- if (ed==NULL)
+ if (ed == NULL)
return OPERATOR_CANCELLED;
rect.xmin = RNA_int_get(op->ptr, "xmin");
@@ -860,19 +864,19 @@ static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
rect.xmax = RNA_int_get(op->ptr, "xmax");
rect.ymax = RNA_int_get(op->ptr, "ymax");
- mval[0]= rect.xmin;
- mval[1]= rect.ymin;
+ mval[0] = rect.xmin;
+ mval[1] = rect.ymin;
UI_view2d_region_to_view(v2d, mval[0], mval[1], &rectf.xmin, &rectf.ymin);
- mval[0]= rect.xmax;
- mval[1]= rect.ymax;
+ mval[0] = rect.xmax;
+ mval[1] = rect.ymax;
UI_view2d_region_to_view(v2d, mval[0], mval[1], &rectf.xmax, &rectf.ymax);
- for (seq= ed->seqbasep->first; seq; seq= seq->next) {
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
seq_rectf(seq, &rq);
if (BLI_isect_rctf(&rq, &rectf, NULL)) {
- if (selecting) seq->flag |= SELECT;
- else seq->flag &= ~SEQ_ALLSEL;
+ if (selecting) seq->flag |= SELECT;
+ else seq->flag &= ~SEQ_ALLSEL;
recurs_sel_seq(seq);
}
else if (!extend) {
@@ -881,7 +885,7 @@ static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
}
}
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -904,7 +908,7 @@ void SEQUENCER_OT_select_border(wmOperatorType *ot)
ot->poll = ED_operator_sequencer_active;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* rna */
WM_operator_properties_gesture_border(ot, TRUE);
@@ -916,11 +920,11 @@ static EnumPropertyItem sequencer_prop_select_grouped_types[] = {
{1, "TYPE", 0, "Type", "Shared strip type"},
{2, "TYPE_BASIC", 0, "Global Type", "All strips of same basic type (Graphical or Sound)"},
{3, "TYPE_EFFECT", 0, "Effect Type",
- "Shared strip effect type (if active strip is not an effect one, select all non-effect strips)"},
+ "Shared strip effect type (if active strip is not an effect one, select all non-effect strips)"},
{4, "DATA", 0, "Data", "Shared data (scene, image, sound, etc.)"},
{5, "EFFECT", 0, "Effect", "Shared effects"},
{6, "EFFECT_LINK", 0, "Effect/Linked",
- "Other strips affected by the active one (sharing some time, and below or effect-assigned)"},
+ "Other strips affected by the active one (sharing some time, and below or effect-assigned)"},
{7, "OVERLAP", 0, "Overlap", "Overlapping time"},
{0, NULL, 0, NULL, NULL}
};
@@ -929,7 +933,7 @@ static EnumPropertyItem sequencer_prop_select_grouped_types[] = {
#define SEQ_IS_EFFECT(_seq) (_seq->type & SEQ_EFFECT)
-#define SEQ_USE_DATA(_seq) (_seq->type == SEQ_SCENE || SEQ_HAS_PATH(_seq))
+#define SEQ_USE_DATA(_seq) (ELEM(_seq->type, SEQ_SCENE, SEQ_MOVIECLIP) || SEQ_HAS_PATH(_seq))
static short select_grouped_type(Editing *ed, Sequence *actseq)
{
@@ -985,7 +989,6 @@ static short select_grouped_data(Editing *ed, Sequence *actseq)
{
Sequence *seq;
short changed = FALSE;
- Scene *sce = actseq->scene;
char *dir = actseq->strip ? actseq->strip->dir : NULL;
if (!SEQ_USE_DATA(actseq))
@@ -1000,7 +1003,8 @@ static short select_grouped_data(Editing *ed, Sequence *actseq)
}
SEQ_END;
}
- else {
+ else if (actseq->type == SEQ_SCENE) {
+ Scene *sce = actseq->scene;
SEQP_BEGIN(ed, seq) {
if (seq->type == SEQ_SCENE && seq->scene == sce) {
seq->flag |= SELECT;
@@ -1009,6 +1013,16 @@ static short select_grouped_data(Editing *ed, Sequence *actseq)
}
SEQ_END;
}
+ else if (actseq->type == SEQ_MOVIECLIP) {
+ MovieClip *clip = actseq->clip;
+ SEQP_BEGIN(ed, seq) {
+ if (seq->type == SEQ_MOVIECLIP && seq->clip == clip) {
+ seq->flag |= SELECT;
+ changed = TRUE;
+ }
+ }
+ SEQ_END;
+ }
return changed;
}
@@ -1017,7 +1031,7 @@ static short select_grouped_effect(Editing *ed, Sequence *actseq)
{
Sequence *seq;
short changed = FALSE;
- short effects[SEQ_EFFECT_MAX+1];
+ short effects[SEQ_EFFECT_MAX + 1];
int i;
for (i = 0; i <= SEQ_EFFECT_MAX; i++)
@@ -1074,7 +1088,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq)
}
SEQ_END;
- actseq->tmp= SET_INT_IN_POINTER(TRUE);
+ actseq->tmp = SET_INT_IN_POINTER(TRUE);
for (seq_begin(ed, &iter, 1); iter.valid; seq_next(&iter)) {
seq = iter.seq;
@@ -1096,7 +1110,7 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq)
if (enddisp < seq->enddisp) enddisp = seq->enddisp;
if (machine < seq->machine) machine = seq->machine;
- seq->tmp= SET_INT_IN_POINTER(TRUE);
+ seq->tmp = SET_INT_IN_POINTER(TRUE);
seq->flag |= SELECT;
changed = TRUE;
@@ -1117,6 +1131,10 @@ static short select_grouped_effect_link(Editing *ed, Sequence *actseq)
return changed;
}
+#undef SEQ_IS_SOUND
+#undef SEQ_IS_EFFECT
+#undef SEQ_USE_DATA
+
static int sequencer_select_grouped_exec(bContext *C, wmOperator *op)
{
Scene *scene = CTX_data_scene(C);
@@ -1140,16 +1158,16 @@ static int sequencer_select_grouped_exec(bContext *C, wmOperator *op)
SEQ_END;
}
- if (type==1) changed |= select_grouped_type(ed, actseq);
- else if (type==2) changed |= select_grouped_type_basic(ed, actseq);
- else if (type==3) changed |= select_grouped_type_effect(ed, actseq);
- else if (type==4) changed |= select_grouped_data(ed, actseq);
- else if (type==5) changed |= select_grouped_effect(ed, actseq);
- else if (type==6) changed |= select_grouped_effect_link(ed, actseq);
- else if (type==7) changed |= select_grouped_time_overlap(ed, actseq);
+ if (type == 1) changed |= select_grouped_type(ed, actseq);
+ else if (type == 2) changed |= select_grouped_type_basic(ed, actseq);
+ else if (type == 3) changed |= select_grouped_type_effect(ed, actseq);
+ else if (type == 4) changed |= select_grouped_data(ed, actseq);
+ else if (type == 5) changed |= select_grouped_effect(ed, actseq);
+ else if (type == 6) changed |= select_grouped_effect_link(ed, actseq);
+ else if (type == 7) changed |= select_grouped_time_overlap(ed, actseq);
if (changed) {
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER|NA_SELECTED, scene);
+ WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
return OPERATOR_FINISHED;
}
@@ -1169,7 +1187,7 @@ void SEQUENCER_OT_select_grouped(wmOperatorType *ot)
ot->poll = sequencer_edit_poll;
/* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
RNA_def_boolean(ot->srna, "extend", FALSE, "Extend", "Extend selection instead of deselecting everything first");