Revision: 46547
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46547
Author:   campbellbarton
Date:     2012-05-11 11:05:48 +0000 (Fri, 11 May 2012)
Log Message:
-----------
edits to recent sequencer api additions not to do scene lookups, the scene is 
already known.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_sequencer_api.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_sequencer_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_sequencer_api.c    
2012-05-11 10:25:12 UTC (rev 46546)
+++ trunk/blender/source/blender/makesrna/intern/rna_sequencer_api.c    
2012-05-11 11:05:48 UTC (rev 46547)
@@ -97,21 +97,12 @@
        return seq;
 }
 
-static Scene *editing_get_scene(Main *bmain, Editing *ed)
-{
-       Scene *scene;
-       for (scene = bmain->scene.first; scene; scene = scene->id.next)
-               if (scene->ed == ed)
-                       break;
-       return scene;
-}
-
-static Sequence *rna_Sequences_new_clip(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_clip(ID *id, Editing *ed, ReportList 
*reports,
                                         const char *name, MovieClip *clip, int 
channel,
                                         int start_frame)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
-       Scene *scene = editing_get_scene(bmain, ed);
 
        seq = alloc_generic_sequence(ed, name, start_frame, channel, 
SEQ_MOVIECLIP, clip->name);
        seq->clip = clip;
@@ -125,14 +116,13 @@
        return seq;
 }
 
-static Sequence *rna_Sequences_new_scene(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_scene(ID *id, Editing *ed, ReportList 
*reports,
                                          const char *name, Scene *sce_seq, int 
channel,
                                          int start_frame)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
 
-       Scene *scene = editing_get_scene(bmain, ed);
-
        seq = alloc_generic_sequence(ed, name, start_frame, channel, SEQ_SCENE, 
NULL);
        seq->scene = sce_seq;
        seq->len = sce_seq->r.efra - sce_seq->r.sfra + 1;
@@ -146,14 +136,13 @@
        return seq;
 }
 
-static Sequence *rna_Sequences_new_image(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_image(ID *id, Editing *ed, ReportList 
*reports,
                                          const char *name, const char *file, 
int channel,
                                          int start_frame)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
 
-       Scene *scene = editing_get_scene(bmain, ed);
-
        seq = alloc_generic_sequence(ed, name, start_frame, channel, SEQ_IMAGE, 
file);
        seq->len = 1;
 
@@ -171,13 +160,13 @@
        return seq;
 }
 
-static Sequence *rna_Sequences_new_movie(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_movie(ID *id, Editing *ed, ReportList 
*reports,
                                          const char *name, const char *file, 
int channel,
                                          int start_frame)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
 
-       Scene *scene;
        struct anim *an = openanim(file, IB_rect, 0);
 
        if (an == NULL) {
@@ -185,8 +174,6 @@
                return NULL;
        }
 
-       scene = editing_get_scene(bmain, ed);
-
        seq = alloc_generic_sequence(ed, name, start_frame, channel, SEQ_MOVIE, 
file);
        seq->anim = an;
        seq->anim_preseek = IMB_anim_get_preseek(an);
@@ -200,12 +187,12 @@
 }
 
 #ifdef WITH_AUDASPACE
