From 0738ae7688d19b471b7cde9cc631096a6162b3fc Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 Aug 2010 14:23:44 +0000 Subject: 2.5: more removal of G.main. --- source/blender/blenkernel/BKE_pointcache.h | 2 +- source/blender/blenkernel/BKE_sequencer.h | 20 +++--- source/blender/blenkernel/intern/depsgraph.c | 2 +- source/blender/blenkernel/intern/group.c | 9 +-- source/blender/blenkernel/intern/material.c | 17 ++--- source/blender/blenkernel/intern/mesh.c | 10 +-- source/blender/blenkernel/intern/object.c | 34 +++++----- source/blender/blenkernel/intern/pointcache.c | 4 +- source/blender/blenkernel/intern/scene.c | 5 +- source/blender/blenkernel/intern/seqeffects.c | 31 ++++----- source/blender/blenkernel/intern/sequencer.c | 76 +++++++++++----------- source/blender/blenkernel/intern/text.c | 6 +- source/blender/blenkernel/intern/texture.c | 31 +++++---- source/blender/blenkernel/intern/world.c | 8 ++- .../editors/space_sequencer/sequencer_draw.c | 35 ++-------- .../editors/space_sequencer/sequencer_edit.c | 24 +++---- source/blender/makesrna/intern/rna_sequencer.c | 7 +- source/blender/render/intern/source/pipeline.c | 2 +- 18 files changed, 162 insertions(+), 161 deletions(-) diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h index 63f36a5f103..6b390b2b0cf 100644 --- a/source/blender/blenkernel/BKE_pointcache.h +++ b/source/blender/blenkernel/BKE_pointcache.h @@ -275,7 +275,7 @@ int BKE_ptcache_read_cache(PTCacheID *pid, float cfra, float frs_sec); int BKE_ptcache_write_cache(PTCacheID *pid, int cfra); /****************** Continue physics ***************/ -void BKE_ptcache_set_continue_physics(struct Scene *scene, int enable); +void BKE_ptcache_set_continue_physics(struct Main *bmain, struct Scene *scene, int enable); int BKE_ptcache_get_continue_physics(void); /******************* Allocate & free ***************/ diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index b544b3461cd..a9fb45c6e14 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -31,13 +31,14 @@ #ifndef BKE_SEQUENCER_H #define BKE_SEQUENCER_H +struct bContext; struct Editing; +struct ImBuf; +struct Main; +struct Scene; struct Sequence; struct Strip; struct StripElem; -struct ImBuf; -struct Scene; -struct bContext; #define MAXSEQ 32 @@ -123,6 +124,7 @@ struct SeqEffectHandle { (mixed cases are handled one layer up...) */ struct ImBuf* (*execute)( + struct Main *bmain, struct Scene *scene, struct Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, @@ -146,15 +148,15 @@ void seq_free_editing(struct Scene *scene); void seq_free_clipboard(void); struct Editing *seq_give_editing(struct Scene *scene, int alloc); char *give_seqname(struct Sequence *seq); -struct ImBuf *give_ibuf_seq(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size); -struct ImBuf *give_ibuf_seq_threaded(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size); -struct ImBuf *give_ibuf_seq_direct(struct Scene *scene, int rectx, int recty, int cfra, int render_size, struct Sequence *seq); -struct ImBuf *give_ibuf_seqbase(struct Scene *scene, int rectx, int recty, int cfra, int chan_shown, int render_size, struct ListBase *seqbasep); +struct ImBuf *give_ibuf_seq(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size); +struct ImBuf *give_ibuf_seq_threaded(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size); +struct ImBuf *give_ibuf_seq_direct(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int render_size, struct Sequence *seq); +struct ImBuf *give_ibuf_seqbase(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chan_shown, int render_size, struct ListBase *seqbasep); void give_ibuf_prefetch_request(int rectx, int recty, int cfra, int chanshown, int render_size); void calc_sequence(struct Scene *scene, struct Sequence *seq); void calc_sequence_disp(struct Scene *scene, struct Sequence *seq); void new_tstripdata(struct Sequence *seq); -void reload_sequence_new_file(struct Scene *scene, struct Sequence * seq, int lock_range); +void reload_sequence_new_file(struct Main *bmain, struct Scene *scene, struct Sequence * seq, int lock_range); void sort_seq(struct Scene *scene); void build_seqar_cb(struct ListBase *seqbase, struct Sequence ***seqar, int *totseq, int (*test_func)(struct Sequence * seq)); @@ -227,7 +229,7 @@ void seqbase_sound_reload(struct Scene *scene, ListBase *seqbase); void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq); void seqbase_dupli_recursive(struct Scene *scene, ListBase *nseqbase, ListBase *seqbase, int dupe_flag); -void clear_scene_in_allseqs(struct Scene *sce); +void clear_scene_in_allseqs(struct Main *bmain, struct Scene *sce); struct Sequence *get_seq_by_name(struct ListBase *seqbase, const char *name, int recursive); diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 1f8360324d5..d498b73be7e 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2180,7 +2180,7 @@ void DAG_scene_update_flags(Main *bmain, Scene *scene, unsigned int lay) dag_object_time_update_flags(scene->camera); /* and store the info in groupobject */ - for(group= G.main->group.first; group; group= group->id.next) { + for(group= bmain->group.first; group; group= group->id.next) { if(group->id.flag & LIB_DOIT) { for(go= group->gobject.first; go; go= go->next) { go->recalc= go->ob->recalc; diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c index 6377a6f6ccd..bdf203119c3 100644 --- a/source/blender/blenkernel/intern/group.c +++ b/source/blender/blenkernel/intern/group.c @@ -69,21 +69,22 @@ void free_group_objects(Group *group) void unlink_group(Group *group) { + Main *bmain= G.main; Material *ma; Object *ob; Scene *sce; SceneRenderLayer *srl; ParticleSystem *psys; - for(ma= G.main->mat.first; ma; ma= ma->id.next) { + for(ma= bmain->mat.first; ma; ma= ma->id.next) { if(ma->group==group) ma->group= NULL; } - for(ma= G.main->mat.first; ma; ma= ma->id.next) { + for(ma= bmain->mat.first; ma; ma= ma->id.next) { if(ma->group==group) ma->group= NULL; } - for (sce= G.main->scene.first; sce; sce= sce->id.next) { + for (sce= bmain->scene.first; sce; sce= sce->id.next) { Base *base= sce->base.first; /* ensure objects are not in this group */ @@ -100,7 +101,7 @@ void unlink_group(Group *group) } } - for(ob= G.main->object.first; ob; ob= ob->id.next) { + for(ob= bmain->object.first; ob; ob= ob->id.next) { bActionStrip *strip; if(ob->dup_group==group) { diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 6b79a7b4d62..724536048ce 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -236,6 +236,7 @@ Material *copy_material(Material *ma) void make_local_material(Material *ma) { + Main *bmain= G.main; Object *ob; Mesh *me; Curve *cu; @@ -261,7 +262,7 @@ void make_local_material(Material *ma) } /* test objects */ - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->mat) { for(a=0; atotcol; a++) { @@ -274,7 +275,7 @@ void make_local_material(Material *ma) ob= ob->id.next; } /* test meshes */ - me= G.main->mesh.first; + me= bmain->mesh.first; while(me) { if(me->mat) { for(a=0; atotcol; a++) { @@ -287,7 +288,7 @@ void make_local_material(Material *ma) me= me->id.next; } /* test curves */ - cu= G.main->curve.first; + cu= bmain->curve.first; while(cu) { if(cu->mat) { for(a=0; atotcol; a++) { @@ -300,7 +301,7 @@ void make_local_material(Material *ma) cu= cu->id.next; } /* test mballs */ - mb= G.main->mball.first; + mb= bmain->mball.first; while(mb) { if(mb->mat) { for(a=0; atotcol; a++) { @@ -329,7 +330,7 @@ void make_local_material(Material *ma) man->id.us= 0; /* do objects */ - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->mat) { for(a=0; atotcol; a++) { @@ -345,7 +346,7 @@ void make_local_material(Material *ma) ob= ob->id.next; } /* do meshes */ - me= G.main->mesh.first; + me= bmain->mesh.first; while(me) { if(me->mat) { for(a=0; atotcol; a++) { @@ -361,7 +362,7 @@ void make_local_material(Material *ma) me= me->id.next; } /* do curves */ - cu= G.main->curve.first; + cu= bmain->curve.first; while(cu) { if(cu->mat) { for(a=0; atotcol; a++) { @@ -377,7 +378,7 @@ void make_local_material(Material *ma) cu= cu->id.next; } /* do mballs */ - mb= G.main->mball.first; + mb= bmain->mball.first; while(mb) { if(mb->mat) { for(a=0; atotcol; a++) { diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 7129ecb1d55..a017b7344d7 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -265,6 +265,7 @@ void make_local_tface(Mesh *me) void make_local_mesh(Mesh *me) { + Main *bmain= G.main; Object *ob; Mesh *men; int local=0, lib=0; @@ -285,7 +286,7 @@ void make_local_mesh(Mesh *me) return; } - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if( me==get_mesh(ob) ) { if(ob->id.lib) lib= 1; @@ -306,7 +307,7 @@ void make_local_mesh(Mesh *me) men= copy_mesh(me); men->id.us= 0; - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if( me==get_mesh(ob) ) { if(ob->id.lib==0) { @@ -925,6 +926,7 @@ int nurbs_to_mdata_customdb(Object *ob, ListBase *dispbase, MVert **allvert, int /* this may fail replacing ob->data, be sure to check ob->type */ void nurbs_to_mesh(Object *ob) { + Main *bmain= G.main; Object *ob1; DerivedMesh *dm= ob->derivedFinal; Mesh *me; @@ -967,13 +969,13 @@ void nurbs_to_mesh(Object *ob) cu->totcol= 0; if(ob->data) { - free_libblock(&G.main->curve, ob->data); + free_libblock(&bmain->curve, ob->data); } ob->data= me; ob->type= OB_MESH; /* other users */ - ob1= G.main->object.first; + ob1= bmain->object.first; while(ob1) { if(ob1->data==cu) { ob1->type= OB_MESH; diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 115cfac7627..b43cf72b94b 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -322,6 +322,7 @@ static void unlink_object__unlinkModifierLinks(void *userData, Object *ob, Objec void unlink_object(Scene *scene, Object *ob) { + Main *bmain= G.main; Object *obt; Material *mat; World *wrld; @@ -343,7 +344,7 @@ void unlink_object(Scene *scene, Object *ob) /* check all objects: parents en bevels and fields, also from libraries */ // FIXME: need to check all animation blocks (drivers) - obt= G.main->object.first; + obt= bmain->object.first; while(obt) { if(obt->proxy==ob) obt->proxy= NULL; @@ -517,7 +518,7 @@ void unlink_object(Scene *scene, Object *ob) } /* materials */ - mat= G.main->mat.first; + mat= bmain->mat.first; while(mat) { for(a=0; atex.first; + tex= bmain->tex.first; while(tex) { if(tex->env) { if(tex->env->object == ob) tex->env->object= NULL; @@ -540,7 +541,7 @@ void unlink_object(Scene *scene, Object *ob) } /* worlds */ - wrld= G.main->world.first; + wrld= bmain->world.first; while(wrld) { if(wrld->id.lib==NULL) { for(a=0; ascene.first; + sce= bmain->scene.first; while(sce) { if(sce->id.lib==NULL) { if(sce->camera==ob) sce->camera= NULL; @@ -585,7 +586,7 @@ void unlink_object(Scene *scene, Object *ob) #if 0 // XXX old animation system /* ipos */ - ipo= G.main->ipo.first; + ipo= bmain->ipo.first; while(ipo) { if(ipo->id.lib==NULL) { IpoCurve *icu; @@ -599,7 +600,7 @@ void unlink_object(Scene *scene, Object *ob) #endif // XXX old animation system /* screens */ - sc= G.main->screen.first; + sc= bmain->screen.first; while(sc) { ScrArea *sa= sc->areabase.first; while(sa) { @@ -664,14 +665,14 @@ void unlink_object(Scene *scene, Object *ob) } /* groups */ - group= G.main->group.first; + group= bmain->group.first; while(group) { rem_from_group(group, ob, NULL, NULL); group= group->id.next; } /* cameras */ - camera= G.main->camera.first; + camera= bmain->camera.first; while(camera) { if (camera->dof_ob==ob) { camera->dof_ob = NULL; @@ -725,6 +726,7 @@ Camera *copy_camera(Camera *cam) void make_local_camera(Camera *cam) { + Main *bmain= G.main; Object *ob; Camera *camn; int local=0, lib=0; @@ -742,7 +744,7 @@ void make_local_camera(Camera *cam) return; } - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->data==cam) { if(ob->id.lib) lib= 1; @@ -760,7 +762,7 @@ void make_local_camera(Camera *cam) camn= copy_camera(cam); camn->id.us= 0; - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->data==cam) { @@ -873,6 +875,7 @@ Lamp *copy_lamp(Lamp *la) void make_local_lamp(Lamp *la) { + Main *bmain= G.main; Object *ob; Lamp *lan; int local=0, lib=0; @@ -890,7 +893,7 @@ void make_local_lamp(Lamp *la) return; } - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->data==la) { if(ob->id.lib) lib= 1; @@ -908,7 +911,7 @@ void make_local_lamp(Lamp *la) lan= copy_lamp(la); lan->id.us= 0; - ob= G.main->object.first; + ob= bmain->object.first; while(ob) { if(ob->data==la) { @@ -1366,6 +1369,7 @@ void expand_local_object(Object *ob) void make_local_object(Object *ob) { + Main *bmain= G.main; Object *obn; Scene *sce; Base *base; @@ -1387,7 +1391,7 @@ void make_local_object(Object *ob) } else { - sce= G.main->scene.first; + sce= bmain->scene.first; while(sce) { base= sce->base.first; while(base) { @@ -1410,7 +1414,7 @@ void make_local_object(Object *ob) obn= copy_object(ob); obn->id.us= 0; - sce= G.main->scene.first; + sce= bmain->scene.first; while(sce) { if(sce->id.lib==0) { base= sce->base.first; diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c index 6cf49808ec7..a35e40d7cf7 100644 --- a/source/blender/blenkernel/intern/pointcache.c +++ b/source/blender/blenkernel/intern/pointcache.c @@ -2240,7 +2240,7 @@ void BKE_ptcache_remove(void) static int CONTINUE_PHYSICS = 0; -void BKE_ptcache_set_continue_physics(Scene *scene, int enable) +void BKE_ptcache_set_continue_physics(Main *bmain, Scene *scene, int enable) { Object *ob; @@ -2248,7 +2248,7 @@ void BKE_ptcache_set_continue_physics(Scene *scene, int enable) CONTINUE_PHYSICS = enable; if(CONTINUE_PHYSICS == 0) { - for(ob=G.main->object.first; ob; ob=ob->id.next) + for(ob=bmain->object.first; ob; ob=ob->id.next) if(BKE_ptcache_object_reset(scene, ob, PTCACHE_RESET_OUTDATED)) DAG_id_flush_update(&ob->id, OB_RECALC_DATA); } diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 95705ea8c05..42506b66303 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -320,11 +320,12 @@ void free_scene(Scene *sce) Scene *add_scene(char *name) { + Main *bmain= G.main; Scene *sce; ParticleEditSettings *pset; int a; - sce= alloc_libblock(&G.main->scene, ID_SCE, name); + sce= alloc_libblock(&bmain->scene, ID_SCE, name); sce->lay= sce->layact= 1; sce->r.mode= R_GAMMA|R_OSA|R_SHADOW|R_SSS|R_ENVMAP|R_RAYTRACE; @@ -586,7 +587,7 @@ void unlink_scene(Main *bmain, Scene *sce, Scene *newsce) sce1->set= NULL; /* check all sequences */ - clear_scene_in_allseqs(sce); + clear_scene_in_allseqs(bmain, sce); /* check render layer nodes in other scenes */ clear_scene_in_nodes(bmain, sce); diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c index 1e1ace0f758..461cb075bb0 100644 --- a/source/blender/blenkernel/intern/seqeffects.c +++ b/source/blender/blenkernel/intern/seqeffects.c @@ -41,6 +41,7 @@ #include "DNA_anim_types.h" #include "BKE_fcurve.h" +#include "BKE_main.h" #include "BKE_plugin_types.h" #include "BKE_sequencer.h" #include "BKE_texture.h" @@ -272,7 +273,7 @@ static ImBuf * IMB_cast_away_list(ImBuf * i) } static struct ImBuf * do_plugin_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -523,7 +524,7 @@ static void do_alphaover_effect_float(float facf0, float facf1, int x, int y, } static struct ImBuf * do_alphaover_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -695,7 +696,7 @@ static void do_alphaunder_effect_float(float facf0, float facf1, int x, int y, } static struct ImBuf* do_alphaunder_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -820,7 +821,7 @@ void do_cross_effect_float(float facf0, float facf1, int x, int y, /* carefull: also used by speed effect! */ static struct ImBuf* do_cross_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -1087,7 +1088,7 @@ static void do_gammacross_effect_float(float facf0, float facf1, } static struct ImBuf * do_gammacross_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -1205,7 +1206,7 @@ static void do_add_effect_float(float facf0, float facf1, int x, int y, } } -static struct ImBuf * do_add_effect(Scene *scene, Sequence *seq, float cfra, +static struct ImBuf * do_add_effect(Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -1322,7 +1323,7 @@ static void do_sub_effect_float(float facf0, float facf1, int x, int y, } static struct ImBuf * do_sub_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -1536,7 +1537,7 @@ static void do_mul_effect_float(float facf0, float facf1, int x, int y, } static struct ImBuf * do_mul_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -1992,7 +1993,7 @@ static void do_wipe_effect_float(Sequence *seq, float facf0, float facf1, } static struct ImBuf * do_wipe_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -2143,7 +2144,7 @@ static void do_transform(Scene *scene, Sequence *seq, float facf0, int x, int y, static struct ImBuf * do_transform_effect( - Scene *scene, Sequence *seq,float cfra, + Main *bmain, Scene *scene, Sequence *seq,float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -2661,7 +2662,7 @@ static void do_glow_effect_float(Sequence *seq, float facf0, float facf1, } static struct ImBuf * do_glow_effect( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -2722,7 +2723,7 @@ static int early_out_color(struct Sequence *seq, } static struct ImBuf * do_solid_color( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -2818,7 +2819,7 @@ static int early_out_multicam(struct Sequence *seq, float facf0, float facf1) } static struct ImBuf * do_multicam( - Scene *scene, Sequence *seq, float cfra, + Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, struct ImBuf *ibuf1, struct ImBuf *ibuf2, @@ -2842,7 +2843,7 @@ static struct ImBuf * do_multicam( return 0; } - i = give_ibuf_seqbase(scene, x, y, cfra, seq->multicam_source, + i = give_ibuf_seqbase(bmain, scene, x, y, cfra, seq->multicam_source, preview_render_size, seqbasep); if (!i) { return 0; @@ -3122,7 +3123,7 @@ static void get_default_fac_fade(struct Sequence *seq, float cfra, *facf1 /= seq->len; } -static struct ImBuf * do_overdrop_effect(Scene *scene, Sequence *seq, float cfra, +static struct ImBuf * do_overdrop_effect(Main *bmain, Scene *scene, Sequence *seq, float cfra, float facf0, float facf1, int x, int y, int preview_render_size, diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 866f907ef9e..b20bb111cb4 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -554,7 +554,7 @@ void calc_sequence(Scene *scene, Sequence *seq) } /* note: caller should run calc_sequence(scene, seq) after */ -void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range) +void reload_sequence_new_file(Main *bmain, Scene *scene, Sequence * seq, int lock_range) { char str[FILE_MAXDIR+FILE_MAXFILE]; int prev_startdisp, prev_enddisp; @@ -621,7 +621,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range) seq->strip->len = seq->len; } else if (seq->type == SEQ_SCENE) { /* 'seq->scenenr' should be replaced with something more reliable */ - Scene * sce = G.main->scene.first; + Scene * sce = bmain->scene.first; int nr = 1; while(sce) { @@ -710,12 +710,12 @@ static int clear_scene_in_allseqs_cb(Sequence *seq, void *arg_pt) return 1; } -void clear_scene_in_allseqs(Scene *scene) +void clear_scene_in_allseqs(Main *bmain, Scene *scene) { Scene *scene_iter; /* when a scene is deleted: test all seqs */ - for(scene_iter= G.main->scene.first; scene_iter; scene_iter= scene_iter->id.next) { + for(scene_iter= bmain->scene.first; scene_iter; scene_iter= scene_iter->id.next) { if(scene_iter != scene && scene_iter->ed) { seqbase_recursive_apply(&scene_iter->ed->seqbase, clear_scene_in_allseqs_cb, scene); } @@ -1659,17 +1659,17 @@ static void copy_to_ibuf_still(Sequence * seq, float nr, ********************************************************************** */ static ImBuf* seq_render_strip_stack( - Scene *scene, + Main *bmain, Scene *scene, ListBase *seqbasep, float cfra, int chanshown, int render_size, int seqrectx, int seqrecty); -static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, +static ImBuf * seq_render_strip(Main *bmain, Scene *scene, Sequence * seq, float cfra, int render_size, int seqrectx, int seqrecty); static ImBuf* seq_render_effect_strip_impl( - Scene *scene, float cfra, Sequence *seq, int render_size, + Main *bmain, Scene *scene, float cfra, Sequence *seq, int render_size, int seqrectx, int seqrecty) { float fac, facf; @@ -1707,7 +1707,7 @@ static ImBuf* seq_render_effect_strip_impl( early_out = sh.early_out(seq, fac, facf); if (early_out == -1) { /* no input needed */ - out = sh.execute(scene, seq, cfra, fac, facf, + out = sh.execute(bmain, scene, seq, cfra, fac, facf, seqrectx, seqrecty, render_size, 0, 0, 0); goto finish; @@ -1722,7 +1722,7 @@ static ImBuf* seq_render_effect_strip_impl( break; case 1: if (seq->seq1) { - ibuf[0] = seq_render_strip(scene, seq->seq1, cfra, + ibuf[0] = seq_render_strip(bmain, scene, seq->seq1, cfra, render_size, seqrectx, seqrecty); } @@ -1737,7 +1737,7 @@ static ImBuf* seq_render_effect_strip_impl( goto finish; case 2: if (seq->seq2) { - ibuf[1] = seq_render_strip(scene, seq->seq2, cfra, + ibuf[1] = seq_render_strip(bmain, scene, seq->seq2, cfra, render_size, seqrectx, seqrecty); } @@ -1755,19 +1755,19 @@ static ImBuf* seq_render_effect_strip_impl( } if (seq->seq1) { - ibuf[0] = seq_render_strip(scene, seq->seq1, cfra, + ibuf[0] = seq_render_strip(bmain, scene, seq->seq1, cfra, render_size, seqrectx, seqrecty); } if (seq->seq2) { - ibuf[1] = seq_render_strip(scene, seq->seq2, cfra, + ibuf[1] = seq_render_strip(bmain, scene, seq->seq2, cfra, render_size, seqrectx, seqrecty); } if (seq->seq3) { - ibuf[2] = seq_render_strip(scene, seq->seq3, cfra, + ibuf[2] = seq_render_strip(bmain, scene, seq->seq3, cfra, render_size, seqrectx, seqrecty); } @@ -1776,7 +1776,7 @@ static ImBuf* seq_render_effect_strip_impl( goto finish; } - out = sh.execute(scene, seq, cfra, fac, facf, seqrectx, seqrecty, + out = sh.execute(bmain, scene, seq, cfra, fac, facf, seqrectx, seqrecty, render_size, ibuf[0], ibuf[1], ibuf[2]); @@ -1795,7 +1795,7 @@ finish: static ImBuf * seq_render_scene_strip_impl( - Scene * scene, Sequence * seq, float nr, int seqrectx, int seqrecty) + Main *bmain, Scene * scene, Sequence * seq, float nr, int seqrectx, int seqrecty) { ImBuf * ibuf = 0; float frame= seq->sfra + nr + seq->anim_startofs; @@ -1851,7 +1851,7 @@ static ImBuf * seq_render_scene_strip_impl( if(sequencer_view3d_cb && BLI_thread_is_main() && doseq_gl && (seq->scene == scene || have_seq==0) && seq->scene->camera) { /* opengl offscreen render */ - scene_update_for_newframe(G.main, seq->scene, seq->scene->lay); + scene_update_for_newframe(bmain, seq->scene, seq->scene->lay); ibuf= sequencer_view3d_cb(seq->scene, seqrectx, seqrecty, scene->r.seq_prev_type); } @@ -1864,7 +1864,7 @@ static ImBuf * seq_render_scene_strip_impl( else re= RE_NewRender(sce->id.name); - RE_BlenderFrame(re, G.main, sce, NULL, sce->lay, frame); + RE_BlenderFrame(re, bmain, sce, NULL, sce->lay, frame); RE_AcquireResultImage(re, &rres); @@ -1904,7 +1904,7 @@ static ImBuf * seq_render_scene_strip_impl( return ibuf; } -static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, +static ImBuf * seq_render_strip(Main *bmain, Scene *scene, Sequence * seq, float cfra, int render_size, int seqrectx, int seqrecty) { @@ -1929,7 +1929,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, if(!ibuf && seq->seqbase.first) { meta_ibuf = seq_render_strip_stack( - scene, + bmain, scene, &seq->seqbase, seq->start + nr, 0, render_size, seqrectx, seqrecty); } @@ -1961,7 +1961,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, /* weeek! */ f_cfra = seq->start + s->frameMap[(int) nr]; - child_ibuf = seq_render_strip(scene, seq->seq1, f_cfra, + child_ibuf = seq_render_strip(bmain, scene, seq->seq1, f_cfra, render_size, seqrectx, seqrecty); } @@ -1985,7 +1985,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, if(ibuf == 0) { ibuf = seq_render_effect_strip_impl( - scene, cfra, seq, render_size, + bmain, scene, cfra, seq, render_size, seqrectx, seqrecty); } } else if(seq->type == SEQ_IMAGE) { @@ -2061,7 +2061,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra, } if (ibuf == 0) { - ibuf = seq_render_scene_strip_impl(scene, seq, nr, + ibuf = seq_render_scene_strip_impl(bmain, scene, seq, nr, seqrectx, seqrecty); copy_to_ibuf_still(seq, nr, ibuf); @@ -2129,7 +2129,7 @@ static int seq_get_early_out_for_blend_mode(Sequence * seq) } static ImBuf* seq_render_strip_stack( - Scene *scene, ListBase *seqbasep, float cfra, int chanshown, + Main *bmain, Scene *scene, ListBase *seqbasep, float cfra, int chanshown, int render_size, int seqrectx, int seqrecty) { Sequence* seq_arr[MAXSEQ+1]; @@ -2161,7 +2161,7 @@ static ImBuf* seq_render_strip_stack( } if(count == 1) { - out = seq_render_strip(scene, seq_arr[0], + out = seq_render_strip(bmain, scene, seq_arr[0], cfra, render_size, seqrectx, seqrecty); seq_stripelem_cache_put( @@ -2185,7 +2185,7 @@ static ImBuf* seq_render_strip_stack( break; } if (seq->blend_mode == SEQ_BLEND_REPLACE) { - out = seq_render_strip(scene, seq, cfra, + out = seq_render_strip(bmain, scene, seq, cfra, render_size, seqrectx, seqrecty); break; @@ -2196,7 +2196,7 @@ static ImBuf* seq_render_strip_stack( switch (early_out) { case -1: case 2: - out = seq_render_strip(scene, seq, cfra, + out = seq_render_strip(bmain, scene, seq, cfra, render_size, seqrectx, seqrecty); break; @@ -2209,7 +2209,7 @@ static ImBuf* seq_render_strip_stack( break; case 0: if (i == 0) { - out = seq_render_strip(scene, seq, cfra, + out = seq_render_strip(bmain, scene, seq, cfra, render_size, seqrectx, seqrecty); } @@ -2234,7 +2234,7 @@ static ImBuf* seq_render_strip_stack( if (seq_get_early_out_for_blend_mode(seq) == 0) { struct SeqEffectHandle sh = get_sequence_blend(seq); ImBuf * ibuf1 = out; - ImBuf * ibuf2 = seq_render_strip(scene, seq, cfra, + ImBuf * ibuf2 = seq_render_strip(bmain, scene, seq, cfra, render_size, seqrectx, seqrecty); @@ -2246,11 +2246,11 @@ static ImBuf* seq_render_strip_stack( int y= seqrecty; if (swap_input) { - out = sh.execute(scene, seq, cfra, + out = sh.execute(bmain, scene, seq, cfra, facf, facf, x, y, render_size, ibuf2, ibuf1, 0); } else { - out = sh.execute(scene, seq, cfra, + out = sh.execute(bmain, scene, seq, cfra, facf, facf, x, y, render_size, ibuf1, ibuf2, 0); } @@ -2272,7 +2272,7 @@ static ImBuf* seq_render_strip_stack( * you have to free after usage! */ -ImBuf *give_ibuf_seq(Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size) +ImBuf *give_ibuf_seq(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size) { Editing *ed= seq_give_editing(scene, FALSE); int count; @@ -2289,18 +2289,18 @@ ImBuf *give_ibuf_seq(Scene *scene, int rectx, int recty, int cfra, int chanshown } return seq_render_strip_stack( - scene, seqbasep, cfra, chanshown, render_size, rectx, recty); + bmain, scene, seqbasep, cfra, chanshown, render_size, rectx, recty); } -ImBuf *give_ibuf_seqbase(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size, ListBase *seqbasep) +ImBuf *give_ibuf_seqbase(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size, ListBase *seqbasep) { - return seq_render_strip_stack(scene, seqbasep, cfra, chanshown, render_size, rectx, recty); + return seq_render_strip_stack(bmain, scene, seqbasep, cfra, chanshown, render_size, rectx, recty); } -ImBuf *give_ibuf_seq_direct(Scene *scene, int rectx, int recty, int cfra, int render_size, Sequence *seq) +ImBuf *give_ibuf_seq_direct(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int render_size, Sequence *seq) { - return seq_render_strip(scene, seq, cfra, render_size, rectx, recty); + return seq_render_strip(bmain, scene, seq, cfra, render_size, rectx, recty); } #if 0 @@ -2566,13 +2566,13 @@ static void seq_wait_for_prefetch_ready() } #endif -ImBuf *give_ibuf_seq_threaded(Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size) +ImBuf *give_ibuf_seq_threaded(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size) { PrefetchQueueElem *e = NULL; int found_something = FALSE; if (seq_thread_shutdown) { - return give_ibuf_seq(scene, rectx, recty, cfra, chanshown, render_size); + return give_ibuf_seq(bmain, scene, rectx, recty, cfra, chanshown, render_size); } while (!e) { diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index c8f5eb9b187..19bc853276a 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -174,10 +174,11 @@ void free_text(Text *text) Text *add_empty_text(char *name) { + Main *bmain= G.main; Text *ta; TextLine *tmp; - ta= alloc_libblock(&G.main->text, ID_TXT, name); + ta= alloc_libblock(&bmain->text, ID_TXT, name); ta->id.us= 1; ta->name= NULL; @@ -326,6 +327,7 @@ int reopen_text(Text *text) Text *add_text(char *file, const char *relpath) { + Main *bmain= G.main; FILE *fp; int i, llen, len, res; unsigned char *buffer; @@ -341,7 +343,7 @@ Text *add_text(char *file, const char *relpath) fp= fopen(str, "r"); if(fp==NULL) return NULL; - ta= alloc_libblock(&G.main->text, ID_TXT, BLI_path_basename(str)); + ta= alloc_libblock(&bmain->text, ID_TXT, BLI_path_basename(str)); ta->id.us= 1; ta->lines.first= ta->lines.last= NULL; diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index fe5abbd0868..9075c64d286 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -602,9 +602,10 @@ void tex_set_type(Tex *tex, int type) Tex *add_texture(const char *name) { + Main *bmain= G.main; Tex *tex; - tex= alloc_libblock(&G.main->tex, ID_TE, name); + tex= alloc_libblock(&bmain->tex, ID_TE, name); default_tex(tex); @@ -726,6 +727,7 @@ Tex *copy_texture(Tex *tex) void make_local_texture(Tex *tex) { + Main *bmain= G.main; Tex *texn; Material *ma; World *wrld; @@ -755,7 +757,7 @@ void make_local_texture(Tex *tex) return; } - ma= G.main->mat.first; + ma= bmain->mat.first; while(ma) { for(a=0; amtex[a] && ma->mtex[a]->tex==tex) { @@ -765,7 +767,7 @@ void make_local_texture(Tex *tex) } ma= ma->id.next; } - la= G.main->lamp.first; + la= bmain->lamp.first; while(la) { for(a=0; amtex[a] && la->mtex[a]->tex==tex) { @@ -775,7 +777,7 @@ void make_local_texture(Tex *tex) } la= la->id.next; } - wrld= G.main->world.first; + wrld= bmain->world.first; while(wrld) { for(a=0; amtex[a] && wrld->mtex[a]->tex==tex) { @@ -785,7 +787,7 @@ void make_local_texture(Tex *tex) } wrld= wrld->id.next; } - br= G.main->brush.first; + br= bmain->brush.first; while(br) { if(br->mtex.tex==tex) { if(br->id.lib) lib= 1; @@ -803,7 +805,7 @@ void make_local_texture(Tex *tex) texn= copy_texture(tex); texn->id.us= 0; - ma= G.main->mat.first; + ma= bmain->mat.first; while(ma) { for(a=0; amtex[a] && ma->mtex[a]->tex==tex) { @@ -816,7 +818,7 @@ void make_local_texture(Tex *tex) } ma= ma->id.next; } - la= G.main->lamp.first; + la= bmain->lamp.first; while(la) { for(a=0; amtex[a] && la->mtex[a]->tex==tex) { @@ -829,7 +831,7 @@ void make_local_texture(Tex *tex) } la= la->id.next; } - wrld= G.main->world.first; + wrld= bmain->world.first; while(wrld) { for(a=0; amtex[a] && wrld->mtex[a]->tex==tex) { @@ -842,7 +844,7 @@ void make_local_texture(Tex *tex) } wrld= wrld->id.next; } - br= G.main->brush.first; + br= bmain->brush.first; while(br) { if(br->mtex.tex==tex) { if(br->id.lib==0) { @@ -860,6 +862,7 @@ void make_local_texture(Tex *tex) void autotexname(Tex *tex) { + Main *bmain= G.main; char texstr[20][15]= {"None" , "Clouds" , "Wood", "Marble", "Magic" , "Blend", "Stucci", "Noise" , "Image", "Plugin", "EnvMap" , "Musgrave", "Voronoi", "DistNoise", "Point Density", "Voxel Data", "", "", "", ""}; @@ -868,7 +871,7 @@ void autotexname(Tex *tex) if(tex) { if(tex->use_nodes) { - new_id(&G.main->tex, (ID *)tex, "Noddy"); + new_id(&bmain->tex, (ID *)tex, "Noddy"); } else if(tex->type==TEX_IMAGE) { @@ -878,12 +881,12 @@ void autotexname(Tex *tex) BLI_splitdirstring(di, fi); strcpy(di, "I."); strcat(di, fi); - new_id(&G.main->tex, (ID *)tex, di); + new_id(&bmain->tex, (ID *)tex, di); } - else new_id(&G.main->tex, (ID *)tex, texstr[tex->type]); + else new_id(&bmain->tex, (ID *)tex, texstr[tex->type]); } - else if(tex->type==TEX_PLUGIN && tex->plugin) new_id(&G.main->tex, (ID *)tex, tex->plugin->pname); - else new_id(&G.main->tex, (ID *)tex, texstr[tex->type]); + else if(tex->type==TEX_PLUGIN && tex->plugin) new_id(&bmain->tex, (ID *)tex, tex->plugin->pname); + else new_id(&bmain->tex, (ID *)tex, texstr[tex->type]); } } diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 1d1b5ec16f7..233a1433ecb 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -69,9 +69,10 @@ void free_world(World *wrld) World *add_world(char *name) { + Main *bmain= G.main; World *wrld; - wrld= alloc_libblock(&G.main->world, ID_WO, name); + wrld= alloc_libblock(&bmain->world, ID_WO, name); wrld->horr= 0.05f; wrld->horg= 0.05f; @@ -129,6 +130,7 @@ World *copy_world(World *wrld) void make_local_world(World *wrld) { + Main *bmain= G.main; Scene *sce; World *wrldn; int local=0, lib=0; @@ -146,7 +148,7 @@ void make_local_world(World *wrld) return; } - sce= G.main->scene.first; + sce= bmain->scene.first; while(sce) { if(sce->world==wrld) { if(sce->id.lib) lib= 1; @@ -164,7 +166,7 @@ void make_local_world(World *wrld) wrldn= copy_world(wrld); wrldn->id.us= 0; - sce= G.main->scene.first; + sce= bmain->scene.first; while(sce) { if(sce->world==wrld) { if(sce->id.lib==0) { diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 1abc2fc3398..afd8895edd9 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -695,12 +695,12 @@ void set_special_seq_update(int val) void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq, int cfra, int frame_ofs) { extern void gl_round_box(int mode, float minx, float miny, float maxx, float maxy, float rad); + struct Main *bmain= CTX_data_main(C); struct ImBuf *ibuf = 0; struct ImBuf *scope = 0; struct View2D *v2d = &ar->v2d; int rectx, recty; float viewrectx, viewrecty; - static int recursive= 0; float render_size = 0.0; float proxy_size = 100.0; GLuint texid; @@ -740,33 +740,12 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq UI_view2d_totRect_set(v2d, viewrectx + 0.5f, viewrecty + 0.5f); UI_view2d_curRect_validate(v2d); - /* BIG PROBLEM: the give_ibuf_seq() can call a rendering, which in turn calls redraws... - this shouldn't belong in a window drawing.... - So: solve this once event based. - Now we check for recursion, space type and active area again (ton) */ - - if(recursive) - return; - else { - recursive= 1; - if (special_seq_update) { - ibuf= give_ibuf_seq_direct(scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update); - } - else if (!U.prefetchframes) { // XXX || (G.f & G_PLAYANIM) == 0) { - ibuf= (ImBuf *)give_ibuf_seq(scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size); - } - else { - ibuf= (ImBuf *)give_ibuf_seq_threaded(scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size); - } - recursive= 0; - - /* XXX HURMF! the give_ibuf_seq can call image display in this window */ -// if(sa->spacetype!=SPACE_SEQ) -// return; -// if(sa!=curarea) { -// areawinset(sa->win); -// } - } + if (special_seq_update) + ibuf= give_ibuf_seq_direct(bmain, scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update); + else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) { + ibuf= (ImBuf *)give_ibuf_seq(bmain, scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size); + else + ibuf= (ImBuf *)give_ibuf_seq_threaded(bmain, scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size); if(ibuf==NULL) return; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 590856803cc..d1654dc5d37 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -48,6 +48,7 @@ #include "BKE_context.h" #include "BKE_global.h" +#include "BKE_main.h" #include "BKE_sequencer.h" #include "BKE_report.h" #include "BKE_sound.h" @@ -734,7 +735,7 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de } -static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe) +static Sequence *cut_seq_hard(Main *bmain, Scene *scene, Sequence * seq, int cutframe) { TransSeq ts; Sequence *seqn = 0; @@ -781,7 +782,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe) } } - reload_sequence_new_file(scene, seq, FALSE); + reload_sequence_new_file(bmain, scene, seq, FALSE); calc_sequence(scene, seq); new_tstripdata(seq); @@ -821,14 +822,14 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe) seqn->startstill = 0; } - reload_sequence_new_file(scene, seqn, FALSE); + reload_sequence_new_file(bmain, scene, seqn, FALSE); calc_sequence(scene, seqn); new_tstripdata(seqn); } return seqn; } -static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe) +static Sequence *cut_seq_soft(Main *bmain, Scene *scene, Sequence * seq, int cutframe) { TransSeq ts; Sequence *seqn = 0; @@ -918,8 +919,8 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe) /* like duplicate, but only duplicate and cut overlapping strips, * strips to the left of the cutframe are ignored and strips to the right are moved into the new list */ -static int cut_seq_list(Scene *scene, ListBase *old, ListBase *new, int cutframe, - Sequence * (*cut_seq)(Scene *, Sequence *, int)) +static int cut_seq_list(Main *bmain, Scene *scene, ListBase *old, ListBase *new, int cutframe, + Sequence * (*cut_seq)(Main *, Scene *, Sequence *, int)) { int did_something = FALSE; Sequence *seq, *seq_next; @@ -933,7 +934,7 @@ static int cut_seq_list(Scene *scene, ListBase *old, ListBase *new, int cutframe if(seq->flag & SELECT) { if(cutframe > seq->startdisp && cutframe < seq->enddisp) { - Sequence * seqn = cut_seq(scene, seq, cutframe); + Sequence * seqn = cut_seq(bmain, scene, seq, cutframe); if (seqn) { BLI_addtail(new, seqn); } @@ -1003,7 +1004,7 @@ void touch_seq_files(Scene *scene) waitcursor(0); } -void set_filter_seq(Scene *scene) +void set_filter_seq(Main *bmain, Scene *scene) { Sequence *seq; Editing *ed= seq_give_editing(scene, FALSE); @@ -1017,7 +1018,7 @@ void set_filter_seq(Scene *scene) if(seq->flag & SELECT) { if(seq->type==SEQ_MOVIE) { seq->flag |= SEQ_FILTERY; - reload_sequence_new_file(scene, seq, FALSE); + reload_sequence_new_file(bmain, scene, seq, FALSE); calc_sequence(scene, seq); } @@ -1505,6 +1506,7 @@ static EnumPropertyItem prop_cut_types[] = { static int sequencer_cut_exec(bContext *C, wmOperator *op) { + Main *bmain= CTX_data_main(C); Scene *scene= CTX_data_scene(C); Editing *ed= seq_give_editing(scene, FALSE); int cut_side, cut_hard, cut_frame; @@ -1519,10 +1521,10 @@ static int sequencer_cut_exec(bContext *C, wmOperator *op) newlist.first= newlist.last= NULL; if (cut_hard==SEQ_CUT_HARD) { - changed = cut_seq_list(scene, + changed = cut_seq_list(bmain, scene, ed->seqbasep, &newlist, cut_frame, cut_seq_hard); } else { - changed = cut_seq_list(scene, + changed = cut_seq_list(bmain, scene, ed->seqbasep, &newlist, cut_frame, cut_seq_soft); } diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c index b39a9fecebf..48ff98ace78 100644 --- a/source/blender/makesrna/intern/rna_sequencer.c +++ b/source/blender/makesrna/intern/rna_sequencer.c @@ -36,6 +36,7 @@ #include "DNA_sequence_types.h" #include "BKE_animsys.h" +#include "BKE_global.h" #include "BKE_sequencer.h" #include "MEM_guardedalloc.h" @@ -149,7 +150,7 @@ static void rna_Sequence_anim_startofs_final_set(PointerRNA *ptr, int value) seq->anim_startofs = MIN2(value, seq->len + seq->anim_startofs); - reload_sequence_new_file(scene, seq, FALSE); + reload_sequence_new_file(G.main, scene, seq, FALSE); rna_Sequence_frame_change_update(scene, seq); } @@ -160,7 +161,7 @@ static void rna_Sequence_anim_endofs_final_set(PointerRNA *ptr, int value) seq->anim_endofs = MIN2(value, seq->len + seq->anim_endofs); - reload_sequence_new_file(scene, seq, FALSE); + reload_sequence_new_file(G.main, scene, seq, FALSE); rna_Sequence_frame_change_update(scene, seq); } @@ -551,7 +552,7 @@ static void rna_Sequence_mute_update(Main *bmain, Scene *scene, PointerRNA *ptr) static void rna_Sequence_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr) { Sequence *seq= (Sequence*)(ptr->data); - reload_sequence_new_file(scene, seq, TRUE); + reload_sequence_new_file(G.main, scene, seq, TRUE); calc_sequence(scene, seq); rna_Sequence_update(bmain, scene, ptr); } diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 183b46af863..b1d379f4d1b 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2463,7 +2463,7 @@ static void do_render_seq(Render * re) recurs_depth++; - ibuf= give_ibuf_seq(re->scene, rr->rectx, rr->recty, cfra, 0, 100.0); + ibuf= give_ibuf_seq(re->main, re->scene, rr->rectx, rr->recty, cfra, 0, 100.0); recurs_depth--; -- cgit v1.2.3