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
AgeCommit message (Collapse)Author
2020-10-05Move sequencer sources from blenkernelRichard Antalik
This is first step of refactoring task T77580. Next step will be breaking up files into smaller ones. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D8492
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-08-21Cleanup: rename iterators over sequences to be more clear about what they do.Bastien Montagne
No functional changes expected.
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-07-31Merge branch 'blender-v2.90-release'Sergey Sharybin
2020-07-31Sequencer: Add session UUID check functionSergey Sharybin
Is aimed for use during development and debug, to help verifying that operations do not leave sequences with invalid UUIDs.
2020-07-31Sequencer: Add session UUID management to SequenceSergey Sharybin
This is the first step for having sequences covered with session UUID with the goal to remove code which uses original sequence pointer to match sequences. Currently this UUID is maintained on file load, allocation and leaf duplication function.There are more cases to cover and ensure UUID is re-generated or re-used when needed. It will be done as follow-up development.
2020-07-26VSE: Refactor delete operator and APIRichard Antalik
Operator logic is limited to iterating over selection and executing same code as python API does. Functional changes: - No attempt to preserve effects is made. Dependant effects are deleted. - No attempt to change meta strip boundaries. Partially fixes T73828 Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D6892
2020-07-26Fix T74958: Infinite loop on using strip as modifier maskRichard Antalik
Add recursion check before assigning strip as a mask for modifier. Same check is used for recursion check when reassigning effect input, so it should not be possible to create recursion at all.
2020-07-13VSE: Python API, allow creation of VSE Movie strips with missing fileSybren A. Stüvel
It was already possible to create Sound and Image strips that reference non-existing files. Now it's also possible to create Movie strips referencing missing files via the Python API call `Sequences.new_movie()`. In this case, the duration of the strip will be set to 1 frame. Note that this commit does not change anything in the user interface. The Python API of the `MovieStrip` class is extended with a function `reload_if_needed()`. This function only performs disk I/O if the movie strip cannot produce frames, that is either when its filepath points to a non-existing file, or when the video sequence editor has not been shown yet (for example because it is in an inactive workspace). This allows for the following: ``` import bpy scene = bpy.context.scene vse = scene.sequence_editor_create() filepath = bpy.path.abspath('//demo.mkv') strip = vse.sequences.new_movie("movie", filepath, channel=2, frame_start=47, file_must_exist=False) strip.frame_final_end = 327 ``` This will create a new movie strip, even when `demo.mkv` does not exist. Once `demo.mkv` has appeared at the expected location, either `strip.reload_if_needed()` or `strip.filepath = strip.filepath` will load it. Differential Revision: https://developer.blender.org/D8257 Reviewed By: Sergey, ISS
2020-05-13Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-13Cleanup: warningCampbell Barton
2020-05-13Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-13Fix T76320: Thread race condition on undo with prefetching enabledRichard Antalik
Stop prefetch jobs before undoing. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7633
2020-05-13Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-13Fix T70612: Sequencer Crash on enabling PrefetchRichard Antalik
Disable (skip) preftching scene strips if they target 3D scene. Try to continue prefetching complete frame if disk cache images are found. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7514
2020-05-10Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-10Fix T71300: Crash on rendering scene recursively from sequencerRichard Antalik
Adding recursive scenes has been disabled, but old files still can be opened. Add check if scene will render itself. Opening such file will produce warning on open and error on running render. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D7562
2020-04-30VSE: Add frame interpolation option to speed effectIsrael Medina
Do cross transition from current to next frame instead of displaying one image for n frames. Reviewed By: ISS, sergey, campbellbarton Differential Revision: https://developer.blender.org/D7417
2020-04-27Fix T75495: Blender crashes opening a VSE .blend fileRichard Antalik
During scene copy modifier mask strips are relinked to point to strips in new scene. If strip used as mask is in different seqbase, this can fail, if seqbase is not copied yet. Add SEQ_DUPE_IS_RECURSIVE_CALL flag to avoid relinking modifiers during recursive call. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7412
2020-04-14Cleanup: remove redundant include, clang-formatCampbell Barton
2020-04-12Fix T74875: Preview shows previously cached frame after Hard CutRichard Antalik
Add method to invalidate strip cache in range of non-overlapping strip. Invalidate original strip in range of new strip created by cutting. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7313
2020-04-12Fix T74897: VSE animation doesn't workRichard Antalik
`seq_free_animdata()` removes fcurve pointers belonging to strips from `Scene` CoW datablock's `AnimData` during `BKE_scene_graph_update_for_newframe`. This causes problems with updating animation. This worked before rBbe2e41c397ba, because `AnimData` was freed by `BKE_animdata_free()` before `seq_free_animdata()` was executed, so it had no data to operate on and returned on precondition `if (scene->adt == NULL || scene->adt->action == NULL)` Reviewed By: mont29, brecht Maniphest Tasks: T74897 Differential Revision: https://developer.blender.org/D7264
2020-04-06Cleanup: Use `_fn` as a suffix for callbacks in VSE codeRichard Antalik
2020-03-25Fix T74662: Prefetching causes random crashesRichard Antalik
Caused by 18b693bdbd6b, due to lack of thread safety. Beteween calling BKE_sequencer_cache_get_num_items and BKE_sequencer_cache_iterate New items could be inserted in the cache. BKE_sequencer_cache_iterate() now use 2 callbcack functions for initial setup during which buffers with correct length can be initialized and finally iterating. Additionally drawing of unselected items was fixed again introduced in 18b693bdbd6b. T74662 is reporting quite different symptoms, than I get on my machine, so I am not entirely sure this is complete fix. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7220
2020-03-19VSE: Disk cacheRichard Antalik
This patch implements dumping images from cache to HDD. The main goal of this system is to provide a means to achieve consistent playback speed mainly for strips that are not possible to preview in real time. How to use: Disk cache has own settings in user preferences for path to storage, size limit and compression level. To use disk cache, you need to check `Use Disk Cache` box, set `Disk Cache Directory`, `Disk Cache Limit` and save or open existing .blend file. By default sequencer output will be cached only. Manual setting is possible in cache panel. Uses: - Replacement or alternative for proxies. Disk cache will work with any strip type, supports float images as well. - Storage for strip thumbnails. - Less RAM needs to be allocated for preview cache How it works: Disk cache is extension of RAM cache. Every image, that is stored or deleted in RAM will be stored or deleted on HDD as well. Images can be compressed to save space and for use on slower drives. Compressed images are slower to write and read though. Images are stored in bulk of 100 rendered frames per one file. This is to overcome slow file access time for large amount of files. Drawback is, that if one frame needs to be redrawn, all 100 frames are deleted. Reviewed By: sergey Differential Revision: https://developer.blender.org/D5524
2020-03-13Cleanup: pass const args (mostly Scene & RenderData)Campbell Barton
2020-03-06CodeCleanup: Added enums to opengl render functionsJeroen Bakker
Motivation the functions get 3 different kind of flag parameters (ImBuf, DrawType, OffscreenRendering) the naming of the flags were not clear, leading to mistakes and unnecessary time spend debugging.
2020-02-20Cleanup: unused enumsCampbell Barton
2020-02-17Fix T70229: Show Cache On will cause a lower fpsRichard Antalik
Use gpu batch drawing for cache content in VSE. Immediate drawing caused significant dorp in framerate. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6835
2020-02-08Cleanup: remove old VSE prefetching code.Richard Antalik
Reviewed By: brecht Differential Revision: https://developer.blender.org/D6774
2020-01-29Merge branch 'blender-v2.82-release'Philipp Oeser
2020-01-29Fix T73014: Marker sync does not work correctly if moving strip so it ↵Philipp Oeser
overlaps another strip Need to also offset markers in BKE_sequence_base_shuffle_time(). Also clarify/correct related comments. Maniphest Tasks: T73014 Differential Revision: https://developer.blender.org/D6555
2020-01-22VSE: Tool system integrationRichard Antalik
Add toolbar to sequencer regions. A bit of refactoring has to be done in RNA space. Currently there is only cut tool implemented to serve as template for anybody who would like to add more.
2020-01-22Fix T70415 100% proxy files playing with poor performanceRichard Antalik
Refactor code to use `eSpaceSeq_Proxy_RenderSize` or corresponding `IMB_Proxy_Size` enum items directly. `SEQ_PROXY_RENDER_SIZE_100` has assigned value 99 to distinguish from `SEQ_PROXY_RENDER_SIZE_FULL`. This caused error in image size calculation and because of that image had to be scaled. Author: EitanSomething Reviewed By: ISS Differential Revision: http://developer.blender.org/D6368
2019-12-06Draw: Removal of MultiSample BuffersJeroen Bakker
Multisample buffers were used for smooth line drawing. As we now have an algorithm that doesn't need the multisample buffers we can remove them. The user preference for viewport multi_sampling is replaced by single toggle overlay `use_overlay_smooth_wire`. By default this setting is enabled as the new drawing is really quick (<1ms) and uses zero hacks. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6367
2019-11-29Refactor: Add C++ guard code to headersSergey Sharybin
C++ is used more and more, and it is becoming more and more annoying to keep track of whether header have C++ guard or not. Is easier and more clear to be consistent in all headers and have such guards in all headers.
2019-11-03Fix T68018: Crash on building movie proxyRichard Antalik
Skip building proxy if directory can not be created. Crash happens, when setting custom dir to location of source file itself. This results in attempt to create directory with the same name as source file. Differential Revision: https://developer.blender.org/D6148 Reviewed By: sergey
2019-10-02Fix T69924: Prefetch stops when moving playheadRichard Antalik
Fix T70194: Prefetch freezes Blender in some cases - Initialize depsgraph in isolated bmain struct. - Fix prefetching range (forgot in initial prefetch commit). - Fix crash - Add check if prefetch job is initialized and running. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5899
2019-09-14VSE: prefetchingRichard Antalik
When enabled prefetching(preview panel>view settings), a pernament running job is created, that will render frames in the background until the cache is full. If the cache is not filled fast enough, prefetch job suspends itself at the last moment and will wait until it has chance to "catch up". Effectively this will decouple rendering to separate thread, so rendering itself is a bit faster. Cache recycling behavior will be changed to "free furthest frame to the left of playhead if possible, otherwise rightmost frame". Reviewed By: brecht Differential Revision: https://developer.blender.org/D5386
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-06-11Sound: Fix queries of sound infoSergey Sharybin
A lot of areas were querying sound information directly using audio handle which does not exist on an original sound IDs. This change basically makes it so it's possible to query information about given sound ID, without worrying about whether it's loaded or not: if it is needed to load it first it happens automatically (no automatically-opened handles are left behind though). While this seems a bit extreme to open files on such queries it is still better than the old situation when all sound handles were opened on file load, no matter if it's needed or not. Besides, none of the changed code paths are performance critical, just handful of tools. Fixes T65696: Sequencer fails to create a new sound sequence strip via Python Fixes T65656: Audio strip - SHIFT K crashes Blender Reviewers: brecht Reviewed By: brecht Subscribers: ISS Maniphest Tasks: T65696, T65656 Differential Revision: https://developer.blender.org/D5061
2019-06-07VSE: Cache invalidationRichard Antalik
Add invalidation to strip add functions Add invalidation for scene and movieclip strips Skip invalidation for sound strips Reviewed By: brecht Differential Revision: https://developer.blender.org/D4989
2019-05-31VSE: don't add crop and transform data for sound stripsRichard Antalik
This also fixes commit rB1fd7b380f4cf8a0489b405de2819f228a4da5ea2 which didn't do allocation for effect strips properly. Reviewed By: brecht, campbellbarton Differential Revision: https://developer.blender.org/D4970
2019-05-23VSE: minimal cache invalidationRichard Antalik
2019-05-02Workbench,EEVEE: Viewport Render SamplesJeroen Bakker
- Add `render_aa` and `viewport_aa` sampling setting for workbench. 0 samples means no AA, 1 sample uses FXAA and more samples will use TAA. The viewport `gpu_viewport_quality` can still limit viewport anti-aliasing method. - Use TAA when rendering images. (this used to be CPU based FSAA) - Removed `R_OSA` related settings. Reviewers: fclem, brecht Maniphest Tasks: T60847 Differential Revision: https://developer.blender.org/D4773
2019-05-01Fix T49589: 2.78 VSE no longer caching Node Editor scene stripsRichard Antalik
Sequencer cache was cleared when rendering compositor output. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4758
2019-04-30Sequencer: Scene Strip PerformanceJeroen Bakker
- Merged SEQ_OFSDRAW with V3D_OFSDRAW and define in the DNA_view3d_types: Due to this FSAA always kicked in making the rendering slow. - Removed `Texture Solid` and `DOF`. - Now when chosing Solid rendering the settings of the original scene is used. - Added a global override to use scene specific shading. In the Future we will need to enhanced this so user can change the settings. - Added support for LookDev. LookDev crashed as it needed the `evil_C` what was not set - LookDev mode will always show the scene + world lights. Reviewed By: brecht, fclem Maniphest Tasks: T62517 Differential Revision: https://developer.blender.org/D4738
2019-04-29VSE: Cache rewriteRichard Antalik
This patch implements new cache system. Aim is to give user more control over cache, so it can be maximally utilized. This is done through sequencer timeline side panel in category proxy & cache. Cached images are also visualized in timeline, controled by sequencer timeline view->cache menu Functional changes: - NOT use IMB_moviecache API - refactor names of cached image types - each scene owns 1 sequencer cache - merge preprocess cache into per-sequencer cache - cache links images rendered per frame in order as they are created - add cache content visualization tool - add RNA properties to control the cache More info can be found in design notes in blenkernel/intern/seqcache.c and in https://developer.blender.org/D4443 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4443