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:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-03-26 17:48:45 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-03-26 17:48:45 +0400
commitcc1ebaf49640dfcb596869b3dc082785aeae9d58 (patch)
treedd363732d0dc0dcc0e5f26812fe6ba7fc401a6fe /source/blender/editors/space_sequencer
parent0a4d483559516e7f7089e95c2ec328aeed6ab7ba (diff)
Request from Mango team which will most probably expected by everyone:
Refresh Sequencer button will now update lengths of strips as well.
Diffstat (limited to 'source/blender/editors/space_sequencer')
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c94
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c2
2 files changed, 33 insertions, 63 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index bcc2c358529..935c17b1af0 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -1306,12 +1306,45 @@ void SEQUENCER_OT_reload(struct wmOperatorType *ot)
}
/* reload operator */
+static void sequencer_refresh_all_length(Scene *scene, Editing *ed)
+{
+ Sequence *seq;
+
+ SEQP_BEGIN(ed, seq) {
+ int changed = FALSE;
+
+ switch (seq->type) {
+ case SEQ_SCENE:
+ seq->len = seq->scene->r.efra - seq->scene->r.sfra + 1;
+ changed = TRUE;
+ break;
+ case SEQ_MOVIECLIP:
+ seq->len = BKE_movieclip_get_duration(seq->clip);
+ changed = TRUE;
+ break;
+ case SEQ_MOVIE:
+ seq->len = IMB_anim_get_duration(seq->anim, IMB_TC_RECORD_RUN);
+ changed = TRUE;
+ break;
+ }
+
+ if (changed) {
+ calc_sequence_disp(scene, seq);
+
+ if (seq_test_overlap(ed->seqbasep, seq))
+ shuffle_seq(ed->seqbasep, seq, scene);
+ }
+ }
+ SEQ_END
+}
+
static int sequencer_refresh_all_exec(bContext *C, wmOperator *UNUSED(op))
{
Scene *scene= CTX_data_scene(C);
Editing *ed= seq_give_editing(scene, FALSE);
free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+ sequencer_refresh_all_length(scene, ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
@@ -3070,64 +3103,3 @@ void SEQUENCER_OT_change_path(struct wmOperatorType *ot)
WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILEPATH|WM_FILESEL_FILES, FILE_DEFAULTDISPLAY);
}
-static int sequencer_update_strip_length_exec(bContext *C, wmOperator *UNUSED(op))
-{
- Scene *scene = CTX_data_scene(C);
- Editing *ed = seq_give_editing(scene, FALSE);
- Sequence *seq;
- int update = FALSE;
-
- SEQP_BEGIN(ed, seq) {
- if ((seq->flag & SELECT)) {
- int changed = FALSE;
-
- switch (seq->type) {
- case SEQ_SCENE:
- seq->len = seq->scene->r.efra - seq->scene->r.sfra + 1;
- changed = TRUE;
- break;
- case SEQ_MOVIECLIP:
- seq->len = BKE_movieclip_get_duration(seq->clip);
- changed = TRUE;
- break;
- case SEQ_MOVIE:
- seq->len = IMB_anim_get_duration(seq->anim, IMB_TC_RECORD_RUN);
- changed = TRUE;
- break;
- }
-
- if (changed) {
- calc_sequence_disp(scene, seq);
-
- if (seq_test_overlap(ed->seqbasep, seq))
- shuffle_seq(ed->seqbasep, seq, scene);
-
- update = TRUE;
- }
- }
- }
- SEQ_END
-
- if (update) {
- free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
-
- WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
- }
-
- return OPERATOR_FINISHED;
-}
-
-void SEQUENCER_OT_update_strip_length(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Update Strip Length";
- ot->idname = "SEQUENCER_OT_update_strip_length";
- ot->description = "Update actual content length for selected strips";
-
- /* api callbacks */
- ot->exec = sequencer_update_strip_length_exec;
- ot->poll = ED_operator_sequencer_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index 2e24a8be346..c0f1bd219f2 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -113,8 +113,6 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_copy);
WM_operatortype_append(SEQUENCER_OT_paste);
-
- WM_operatortype_append(SEQUENCER_OT_update_strip_length);
}