[Bf-blender-cvs] [e438d86] multiview: Sequencer: unify the code to get the name of the files when using multiview + individual images
Dalai Felinto
noreply at git.blender.org
Thu Nov 20 14:02:05 CET 2014
Commit: e438d861ed337237094697c9caa6ec3bcd1be0e8
Author: Dalai Felinto
Date: Thu Nov 20 09:30:07 2014 -0200
Branches: multiview
https://developer.blender.org/rBe438d861ed337237094697c9caa6ec3bcd1be0e8
Sequencer: unify the code to get the name of the files when using multiview + individual images
===================================================================
M source/blender/blenkernel/intern/sequencer.c
===================================================================
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 8128061..ac1de61 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -786,6 +786,13 @@ void BKE_sequence_calc(Scene *scene, Sequence *seq)
}
}
+static void seq_multiview_name(Scene *scene, const size_t view_id, const char *prefix, const char *ext, char *r_path)
+{
+ const char *viewname = BKE_scene_render_view_name(&scene->r, view_id);
+ const char *suffix = BKE_scene_view_get_suffix(&scene->r, viewname);
+ sprintf(r_path, "%s%s%s", prefix, suffix, ext);
+}
+
/* note: caller should run BKE_sequence_calc(scene, seq) after */
void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, const bool lock_range)
{
@@ -845,12 +852,9 @@ void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, const bool lock_r
for (i = 0; i < totfiles; i++) {
struct anim *anim;
- const char *viewname = BKE_scene_render_view_name(&scene->r, i);
- const char *suffix = BKE_scene_view_get_suffix(&scene->r, viewname);
char str[FILE_MAX] = {'\0'};
- sprintf(str, "%s%s%s", prefix, suffix, ext);
-
+ seq_multiview_name(scene, i, prefix, ext, str);
anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0),
seq->streamindex, seq->strip->colorspace_settings.name);
if (anim) {
@@ -2898,16 +2902,14 @@ static ImBuf *do_render_strip_uncached(const SeqRenderData *context, Sequence *s
ibufs = MEM_callocN(sizeof(ImBuf *) * totviews, "Sequence Image Views Imbufs");
for (i = 0; i < totfiles; i++) {
- if (prefix[0] != '\0') {
- char str[FILE_MAX] = {'\0'};
- const char *viewname = BKE_scene_render_view_name(&context->scene->r, i);
- const char *suffix = BKE_scene_view_get_suffix(&context->scene->r, viewname);
- sprintf(str, "%s%s%s", prefix, suffix, ext);
- ibufs[i] = IMB_loadiffname(str, flag, seq->strip->colorspace_settings.name);
+ if (prefix[0] == '\0'){
+ ibufs[i] = IMB_loadiffname(name, flag, seq->strip->colorspace_settings.name);
}
else {
- ibufs[i] = IMB_loadiffname(name, flag, seq->strip->colorspace_settings.name);
+ char str[FILE_MAX] = {'\0'};
+ seq_multiview_name(context->scene, i, prefix, ext, str);
+ ibufs[i] = IMB_loadiffname(str, flag, seq->strip->colorspace_settings.name);
}
if (ibufs[i]) {
@@ -4755,13 +4757,11 @@ Sequence *BKE_sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoad
goto monoview;
for (i = 0; i < totfiles; i++) {
- const char *viewname = BKE_scene_render_view_name(&scene->r, i);
- const char *suffix = BKE_scene_view_get_suffix(&scene->r, viewname);
char str[FILE_MAX] = {'\0'};
- sprintf(str, "%s%s%s", prefix, suffix, ext);
-
+ seq_multiview_name(scene, i, prefix, ext, str);
anims[j] = openanim(str, IB_rect, 0, colorspace);
+
if (anims[j]) {
j++;
}
More information about the Bf-blender-cvs
mailing list