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
2021-12-08Cleanup: move public doc-strings into headers for 'sequencer'Campbell Barton
Ref T92709
2021-12-06VSE: Fix strip with mask modifier not blendingRichard Antalik
Set `ibuf->planes` to `R_IMF_PLANES_RGBA` because mask modifier adds transparent areas to image.
2021-12-03ImBuf: Made Wrapping and Cropping optional in IMB_transform.Jeroen Bakker
`IMB_transform` is used in VSE. It had a required crop parameter for cropping the source buffer. This is not always needed. In the image engine we want to use the use the `IMB_transform` with wrap repeat. Both options are mutual exclusive and due to performance reasons the wrap repeat is only available when performing a nearest interpolation.
2021-12-01Cleanup: Remove seq->tmp_flag DNA memberRichard Antalik
Commit f0d20198b290 used this field to flag rendered strips which were queried by `SEQ_query_rendered_strips()`. Then operators iterate all strips and checks state of `seq->tmp_flag`. Use collection returned by `SEQ_query_rendered_strips` directly. There should be no functional changes. This commit adds functions `all_strips_from_context` and `selected_strips_from_context` that provide collection of strips based on context. Most operators can use this collection directly. There is already `seq->tmp` DNA field, but is should not be used unless absolutely necessary. Better option is to use human readable flag. Best is to not use DNA fields for temporary storage in runtime.
2021-11-30Fix T93442: Crash when proxy building is cancelledRichard Antalik
If strip is removed while proxy is built, this causes crash when building is finished. This happens because proxy anims are freed in `SEQ_proxy_rebuild_finish()`. Iterate over available strips and check if original strip still exists by comparing `SessionUUID`. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13408
2021-11-30Cleanup: capitalize NOTE tagCampbell Barton
2021-11-29Fix T93417: Strip outline not aligned with imageRichard Antalik
When using non-uniform aspect ratio, strip outline is not aligned correctly. Apply pixel aspect ratio to image quad and origin.
2021-11-18VSE: Add meta.separate() Python API functionFélix
This function can be used to "dissolve" meta strip anywhere in strip hierarchy. This has same effect as `meta_separate` operator. Reviewed By: ISS Differential Revision: https://developer.blender.org/T91005
2021-11-18Merge branch 'blender-v3.0-release'Richard Antalik
2021-11-18Fix T93166: Division by zero when drawing thumbnailsRichard Antalik
Caused by incorrect step calculation fo too short strips. For these, step should be equal to strip length not 0.
2021-11-16Cleanup: Typo in commentsRichard Antalik
2021-11-15VSE: Use alpha over as default blend modeRichard Antalik
With transform tools, it is expected to see backgroud image when overlay is transformed. Alpha over caused performance to be not optimal when used with opaque media. This should be addressed with D12914 at least partially. There may be some corner cases not addressed. Differential Revision: https://developer.blender.org/D12952
2021-11-15VSE: Use early out for aplha over blendingRichard Antalik
When scaling down image, users expect to see background, which doesn't currently happen in VSE. This is because strips use cross blend mode by default, because alpha over is much slower. Reason is, because any area of image can be transparent, and therefore it can't have early out implemented in a way that cross blend mode can. Flag images rendered by codecs that don't support transparency as fully opaque and implement a form of early out for alpha over blend mode. When rendering image stack, 2-input effects are ignored on the "way down". Alpha over needs rendered overlay image to decide whether it will use only overlay or background too. Therefore overlay can be rendered safely before it is used. Image flags can be checked and it can be freed if needed. Freeing doesn't cause any performance degradation, because image is always stored in cache. This feature does not improve blend mode performance. In summary, it only allowes for having alpha over blend mode on background images without suffering from lower performance. Reviewed By: sergey Differential Revision: https://developer.blender.org/D12914
2021-11-15Merge branch 'blender-v3.0-release'Richard Antalik
2021-11-15Fix T90415: Missing cache invalidationRichard Antalik
Some RNA properties and operators did not invalidate cache or did it incorrectly. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13101
2021-11-15Fix T91992: Incorrect clip strip image sizeRichard Antalik
When proxy size lower than 100% is used, clip strips are rendered with incorrect image size. This is because if proxies aren't enabled in movieclip, it automatically falls back on rendering original media. Sequencer doesn't have knowledge about this and since 9c99292a16df it assumes that image is proxy, because it explicitly requested this size. Check movieclip flag to see if proxies are enabled. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13080
2021-11-13BLF: Use Floats for Font Point SizesHarley Acheson
Allow the use of floating-point values for font point sizes, which allows greater precision and flexibility for text output. See D8960 for more information, details, and justification. Differential Revision: https://developer.blender.org/D8960 Reviewed by Campbell Barton
2021-10-28Sequencer: support basic selection & delete from previewsCampbell Barton
Expose select & strip menus and shortcuts for sequencer preview.
2021-10-25Fix T90633: Frame all doesn't use meta rangeAndrea Beconcini
This commit fixes T90633, it changes the behavior of the `Frame All` operation when the user is tabbed into a metastrip: instead of using the scene timeline's range, `Frame All` uses the current metastrip's range. Reviewed By: ISS Differential Revision: https://developer.blender.org/D12974
2021-10-25Fix T90855: Transform effect gives inconsistent outputRichard Antalik
When using downscaled preview size with proxies, transform effect doesn't compensate for fact, that pixels are effectively larger. There was compensation for scene render size already. Use same compensation method as text effect uses for font size.
2021-10-21Cleanup: VSE code docstringRichard Antalik
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-10-16VSE: Fix crash when scene strip is added to metaRichard Antalik
Caused by 81514b0e913b, missed sanitizing `sound->offset_time` usage in `seq_update_sound_bounds_recursive_impl()`.
2021-10-16Remove math for 2D affine transformRichard Antalik
Commit e1665c3d3190 added math to do 2D affine transformations with 3x3 matrices, but these matrices are also used for 3D transformations. Remove added functions and use 4x4 matrices for 2D transformation. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12510
2021-10-16Fix T91012: Scene strip doesn't play audioRichard Antalik
Issue was caused by adding `seq->sound` check in ded68fb10275 in function `BKE_sound_scene_add_scene_sound` as `offset_time` field was introduced to resolve sub-frame a/v misalignment. Scene strips don't have `bSound` allocated but also don't suffer from a/v misalignment. Remove `seq->sound` check and don't apply any offset for scene strips. Reviewed By: zeddb, sergey Differential Revision: https://developer.blender.org/D12819
2021-10-08VSE: Implement the bounding box (xform) tool in the seq preview windowSebastian Parborg
Make the "xform" tool/gizmo available for strip transformations in the sequencer preview window. Because of the amount of hacks needed to make the gizmo work nicely with multiple strips at the same time, it was decided to only show the translate gizmo when multiple strips are selected. This is because the transforms with multiple strips would appear buggy because of our lack of shearing support in the transform system. There is also currently no way to properly sync the gizmo drawing with the transform when using multiple strips. Reviewed By: Richard Antalik, Campbell Barton Differential Revision: http://developer.blender.org/D12729
2021-10-08Fix T91190: Remove gaps operator not workingRichard Antalik
Caused by mistake in f49d438ced7c - `SEQ_query_all_strips()` is not meant to be recursive.
2021-10-08Cleanup: spellingCampbell Barton
2021-10-07Sequencer: 2D cursor for the preview & transformCampbell Barton
- Use 2D cursor in the preview space using shortcuts matching the UV editor and 3D view. - Add Cursor tool, cursor transform. - Support for cursor and bound-box pivot. - Add pivot pie menu.
2021-10-07Cleanup: Move VSE disk cache code into own fileRichard Antalik
No functional changes.
2021-10-07Cleanup: VSE iterator semanticsRichard Antalik
Use `BLI_gset_ensure_p_ex()` instead of `BLI_gset_insert()` after checking `BLI_gset_lookup()`.
2021-10-07Fix T91972: Meta changes length when adding stripRichard Antalik
`SequencesMeta.new_movie()` API function caused meta strip to change length. Similar issue has been fixed in transform code by checking if `MetaStack` exists. `MetaStack` is not used when changing data in python. Provide `seqbase` to `SEQ_time_update_sequence()` so the function can check if change happens inside of meta strip. This patch also merges `seq_time_update_sequence_bounds()` into `SEQ_time_update_sequence()`. This is because same issue applies for both functions and it is confusing to have more time update functions.re if this will lead anywhere. Reviewed By: sergey Differential Revision: https://developer.blender.org/D12763
2021-10-05VSE: Free animation strip data if they are not visibleSebastian Parborg
Previously we would only free animation strip data when doing final renders. If not doing a final render or simply just playing back videos in the VSE, we would not free decoders or non VSE cache data from the strips. This would lead to memory usage exploding in complex VSE scenes. Now we instead use the dumb apporach of freeing everything that is not currently visible.
2021-10-01Cleanup: clang-tidy warningsCampbell Barton
2021-09-30VSE: Add ASC CDL color correction methodJosef Raschen
Add Offset/Slope/Power controls to the color balance modifier. This is already available in compositor. Reviewed By: sergey, ISS Differential Revision: https://developer.blender.org/D12575
2021-09-29VSE: Add color tags to stripsFalk David
This patch adds color tags to VSE strips, an overlay option to toggle the colors on and off, a section in the theme settings to define the 9 possible colors and two ways of changing the color tag through the UI. You can change the color through the right-click context menu, or in the strip side panel next to the strip name. Color tags are defined in user preferences and they can be disabled in overlay settings. Reviewed By: campbellbarton, ISS Differential Revision: https://developer.blender.org/D12405
2021-09-29Cleanup: trailing space, newlines at EOFCampbell Barton
2021-09-28Cleanup: Move VSE channels check into own util functionDalai Felinto
Differential Revision: https://developer.blender.org/D12661
2021-09-27VSE: Clamp resulting frame in multiply modePeter Fog
The clamp added will ensure immediate speed direction change on changing to/from positive/negative speed factor when using the Speed effect strip's Multiply mode. Reviewed By: ISS, sergey Differential Revision: https://developer.blender.org/D12462
2021-09-22Cleanup: make formatDalai Felinto
2021-09-21Cleanup: Clang-tidy warningsRichard Antalik
2021-09-21VSE strip thumbnailsAditya Y Jeppu
Draw thumbnails as strip overlay. This works for movie and image strips. To draw thumbnails, this overlay has to be enabled and strips must be tall enough. The thumbnails are loaded from source file using separate thread and stored in cache. Drawing code uses only images stored in cache, and if any is missing, background rendering job is started. If job can not render thumbnail, to prevent endless loop of creating job for missing image it sets `SEQ_FLAG_SKIP_THUMBNAILS` bit of `Sequence` flag. To prevent visual glitches during timeline panning and zooming, `View2D` flag `V2D_IS_NAVIGATING` is implemented. If bit is set, drawing code will look for set of evenly distributed thumbnails that should be guaranteed to exist and also set of previously displayed thumbnails. Due to volatile nature of cache these thumbnails can be missing anyway, in which case no new thumbnails will be drawn for particular strip. Cache capacity is limited to 5000 thumbnails and performs cleanup of non visible images when limit is reached. ref T89143 Reviewed By: ISS Differential Revision: https://developer.blender.org/D12266
2021-09-21VSE: Image transform toolsRichard Antalik
Add tools for image manipulation in sequencer preview region. This includes: - Translate, rotate and resize operators, tools and gizmos - Origin for image transformation - Median point and individual origins pivot modes - Select and Box select operator works in preview - Image overlay drawing ref T90156 Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12105
2021-09-18Audaspace: added audio file streams functionality.Jörg Müller
On the blender side this commit fixes importing video files with audio and video streams that do not share the same start time and duration. Differential Revision: https://developer.blender.org/D12353
2021-09-06Cleanup: clang-formatAaron Carlisle
2021-09-02Cleanup: remove redundant alloc argument to SEQ_editing_getCampbell Barton
Callers that require lazy initialization can use SEQ_editing_ensure.
2021-09-02Cleanup: spelling in commentsCampbell Barton
2021-08-31Fix T90988: Incorrect speed effect strip mathRichard Antalik
Math implemented in 929d7597b345 was incorrect, but also inconsistent with previous behavior. `SEQ_SPEED_STRETCH` should change length only when right handle is moved. This is now documented in code.
2021-08-31Fix VSE move_to_meta function moving meta stripRichard Antalik
API function `move_to_meta` should move strips without changing context data like `MetaStack` that tells UI which meta strip should be displayed and operated upon. `SEQ_time_update_sequence` relied on `MetaStack` to update meta strip content length. Instead of changing function `SEQ_time_update_sequence`, use function `SEQ_time_update_meta_strip_range` directly. This is because caller would have to be aware of parent meta strip that needs update anyway.
2021-08-27Fix shadowing in sequencer iteratorSergey Sharybin
The __LINE__ was not properly expanded.