-static Sequence *rna_Sequences_new_sound(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_sound(ID *id, Editing *ed, Main *bmain, 
ReportList *reports,
                                          const char *name, const char *file, 
int channel, int start_frame)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
 
-       Scene *scene = editing_get_scene(bmain, ed);
        bSound *sound = sound_new_file(bmain, file);
 
        if (sound == NULL || sound->playback_handle == NULL) {
@@ -226,29 +213,22 @@
        return seq;
 }
 #else /* WITH_AUDASPACE */
-static Sequence *rna_Sequences_new_sound(Editing *ed, Main *bmain, ReportList 
*reports,
-                                         const char *name, bSound *sound, int 
channel, int start_frame)
+static Sequence *rna_Sequences_new_sound(ID *UNUSED(id), Editing *UNUSED(ed), 
bMain *UNUSED(main), ReportList *UNUSED(reports),
+                                         const char *UNUSED(name), bSound 
*UNUSED(sound), int UNUSED(channel), int UNUSED(start_frame))
 {
-       (void)ed;
-       (void)bmain;
-       (void)C;
-       (void)name;
-       (void)sound;
-       channel = start_frame = 0;
-
        BKE_report(reports, RPT_ERROR, "Blender compiled without Audaspace 
support.");
        return NULL;
 }
 #endif /* WITH_AUDASPACE */
 
-static Sequence *rna_Sequences_new_effect(Editing *ed, Main *bmain, ReportList 
*reports,
+static Sequence *rna_Sequences_new_effect(ID *id, Editing *ed, ReportList 
*reports,
                                           const char *name, int type, int 
channel,
                                           int start_frame, int end_frame,
                                           Sequence *seq1, Sequence *seq2, 
Sequence *seq3)
 {
+       Scene *scene = (Scene *)id;
        Sequence *seq;
        struct SeqEffectHandle sh;
-       Scene *scene = editing_get_scene(bmain, ed);
 
        switch (get_sequence_effect_num_inputs(type)) {
                case 0:
@@ -309,36 +289,21 @@
        return seq;
 }
 
-static void rna_Sequences_remove(Editing *ed, Main *bmain, Sequence *seq)
+static void rna_Sequences_remove(ID *id, Editing *ed, Sequence *seq)
 {
-       Scene *scene;
+       Scene *scene = (Scene *)id;
 
-       for (scene = bmain->scene.first; scene; scene = scene->id.next)
-               if (scene->ed == ed)
-                       break;
-
        BLI_remlink(&ed->seqbase, seq);
        seq_free_sequence(scene, seq);
 
        WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene);
 }
 
-static StripElem *rna_SequenceElements_push(Sequence *seq, Main *bmain, const 
char *filename)
+static StripElem *rna_SequenceElements_push(ID *id, Sequence *seq, const char 
*filename)
 {
-       Sequence *seqn;
-       Scene *scene;
+       Scene *scene = (Scene *)id;
        StripElem *se;
 
-       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
-               Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
-               if (ed) {
-                       for (seqn = ed->seqbase.first; seqn; seqn = seqn->next) 
{
-                               if (seqn == seq)
-                                       break;
-                       }
-               }
-       }
-
        seq->strip->stripdata = se = MEM_reallocN(seq->strip->stripdata, 
sizeof(StripElem) * (seq->len + 1));
        se += seq->len;
        BLI_strncpy(se->name, filename, sizeof(se->name));
@@ -351,26 +316,15 @@
        return se;
 }
 
-static void rna_SequenceElements_pop(Sequence *seq, Main *bmain, ReportList 
*reports)
+static void rna_SequenceElements_pop(ID *id, Sequence *seq, ReportList 
*reports)
 {
-       Sequence *seqn;
-       Scene *scene;
+       Scene *scene = (Scene *)id;
 
        if (seq->len == 1) {
                BKE_report(reports, RPT_ERROR, "SequenceElements.pop: can not 
pop the last element");
                return;
        }
 
-       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
-               Editing *ed = BKE_sequencer_editing_get(scene, FALSE);
-               if (ed) {
-                       for (seqn = ed->seqbase.first; seqn; seqn = seqn->next) 
{
-                               if (seqn == seq)
-                                       break;
-                       }
-               }
-       }
-
        /* just chop off the end ...what could possibly go wrong? */
        seq->strip->stripdata = MEM_reallocN(seq->strip->stripdata, 
sizeof(StripElem) * (seq->len - 1));
        seq->len--;
@@ -414,7 +368,7 @@
        RNA_def_struct_ui_text(srna, "SequenceElements", "Collection of 
SequenceElement");
 
        func = RNA_def_function(srna, "push", "rna_SequenceElements_push");
-       RNA_def_function_flag(func, FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Push an image from 
ImageSequence.directory");
        parm = RNA_def_string(func, "filename", "File", 0, "", "Filepath to 
image");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -423,7 +377,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "pop", "rna_SequenceElements_pop");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Pop an image off the 
collection");
 }
 
@@ -459,7 +413,7 @@
        RNA_def_struct_ui_text(srna, "Sequences", "Collection of Sequences");
 
        func = RNA_def_function(srna, "new_clip", "rna_Sequences_new_clip");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie clip sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the 
sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -476,7 +430,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_scene", "rna_Sequences_new_scene");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new scene sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the 
sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -493,7 +447,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_image", "rna_Sequences_new_image");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new image sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the 
sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -510,7 +464,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_movie", "rna_Sequences_new_movie");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the 
sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -527,7 +481,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_sound", "rna_Sequences_new_sound");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID | 
FUNC_USE_MAIN);
        RNA_def_function_ui_description(func, "Add a new movie clip sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the 
sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -544,7 +498,7 @@
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_effect", "rna_Sequences_new_effect");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_MAIN);
+       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new effect sequence");

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to