Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_sequencer/sequencer_edit.c
| Show First 20 Lines • Show All 208 Lines • ▼ Show 20 Lines | if (!pj) { | ||||
| pj->main = CTX_data_main(C); | pj->main = CTX_data_main(C); | ||||
| WM_jobs_customdata_set(wm_job, pj, proxy_freejob); | WM_jobs_customdata_set(wm_job, pj, proxy_freejob); | ||||
| WM_jobs_timer(wm_job, 0.1, NC_SCENE | ND_SEQUENCER, NC_SCENE | ND_SEQUENCER); | WM_jobs_timer(wm_job, 0.1, NC_SCENE | ND_SEQUENCER, NC_SCENE | ND_SEQUENCER); | ||||
| WM_jobs_callbacks(wm_job, proxy_startjob, NULL, NULL, proxy_endjob); | WM_jobs_callbacks(wm_job, proxy_startjob, NULL, NULL, proxy_endjob); | ||||
| } | } | ||||
| file_list = BLI_gset_new(BLI_ghashutil_strhash_p, BLI_ghashutil_strcmp, "file list"); | file_list = BLI_gset_new(BLI_ghashutil_strhash_p, BLI_ghashutil_strcmp, "file list"); | ||||
| bool selected = false; /* Check for no selected strips */ | |||||
| SEQP_BEGIN (ed, seq) { | SEQP_BEGIN (ed, seq) { | ||||
| if ((seq->flag & SELECT)) { | if (!ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE, SEQ_TYPE_META) || | ||||
| (seq->flag & SELECT) == 0) { | |||||
| continue; | |||||
| } | |||||
| selected = true; | |||||
| if (!(seq->flag & SEQ_USE_PROXY)) { | |||||
| BKE_reportf(reports, RPT_WARNING, "Proxy is not enabled for %s, skipping.", seq->name); | |||||
| } | |||||
| else if (seq->strip->proxy->build_size_flags == 0) { | |||||
| BKE_reportf(reports, RPT_WARNING, "Resolution is not selected for %s, skipping.", seq->name); | |||||
| } | |||||
| bool success = BKE_sequencer_proxy_rebuild_context( | bool success = BKE_sequencer_proxy_rebuild_context( | ||||
| pj->main, pj->depsgraph, pj->scene, seq, file_list, &pj->queue); | pj->main, pj->depsgraph, pj->scene, seq, file_list, &pj->queue); | ||||
| if (!success) { | |||||
| BKE_reportf(reports, RPT_ERROR, "Could not build proxy for strip %s", seq->name); | if (!success && (seq->strip->proxy->build_flags & SEQ_PROXY_SKIP_EXISTING) != 0) { | ||||
| } | BKE_reportf(reports, RPT_WARNING, "Overwrite is not checked for %s, skipping.", seq->name); | ||||
| } | } | ||||
| } | } | ||||
| SEQ_END; | SEQ_END; | ||||
| if (!selected) { | |||||
| BKE_reportf(reports, RPT_WARNING, "Select movie or image strips."); | |||||
| return; | |||||
| } | |||||
| BLI_gset_free(file_list, MEM_freeN); | BLI_gset_free(file_list, MEM_freeN); | ||||
| if (!WM_jobs_is_running(wm_job)) { | if (selected && !WM_jobs_is_running(wm_job)) { | ||||
| G.is_break = false; | G.is_break = false; | ||||
| WM_jobs_start(CTX_wm_manager(C), wm_job); | WM_jobs_start(CTX_wm_manager(C), wm_job); | ||||
| } | } | ||||
| ED_area_tag_redraw(area); | ED_area_tag_redraw(area); | ||||
| } | } | ||||
| /* ********************************************************************** */ | /* ********************************************************************** */ | ||||
| ▲ Show 20 Lines • Show All 3,513 Lines • ▼ Show 20 Lines | static int sequencer_enable_proxies_exec(bContext *C, wmOperator *op) | ||||
| bool turnon = true; | bool turnon = true; | ||||
| if (ed == NULL || !(proxy_25 || proxy_50 || proxy_75 || proxy_100)) { | if (ed == NULL || !(proxy_25 || proxy_50 || proxy_75 || proxy_100)) { | ||||
| turnon = false; | turnon = false; | ||||
| } | } | ||||
| SEQP_BEGIN (ed, seq) { | SEQP_BEGIN (ed, seq) { | ||||
| if ((seq->flag & SELECT)) { | if ((seq->flag & SELECT)) { | ||||
| if (ELEM(seq->type, | if (ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE, SEQ_TYPE_META)) { | ||||
| SEQ_TYPE_MOVIE, | |||||
| SEQ_TYPE_IMAGE, | |||||
| SEQ_TYPE_META, | |||||
| SEQ_TYPE_SCENE, | |||||
| SEQ_TYPE_MULTICAM)) { | |||||
| BKE_sequencer_proxy_set(seq, turnon); | BKE_sequencer_proxy_set(seq, turnon); | ||||
| if (seq->strip->proxy == NULL) { | if (seq->strip->proxy == NULL) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| if (proxy_25) { | if (proxy_25) { | ||||
| seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_25; | seq->strip->proxy->build_size_flags |= SEQ_PROXY_IMAGE_SIZE_25; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 536 Lines • Show Last 20 Lines | |||||