Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/sequencer.c
| Show First 20 Lines • Show All 3,316 Lines • ▼ Show 20 Lines | if ((sequencer_view3d_cb && do_seq_gl && camera) && is_thread_main) { | ||||
| draw_flags |= (context->scene->r.seq_flag & R_SEQ_CAMERA_DOF) ? SEQ_OFSDRAW_USE_CAMERA_DOF : 0; | draw_flags |= (context->scene->r.seq_flag & R_SEQ_CAMERA_DOF) ? SEQ_OFSDRAW_USE_CAMERA_DOF : 0; | ||||
| /* for old scene this can be uninitialized, | /* for old scene this can be uninitialized, | ||||
| * should probably be added to do_versions at some point if the functionality stays */ | * should probably be added to do_versions at some point if the functionality stays */ | ||||
| if (context->scene->r.seq_prev_type == 0) | if (context->scene->r.seq_prev_type == 0) | ||||
| context->scene->r.seq_prev_type = 3 /* == OB_SOLID */; | context->scene->r.seq_prev_type = 3 /* == OB_SOLID */; | ||||
| /* opengl offscreen render */ | /* opengl offscreen render */ | ||||
| context->eval_ctx->engine_type = RE_engines_find(scene->view_render.engine_id); | if (seq->flag & SEQ_OVERRIDE_RENDER_ENGINE) { | ||||
| context->eval_ctx->engine_type = RE_engines_find(seq->view_render.engine_id); | |||||
| } | |||||
| else { | |||||
| context->eval_ctx->engine_type = RE_engines_find(context->scene->view_render.engine_id); | |||||
| } | |||||
campbellbarton: The boolean should be checked here `seq->use_scene_render_engine` using a scene or seq… | |||||
| BKE_scene_graph_update_for_newframe(context->eval_ctx, depsgraph, context->bmain, scene, view_layer); | BKE_scene_graph_update_for_newframe(context->eval_ctx, depsgraph, context->bmain, scene, view_layer); | ||||
| ibuf = sequencer_view3d_cb( | ibuf = sequencer_view3d_cb( | ||||
| /* set for OpenGL render (NULL when scrubbing) */ | /* set for OpenGL render (NULL when scrubbing) */ | ||||
| context->eval_ctx, scene, view_layer, camera, width, height, IB_rect, | context->eval_ctx, scene, view_layer, camera, width, height, IB_rect, | ||||
| draw_flags, context->scene->r.seq_prev_type, | draw_flags, context->scene->r.seq_prev_type, | ||||
| scene->r.alphamode, context->gpu_samples, viewname, | scene->r.alphamode, context->gpu_samples, viewname, | ||||
| context->gpu_fx, context->gpu_offscreen, err_out); | context->gpu_fx, context->gpu_offscreen, err_out); | ||||
| if (ibuf == NULL) { | if (ibuf == NULL) { | ||||
| ▲ Show 20 Lines • Show All 1,729 Lines • ▼ Show 20 Lines | Mask *BKE_sequencer_mask_get(Scene *scene) | ||||
| if (seq_act && seq_act->type == SEQ_TYPE_MASK) { | if (seq_act && seq_act->type == SEQ_TYPE_MASK) { | ||||
| return seq_act->mask; | return seq_act->mask; | ||||
| } | } | ||||
| else { | else { | ||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| } | } | ||||
| /* api like funcs for adding */ | /* api like funcs for adding */ | ||||
| static void seq_load_apply(Main *bmain, Scene *scene, Sequence *seq, SeqLoadInfo *seq_load) | static void seq_load_apply(Main *bmain, Scene *scene, Sequence *seq, SeqLoadInfo *seq_load) | ||||
| { | { | ||||
| if (seq) { | if (seq) { | ||||
| BLI_strncpy_utf8(seq->name + 2, seq_load->name, sizeof(seq->name) - 2); | BLI_strncpy_utf8(seq->name + 2, seq_load->name, sizeof(seq->name) - 2); | ||||
| BLI_utf8_invalid_strip(seq->name + 2, strlen(seq->name + 2)); | BLI_utf8_invalid_strip(seq->name + 2, strlen(seq->name + 2)); | ||||
| BKE_sequence_base_unique_name_recursive(&scene->ed->seqbase, seq); | BKE_sequence_base_unique_name_recursive(&scene->ed->seqbase, seq); | ||||
| if (seq_load->flag & SEQ_LOAD_FRAME_ADVANCE) { | if (seq_load->flag & SEQ_LOAD_FRAME_ADVANCE) { | ||||
| seq_load->start_frame += (seq->enddisp - seq->startdisp); | seq_load->start_frame += (seq->enddisp - seq->startdisp); | ||||
| } | } | ||||
| if (seq_load->flag & SEQ_LOAD_REPLACE_SEL) { | if (seq_load->flag & SEQ_LOAD_REPLACE_SEL) { | ||||
| seq_load->flag |= SELECT; | seq_load->flag |= SELECT; | ||||
| BKE_sequencer_active_set(scene, seq); | BKE_sequencer_active_set(scene, seq); | ||||
| } | } | ||||
| if (seq_load->flag & SEQ_LOAD_SOUND_MONO) { | if (seq_load->flag & SEQ_LOAD_SOUND_MONO) { | ||||
| seq->sound->flags |= SOUND_FLAGS_MONO; | seq->sound->flags |= SOUND_FLAGS_MONO; | ||||
| BKE_sound_load(bmain, seq->sound); | BKE_sound_load(bmain, seq->sound); | ||||
| } | } | ||||
| if (seq_load->flag & SEQ_LOAD_SOUND_CACHE) { | if (seq_load->flag & SEQ_LOAD_SOUND_CACHE) { | ||||
Not Done Inline ActionsThis is not a reliable way of ensuring the correct value is used. Strips can be copy-pasted for example. An override should be a flag which is checked at runtime. campbellbarton: This is not a reliable way of ensuring the correct value is used.
Strips can be copy-pasted… | |||||
| if (seq->sound) | if (seq->sound) | ||||
| BKE_sound_cache(seq->sound); | BKE_sound_cache(seq->sound); | ||||
| } | } | ||||
| seq_load->tot_success++; | seq_load->tot_success++; | ||||
| } | } | ||||
| else { | else { | ||||
| seq_load->tot_error++; | seq_load->tot_error++; | ||||
| ▲ Show 20 Lines • Show All 594 Lines • Show Last 20 Lines | |||||
The boolean should be checked here seq->use_scene_render_engine using a scene or seq depending on it's value.