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-06-14Fix T72831: Incorrect animation handling when strips overlapRichard Antalik
Function `SEQ_transform_seqbase_shuffle_time` did not have access to strip effects, and therefore could not handle their animation. Since now transformation knows what strips can't be directly moved, but their position depends on other strips, this collection of strips is passed as argument, so animation can be offset correctly.
2022-06-14Fix T98168: Meta strips do not copy animation to another sceneRichard Antalik
Copy animation for strips that are inside metas.
2022-06-14Fix T98797: VSE Slip Strip Contents doesn't work properlyRichard Antalik
Caused by oversight in 7afcfe111aac - code relied on fact, that strip boundary holds old value until updated. Calculate new offsets based on stored orignal offsets.
2022-06-03Cleanup: clang-formatRichard Antalik
2022-06-02Cleanup: quiet warnings, remove unused argumentsCampbell Barton
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-30Cleanup: Clang tidyHans Goudey
Mostly duplicate includes, also use nullptr, and using default member initializers.
2022-05-19Cleanup: format, reduce line length & strip trailing spaceCampbell Barton
2022-05-18Cleanup: Move strip handle manipulation to time sectionRichard Antalik
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-05-17Merge branch 'blender-v3.2-release'Richard Antalik
2022-05-17Fix T98021: Crash when using scene strip as sequencer inputRichard Antalik
Issue was caused by treating such strip as meta and using `seq->channels` directly, which is not valid for scene strips. Pointer to channels is now provided by function `SEQ_get_seqbase_from_sequence`.
2022-05-17Cleanup: compiler warningsCampbell Barton
2022-05-16VSE: Delete Strip and Scene Data in one stepAntonio Vazquez
Actually, delete the strip only deletes the container, but not the linked data. This patch adds the option to delete the scene also. This is very handy for storyboarding. Reviewed By: ISS Maniphest Tasks: T97683 Differential Revision: https://developer.blender.org/D14794
2022-05-16VSE: Add new Scene and StripAntonio Vazquez
This operator allows to add a new scene at the same time that the strip. This is very handy for storyboarding. Reviewed By: ISS Maniphest Tasks: T97678 Differential Revision: https://developer.blender.org/D14790
2022-05-16VSE: New Change Scene option in Change menuAntonio Vazquez
This is a new option in `C` key menu. Reviewed By: mendio, ISS Maniphest Tasks: T97711 Differential Revision: https://developer.blender.org/D14807
2022-05-13Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-13Fix T89909: Circle Select tool status bar doesn't match the operationsCampbell Barton
Assign get_name functions for select picking and circle select so modifier keys show the result of holding the modifiers.
2022-05-13Cleanup: spelling in comments, capitalize tagsCampbell Barton
Also add missing task-ID reference & remove colon after \note as it doesn't render properly in doxygen.
2022-05-09Merge branch 'blender-v3.2-release'Bastien Montagne
2022-05-09Minor typo fixes in UI messages.Bastien Montagne
2022-05-05Cleanup: sort cmake file listsCampbell Barton
2022-05-03Fix VSE view clamping not workingRichard Antalik
Clamping was set up, but `v2d->cur` was never actually modified.
2022-05-03Fix T97720: Fix meta strip shows incorrect mute state.Richard Antalik
Caused by only checking mute state for meta strip itself and not the children.
2022-05-03Cleanup: auto-formatCampbell Barton
2022-05-03Fix T97733: Crash when adding new sceneRichard Antalik
Caused by NULL dereference if sequencer data does not exist.
2022-04-29Cleanup: missing declaration warnings & spelling in commentsCampbell Barton
2022-04-28Fix: Incorrect conversion from C bitfield syntaxHans Goudey
Recent cleanups 9a8669ac81b99b2 and 1c790555a02bfc3 incorrectly interpereted the bitfield width syntax as a default value. Also resolve two other compilation warnings.
2022-04-28VSE: Add option to limit timeline view heightRichard Antalik
When height is limited, it is defined by space occupied by strips, but at least channels 1 to 7 will be always visible. This allows it to easily overview timeline content by zooming out to maximum extent in Y axis and panning in X axis. More channels can be "created" on demand by moving strip to higher channel. When strip is removed and highest channel becomes empty, view will stay as is until it is moved down. Then new highest point is remembered and it is not possible to pan upwards until strip is moved to higher channel. Limiting takes into account height of scrubbing and markers area as well as scrollers. This means that when zoomed out to maximum extent, no strips are obstructed by fixed UI element. Fixes T57976 Reviewed By: Severin Differential Revision: https://developer.blender.org/D14263
2022-04-28VSE: Add precise drag and drop and strip previewsSebastian Parborg
This patch adds the drag and drop strip previews in the VSE. It also adds two new functions to the drag and drop API. 1. "draw_in_view" for callbacks that wants to draw elements in local viewport coordinates 2. "on_drag_start" that can be used for prefetching data only once at the start of the drag. Reviewed By: Julian, Campbell Differential Revision: http://developer.blender.org/D14560
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-04-22Fix: VSE channels region visible in previewRichard Antalik
Hide region for preview and sequencer/preview combined view.
2022-04-22Fix: VSE channels area has no backgroundRichard Antalik
Draw area background even when there is no sequencer data.
2022-04-21Fix typo in previous commitRichard Antalik
2022-04-21Cleanup: VSE effect relationship checkingRichard Antalik
Use `SEQ_relation_is_effect_of_strip` for checking effect-input relationship where this is applicable.
2022-04-21VSE: Add frame selected operator for previewok what
This operator moves the view to show the selected visible strips. Reviewed By: ISS Differential Revision: https://developer.blender.org/D14222
2022-04-19Cleanup: Use correct capitalization of "F-Curve"Aaron Carlisle
2022-04-05Fix T97071: Duplicating strip in locked channel creates overlapping stripsRichard Antalik
Add flag `SEQ_IGNORE_CHANNEL_LOCK` to indicate, that channel lock should not apply to strip. This flag must be cleared after transformation.
2022-04-05Sequencer: skip redundant F-curve GSet allocationCampbell Barton
2022-04-05Fix T97034: tweak strips uses cursor position after threshold reachedCampbell Barton
2022-04-05Cleanup: clang-formatCampbell Barton
Also add space below file references.
2022-04-04Fix errors in sequencer channel headersRichard Antalik
Failing constraint test uncovered crashes on NULL dereference and missing channels initialization in `SEQ_editing_ensure()`.
2022-04-04VSE: Add channel headersRichard Antalik
This patch adds channel region to VSE timeline area for drawing channel headers. It is synchronizedwith timeline region. 3 basic features are implemented - channel visibility, locking and name. Channel data is stored in `SeqTimelineChannel` which can be top-level owned by `Editing`, or it is owned by meta strip to support nesting. Strip properties are completely independent and channel properties are applied on top of particular strip property, thus overriding it. Implementation is separate from channel regions in other editors. This is mainly because style and topology is quite different in VSE. But also code seems to be much more readable this way. Currently channels use functions similar to VSE timeline to draw background to provide illusion of transparency, but only for background and sfra/efra regions. Great portion of this patch is change from using strip visibility and lock status to include channel state - this is facilitated by functions `SEQ_transform_is_locked` and `SEQ_render_is_muted` Originally this included changes in D14263, but patch was split for easier review. Reviewed By: fsiddi, Severin Differential Revision: https://developer.blender.org/D13836
2022-04-04Cleanup: ensure space after file named in headersCampbell Barton
Add blank lines after file references to avoid them being interpreted as doc-strings the following declarations.
2022-03-29Fix T96699: Splitting strip does not copy animationRichard Antalik
Since e49bf4019b49, animation is handled explicitly. Split operator wasn't updated. Re-use backup-duplicate-restore animation functions, that other operators use for splitting.
2022-03-18Cleanup: Compilation warningsSergey Sharybin
Mainly -Wset-but-unused-variable. Makes default compilation on macOS way less noisy. Differential Revision: https://developer.blender.org/D14357
2022-03-14Auto-generate RNA-structs declarations in `RNA_prototypes.h`Julian Eisel
So far it was needed to declare a new RNA struct to `RNA_access.h` manually. Since 9b298cf3dbec we generate a `RNA_prototypes.h` for RNA property declarations. Now this also includes the RNA struct declarations, so they don't have to be added manually anymore. Differential Revision: https://developer.blender.org/D13862 Reviewed by: brecht, campbellbarton
2022-03-14RNA: Generate property declerations header, solving msg-bus C++ incompatibilityJulian Eisel
Lets `makesrna` generate a `RNA_prototypes.h` header with declarations for all RNA properties. This can be included in regular source files when needing to reference RNA properties statically. This solves an issue on MSVC with adding such declarations in functions, like we used to do. See 800fc1736748. Removes any such declarations and the related FIXME comments. Reviewed By: campbellbarton, LazyDodo, brecht Differential Revision: https://developer.blender.org/D13837
2022-03-10Fix incorrect meta strip background colorRichard Antalik
When viewing meta strip, it had orange color. This was caused by overflow because of hard-coded offset. Theme got darker, and background was also set again further in code, but redundant drawing was removed in f4492629ea0.
2022-03-09Cleanup: use ELEM macroCampbell Barton