More hacks for proxy generation:

Touch the proxy files if they do not exist so subsequent strips
referencing the same source file won't regenerate it.
This commit is contained in:
Antonis Ryakiotakis 2015-01-30 14:30:13 +01:00
parent d8c20fbb66
commit 7760e97c6b
1 changed files with 20 additions and 2 deletions

View File

@ -1153,11 +1153,12 @@ IndexBuildContext *IMB_anim_index_rebuild_context(struct anim *anim, IMB_Timecod
{
IndexBuildContext *context = NULL;
IMB_Proxy_Size proxy_sizes_to_build = proxy_sizes_in_use;
int i;
if (!overwrite) {
IMB_Proxy_Size built_proxies = IMB_anim_proxy_get_existing(anim);
if (built_proxies != 0) {
int i;
for (i = 0; i < IMB_PROXY_MAX_SLOT; ++i) {
IMB_Proxy_Size proxy_size = proxy_sizes[i];
if (proxy_size & built_proxies) {
@ -1165,6 +1166,22 @@ IndexBuildContext *IMB_anim_index_rebuild_context(struct anim *anim, IMB_Timecod
get_proxy_filename(anim, proxy_size, filename, false);
printf("Skipping proxy: %s\n", filename);
}
/* if file doesn't exist, create it here so subsequent runs won't re-add it for generation */
else if (proxy_size & proxy_sizes_to_build) {
char filename[FILE_MAX];
get_proxy_filename(anim, proxy_size, filename, false);
BLI_file_touch(filename);
}
}
}
else {
for (i = 0; i < IMB_PROXY_MAX_SLOT; ++i) {
IMB_Proxy_Size proxy_size = proxy_sizes[i];
if (proxy_size & proxy_sizes_to_build) {
char filename[FILE_MAX];
get_proxy_filename(anim, proxy_size, filename, false);
BLI_file_touch(filename);
}
}
}
proxy_sizes_to_build &= ~built_proxies;
@ -1173,6 +1190,7 @@ IndexBuildContext *IMB_anim_index_rebuild_context(struct anim *anim, IMB_Timecod
if (proxy_sizes_to_build == 0) {
return NULL;
}
switch (anim->curtype) {
#ifdef WITH_FFMPEG