Refactor of proxies build operators
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 29 Feb 2012 12:08:26 +0000 (12:08 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 29 Feb 2012 12:08:26 +0000 (12:08 +0000)
commitd8bdd4497eec824a522062c4a8b597ef25395d63
treec797600b9e618ff184cdf16c36d59a9196d9cc7d
parent31cd0521ae64e95982bd4bd4f8685b7cf96d4248
Refactor of proxies build operators

Split proxy build operator into three parts:
- Prepare context (IMB_anim_index_rebuild_context) which prepares all
  needed data and stores it in an anonymous structure used by specific
  builder lately.
- Build proxies/timecodes into temporary files (IMB_anim_index_rebuild)
  This function will build all selected proxies/timecodes into a temporary
  files so old proxies will be still available during building.
- Finish building proxies (IMB_anim_index_rebuild_finish) which copies
  temporary files over old proxies filed and releases all resources used
  by a context.

Context creation and finishing building happens in a main thread so
it's easy and safe to close all opened handles of proxies files and
refresh cache after rebuilding is finished.

This should finally fix #30315: Temporary proxy files are not erased and old proxys are not updated if the proxy is built more then once (windows)
source/blender/blenkernel/BKE_sequencer.h
source/blender/blenkernel/intern/sequencer.c
source/blender/editors/space_clip/clip_ops.c
source/blender/editors/space_sequencer/sequencer_edit.c
source/blender/imbuf/IMB_imbuf.h
source/blender/imbuf/intern/anim_movie.c
source/blender/imbuf/intern/indexer.c