[Bf-blender-cvs] [cc4129b] multiview: From review: replace some 'goto: monoview' with is_multiview_loaded
Dalai Felinto
noreply at git.blender.org
Tue Mar 17 17:38:26 CET 2015
Commit: cc4129b7bb1f6ea3f983caaa1eaca5d642d931ca
Author: Dalai Felinto
Date: Tue Mar 17 17:31:04 2015 +0100
Branches: multiview
https://developer.blender.org/rBcc4129b7bb1f6ea3f983caaa1eaca5d642d931ca
>From review: replace some 'goto: monoview' with is_multiview_loaded
We still have the monoview_image and monoview_movie. It's easy to change them but I don't know, I find the code slightly more clean by using it :/
===================================================================
M source/blender/blenkernel/intern/sequencer.c
===================================================================
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index b0cb172..56e7fec 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -836,6 +836,7 @@ void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, const bool lock_r
case SEQ_TYPE_MOVIE:
{
StripAnim *sanim;
+ bool is_multiview_loaded = false;
const bool is_multiview = (seq->flag & SEQ_USE_VIEWS) != 0 &&
(scene->r.scemode & R_MULTIVIEW) != 0;
@@ -853,28 +854,28 @@ void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, const bool lock_r
BKE_scene_multiview_view_prefix_get(scene, path, prefix, &ext);
- if (prefix[0] == '\0')
- goto monoview;
+ if (prefix[0] != '\0') {
+ for (i = 0; i < totfiles; i++) {
+ struct anim *anim;
+ char str[FILE_MAX] = {'\0'};
- for (i = 0; i < totfiles; i++) {
- struct anim *anim;
- char str[FILE_MAX] = {'\0'};
-
- seq_multiview_name(scene, i, prefix, ext, str, FILE_MAX);
- anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
- seq->streamindex, seq->strip->colorspace_settings.name);
- seq_anim_add_suffix(scene, anim, i);
-
- if (anim) {
- sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim");
- BLI_addtail(&seq->anims, sanim);
- sanim->anim = anim;
+ seq_multiview_name(scene, i, prefix, ext, str, FILE_MAX);
+ anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
+ seq->streamindex, seq->strip->colorspace_settings.name);
+ seq_anim_add_suffix(scene, anim, i);
+
+ if (anim) {
+ sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim");
+ BLI_addtail(&seq->anims, sanim);
+ sanim->anim = anim;
+ }
}
+ is_multiview_loaded = true;
}
}
- else {
+
+ if (is_multiview_loaded == false) {
struct anim *anim;
-monoview:
anim = openanim(path, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
seq->streamindex, seq->strip->colorspace_settings.name);
if (anim) {
@@ -1429,6 +1430,7 @@ static void seq_open_anim_file(Scene *scene, Sequence *seq, bool openfile)
char dir[FILE_MAX];
char name[FILE_MAX];
StripProxy *proxy;
+ bool is_multiview_loaded = false;
const bool is_multiview = (seq->flag & SEQ_USE_VIEWS) != 0 && (scene->r.scemode & R_MULTIVIEW) != 0;
if ((seq->anims.first != NULL) && (((StripAnim *)seq->anims.first)->anim != NULL)) {
@@ -1457,51 +1459,51 @@ static void seq_open_anim_file(Scene *scene, Sequence *seq, bool openfile)
BKE_scene_multiview_view_prefix_get(scene, name, prefix, &ext);
- if (prefix[0] == '\0')
- goto monoview;
-
- for (i = 0; i < totfiles; i++) {
- const char *suffix = BKE_scene_multiview_view_id_suffix_get(&scene->r, i);
- char str[FILE_MAX] = {'\0'};
- StripAnim *sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim");
-
- BLI_addtail(&seq->anims, sanim);
+ if (prefix[0] != '\0') {
+ for (i = 0; i < totfiles; i++) {
+ const char *suffix = BKE_scene_multiview_view_id_suffix_get(&scene->r, i);
+ char str[FILE_MAX] = {'\0'};
+ StripAnim *sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim");
- BLI_snprintf(str, sizeof(str), "%s%s%s", prefix, suffix, ext);
+ BLI_addtail(&seq->anims, sanim);
- if (openfile) {
- sanim->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
- seq->streamindex, seq->strip->colorspace_settings.name);
- }
- else {
- sanim->anim = openanim_noload(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
- seq->streamindex, seq->strip->colorspace_settings.name);
- }
+ BLI_snprintf(str, sizeof(str), "%s%s%s", prefix, suffix, ext);
- seq_anim_add_suffix(scene, sanim->anim, i);
-
- if (sanim->anim == NULL) {
if (openfile) {
- sanim->anim = openanim(name, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
- seq->streamindex, seq->strip->colorspace_settings.name);
+ sanim->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
+ seq->streamindex, seq->strip->colorspace_settings.name);
}
else {
- sanim->anim = openanim_noload(name, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
- seq->streamindex, seq->strip->colorspace_settings.name);
+ sanim->anim = openanim_noload(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
+ seq->streamindex, seq->strip->colorspace_settings.name);
}
- /* no individual view files - monoscopic, stereo 3d or exr multiview */
- totfiles = 1;
- }
+ seq_anim_add_suffix(scene, sanim->anim, i);
- if (proxy && (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR)) {
- IMB_anim_set_index_dir(sanim->anim, dir);
+ if (sanim->anim == NULL) {
+ if (openfile) {
+ sanim->anim = openanim(name, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
+ seq->streamindex, seq->strip->colorspace_settings.name);
+ }
+ else {
+ sanim->anim = openanim_noload(name, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
+ seq->streamindex, seq->strip->colorspace_settings.name);
+ }
+
+ /* no individual view files - monoscopic, stereo 3d or exr multiview */
+ totfiles = 1;
+ }
+
+ if (proxy && (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR)) {
+ IMB_anim_set_index_dir(sanim->anim, dir);
+ }
}
+ is_multiview_loaded = true;
}
}
- else {
+
+ if (is_multiview_loaded == false){
StripAnim *sanim;
-monoview:
sanim = MEM_mallocN(sizeof(StripAnim), "Strip Anim");
BLI_addtail(&seq->anims, sanim);
@@ -4929,7 +4931,8 @@ Sequence *BKE_sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoad
Strip *strip;
StripElem *se;
char colorspace[64] = "\0"; /* MAX_COLORSPACE_NAME */
- bool is_multiview = (seq_load->flag & SEQ_USE_VIEWS) != 0;
+ bool is_multiview_loaded = false;
+ const bool is_multiview = (seq_load->flag & SEQ_USE_VIEWS) != 0;
size_t totfiles = seq_num_files(scene, seq_load->views_format, is_multiview);
struct anim **anim_arr;
int i;
@@ -4946,28 +4949,28 @@ Sequence *BKE_sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoad
BKE_scene_multiview_view_prefix_get(scene, path, prefix, &ext);
- if (prefix[0] == '\0')
- goto monoview;
-
- for (i = 0; i < totfiles; i++) {
- char str[FILE_MAX] = {'\0'};
+ if (prefix[0] != '\0') {
+ for (i = 0; i < totfiles; i++) {
+ char str[FILE_MAX] = {'\0'};
- seq_multiview_name(scene, i, prefix, ext, str, FILE_MAX);
- anim_arr[j] = openanim(str, IB_rect, 0, colorspace);
- seq_anim_add_suffix(scene, anim_arr[j], i);
+ seq_multiview_name(scene, i, prefix, ext, str, FILE_MAX);
+ anim_arr[j] = openanim(str, IB_rect, 0, colorspace);
+ seq_anim_add_suffix(scene, anim_arr[j], i);
- if (anim_arr[j]) {
- j++;
+ if (anim_arr[j]) {
+ j++;
+ }
}
- }
- if (j == 0) {
- MEM_freeN(anim_arr);
- return NULL;
+ if (j == 0) {
+ MEM_freeN(anim_arr);
+ return NULL;
+ }
+ is_multiview_loaded = true;
}
}
- else {
-monoview:
+
+ if (is_multiview_loaded == false){
anim_arr[0] = openanim(path, IB_rect, 0, colorspace);
if (anim_arr[0] == NULL) {
More information about the Bf-blender-cvs
mailing list