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
2022-11-05Cleanup: use bool instead of short for job stop & do_update argumentsCampbell Barton
Since these values are only ever 0/1, use bool type.
2022-10-05Cleanup: make formatBrecht Van Lommel
2022-10-04Cleanup: VSE code readabilityRichard Antalik
Add function `SEQ_time_content_end_frame_get` to get content end frame. New function is shorthand for `SEQ_time_start_frame_get() + SEQ_time_strip_length_get()`.
2022-09-26Cleanup: use 'u' prefixed integer types for brevity in C codeCampbell Barton
This also simplifies using function style casts when moving to C++.
2022-09-25Cleanup: remove redundant double parenthesisCampbell Barton
2022-06-29VSE: Improved Retiming systemRichard Antalik
Patch implements better way to control playback speed than it is possible to do with speed effect. Speed factor property can be set in Time panel. There are 2 layers of control: Option to retime movie to match scene FPS rate. Custom speed factor to control playback rate. Since playback rate is strip property, it is now possible to manipulate strip as normal one even if it is retimed. To facilitate manipulation, some functions need to consider speed factor and apply necessary corrections to strip offset or strip start. These corrections may need to be float numbers, so start and offsets must be float as well. Sound strips now use speed factor instead of pitch. This means, that strips will change length to match usable length. In addition, it is possible to group movie and sound strip and change speed of meta strip.
2022-06-23Fix T99091: Freeze when changing strip source with thumbnails enabledRichard Antalik
When input file is changed, `orig_height` and `orig_width` fields are reset, which causes thumbnail dimensions to be incorrectly calculated. Only draw thumbnails if both mentioned fields are non 0.
2022-06-02VSE: Make time operations self-containedRichard Antalik
This patch makes it possible to manipulate strips without need to use update functions to recalculate effect and meta strips. Prior to this change function `SEQ_time_update_sequence` had to be used to update mainly effects and meta strips. This was implemented in a way that relied on sorted list of strips, which can't always be done and in rare cases this approach failed. In case of meta strips, `seqbase` had to be passed and compared with "active" one to determine whether meta strip should be updated or not. This is especially weak system that is prone to bugs when functions are used by python API functions. Finally, other strip types had startdisp` and `enddisp` fields updated by this function and a lot of code relied on these fields even if strip start, length and offsets are available. This is completely unnecessary. Implemented changes: All effects and meta strips are updated when strip handles are moved or strip is translated, without need to call any update function. Function `SEQ_time_update_sequence` has been split to `SEQ_time_update_meta_strip_range` and `seq_time_update_effects_strip_range`. These functions should be only used within sequencer module code. Meta update is used for versioning, which is only reason for it not being declared internally. Sequence fields `startdisp` and `enddisp` are now only used for effects to store strip start and end points. These fields should be used only internally within sequencer module code. Use function `SEQ_time_*_handle_frame_get` to get strip start and end points. To update effects and meta strips with reasonable performance, cache for "parent" meta strip and attached effects is added to `SequenceLookup` cache, so it shares invalidation mechanisms. All caches are populated during single iteration. There should be no functional changes. Differential Revision: https://developer.blender.org/D14990
2022-05-18VSE: Remove still frame offsetsRichard Antalik
To clarify term still frame: This is portion of strip that displays static image. This area can exist before or after strip movie content. Still frames were implemented as strip property, but this was never displayed in panel. Only way to set still frames was to drag strip handle with mouse or using python API. This would set either `seq->*still` or `seq->*ofs` where * stands for `start` or `end`. When strip had offset, it can't have still frames and vice versa, but this had to be enforced in RNA functions and everywhere in code where these fields are set directly. Strip can not have negative offset or negative number of still frames. This is not very practical approach and still frames can be simply implemented as applying negative offset. Merging these offsets would simplify offset calculations for example in D14962 and could make it easier to also deprecate usage `seq->*disp` and necessity to call update functions to recalculate strip boundaries. For users only functional change is ability to set negative strip offset using property in side panel. Reviewed By: sergey Differential Revision: https://developer.blender.org/D14976
2022-04-25VSE: Update first thumbnail when moving handleRichard Antalik
When handles are moved, job is created only for strips that need to update first thumbnail. ref T91618
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-19Cleanup: VSE animation handlingRichard Antalik
- Move functions that handle animation to own file - `animation.c` - Refactor `SEQ_offset_animdata` and `SEQ_free_animdata` functions - Add function `SEQ_fcurves_by_strip_get` to provide more granular and explicit way for operators to handle animation - Remove function `SEQ_dupe_animdata`, do curve duplication explicitly in operator code, which makes more sense to do. Further this function was also used for renaming strips which makes no sense. - Refactor usage of function `SEQ_free_animdata` and remove XXX comment. Now this functiuon is no longer called when `Sequence` data is freed implicitly, it is done explicitly in high level function `SEQ_edit_remove_flagged_sequences` Reviewed By: sergey Differential Revision: https://developer.blender.org/D13852
2021-12-06Fix T93314: Thumbnails not drawn with default scaleRichard Antalik
Decrease threshold for drawing thumbnails. This was unintended change in daaa43232d34 that was overlooked.
2021-11-18Fix T92445: Thumbnail height without overlay textAndrea Beconcini
This patch changes the thumbnails' height used for image and movie strips by choosing the proper size according to the VSE's text overlay settings: i.e. thumbnails use the whole strip's height when no overlay text is displayed; otherwise, some space is left for the overlay. Reviewed By: ISS Differential Revision: https://developer.blender.org/D13043
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-10-19VSE: Improve thumbnail loading speedRichard Antalik
Split thumbnail job in 2 passes. First pass will render visible images and second part renders set of "guaranteed" equally spaced images. When viewing larger amount of strips, it is likely that only 1 or 2 images will be rendered in first pass, while in second pass it is up to 30 images. This results (seemingly) in 3x better performance, but zooming before set of guaranteed images is done will be slightly more inaccurate.
2021-10-18VSE: Don't draw thumbnails while renderingRichard Antalik
During rendering VSE cache is invalidated, so thumbnails would be removed and thumbnail job would constantly restart. Even if thumbnails would be preserved, resources should be dedicated for rendering job.
2021-10-06VSE: Reduce memory footprint when using thumbnailsRichard Antalik
Free strip `anim` data immediately after rendering. This doesn't affect rendering performance, because each new loop would have to seek to start of strip. Also strips are now freed anyway, but after rendering loop ends. With SF edit file, thumbnail rendering used around 60GB of memory. Now it uses few hundreds MB (depends on movie file resolution, codec, etc.) Freeing of strips caused UI to be unresponsive for brief period. This issue is not removed, but is more spread out so it is less noticable.
2021-10-06Cleanup: VSE: Move thumbnail drawing to own fileRichard Antalik
No functional changes.