Fix T83266: Proxy building with meta strips fails

Building proxy with meta strip selected resulted in attempt to render
meta strip itself and save result as image as is done when building
image proxies.

Remove meta strip from list of supported strips.

Multicam, Meta and scene strip are cleared from poll function in UI as well.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D10001
This commit is contained in:
Richard Antalik 2021-01-25 04:42:46 +01:00
parent 652dd4e27f
commit 744fa41e7e
Notes: blender-bot 2023-04-14 09:18:04 +02:00
Referenced by issue #83266, VSE: Proxy rendering of Meta Strips fails
2 changed files with 4 additions and 5 deletions

View File

@ -1942,7 +1942,7 @@ class SEQUENCER_PT_strip_proxy(SequencerButtonsPanel, Panel):
if not strip:
return False
return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META', 'MULTICAM'}
return strip.type in {'MOVIE', 'IMAGE'}
def draw_header(self, context):
strip = act_strip(context)

View File

@ -145,8 +145,7 @@ static void seq_proxy_build_job(const bContext *C, ReportList *reports)
bool selected = false; /* Check for no selected strips */
SEQ_CURRENT_BEGIN (ed, seq) {
if (!ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE, SEQ_TYPE_META) ||
(seq->flag & SELECT) == 0) {
if (!ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE) || (seq->flag & SELECT) == 0) {
continue;
}
@ -284,7 +283,7 @@ static int sequencer_enable_proxies_exec(bContext *C, wmOperator *op)
SEQ_CURRENT_BEGIN (ed, seq) {
if ((seq->flag & SELECT)) {
if (ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE, SEQ_TYPE_META)) {
if (ELEM(seq->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE)) {
SEQ_proxy_set(seq, turnon);
if (seq->strip->proxy == NULL) {
continue;
@ -339,7 +338,7 @@ void SEQUENCER_OT_enable_proxies(wmOperatorType *ot)
/* Identifiers. */
ot->name = "Set Selected Strip Proxies";
ot->idname = "SEQUENCER_OT_enable_proxies";
ot->description = "Enable selected proxies on all selected Movie, Image and Meta strips";
ot->description = "Enable selected proxies on all selected Movie and Image strips";
/* Api callbacks. */
ot->invoke = sequencer_enable_proxies_invoke;