Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-06-13 01:25:23 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-06-13 01:25:23 +0400
commit5dc0b35a019651e052c7770330aafc7f2d7fb690 (patch)
tree6902f7e9e431868947bd0c5bcbb15696959fa99a /source/blender/blenkernel/intern/movieclip.c
parent92d948307549ce1d69ec4e41e42b442360b9bade (diff)
Added frame offset slider to clip datablocks
In contrast to start_frame (which affects on where footage actually starts to play and also affects on all data associated with a clip such as motion tracking, reconstruction and so on) this slider only affects on a way how frame number is mapping to a filename, without touching any kind of tracking data. The formula is: file_name = clip_file_name + frame_offset - (start_frame - 1)
Diffstat (limited to 'source/blender/blenkernel/intern/movieclip.c')
-rw-r--r--source/blender/blenkernel/intern/movieclip.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index 92184a38695..d6fa39fd789 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -159,7 +159,7 @@ static void get_sequence_fname(MovieClip *clip, int framenr, char *name)
offset = sequence_guess_offset(clip->name, strlen(head), numlen);
if (numlen)
- BLI_stringenc(name, head, tail, numlen, offset + framenr - clip->start_frame);
+ BLI_stringenc(name, head, tail, numlen, offset + framenr - clip->start_frame + clip->frame_offset);
else
BLI_strncpy(name, clip->name, sizeof(clip->name));
@@ -171,7 +171,7 @@ static void get_proxy_fname(MovieClip *clip, int proxy_render_size, int undistor
{
int size = rendersize_to_number(proxy_render_size);
char dir[FILE_MAX], clipdir[FILE_MAX], clipfile[FILE_MAX];
- int proxynr = framenr - clip->start_frame + 1;
+ int proxynr = framenr - clip->start_frame + 1 + clip->frame_offset;
BLI_split_dirfile(clip->name, clipdir, clipfile, FILE_MAX, FILE_MAX);
@@ -250,7 +250,7 @@ static ImBuf *movieclip_load_movie_file(MovieClip *clip, MovieClipUser *user, in
int fra;
dur = IMB_anim_get_duration(clip->anim, tc);
- fra = framenr - clip->start_frame;
+ fra = framenr - clip->start_frame + clip->frame_offset;
if (fra < 0)
fra = 0;
@@ -446,6 +446,7 @@ static MovieClip *movieclip_alloc(const char *name)
clip->proxy.quality = 90;
clip->start_frame = 1;
+ clip->frame_offset = 1;
return clip;
}